Ver código fonte

立项完成自动生成采购任务接口调整和补充字段

lvjs 1 mês atrás
pai
commit
a8aaa0b418

+ 1 - 1
src/main/java/com/malk/eastar/controller/EastarYidaController.java

@@ -52,7 +52,7 @@ public class EastarYidaController {
         log.info("【立项/项目台账】→【配件任务表】数据流转, {}", data);
         McException.assertParamException_Null(data, "formInstId");
         String formInstId = UtilMap.getString(data, "formInstId");
-        Map result=yidaService.createPartsTask(formInstId);
+        Map result = yidaService.createPartsTask(formInstId);
         if(result.get("error") == null){
             return McR.success(result);
         }else{

+ 29 - 14
src/main/java/com/malk/eastar/service/impl/YidaServiceImpl.java

@@ -165,8 +165,8 @@ public class YidaServiceImpl implements YidaService {
             nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb");    // 语言【语言版本 - 数量拆分】
             numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd");    // 套数【语言版本 - 数量拆分】
             numOfSetsAll = UtilMap.getInt(orderSubRecordLang,"numberField_mmtymctd");    // 总套数【语言版本 - 数量拆分】
-            System.out.println("系列编号:"+codeSeries+",系列:"+nameSeries+",语言编号:"+codeLang+",语言:"+nameLang
-                    +",套数:"+numOfSetsSeries+",总套数:"+numOfSetsAll);
+//            System.out.println("系列编号:"+codeSeries+",系列:"+nameSeries+",语言编号:"+codeLang+",语言:"+nameLang
+//                    +",套数:"+numOfSetsSeries+",总套数:"+numOfSetsAll);
         }
 
         /*
@@ -345,8 +345,8 @@ public class YidaServiceImpl implements YidaService {
                                 subTotal = unitPrice.multiply(BigDecimal.valueOf(allSupplyNum));
                                 partsRecordNew.put("numberField_mifp03ey", subTotal);   //小计金额
                             }
-                            System.out.println("系列:"+UtilMap.getString(partsRecordNew,"textField_mpcf6yu2")+",语言:"+UtilMap.getString(partsRecordNew,"textField_mjr129o4")+",配件:"+UtilMap.getString(partsRecordNew,"textField_mecmytpr")
-                                    +",工厂采购数量:"+allSupplyNum+",单价:"+partsRecord.get("numberField_me2f7tw0").toString().trim()+",小计金额:"+UtilMap.getString(partsRecordNew,"numberField_mifp03ey"));
+//                            System.out.println("系列:"+UtilMap.getString(partsRecordNew,"textField_mpcf6yu2")+",语言:"+UtilMap.getString(partsRecordNew,"textField_mjr129o4")+",配件名称:"+UtilMap.getString(partsRecordNew,"textField_mecmytpr")
+//                                    +",工厂采购数量:"+allSupplyNum+",单价:"+partsRecord.get("numberField_me2f7tw0").toString().trim()+",小计金额:"+UtilMap.getString(partsRecordNew,"numberField_mifp03ey"));
                             partsTaskSubDataNew.add(partsRecordNew);
                         } else{
                             if("大货样".equals(projectPhase)){
@@ -435,7 +435,7 @@ public class YidaServiceImpl implements YidaService {
                         保存配件任务数据(不含包装)
                         【配件任务表】 FORM-B9CBFB34DB3249C483415EF641202AC199J9
                      */
-                    log.info("保存配件任务数据("+projectPhase+"):"+ JSONObject.toJSONString(partsTaskData));
+//                    log.info("保存配件任务数据("+projectPhase+"):"+ JSONObject.toJSONString(partsTaskData));
                     ydClient.operateData(
                             YDParam.builder()
                                     .formUuid(EastarParam.YD_FORMUUID_CGTASK)
@@ -476,7 +476,7 @@ public class YidaServiceImpl implements YidaService {
                 orderSubRecordLang.put("numberField_mmtymctd",numOfSetsAll);
                 orderSubDataLangNew.add(orderSubRecordLang);
             }
-            log.info("更新【销售订单】数据:"+ JSONObject.toJSONString(orderSubDataLangNew));
+//            log.info("更新【销售订单】数据:"+ JSONObject.toJSONString(orderSubDataLangNew));
             ydClient.operateData(
                     YDParam.builder()
                             .formInstId(orderId)
@@ -508,7 +508,7 @@ public class YidaServiceImpl implements YidaService {
                     seriesName,
                     pssSeriesMap.get(seriesName)
             );
-            log.info("新增【PSS系列】记录:"+ JSONObject.toJSONString(projectPssSeriesMap));
+//            log.info("新增【PSS系列】记录:"+ JSONObject.toJSONString(projectPssSeriesMap));
             ydClient.operateData(
                     YDParam.builder()
                             .formUuid(EastarParam.YD_FORMUUID_PSS_SERIES)
@@ -559,17 +559,17 @@ public class YidaServiceImpl implements YidaService {
 //            ); // 系列
             nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa");    //系列【语言版本 - 数量拆分】
             if(!UtilMap.getString(projectSubRecordParts,"selectField_me2f7tw4").equals(nameSeries)){
-                // 系列【全品类】与系列【语言版本 - 数量拆分】或系列【系列套数】不匹配
+                // 系列【全品类】与系列【语言版本 - 数量拆分】
                 continue;
             }
-            partsTypeName = UtilMap.getString(projectSubRecordParts,"selectField_mizsccds");
+            partsTypeName = UtilMap.getString(projectSubRecordParts,"selectField_mizsccds");    //配件类型
             partsTypeCode = String.valueOf(partsTypeNameCodeMap.get(partsTypeName));
             partsTypeCode = PublicUtil.isNull(partsTypeCode) ? "000":partsTypeCode;
             docSN = UtilMap.getString(projectSubRecordParts,"textField_me2f7tvn");
             skuSN = "2"
-                    + partsTypeCode
-                    + UtilMap.getString_first(orderSubRecordLang,"textField_mizmmf8h","textField_mizmmf8m")   //系列编号【语言版本 - 数量拆分】
-                    + docSN.substring(docSN.length()-2);  // sku 添加系列编号及文档编号
+                    + partsTypeCode //配件类型
+                    + UtilMap.getString(orderSubRecordLang,"textField_mizmmf8h")   //系列编号【语言版本 - 数量拆分】
+                    + docSN.substring(docSN.length()-3);  // 文档编号(后3位)
             nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】,旧变量名 -> lang
             if(PublicUtil.isNull(nameLang)){
                 devNum = seriesLangDevNumMap.get(nameSeries+"_无");   //研发部订单需求数量
@@ -593,7 +593,7 @@ public class YidaServiceImpl implements YidaService {
 //                    "numberField_mesc7nvi"  // 套数【系列套数】
 //            ); // 数量
             numOfSets = UtilMap.getString(orderSubRecordLang,"numberField_meqqj4wd");    // 套数【语言版本 - 数量拆分】
-            partsName = nameSeries + "-" + partsTypeName;
+            partsName = UtilMap.getString(projectSubRecordParts,"textField_me2f7tvo");  //配件名称
             /*
                 复制【项目台账】子表单【全品类】记录为配件记录,并补充部分字段
              */
@@ -601,6 +601,7 @@ public class YidaServiceImpl implements YidaService {
             partsRecord.putAll(
                     UtilMap.map(
                             "textField_mecmytpr, " + //配件名称
+                                    "textField_mq4we7wq, " + //配件大类
                                     "textField_mpcfcy7f, " + //配件类型
                                     "textField_mecmytps, " + //TB任务编号
                                     //"textField_mecmytpt," +
@@ -613,8 +614,12 @@ public class YidaServiceImpl implements YidaService {
                                     "textField_mpcf6yu2, " + //系列
                                     "textField_mjr129o4, " + //语言
                                     "radioField_mpm9k87c, " + //配件共用信息
+                                    "numberField_mq4we7wr, " + //厚度
+                                    "textField_mizu4cxk, " + //品质注意点
+                                    "imageField_mpw90w7y, " + //图片
                                     "numberField_me2f7tw0", //单价
                             partsName,
+                            UtilMap.getString(projectSubRecordParts,"selectField_me2f7tvk"),
                             UtilMap.getString(projectSubRecordParts,"selectField_mizsccds"),
                             "~",
                             //"未开始",
@@ -627,6 +632,9 @@ public class YidaServiceImpl implements YidaService {
                             UtilMap.getString(projectSubRecordParts,"selectField_me2f7tw4"),
                             nameLang,
                             UtilMap.getString(projectSubRecordParts,"radioField_me2f7tvw"), //配件共用信息
+                            UtilMap.getString(projectSubRecordParts,"numberField_mq4t39px"), //厚度
+                            UtilMap.getString(projectSubRecordParts,"textField_mq6bsu17"), //品质注意点
+                            UtilMap.getString(projectSubRecordParts,"imageField_me2f7tvv"), //图片
                             UtilMap.getString(projectSubRecordParts,"numberField_mpqc5tmf") //大货供应商单价
                     )
             );
@@ -663,14 +671,21 @@ public class YidaServiceImpl implements YidaService {
         int allSupplyNum;   //总采购数量
 
         log.info("项目阶段:包装");
+        boolean packTaskFlag = false;   //是否有包装阶段
         long projectPhasePlanEndTime = 0;
         for(Map projectSubRecordPlan : projectSubDataPlan){    //遍历项目计划阶段
             if("包装".equals(UtilMap.getString(projectSubRecordPlan,"textField_mgu5rm3f"))){   //阶段匹配成功
                 projectPhasePlanEndTime = UtilMap.getLong(projectSubRecordPlan,"dateField_mgu5rm3h");    //计划结束时间,旧变量名 -> planTimestamp
                 log.info("计划结束时间:"+DateUtil.formatDate(new Date(projectPhasePlanEndTime)));
+                packTaskFlag = true;
             }
         }
 
+        if(!packTaskFlag){
+            //没有包装阶段
+            return null;
+        }
+
         for (Map orderSubRecordLang : orderSubDataLang) { //遍历子表单,旧变量名 -> orderMap
             supplier = UtilMap.getString(orderSubRecordLang, "textField_mkp7yv76"); //供应商
             numOfSets = UtilMap.getString(orderSubRecordLang, "numberField_meqqj4wd");  //套数
@@ -792,7 +807,7 @@ public class YidaServiceImpl implements YidaService {
                 partsTaskData.put("textField_mifp03ez",supplierBuyerDataAssSupplier.get(0).subTitle); // 供应商编号
             }
             partsTaskData.put("textField_mmikzhlb","包装"); //里程碑
-            System.out.println("保存配件任务数据(包装):"+ JSONObject.toJSONString(partsTaskData));
+//            System.out.println("保存配件任务数据(包装):"+ JSONObject.toJSONString(partsTaskData));
             ydClient.operateData(
                     YDParam.builder()
                             .formUuid(EastarParam.YD_FORMUUID_CGTASK)