diff --git a/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java b/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java index fc5d3e76..8e45bb38 100644 --- a/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java +++ b/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java @@ -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 djnrList = new ArrayList<>(); //结算方式 List jsfsList = new ArrayList<>(); //预算指标 List yszbList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(forsonData)){ int xh = 1; - for (int i=0; i fileInfoList = fileDownloadV1(summaryId, fileApiCode); + djml.setFileInfoList(fileInfoList); } - return null; + String djmlStr = JSONObject.toJSONString(djml); + logger.info("劳务费报文:{}",djmlStr); + return djmlStr; } + //校内职工/学生 + private static void forson0044(Map headers, JSONObject formmainData, String djlxid, OerDjmlEntity djml, JSONArray forsonData, List djnrList, List jsfsList, List 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 headers, JSONObject formmainData, String djlxid, OerDjmlEntity djml, JSONArray forsonData, List djnrList, List jsfsList, List 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 headers, JSONObject formmainData, String djlxid, OerDjmlEntity djml, JSONArray forsonData, List djnrList, List jsfsList, List 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 时间戳