劳务费报销单
This commit is contained in:
parent
64489a4fe3
commit
e4e8c9ac5d
|
@ -884,7 +884,7 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
String fileApiCode = headers.get("file_api_code");
|
||||
OerDjmlEntity djml = new OerDjmlEntity();
|
||||
djml.setLclb(eventType);
|
||||
djml.setDjbh(formmainData.getString("field0001"));
|
||||
djml.setDjbh(formmainData.getString("field0022"));
|
||||
djml.setDjlxId(djlxid);
|
||||
djml.setDataSourceCode(dataSourceCode);
|
||||
String fflx = formmainData.getString("field0102");
|
||||
|
@ -906,16 +906,16 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
break;
|
||||
}
|
||||
if (ColEventTypeEnum.ONSTART.getType().equals(eventType)){
|
||||
djml.setGsdm(formmainData.getString("field0037"));
|
||||
djml.setKjnd(formmainData.getString("field0038"));
|
||||
djml.setGsdm(formmainData.getString("field0043"));
|
||||
djml.setKjnd(formmainData.getString("field0044"));
|
||||
djml.setDjlxId(djlxid);
|
||||
djml.setZt("2");
|
||||
djml.setCrerdm(formmainData.getString("field0039"));//制单人代码
|
||||
djml.setCrermc(formmainData.getString("field0045"));//制单人名称
|
||||
djml.setCrerdm(formmainData.getString("field0084"));//制单人代码
|
||||
djml.setCrermc(formmainData.getString("field0085"));//制单人名称
|
||||
djml.setCrerdate(timestampConvert(formmainData.getString("start_date"),"yyyyMMdd"));
|
||||
djml.setDjdate((timestampConvert(formmainData.getString("field0002"),"yyyyMMdd")));
|
||||
djml.setJe(formmainData.getString("field0017"));//金额
|
||||
djml.setJedx(formmainData.getString(""));//金额大写
|
||||
djml.setJedx(formmainData.getString("field0018"));//金额大写
|
||||
djml.setGrdm(formmainData.getString("field0084"));//报销人代码
|
||||
djml.setGrmc(formmainData.getString("field0085"));//报销人名称
|
||||
djml.setBmdm(formmainData.getString("field0086"));//部门代码
|
||||
|
@ -924,38 +924,306 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService {
|
|||
djml.setXmmc(formmainData.getString("field0005"));//项目名称
|
||||
djml.setZy(formmainData.getString("field0045"));//劳务内容
|
||||
djml.setWX00000051(formmainData.getString("field0006"));//讲座发生时间
|
||||
djml.setWX00000059(formmainData.getString("field0046"));//讲座发生时间
|
||||
djml.setWX00000059(formmainData.getString("field0105"));//发放性质
|
||||
//报销明细
|
||||
List<OerDjnrEntity> djnrList = new ArrayList<>();
|
||||
//结算方式
|
||||
List<OerDjjsfsEntity> jsfsList = new ArrayList<>();
|
||||
//预算指标
|
||||
List<OerYszbEntity> yszbList = new ArrayList<>();
|
||||
|
||||
if (CollectionUtils.isNotEmpty(forsonData)){
|
||||
int xh = 1;
|
||||
for (int i=0; i<forsonData.size();i++){
|
||||
JSONObject forson = forsonData.getJSONObject(i);
|
||||
String gsdm = djml.getGsdm();
|
||||
String kjnd = djml.getKjnd();
|
||||
String je = forson.getString("field0024");
|
||||
//单据内容
|
||||
OerDjnrEntity djnr = new OerDjnrEntity();
|
||||
djnr.setXh(String.valueOf(xh));
|
||||
djnr.setGsdm(gsdm);
|
||||
djnr.setKjnd(kjnd);
|
||||
djnr.setDjlxId(djlxid);
|
||||
djnr.setBnxId(headers.get("bxmx_bnxid"));
|
||||
djnr.setJe(je);
|
||||
djnr.setBmdm(formmainData.getString("field0051"));
|
||||
djnr.setBmmc(formmainData.getString("field0050"));
|
||||
djnr.setXmdm(djml.getXmdm());
|
||||
djnr.setXmmc(djml.getXmmc());
|
||||
switch (fflx){
|
||||
case "0"://校内职工/学生
|
||||
case "3":
|
||||
forson0044(headers, formmainData, djlxid, djml, forsonData, djnrList, jsfsList, yszbList, xh);
|
||||
break;//校外一次性劳务
|
||||
case "1":
|
||||
forson0045(headers, formmainData, djlxid, djml, forsonData, djnrList, jsfsList, yszbList, xh);
|
||||
break;
|
||||
case "2"://通过第三方发放校外劳务
|
||||
forson0046(headers, formmainData, djlxid, djml, forsonData, djnrList, jsfsList, yszbList, xh);
|
||||
break;
|
||||
}
|
||||
logger.info("劳务费主表:{}",JSONObject.toJSONString(djml));
|
||||
logger.info("劳务费明细表:{}",JSONObject.toJSONString(djnrList));
|
||||
logger.info("劳务费结算方式:{}",JSONObject.toJSONString(jsfsList));
|
||||
logger.info("劳务费预算指标:{}",JSONObject.toJSONString(yszbList));
|
||||
djml.setOerDjnrEntityList(djnrList);
|
||||
djml.setOerDjjsfsEntityList(jsfsList);
|
||||
djml.setOerYszbEntityList(yszbList);
|
||||
}
|
||||
}else if (ColEventTypeEnum.ONSTOP.getType().equals(eventType)){
|
||||
//流程终止 修改状态,释放指标
|
||||
djml.setZt("0");
|
||||
djml.setCurshjd("0");
|
||||
djml.setNextshjd("-9");
|
||||
djml.setSsrid(null);
|
||||
djml.setSsr(null);
|
||||
djml.setSsrq(null);
|
||||
djml.setShrId(null);
|
||||
djml.setShrq(null);
|
||||
}else if (ColEventTypeEnum.ONCANCEL.getType().equals(eventType)){
|
||||
//流程撤销 修改状态,释放指标
|
||||
djml.setZt("1");
|
||||
djml.setCurshjd("0");
|
||||
djml.setNextshjd("-9");
|
||||
djml.setSsrid(null);
|
||||
djml.setSsr(null);
|
||||
djml.setSsrq(null);
|
||||
djml.setShrId(null);
|
||||
djml.setShrq(null);
|
||||
}else if (ColEventTypeEnum.ONPROCESSFINISHED.getType().equals(eventType)){
|
||||
//流程结束事件
|
||||
djml.setZt("3");
|
||||
djml.setCurshjd("999");
|
||||
djml.setNextshjd("-1");
|
||||
//查询协同附件
|
||||
List<FileInfoDTO> fileInfoList = fileDownloadV1(summaryId, fileApiCode);
|
||||
djml.setFileInfoList(fileInfoList);
|
||||
}
|
||||
return null;
|
||||
String djmlStr = JSONObject.toJSONString(djml);
|
||||
logger.info("劳务费报文:{}",djmlStr);
|
||||
return djmlStr;
|
||||
}
|
||||
|
||||
//校内职工/学生
|
||||
private static void forson0044(Map<String, String> headers, JSONObject formmainData, String djlxid, OerDjmlEntity djml, JSONArray forsonData, List<OerDjnrEntity> djnrList, List<OerDjjsfsEntity> jsfsList, List<OerYszbEntity> yszbList, int xh) {
|
||||
for (int i = 0; i< forsonData.size(); i++){
|
||||
JSONObject forson = forsonData.getJSONObject(i);
|
||||
String gsdm = djml.getGsdm();
|
||||
String kjnd = djml.getKjnd();
|
||||
String je = forson.getString("field0053");
|
||||
//单据内容
|
||||
OerDjnrEntity djnr = new OerDjnrEntity();
|
||||
djnr.setXh(String.valueOf(xh));
|
||||
djnr.setGsdm(gsdm);
|
||||
djnr.setKjnd(kjnd);
|
||||
djnr.setDjlxId(djlxid);
|
||||
djnr.setBnxId(headers.get("bxmx_bnxid"));
|
||||
djnr.setJe(je);
|
||||
djnr.setBmdm(null);//grp制单也没有这几个字段
|
||||
djnr.setBmmc(null);
|
||||
djnr.setXmdm(null);
|
||||
djnr.setXmmc(null);
|
||||
//指标id
|
||||
djnr.setZbId(formmainData.getString("field0029"));
|
||||
djnr.setZy(djml.getZy());
|
||||
djnr.setFjs(djml.getFjs());
|
||||
//支出项目
|
||||
djnr.setFzx6dm(formmainData.getString("field0089"));
|
||||
djnr.setFzx6mc(formmainData.getString("field0090"));
|
||||
//资金来源
|
||||
djnr.setFzx7dm(null);//grp制单也没这个
|
||||
djnr.setFzx7mc(null);
|
||||
//自定义项
|
||||
djnr.setYs00000051(forson.getString("field0052"));//发放明目
|
||||
djnr.setYs00000052("");//发放事项
|
||||
djnr.setYs00000053("");//打款时备注 oa没有
|
||||
djnr.setYs00000054("");//已开票应付劳务
|
||||
djnr.setYs00000055("");//扣补个税
|
||||
djnr.setYs00000056("");//个人所得税
|
||||
djnr.setYs00000057(forson.getString("field0053"));//实发金额
|
||||
djnr.setYs00000058("");//数量(课时)
|
||||
djnr.setYs00000059("");//标准
|
||||
djnrList.add(djnr);
|
||||
//结算方式
|
||||
OerDjjsfsEntity jsfs = new OerDjjsfsEntity();
|
||||
jsfs.setGsdm(gsdm);
|
||||
jsfs.setKjnd(kjnd);
|
||||
jsfs.setDjlxId(djlxid);
|
||||
jsfs.setBnxid(headers.get("jsfs_bnxid"));
|
||||
jsfs.setXh(String.valueOf(xh));
|
||||
jsfs.setJsfsdm(null);
|
||||
jsfs.setJsfsmc(null);
|
||||
jsfs.setKmdm(forson.getString(""));
|
||||
jsfs.setKmmc(forson.getString(""));
|
||||
jsfs.setSkr(forson.getString("field0049"));
|
||||
jsfs.setKhyh(forson.getString("field0051"));
|
||||
jsfs.setYhzh(forson.getString("field0050"));
|
||||
jsfs.setJe(je);
|
||||
jsfs.setYh("");//银行类型 例如 招商银行
|
||||
jsfs.setYhhh("");// 联行号
|
||||
jsfs.setProvince("");//省
|
||||
jsfs.setCity("");//市
|
||||
//支付方式为个人、公务卡时 可以选择 经办人、负责人、其他
|
||||
jsfs.setRytype("");//人员类型
|
||||
//用途
|
||||
jsfs.setYt(forson.getString(""));
|
||||
jsfsList.add(jsfs);
|
||||
|
||||
//预算指标
|
||||
OerYszbEntity yszb = new OerYszbEntity();
|
||||
BeanUtil.copyProperties(djnr,yszb);
|
||||
yszb.setBnxId(headers.get("yszb_bnxid"));
|
||||
yszb.setZbdm(formmainData.getString("field0029"));
|
||||
yszb.setZy(djnr.getZy());
|
||||
yszb.setKmdm(forson.getString(""));
|
||||
yszb.setKmmc(forson.getString(""));
|
||||
yszb.setXh(String.valueOf(xh));
|
||||
yszbList.add(yszb);
|
||||
xh++;
|
||||
}
|
||||
}
|
||||
|
||||
//校外一次性劳务
|
||||
private static void forson0045(Map<String, String> headers, JSONObject formmainData, String djlxid, OerDjmlEntity djml, JSONArray forsonData, List<OerDjnrEntity> djnrList, List<OerDjjsfsEntity> jsfsList, List<OerYszbEntity> yszbList, int xh) {
|
||||
for (int i = 0; i< forsonData.size(); i++){
|
||||
JSONObject forson = forsonData.getJSONObject(i);
|
||||
String gsdm = djml.getGsdm();
|
||||
String kjnd = djml.getKjnd();
|
||||
String je = forson.getString("field0062");
|
||||
//单据内容
|
||||
OerDjnrEntity djnr = new OerDjnrEntity();
|
||||
djnr.setXh(String.valueOf(xh));
|
||||
djnr.setGsdm(gsdm);
|
||||
djnr.setKjnd(kjnd);
|
||||
djnr.setDjlxId(djlxid);
|
||||
djnr.setBnxId(headers.get("bxmx_bnxid"));
|
||||
djnr.setJe(je);
|
||||
djnr.setBmdm(null);//grp制单也没有这几个字段
|
||||
djnr.setBmmc(null);
|
||||
djnr.setXmdm(null);
|
||||
djnr.setXmmc(null);
|
||||
//指标id
|
||||
djnr.setZbId(formmainData.getString("field0029"));
|
||||
djnr.setZy(djml.getZy());
|
||||
djnr.setFjs(djml.getFjs());
|
||||
//支出项目
|
||||
djnr.setFzx6dm(formmainData.getString("field0089"));
|
||||
djnr.setFzx6mc(formmainData.getString("field0090"));
|
||||
//资金来源
|
||||
djnr.setFzx7dm(null);//grp制单也没这个
|
||||
djnr.setFzx7mc(null);
|
||||
//自定义项
|
||||
djnr.setYs00000051("");//发放明目
|
||||
djnr.setYs00000052("");//发放事项
|
||||
djnr.setYs00000053("");//打款时备注 oa没有
|
||||
djnr.setYs00000054(forson.getString("field0062"));//已开票应付劳务
|
||||
djnr.setYs00000055(forson.getString("field0063"));//扣补个税
|
||||
djnr.setYs00000056(forson.getString("field0064"));//个人所得税
|
||||
djnr.setYs00000057(forson.getString("field0062"));//实发金额
|
||||
djnr.setYs00000058("");//数量(课时)
|
||||
djnr.setYs00000059("");//标准
|
||||
djnrList.add(djnr);
|
||||
//结算方式
|
||||
OerDjjsfsEntity jsfs = new OerDjjsfsEntity();
|
||||
jsfs.setGsdm(gsdm);
|
||||
jsfs.setKjnd(kjnd);
|
||||
jsfs.setDjlxId(djlxid);
|
||||
jsfs.setBnxid(headers.get("jsfs_bnxid"));
|
||||
jsfs.setXh(String.valueOf(xh));
|
||||
jsfs.setJsfsdm(null);
|
||||
jsfs.setJsfsmc(null);
|
||||
jsfs.setKmdm(forson.getString(""));
|
||||
jsfs.setKmmc(forson.getString(""));
|
||||
jsfs.setSkr(forson.getString("field0058"));
|
||||
jsfs.setKhyh(forson.getString("field0059"));
|
||||
jsfs.setYhzh(forson.getString("field0060"));
|
||||
jsfs.setJe(je);
|
||||
jsfs.setYh("");//银行类型 例如 招商银行
|
||||
jsfs.setYhhh("");// 联行号
|
||||
jsfs.setProvince("");//省
|
||||
jsfs.setCity("");//市
|
||||
//支付方式为个人、公务卡时 可以选择 经办人、负责人、其他
|
||||
jsfs.setRytype("");//人员类型
|
||||
//用途
|
||||
jsfs.setYt(forson.getString(""));
|
||||
jsfsList.add(jsfs);
|
||||
|
||||
//预算指标
|
||||
OerYszbEntity yszb = new OerYszbEntity();
|
||||
BeanUtil.copyProperties(djnr,yszb);
|
||||
yszb.setBnxId(headers.get("yszb_bnxid"));
|
||||
yszb.setZbdm(formmainData.getString("field0029"));
|
||||
yszb.setZy(djnr.getZy());
|
||||
yszb.setKmdm(forson.getString(""));
|
||||
yszb.setKmmc(forson.getString(""));
|
||||
yszb.setXh(String.valueOf(xh));
|
||||
yszbList.add(yszb);
|
||||
xh++;
|
||||
}
|
||||
}
|
||||
|
||||
//通过第三方发放校外劳务
|
||||
private static void forson0046(Map<String, String> headers, JSONObject formmainData, String djlxid, OerDjmlEntity djml, JSONArray forsonData, List<OerDjnrEntity> djnrList, List<OerDjjsfsEntity> jsfsList, List<OerYszbEntity> yszbList, int xh) {
|
||||
for (int i = 0; i< forsonData.size(); i++){
|
||||
JSONObject forson = forsonData.getJSONObject(i);
|
||||
String gsdm = djml.getGsdm();
|
||||
String kjnd = djml.getKjnd();
|
||||
String je = forson.getString("field0079");
|
||||
//单据内容
|
||||
OerDjnrEntity djnr = new OerDjnrEntity();
|
||||
djnr.setXh(String.valueOf(xh));
|
||||
djnr.setGsdm(gsdm);
|
||||
djnr.setKjnd(kjnd);
|
||||
djnr.setDjlxId(djlxid);
|
||||
djnr.setBnxId(headers.get("bxmx_bnxid"));
|
||||
djnr.setJe(je);
|
||||
djnr.setBmdm(null);//grp制单也没有这几个字段
|
||||
djnr.setBmmc(null);
|
||||
djnr.setXmdm(null);
|
||||
djnr.setXmmc(null);
|
||||
//指标id
|
||||
djnr.setZbId(formmainData.getString("field0029"));
|
||||
djnr.setZy(djml.getZy());
|
||||
djnr.setFjs(djml.getFjs());
|
||||
//支出项目
|
||||
djnr.setFzx6dm(formmainData.getString("field0089"));
|
||||
djnr.setFzx6mc(formmainData.getString("field0090"));
|
||||
//资金来源
|
||||
djnr.setFzx7dm(null);//grp制单也没这个
|
||||
djnr.setFzx7mc(null);
|
||||
//自定义项
|
||||
djnr.setYs00000051("");//发放明目
|
||||
djnr.setYs00000052(forson.getString("field0076"));//发放事项
|
||||
djnr.setYs00000053("");//打款时备注 oa没有
|
||||
djnr.setYs00000054("");//已开票应付劳务
|
||||
djnr.setYs00000055("");//扣补个税
|
||||
djnr.setYs00000056("");//个人所得税
|
||||
djnr.setYs00000057("");//实发金额
|
||||
djnr.setYs00000058(forson.getString("field0077"));//数量(课时)
|
||||
djnr.setYs00000059(forson.getString("field0078"));//标准
|
||||
djnrList.add(djnr);
|
||||
//结算方式
|
||||
OerDjjsfsEntity jsfs = new OerDjjsfsEntity();
|
||||
jsfs.setGsdm(gsdm);
|
||||
jsfs.setKjnd(kjnd);
|
||||
jsfs.setDjlxId(djlxid);
|
||||
jsfs.setBnxid(headers.get("jsfs_bnxid"));
|
||||
jsfs.setXh(String.valueOf(xh));
|
||||
jsfs.setJsfsdm(null);
|
||||
jsfs.setJsfsmc(null);
|
||||
jsfs.setKmdm(forson.getString(""));
|
||||
jsfs.setKmmc(forson.getString(""));
|
||||
jsfs.setSkr(forson.getString("field0071"));
|
||||
jsfs.setKhyh(forson.getString("field0072"));
|
||||
jsfs.setYhzh(forson.getString("field0073"));
|
||||
jsfs.setJe(je);
|
||||
jsfs.setYh("");//银行类型 例如 招商银行
|
||||
jsfs.setYhhh("");// 联行号
|
||||
jsfs.setProvince("");//省
|
||||
jsfs.setCity("");//市
|
||||
//支付方式为个人、公务卡时 可以选择 经办人、负责人、其他
|
||||
jsfs.setRytype("");//人员类型
|
||||
//用途
|
||||
jsfs.setYt(forson.getString(""));
|
||||
jsfsList.add(jsfs);
|
||||
|
||||
//预算指标
|
||||
OerYszbEntity yszb = new OerYszbEntity();
|
||||
BeanUtil.copyProperties(djnr,yszb);
|
||||
yszb.setBnxId(headers.get("yszb_bnxid"));
|
||||
yszb.setZbdm(formmainData.getString("field0029"));
|
||||
yszb.setZy(djnr.getZy());
|
||||
yszb.setKmdm(forson.getString(""));
|
||||
yszb.setKmmc(forson.getString(""));
|
||||
yszb.setXh(String.valueOf(xh));
|
||||
yszbList.add(yszb);
|
||||
xh++;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 时间戳转成 指定格式
|
||||
* @param timestamp 时间戳
|
||||
|
|
Loading…
Reference in New Issue