From 64489a4fe3d0d080edcf3730cea05058afe468e4 Mon Sep 17 00:00:00 2001 From: xiang2lin <251481237@qq.com> Date: Tue, 27 May 2025 14:52:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=B3=E5=8A=A1=E8=B4=B9=E6=8A=A5=E9=94=80?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grp/plugin/LwfPluginInitializer.java | 3 +- .../plugin/grp/service/ILwfPluginService.java | 2 +- .../service/impl/LwfPluginServiceImpl.java | 24 +---- .../nxproof/oerdjml/entity/OerDjmlEntity.java | 18 ++++ .../nxproof/oerdjml/entity/OerDjmlEntity.xml | 10 +- .../service/impl/OerDjmlExtServiceImpl.java | 101 +++++++++++++++++- .../nxproof/oerdjnr/entity/OerDjnrEntity.java | 81 ++++++++++++++ .../nxproof/oerdjnr/entity/OerDjnrEntity.xml | 27 +++++ 8 files changed, 236 insertions(+), 30 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/plugin/LwfPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/plugin/LwfPluginInitializer.java index c100a009..b9242356 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/plugin/LwfPluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/plugin/LwfPluginInitializer.java @@ -7,7 +7,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * @Description 劳务费插件 + * @Description 劳务费插件 这个插件没用 用的还是ExpensePluginInitializer * @Author xiangerlin * @Date 2025/5/13 17:49 **/ @@ -90,7 +90,6 @@ public class LwfPluginInitializer extends PluginBaseEntity { **/ @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - logger.info("======开始执行GRP劳务费插件======:{}",requestJson.toString()); return null; } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/ILwfPluginService.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/ILwfPluginService.java index 294cf4d5..0a3a847a 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/ILwfPluginService.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/ILwfPluginService.java @@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.hzya.frame.web.entity.JsonResultEntity; /** - * @Description 劳务费插件service + * @Description 劳务费插件service 这个插件没用,用的还是 ExpensePluginInitializer * @Author xiangerlin * @Date 2025/5/13 17:52 **/ diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/impl/LwfPluginServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/impl/LwfPluginServiceImpl.java index dd076619..754b1edd 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/impl/LwfPluginServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/grp/service/impl/LwfPluginServiceImpl.java @@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; /** - * @Description 劳务费插件 + * @Description 劳务费插件 这个插件没用用的还是 ExpensePluginInitializer * @Author xiangerlin * @Date 2025/5/13 17:52 **/ @@ -31,26 +31,6 @@ public class LwfPluginServiceImpl implements ILwfPluginService { */ @Override public JsonResultEntity execute(JSONObject json) throws Exception { - String headersStr = json.getString("headers");//请求头 - String formAppId = json.getString("formAppId"); - String eventType = json.getString("eventType"); - String dataSouceCode = json.getString("apiDataSourceCode"); - Assert.notEmpty(formAppId,"formAppId不能为空"); - Assert.notEmpty(eventType,"eventType不能为空"); - Assert.notEmpty(headersStr,"headers不能为空"); - Assert.notEmpty(dataSouceCode,"数据源编码不能为空"); - logger.info("准备开始组装参数"); - String param = lwfExtService.saveLwfPrePlugin(json); - logger.info("OA单据组装好准备保存劳务费的参数:{}",param); - String result = HttpRequest.post(interfaceUrl) - .header("appId","800042")// grp应用 - .header("apiCode","8000420043")//劳务费接口 - .header("publicKey","ZJYAcDv1SMgN1oUwzfpV5byfUaN78sVw+L+DB9XTT30aS8hCe7eDIk+3zDUT+v578prj")//OA应用key - .header("secretKey","ZLQWG13Z30FoeuCgi6/Uc41XF6oLO63550OAa6ggXUmtOZj5MgQNZMjVgL/M4BRkj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=")//OA应用密钥 - .body(param).execute().body(); - // JsonResultEntity resultEntity = (JsonResultEntity) oerDjmlService.handleOerDjml(paramJSON); - // logger.info("保存GRPU8响应参数:{}",JSONObject.toJSON(resultEntity)); - logger.info("保存GRPU8响应参数:{}",result); - return BaseResult.getSuccessMessageEntity(result); + return null; } } diff --git a/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java b/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java index 1c5d125e..76cb0f8e 100644 --- a/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java +++ b/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.java @@ -87,6 +87,8 @@ public class OerDjmlEntity extends BaseEntity { private String WX00000055;//自定义字段 已到位经费 private String WX00000056;//自定义字段 激励费总额 private String WX00000057;//自定义字段 已支出激励费 + private String WX00000058;//自定义字段 发放人群 + private String WX00000059;//自定义字段 发放性质 //附件对象 @JSONField(ordinal = 9995) private List fileInfoList; @@ -561,4 +563,20 @@ public class OerDjmlEntity extends BaseEntity { public void setWX00000057(String WX00000057) { this.WX00000057 = WX00000057; } + + public String getWX00000058() { + return WX00000058; + } + + public void setWX00000058(String WX00000058) { + this.WX00000058 = WX00000058; + } + + public String getWX00000059() { + return WX00000059; + } + + public void setWX00000059(String WX00000059) { + this.WX00000059 = WX00000059; + } } diff --git a/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml b/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml index 81d22719..a92653c7 100644 --- a/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml +++ b/fw-grpU8/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/entity/OerDjmlEntity.xml @@ -36,6 +36,8 @@ + + @@ -168,6 +170,8 @@ GSDM,KJND,mlId WX00000055, WX00000056, WX00000057, + WX00000058, + WX00000059, xmdm, xmmc, @@ -221,6 +225,8 @@ GSDM,KJND,mlId #{WX00000055}, #{WX00000056}, #{WX00000057}, + #{WX00000058}, + #{WX00000059}, #{xmdm}, #{xmmc}, @@ -278,7 +284,9 @@ GSDM,KJND,mlId WX00000054 = #{WX00000054}, WX00000055 = #{WX00000055}, WX00000056 = #{WX00000056}, - WX00000057 = #{WX00000057} + WX00000057 = #{WX00000057}, + WX00000058 = #{WX00000058}, + WX00000059 = #{WX00000059} where DJBH = #{djbh} and MLID=${mlId} 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 d7cfd270..fc5d3e76 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 @@ -155,6 +155,8 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService { if (null != jsonStr && null != headers && !headers.isEmpty()){ String formmainTableName = headers.get("formmainTableName"); String forsonTableName = headers.get("forsonTableName"); + String forsonTableName1 = headers.get("forsonTableName1"); + String forsonTableName2 = headers.get("forsonTableName2"); String djlx = headers.get("djlx"); //事件类型 String eventType = jsonStr.getString("eventType"); @@ -170,6 +172,9 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService { */ JSONObject formmainData = seeyonData.getJSONObject(formmainTableName); JSONArray forsonData = seeyonData.getJSONArray(forsonTableName); + //劳保费用 + JSONArray forson0045Data = seeyonData.getJSONArray(forsonTableName1); + JSONArray forson0046Data = seeyonData.getJSONArray(forsonTableName2); String res = ""; if (DjlxEnum.TRAVEL.type.equals(djlx)) { logger.info("准备组装差旅报销单参数"); @@ -181,7 +186,8 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService { res = expense(headers,eventType,summaryId,dataSourceCode, formmainData, forsonData); logger.info("oerValuOf方法已经组装好参数,准备return"); }else if (DjlxEnum.LABOR.type.equals(djlx)){ - //劳务费 labor + //判断一下要用哪个明细表 + res = labor(headers,eventType,summaryId,dataSourceCode,formmainData,forsonData,forson0045Data,forson0046Data); }else if (DjlxEnum.HXKY.type.equals(djlx)){ //横向科研 res = hxky(headers,eventType,summaryId,dataSourceCode, formmainData, forsonData); @@ -195,9 +201,6 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService { } return null; } - - - /** * 费用报销单 * @param headers 请求头 @@ -863,6 +866,96 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService { return djmlStr; } + /** + * 劳务费 + * @param headers 头部参数 + * @param eventType 事件类型 + * @param summaryId 流程id + * @param dataSourceCode 数据源编码 + * @param formmainData 主表数据 + * @param forson0044Data 子1表数据 + * @param forson0045Data 子表2数据 + * @param forson0046Data 子表3数据 + * @return + */ + private String labor(Map headers, String eventType, String summaryId, String dataSourceCode, JSONObject formmainData, JSONArray forson0044Data, JSONArray forson0045Data, JSONArray forson0046Data) { + String djlxid = headers.get("djlxid"); + String flowcode = headers.get("flowcode"); + String fileApiCode = headers.get("file_api_code"); + OerDjmlEntity djml = new OerDjmlEntity(); + djml.setLclb(eventType); + djml.setDjbh(formmainData.getString("field0001")); + djml.setDjlxId(djlxid); + djml.setDataSourceCode(dataSourceCode); + String fflx = formmainData.getString("field0102"); + JSONArray forsonData = null; + JSONObject forsonData0 = null; + switch (fflx){ + case "0": + case "3": + forsonData0 = forson0044Data.getJSONObject(0); + forsonData = forson0044Data; + break; + case "1": + forsonData0 = forson0045Data.getJSONObject(0); + forsonData = forson0045Data; + break; + case "2": + forsonData0 = forson0046Data.getJSONObject(0); + forsonData = forson0046Data; + break; + } + if (ColEventTypeEnum.ONSTART.getType().equals(eventType)){ + djml.setGsdm(formmainData.getString("field0037")); + djml.setKjnd(formmainData.getString("field0038")); + djml.setDjlxId(djlxid); + djml.setZt("2"); + djml.setCrerdm(formmainData.getString("field0039"));//制单人代码 + djml.setCrermc(formmainData.getString("field0045"));//制单人名称 + 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.setGrdm(formmainData.getString("field0084"));//报销人代码 + djml.setGrmc(formmainData.getString("field0085"));//报销人名称 + djml.setBmdm(formmainData.getString("field0086"));//部门代码 + djml.setBmmc(formmainData.getString("field0087"));//部门名称 + djml.setXmdm(formmainData.getString("field0004"));//项目代码 + djml.setXmmc(formmainData.getString("field0005"));//项目名称 + djml.setZy(formmainData.getString("field0045"));//劳务内容 + djml.setWX00000051(formmainData.getString("field0006"));//讲座发生时间 + djml.setWX00000059(formmainData.getString("field0046"));//讲座发生时间 + //报销明细 + List djnrList = new ArrayList<>(); + //结算方式 + List jsfsList = new ArrayList<>(); + //预算指标 + List yszbList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(forsonData)){ + int xh = 1; + for (int i=0; i + + + + + + + + + @@ -88,6 +97,15 @@ fzx9mc, jflxdm, jflxmc, + ys00000051, + ys00000052, + ys00000053, + ys00000054, + ys00000055, + ys00000056, + ys00000057, + ys00000058, + ys00000059, clf_startdate, clf_enddate, clf_ccdd, @@ -138,6 +156,15 @@ #{fzx9mc}, #{jflxdm}, #{jflxmc}, + #{ys00000051}, + #{ys00000052}, + #{ys00000053}, + #{ys00000054}, + #{ys00000055}, + #{ys00000056}, + #{ys00000057}, + #{ys00000058}, + #{ys00000059}, #{clf_startdate}, #{clf_enddate}, #{clf_ccdd},