JAVA_LandaryEKP(蓝凌)_OA_定时任务创建教程_蓝凌ekp如何创建任务

com.landray.kmss.cee.attendance.service.spring.CeeAttendanceMainBankInfoJobServiceImp

4 文本国际化

/ekp_dev/src/com/landray/kmss/cee/attendance/ApplicationResources.properties

cee-attendance:bank.bankinfo

cee-attendance:bank.bankinfoDescription

5 主要数据表

hr_staff_emolument_welfare

hr_staff_person_info


package com.landray.kmss.cee.attendance.service.spring;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.sql.DataSource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.landray.kmss.cee.sapcall.util.GetSapConn;
import com.landray.kmss.sys.quartz.interfaces.SysQuartzJobContext;
import com.landray.kmss.util.SpringBeanUtil;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoStructure;

/**
 * @author Terry 
 * 员工信息同步SAP
 */

public class CeeAttendanceMainBankInfoJobServiceImp {
	 private static final Log logger = LogFactory.getLog(CeeAttendanceMainBankInfoJobServiceImp.class);
	 public void doBankInfo(SysQuartzJobContext context) throws Exception {
		 
		 Map<String,String> map          = null;
		 Map<String,String> sapReturnMap = null;
		 
		 List<Map<String,String>> list   = getBankInfo();
		  
		 if(list != null && list.size() > 0 ) {
			 for(int i = 0 ;i < list.size() ; i++) {
				 map          = list.get(i);
				 sapReturnMap = doTosap(map);
				 save(sapReturnMap);
			 }
		 }
		 
	 }


	private List<Map<String, String>> getBankInfo() throws Exception {
		
		DataSource dataSource = (DataSource) SpringBeanUtil.getBean("dataSource");
		List<Map<String,String>> list = new ArrayList<Map<String,String>>();
		 Map<String,String> map       = null;
		 
		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	     Calendar calendar = Calendar.getInstance(); 
	     //calendar.add(calendar.DATE,-1);
	     String yestoday=  sdf.format(calendar.getTime()); //获取昨天的日期"2021-08-09"; // 
	     
	     String sql = "select S.FD_ID,s.FD_PAYROLL_NAME ,s.FD_PAYROLL_BANK,s.FD_PAYROLL_ACCOUNT,s.FD_SURPLUS_ACCOUNT,s.FD_SOCIAL_SECURITY_NUMBER,s.FD_CREATE_TIME,s.FD_CREATOR_ID,s.FD_PERSON_INFO_ID,s.DOC_MAIN_ID ,'CEE'||h.fd_staff_no AS FD_STAFF_NO  " + 
	     		" ,H.FD_NAME ,to_char(s.FD_CREATE_TIME , 'YYYY-MM-DD HH24:MI:SS')  from hr_staff_emolument_welfare s left join hr_staff_person_info h on s.fd_person_info_id = h.fd_id " + 
	     		"        where to_char(s.FD_CREATE_TIME , 'YYYY-MM-DD') = ? ";
	    	
	     logger.info(sql);
	     PreparedStatement ps = null;
	     ResultSet result     = null;
	     Connection conn      = null;
	    	
	    	try {
	    		conn = dataSource.getConnection();
	    		ps = conn.prepareStatement(sql);
	    		ps.setString(1, yestoday);
	            result = ps.executeQuery();
	            while(result.next()) {
	            	map = new HashMap<String, String>();
	            	map.put("FD_ID", result.getString(1));
	            	map.put("FD_PAYROLL_NAME", result.getString(2));
	            	map.put("FD_PAYROLL_BANK", result.getString(3));
	            	map.put("FD_PAYROLL_ACCOUNT", result.getString(4));
	            	map.put("FD_SURPLUS_ACCOUNT", result.getString(5));
	            	map.put("FD_SOCIAL_SECURITY_NUMBER", result.getString(6));
	            	//map.put("FD_CREATE_TIME", result.getString(7));
	            	map.put("FD_CREATOR_ID", result.getString(8));
	            	map.put("FD_PERSON_INFO_ID", result.getString(9));
	            	map.put("DOC_MAIN_ID", result.getString(10));
	            	map.put("FD_STAFF_NO", result.getString(11));
	            	map.put("FD_NAME", result.getString(12));
	            	list.add(map);		
	        	}
	            
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				result.close();
		    	ps.close();
		    	conn.close();
	        }
		return list;
	}
	

	private Map<String, String> doTosap(Map<String, String> map) {
		Map<String,String> sapReturnMap = new HashMap<String, String>();
		
		JCoDestination jCoDestination;
		JCoFunction function = null;
		try {
			jCoDestination = GetSapConn.getJcoConnection();
			function       = jCoDestination.getRepository().getFunctionTemplate("ZSDIF003_1").getFunction();
			JCoStructure struc   = function.getImportParameterList().getStructure("I_DATA");

	        struc.setValue("PARTNER", map.get("FD_STAFF_NO"));      //业务伙伴编号
	        struc.setValue("NAME_ORG1", map.get("FD_NAME"));        //客户名称
	        struc.setValue("BANKN", map.get("FD_PAYROLL_ACCOUNT")); //银行帐户号码
	        struc.setValue("ACCNAME", map.get("FD_PAYROLL_BANK"));  //银行帐户的名称
	        logger.info(struc.toString()); 
	        function.execute(jCoDestination);
	         
	        sapReturnMap.put("TYPE", function.getExportParameterList().getString("E_TYPE")) ;
	        sapReturnMap.put("MESSAGE", function.getExportParameterList().getString("E_MESSAGE")) ;


# 写在最后

作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2019 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?

**就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。**

最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“**Java经典面试问题(含答案解析).pdf**和一份网上搜集的“**Java程序员面试笔试真题库.pdf**”(实际上比预期多花了不少精力),**包含分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货!**

**由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示部分的目录和答案截图!**
![](https://img-blog.csdnimg.cn/img_convert/5dc91f9d96ee692e8fc7fdb0a8309f69.webp?x-oss-process=image/format,png)

### Java经典面试问题(含答案解析)

![](https://img-blog.csdnimg.cn/img_convert/6e92e80b6b7ff99ec14e18df4a6a1df8.webp?x-oss-process=image/format,png)

### 阿里巴巴技术笔试心得

![](https://img-blog.csdnimg.cn/img_convert/fa780b9060519944ef33a93451b1f1e7.webp?x-oss-process=image/format,png)



外链图片转存中...(img-SVD2BQ4D-1714330353767)]

### Java经典面试问题(含答案解析)

[外链图片转存中...(img-TG3PRgpy-1714330353768)]

### 阿里巴巴技术笔试心得

[外链图片转存中...(img-srJLGgkV-1714330353768)]



> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值