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)收录**