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);