diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml index 3f7c41e3..a1b00d5f 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/entity/C4ProjectEntity.xml @@ -56,7 +56,7 @@ and field0052 in ( '-6504696439968085996',-- -978677123947674601 浙江三维利普维网络有限公司 '7045878877534307194',-- 670869647114347 三维通信股份有限公司 - '-5302246194420562875' -- -3530937844003287164 浙江三维通信科技有限公司 + '-5302246194420562875', -- -3530937844003287164 浙江三维通信科技有限公司 '-8106884040682618016' -- -3759985945848298333 浙江三维通信研究院有限公司 ) @@ -77,7 +77,9 @@ and field0052 in ( CA_BUDGETAMT , CA_FACTAMT , CA_COVERAMT , - CA_FULLLEVELNO + CA_FULLLEVELNO, + CA_FATHERNO, + CA_TYPENO, )values( @@ -93,7 +95,9 @@ and field0052 in ( #{caBudgetamt} , #{caFactmat} , #{caCoveramt} , - #{caFulllevelno} + #{caFulllevelno}, + '670869647114347', + '1004', ) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/LexmisC4ProjectPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/LexmisC4ProjectPluginInitializer.java index 9f908d18..9935acd0 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/LexmisC4ProjectPluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/c4project/plugin/LexmisC4ProjectPluginInitializer.java @@ -1,28 +1,18 @@ package com.hzya.frame.plugin.c4project.plugin; + import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.base.PluginBaseEntity; import com.hzya.frame.plugin.c4project.dao.IC4ProjectDao; -import com.hzya.frame.plugin.c4project.entity.C4ProjectEntity; import com.hzya.frame.plugin.c4project.entity.LexmisC4ProjectEntity; -import com.hzya.frame.plugin.masterData.plugin.MdmPluginInitializer; -import com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity; -import com.hzya.frame.plugin.nuonuo.service.INuoNuoService; -import com.hzya.frame.seeyon.lexmisC4.entity.LexmisC4DetailEntity; -import com.hzya.frame.seeyon.lexmisC4.entity.LexmisC4Entity; -import com.hzya.frame.seeyon.lexmisC4.service.ILexmisC4Service; -import com.hzya.frame.sysnew.comparison.masterData.service.IMasterDataService; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; -import java.math.BigDecimal; -import java.text.ParseException; -import java.util.ArrayList; -import java.util.Date; import java.util.List; /** @@ -33,12 +23,10 @@ import java.util.List; */ public class LexmisC4ProjectPluginInitializer extends PluginBaseEntity{ Logger logger = LoggerFactory.getLogger(LexmisC4ProjectPluginInitializer.class); - @Autowired - private ILexmisC4Service lexmisC4Service; - @Autowired private IC4ProjectDao ic4ProjectDao; - + @Value("${zt.url}") + private String url; @Override public void initialize() { logger.info(getPluginLabel() + "执行初始化方法initialize()"); @@ -92,13 +80,15 @@ public class LexmisC4ProjectPluginInitializer extends PluginBaseEntity{ if (lexmisC4ProjectEntities.get(0).getNoname() != null) { if ("传银企终审".equals(lexmisC4ProjectEntities.get(0).getNoname()) || "传银企终审".equals(lexmisC4ProjectEntities.get(0).getNodename()) || "生成C4预算".equals(lexmisC4ProjectEntities.get(0).getNoname()) || "生成C4预算".equals(lexmisC4ProjectEntities.get(0).getNodename())) { - return sendLexmis(requestJson); + return sendLexmis(requestJson,"预算编制","1"); + }else if("ERP审批".equals(lexmisC4ProjectEntities.get(0).getNoname()) || "ERP审批".equals(lexmisC4ProjectEntities.get(0).getNodename()) + || "生成C4项目档案".equals(lexmisC4ProjectEntities.get(0).getNoname()) || "生成C4项目档案".equals(lexmisC4ProjectEntities.get(0).getNodename())) { + return sendLexmis(requestJson,"项目档案","2"); } else { return BaseResult.getFailureMessageEntity("节点查找失败"); } } else { return BaseResult.getFailureMessageEntity("节点查找失败"); - } } else { return BaseResult.getFailureMessageEntity("节点查找失败"); @@ -106,22 +96,22 @@ public class LexmisC4ProjectPluginInitializer extends PluginBaseEntity{ } else { return BaseResult.getFailureMessageEntity("节点查找失败"); } - }catch (Exception e){ logger.error("======执行开始执行研发项目同步预算编制失败:{}========",e.getMessage()); return BaseResult.getFailureMessageEntity("研发项目同步预算编制失败"); } } + /** * @Author lvleigang - * @Description 保存预算编制 + * @Description * @Date 11:24 上午 2025/7/11 * @param requestJson * @return com.hzya.frame.web.entity.JsonResultEntity **/ - public JsonResultEntity sendLexmis(JSONObject requestJson) { - logger.error("同步预算编制:" + requestJson.toJSONString()); + public JsonResultEntity sendLexmis(JSONObject requestJson,String jdmz,String type) { + logger.error("同步"+jdmz+":" + requestJson.toJSONString()); JSONObject jsonStr = requestJson.getJSONObject("jsonStr"); if (jsonStr == null) { return BaseResult.getFailureMessageEntity("系统错误"); @@ -139,132 +129,351 @@ public class LexmisC4ProjectPluginInitializer extends PluginBaseEntity{ return BaseResult.getFailureMessageEntity("费用明细为空,请检查"); } //组装数据 - LexmisC4Entity lexmisC4Entity = new LexmisC4Entity(); - lexmisC4Entity.setDataSourceCode("SW-OA"); - if(mainData.getString("field0052") == null || "".equals(mainData.getString("field0052"))){ - return BaseResult.getFailureMessageEntity("项目归属主体为空,请检查"); + //获取token + String token = null; + JSONObject tokenData = new JSONObject(); + tokenData.put("userName","beis"); + tokenData.put("password","64de4de7-23ce-4946-ac91-dd9e322d86e5"); + tokenData.put("loginName","seeyon"); + String tokenResult = HttpRequest.post(url). + header("appId", "800051"). + header("apiCode", "8000510005"). + header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj"). + header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="). + body(tokenData.toJSONString()). + execute(). + body(); + logger.error("OAToken:" + tokenResult); + JSONObject resoutJson = JSONObject.parseObject(tokenResult); + if (resoutJson.getBoolean("flag")) { + token = resoutJson.getJSONObject("attribute").getString("id"); + } else { + return BaseResult.getFailureMessageEntity("获取OA token失败"); } - if("-6504696439968085996".equals(mainData.getString("field0052"))){ - lexmisC4Entity.setSmBudgetOrg("-978677123947674601");//预算单位代号 - lexmisC4Entity.setSmBudgetOrgNm("浙江三维利普维网络有限公司");//预算单位名称 - }else if("7045878877534307194".equals(mainData.getString("field0052"))){ - lexmisC4Entity.setSmBudgetOrg("670869647114347");//预算单位代号 - lexmisC4Entity.setSmBudgetOrgNm("三维通信股份有限公司");//预算单位名称 - }else if("-5302246194420562875".equals(mainData.getString("field0052"))){ - lexmisC4Entity.setSmBudgetOrg("-3530937844003287164");//预算单位代号 - lexmisC4Entity.setSmBudgetOrgNm("浙江三维通信科技有限公司");//预算单位名称 - }else if("-8106884040682618016".equals(mainData.getString("field0052"))){ - lexmisC4Entity.setSmBudgetOrg("-3759985945848298333");//预算单位代号 - lexmisC4Entity.setSmBudgetOrgNm("浙江三维通信研究院有限公司");//预算单位名称 + JSONObject sendData = null; + + if(mainData.getString("field0052") != null && "7045878877534307194".equals(mainData.getString("field0052"))){//三维通信股份有限公司 + sendData = getSwtxData(mainData,detailArray,type); + }else if(mainData.getString("field0052") != null && "-5302246194420562875".equals(mainData.getString("field0052"))){//浙江三维通信科技有限公司 + sendData = getSwtxkjData(mainData,detailArray,type); + }else if(mainData.getString("field0052") != null && "-6504696439968085996".equals(mainData.getString("field0052"))){//浙江三维利普维网络有限公司 + sendData = getlwpData(mainData,detailArray,type); + }else if(mainData.getString("field0052") != null && "-8106884040682618016".equals(mainData.getString("field0052"))){//浙江三维通信研究院有限公司 + sendData = gettxyjyData(mainData,detailArray,type); }else { - return BaseResult.getSuccessMessageEntity("项目归属主体不是这四个,不同步"); + return BaseResult.getSuccessMessageEntity("该公司不需要生成"+jdmz); } - lexmisC4Entity.setSmClose(0);//预算表关闭, 0 = 未关闭 1 = 已关闭 - lexmisC4Entity.setSmYear(0);//预算年度 - lexmisC4Entity.setSmCaseno(mainData.getString("field0047"));//项目编号 - lexmisC4Entity.setSmCasenm(mainData.getString("field0012"));//项目名称 - lexmisC4Entity.setSmPlanNo("002");//方案代号 - lexmisC4Entity.setSmPlanNm("专项项目预算");//方案名称 - lexmisC4Entity.setSmMaker(mainData.getString("field0009"));//编制人 - lexmisC4Entity.setSmMakerNm(mainData.getString("field0085"));//编制人名称 - lexmisC4Entity.setSmCDate(mainData.getDate("field0086"));//编制日期 - lexmisC4Entity.setSmCheck(0);//是否审核,0=未审核 1=全部审核 2=部份审核 - lexmisC4Entity.setSmMonth(0);//起始月份 - lexmisC4Entity.setSmEYear(0);//截止年度 - lexmisC4Entity.setSmEMonth(0);//截止月份 - lexmisC4Entity.setSmOAno(mainData.getString("field0001"));//OA 单据编号 - StringBuffer bmmc = new StringBuffer(); - //查找部门 - if(mainData.getString("field0069") != null && !"".equals(mainData.getString("field0069"))){ - C4ProjectEntity bm = new C4ProjectEntity(); - bm.setDataSourceCode("SW-OA"); - bm.setBm(mainData.getString("field0069"));// 部门 - List list = ic4ProjectDao.queryBm(bm); - if(list != null && list.size() == 1){ - List pathList = new ArrayList<>(); - String path = list.get(0).getPath(); - if(path != null && !"".equals(path)){ - splitReverse(path,pathList); - if(pathList != null && pathList.size() > 0){ - C4ProjectEntity projectEntity = new C4ProjectEntity(); - projectEntity.setDataSourceCode("SW-OA"); - projectEntity.setPathList(pathList);// 部门 - List name = ic4ProjectDao.queryBmBypath(projectEntity); - if(name != null && name.size() > 0){ - bmmc = getbmmc(path,name,bmmc); - } - } - } + String sendResult = HttpRequest.post(url). + header("appId", "800051"). + header("apiCode", "8000510001"). + header("token", token). + header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj"). + header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="). + body(sendData.toJSONString()). + execute(). + body(); + logger.error("同步"+jdmz+"单据发送返回:" + sendResult); + JSONObject sendJson = JSONObject.parseObject(sendResult); + if (sendJson.getBoolean("flag")) { + JSONObject attribute = sendJson.getJSONObject("attribute"); + JSONObject attributeData = attribute.getJSONObject("data"); + JSONArray workitems = attributeData.getJSONArray("workitems"); + if(workitems == null || workitems.size() == 0){ + return BaseResult.getFailureMessageEntity("同步"+jdmz+"发送错误返回没有流程信息,无法自动提交"); } - } - List detailEntityList = new ArrayList<>(); - for (int i = 0; i < detailArray.size(); i++) { - LexmisC4DetailEntity lexmisC4DetailEntity = new LexmisC4DetailEntity(); - lexmisC4DetailEntity.setDataSourceCode("SW-OA"); - lexmisC4DetailEntity.setSdPlanNo("002");//方案代号,同抬头存 - lexmisC4DetailEntity.setSdPlanNm("专项项目预算");//方案名称,同抬头存 - lexmisC4DetailEntity.setSdMaker(mainData.getString("field0009"));//编制人 - lexmisC4DetailEntity.setSdMakerNm(mainData.getString("field0085"));//编制人名称 - lexmisC4DetailEntity.setSdCDate(mainData.getDate("field0086"));//编制日期 - lexmisC4DetailEntity.setSdCheck(0);//是否审核,0 = 未审核 1 = 已审核 - lexmisC4DetailEntity.setSdChargeNo(detailArray.getJSONObject(i).getString("field0090"));//费用编号 - lexmisC4DetailEntity.setSdChargeNm(detailArray.getJSONObject(i).getString("field0088"));//费用名称 - lexmisC4DetailEntity.setSdMoney1(detailArray.getJSONObject(i).getBigDecimal("field0089"));// 第 1 期金额,初次预算金额 - lexmisC4DetailEntity.setSdShareBudget(1);// 预算共用,1勾选0取消 - lexmisC4DetailEntity.setSd999(mainData.getString("field0069"));// 部门 - lexmisC4DetailEntity.setSd999Nm(bmmc.toString());// 部门 - lexmisC4DetailEntity.setSdCtrlMode(2);// 当期控制强度,0不控制1弱控制2强控制 - lexmisC4DetailEntity.setSdCtrlModeYear(2);// 超年控制强度,0不控制1弱控制2强控制 - lexmisC4DetailEntity.setSdRefreshCtrl(1);// 是否需要升级强度标识 - detailEntityList.add(lexmisC4DetailEntity); - } - lexmisC4Entity.setDetailEntityList(detailEntityList); + JSONObject workitemsis = workitems.getJSONObject(0); + JSONObject tjData = new JSONObject(); + tjData.put("appName","collaboration"); + tjData.put("workitemId",workitemsis.getString("id")); + JSONObject da = new JSONObject(); + da.put("submitType","1"); + JSONObject comment_deal = new JSONObject(); + comment_deal.put("attitude","2"); + comment_deal.put("content","同意"); + da.put("comment_deal",comment_deal); + tjData.put("data",da); - //return BaseResult.getFailureMessageEntity("错误"); - - //保存数据 - return lexmisC4Service.saveLexmisC4(lexmisC4Entity); + String tjResult = HttpRequest.post(url). + header("appId", "800051"). + header("apiCode", "8000510018"). + header("token", token). + header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj"). + header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="). + body(tjData.toJSONString()). + execute(). + body(); + logger.error("同步"+jdmz+"单据提交返回:" + tjResult); + JSONObject tjJson = JSONObject.parseObject(tjResult); + if (tjJson.getBoolean("flag")) { + return BaseResult.getSuccessMessageEntity("同步"+jdmz+"发送成功"); + } else { + return BaseResult.getFailureMessageEntity("同步"+jdmz+"提交错误:"+tjJson.getString("msg")); + } + } else { + return BaseResult.getFailureMessageEntity("同步"+jdmz+"发送错误:"+sendJson.getString("msg")); + } } /** * @Author lvleigang - * @Description - * @Date 9:41 上午 2025/7/15 - * @param path - * @param name - * @return java.lang.String + * @Description 浙江三维通信研究院有限公司 + * @Date 4:50 下午 2025/7/21 + * @param mainData + * @param detailArray + * @param type + * @return com.alibaba.fastjson.JSONObject **/ - private StringBuffer getbmmc(String path, List name,StringBuffer bmmc) { - for (int i = 0; i < name.size(); i++) { - if(path.equals(name.get(i).getPath())){ - if("".equals(bmmc.toString())){ - bmmc.append(name.get(i).getBmmc()); - getbmmc(path.substring(0,path.length()-4),name,bmmc); - }else { - bmmc.insert(0,name.get(i).getBmmc()+"->"); - getbmmc(path.substring(0,path.length()-4),name,bmmc); - } + private JSONObject gettxyjyData(JSONObject mainData, JSONArray detailArray, String type) { + if("1".equals(type)){//预算编制 + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4周期类型",mainData.getString("field0092")); + zb.put("C4预算方案",mainData.getString("field0093")); + zb.put("发起部门",mainData.getString("field0069")); + JSONArray mxList = new JSONArray(); + for (int i = 0; i < detailArray.size(); i++) { + JSONObject mx = new JSONObject(); + mx.put("二级费用",detailArray.getJSONObject(i).getString("field0090")); + mx.put("ERP费用类型",detailArray.getJSONObject(i).getString("field0094")); + mx.put("借方金额",detailArray.getJSONObject(i).getString("field0089")); + mx.put("C4预算期别",detailArray.getJSONObject(i).getString("field0095")); + mxList.add(mx); } + data1.put("formmain_12021",zb); + data1.put("formson_12022",mxList); + data.put("draft","0"); + data.put("templateCode","YJYYSBZ"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; + }else { + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目编号",mainData.getString("field0047")); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4项目负责人",mainData.getString("field0020")); + //zb.put("C4项目组成员",mainData.getString("field0012")); + zb.put("C4项目开始日期",mainData.getString("field0044")); + zb.put("C4项目结束日期",mainData.getString("field0045")); + zb.put("C4项目总预算",mainData.getString("field0077")); + zb.put("C4预算周期类型",mainData.getString("field0092")); + zb.put("C4项目类型",mainData.getString("field0080")); + zb.put("C4上级项目",mainData.getString("field0096")); + zb.put("C4控制到账额强度",mainData.getString("field0097")); + zb.put("C4控制到账额方式",mainData.getString("field0098")); + + data1.put("formmain_12020",zb); + data.put("draft","0"); + data.put("templateCode","YJYLXD"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; } - return bmmc; } - private void splitReverse(String str,List asd ) { - if (str.isEmpty()) return; - if(str != null && !"".equals(str)){ - asd.add(str); + /** + * @Author lvleigang + * @Description 浙江三维利普维网络有限公司 + * @Date 4:44 下午 2025/7/21 + * @param mainData + * @param detailArray + * @param type + * @return com.alibaba.fastjson.JSONObject + **/ + private JSONObject getlwpData(JSONObject mainData, JSONArray detailArray, String type) { + if("1".equals(type)){//预算编制 + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4周期类型",mainData.getString("field0092")); + zb.put("C4预算方案",mainData.getString("field0093")); + zb.put("发起部门",mainData.getString("field0069")); + JSONArray mxList = new JSONArray(); + for (int i = 0; i < detailArray.size(); i++) { + JSONObject mx = new JSONObject(); + mx.put("二级费用",detailArray.getJSONObject(i).getString("field0090")); + mx.put("ERP费用类型",detailArray.getJSONObject(i).getString("field0094")); + mx.put("借方金额",detailArray.getJSONObject(i).getString("field0089")); + mx.put("C4预算期别",detailArray.getJSONObject(i).getString("field0095")); + mxList.add(mx); + } + data1.put("formmain_12018",zb); + data1.put("formson_12019",mxList); + data.put("draft","0"); + data.put("templateCode","LPWYSBZ"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; + }else { + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目编号",mainData.getString("field0047")); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4项目负责人",mainData.getString("field0020")); + //zb.put("C4项目组成员",mainData.getString("field0012")); + zb.put("C4项目开始日期",mainData.getString("field0044")); + zb.put("C4项目结束日期",mainData.getString("field0045")); + zb.put("C4项目总预算",mainData.getString("field0077")); + zb.put("C4预算周期类型",mainData.getString("field0092")); + zb.put("C4项目类型",mainData.getString("field0080")); + zb.put("C4上级项目",mainData.getString("field0096")); + zb.put("C4控制到账额强度",mainData.getString("field0097")); + zb.put("C4控制到账额方式",mainData.getString("field0098")); + + data1.put("formmain_12017",zb); + data.put("draft","0"); + data.put("templateCode","LPWLXD"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; } - if(str.length() <= 12){ - return; + } + + /** + * @Author lvleigang + * @Description 浙江三维通信科技有限公司 + * @Date 10:51 上午 2025/7/21 + * @param mainData + * @param detailArray + * @param type + * @return com.alibaba.fastjson.JSONObject + **/ + private JSONObject getSwtxkjData(JSONObject mainData, JSONArray detailArray, String type) { + if("1".equals(type)){//预算编制 + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4周期类型",mainData.getString("field0092")); + zb.put("C4预算方案",mainData.getString("field0093")); + zb.put("发起部门",mainData.getString("field0069")); + JSONArray mxList = new JSONArray(); + for (int i = 0; i < detailArray.size(); i++) { + JSONObject mx = new JSONObject(); + mx.put("二级费用",detailArray.getJSONObject(i).getString("field0090")); + mx.put("ERP费用类型",detailArray.getJSONObject(i).getString("field0094")); + mx.put("借方金额",detailArray.getJSONObject(i).getString("field0089")); + mx.put("C4预算期别",detailArray.getJSONObject(i).getString("field0095")); + mxList.add(mx); + } + data1.put("formmain_12013",zb); + data1.put("formson_12014",mxList); + data.put("draft","0"); + data.put("templateCode","KJYSBZ"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; + }else { + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目编号",mainData.getString("field0047")); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4项目负责人",mainData.getString("field0020")); + //zb.put("C4项目组成员",mainData.getString("field0012")); + zb.put("C4项目开始日期",mainData.getString("field0044")); + zb.put("C4项目结束日期",mainData.getString("field0045")); + zb.put("C4项目总预算",mainData.getString("field0077")); + zb.put("C4预算周期类型",mainData.getString("field0092")); + zb.put("C4项目类型",mainData.getString("field0080")); + zb.put("C4上级项目",mainData.getString("field0096")); + zb.put("C4控制到账额强度",mainData.getString("field0097")); + zb.put("C4控制到账额方式",mainData.getString("field0098")); + + data1.put("formmain_12012",zb); + data.put("draft","0"); + data.put("templateCode","KJLXD"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; } - // 截取最后四位(或全部剩余字符) - int start = Math.max(0, str.length() - 4); - if(start == 0){ - return; - } - // 递归处理剩余部分(如果有) - if (start > 0) { - splitReverse(str.substring(0, start),asd); + } + + /** + * @Author lvleigang + * @Description 三维通信 + * @Date 10:19 上午 2025/7/21 + * @param mainData + * @param detailArray + * @return com.alibaba.fastjson.JSONObject + **/ + private JSONObject getSwtxData(JSONObject mainData, JSONArray detailArray,String type) { + if("1".equals(type)){//预算编制 + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4周期类型",mainData.getString("field0092")); + zb.put("C4预算方案",mainData.getString("field0093")); + zb.put("发起部门",mainData.getString("field0069")); + JSONArray mxList = new JSONArray(); + for (int i = 0; i < detailArray.size(); i++) { + JSONObject mx = new JSONObject(); + mx.put("二级费用",detailArray.getJSONObject(i).getString("field0090")); + mx.put("ERP费用类型",detailArray.getJSONObject(i).getString("field0094")); + mx.put("借方金额",detailArray.getJSONObject(i).getString("field0089")); + mx.put("C4预算期别",detailArray.getJSONObject(i).getString("field0095")); + mxList.add(mx); + } + data1.put("formmain_11999",zb); + data1.put("formson_12000",mxList); + data.put("draft","0"); + data.put("templateCode","SWYSBZ"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; + }else { + JSONObject sendData = new JSONObject(); + JSONObject data = new JSONObject(); + JSONObject data1 = new JSONObject(); + JSONObject zb = new JSONObject(); + zb.put("C4项目编号",mainData.getString("field0047")); + zb.put("C4项目",mainData.getString("field0012")); + zb.put("C4项目负责人",mainData.getString("field0020")); + //zb.put("C4项目组成员",mainData.getString("field0012")); + zb.put("C4项目开始日期",mainData.getString("field0044")); + zb.put("C4项目结束日期",mainData.getString("field0045")); + zb.put("C4项目总预算",mainData.getString("field0077")); + zb.put("C4预算周期类型",mainData.getString("field0092")); + zb.put("C4项目类型",mainData.getString("field0080")); + zb.put("C4上级项目",mainData.getString("field0096")); + zb.put("C4控制到账额强度",mainData.getString("field0097")); + zb.put("C4控制到账额方式",mainData.getString("field0098")); + + data1.put("formmain_12007",zb); + data.put("draft","0"); + data.put("templateCode","SWLXD"); + data.put("data",data1); + + sendData.put("appName","collaboration"); + sendData.put("data",data); + return sendData; } } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/nuonuo/service/impl/NuoNuoServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/nuonuo/service/impl/NuoNuoServiceImpl.java index 61387208..aad0c615 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/nuonuo/service/impl/NuoNuoServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/nuonuo/service/impl/NuoNuoServiceImpl.java @@ -199,8 +199,11 @@ public class NuoNuoServiceImpl extends BaseService impleme BigDecimal value = detailArray.getJSONObject(i).getBigDecimal("field0156"); int result = value.multiply(BigDecimal.valueOf(100)).intValue(); // 结果:5 expenseItem.put("taxRate", String.valueOf(result)); + }else { + expenseItem.put("taxRate", "0"); + } - //expenseItem.put("kplx", ""); + expenseItem.put("kplx", detailArray.getJSONObject(i).getString("field0148")); //expenseItem.put("areacl", ""); expenseItem.put("subjectCode", "1122"); expenseItem.put("projectCode", detailArray.getJSONObject(i).getString("field0190")); // 项目号 @@ -243,6 +246,9 @@ public class NuoNuoServiceImpl extends BaseService impleme if (mainData.getString("field0168") != null && "SJ".equals(mainData.getString("field0168"))) { return BaseResult.getSuccessMessageEntity("发票类型为SJ,不传诺税通"); } + if (mainData.getString("field0150") != null && !"".equals(mainData.getString("field0150"))) { + return BaseResult.getSuccessMessageEntity("发票号码已存在,不传诺税通"); + } //组装发送数据 JSONObject sendData = null; try { @@ -722,7 +728,7 @@ public class NuoNuoServiceImpl extends BaseService impleme expenseItem.put("srcDetailId", null); expenseItem.put("balatype", null); expenseItem.put("cashaccount", null); - expenseItem.put("scomment", mainData.getString("field0196")); + expenseItem.put("scomment", mainData.getString("field0178")); expenseItem.put("amount", detailArray.getJSONObject(i).getString("field0149") != null ? detailArray.getJSONObject(i).getBigDecimal("field0149") : "0"); expenseItem.put("deptcode", detailArray.getJSONObject(i).getString("field0124")); expenseItem.put("recaccount", detailArray.getJSONObject(i).getString("field0165")); @@ -734,8 +740,10 @@ public class NuoNuoServiceImpl extends BaseService impleme BigDecimal value = detailArray.getJSONObject(i).getBigDecimal("field0156"); int result = value.multiply(BigDecimal.valueOf(100)).intValue(); // 结果:5 expenseItem.put("taxRate", String.valueOf(result)); + }else { + expenseItem.put("taxRate", "0"); } - //expenseItem.put("kplx", ""); + expenseItem.put("kplx", detailArray.getJSONObject(i).getString("field0148")); //expenseItem.put("areacl", ""); expenseItem.put("subjectCode", "1122"); expenseItem.put("projectCode", detailArray.getJSONObject(i).getString("field0188")); // 项目号 diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/paymentSlip/service/impl/PaymentSlipServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/paymentSlip/service/impl/PaymentSlipServiceImpl.java index 9e27dba4..1f2e61b9 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/paymentSlip/service/impl/PaymentSlipServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/paymentSlip/service/impl/PaymentSlipServiceImpl.java @@ -53,7 +53,7 @@ public class PaymentSlipServiceImpl extends BaseService imp lexmisC4CheckSourceEntity.setDataSourceCode(entity.getDataSourceCode()); //保存审批信息明细 if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney1()) != 0){ - lexmisC4CheckSourceEntity.setCheck1("1"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),1,entity.getDetailEntityList().get(i).getSdMoney1(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + lexmisC4CheckSourceEntity.setCheck1("0"); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),1,entity.getDetailEntityList().get(i).getSdMoney1(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney2()) != 0){ - lexmisC4CheckSourceEntity.setCheck2("1"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),2,entity.getDetailEntityList().get(i).getSdMoney2(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + lexmisC4CheckSourceEntity.setCheck2("0"); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),2,entity.getDetailEntityList().get(i).getSdMoney2(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney3()) != 0){ - lexmisC4CheckSourceEntity.setCheck3("1"); + lexmisC4CheckSourceEntity.setCheck3("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),3,entity.getDetailEntityList().get(i).getSdMoney3(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),3,entity.getDetailEntityList().get(i).getSdMoney3(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney4()) != 0){ - lexmisC4CheckSourceEntity.setCheck4("1"); + lexmisC4CheckSourceEntity.setCheck4("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),4,entity.getDetailEntityList().get(i).getSdMoney4(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),4,entity.getDetailEntityList().get(i).getSdMoney4(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney5()) != 0){ - lexmisC4CheckSourceEntity.setCheck5("1"); + lexmisC4CheckSourceEntity.setCheck5("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),5,entity.getDetailEntityList().get(i).getSdMoney5(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),5,entity.getDetailEntityList().get(i).getSdMoney5(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney6()) != 0){ - lexmisC4CheckSourceEntity.setCheck6("1"); + lexmisC4CheckSourceEntity.setCheck6("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),6,entity.getDetailEntityList().get(i).getSdMoney6(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),6,entity.getDetailEntityList().get(i).getSdMoney6(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney7()) != 0){ - lexmisC4CheckSourceEntity.setCheck7("1"); + lexmisC4CheckSourceEntity.setCheck7("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),7,entity.getDetailEntityList().get(i).getSdMoney7(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),7,entity.getDetailEntityList().get(i).getSdMoney7(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney8()) != 0){ - lexmisC4CheckSourceEntity.setCheck8("1"); + lexmisC4CheckSourceEntity.setCheck8("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),8,entity.getDetailEntityList().get(i).getSdMoney8(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),8,entity.getDetailEntityList().get(i).getSdMoney8(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney9()) != 0){ - lexmisC4CheckSourceEntity.setCheck9("1"); + lexmisC4CheckSourceEntity.setCheck9("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),9,entity.getDetailEntityList().get(i).getSdMoney9(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),9,entity.getDetailEntityList().get(i).getSdMoney9(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney10()) != 0){ - lexmisC4CheckSourceEntity.setCheck10("1"); + lexmisC4CheckSourceEntity.setCheck10("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),10,entity.getDetailEntityList().get(i).getSdMoney10(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),10,entity.getDetailEntityList().get(i).getSdMoney10(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney11()) != 0){ - lexmisC4CheckSourceEntity.setCheck11("1"); + lexmisC4CheckSourceEntity.setCheck11("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),11,entity.getDetailEntityList().get(i).getSdMoney11(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),11,entity.getDetailEntityList().get(i).getSdMoney11(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } if(BigDecimal.ZERO.compareTo(entity.getDetailEntityList().get(i).getSdMoney12()) != 0){ - lexmisC4CheckSourceEntity.setCheck12("1"); + lexmisC4CheckSourceEntity.setCheck12("0"); - saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),12,entity.getDetailEntityList().get(i).getSdMoney12(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),1,entity.getSmChecker(),entity.getSmCheckerNm(),entity.getSmChkDate(),entity.getDataSourceCode()); + saveCheck(smNo,entity.getDetailEntityList().get(i).getId(),12,entity.getDetailEntityList().get(i).getSdMoney12(),entity.getSmMaker(),entity.getSmMakerNm(),entity.getSmCDate(),0,null,null,null,entity.getDataSourceCode()); } //保存审批信息来源 lexmisC4Dao.insertCheckSource(lexmisC4CheckSourceEntity);