瀏覽代碼

增加研发部是否需要留样判断,不需要留样的总采购数量等于客户订单数量

lvjs 1 月之前
父節點
當前提交
266d2c049a

+ 43 - 33
src/main/java/com/malk/eastar/service/impl/EastarTbServiceImpl.java

@@ -99,6 +99,7 @@ public class EastarTbServiceImpl  implements EastarTbService {
         String pMainId= UtilMap.getString(data,"textField_me2hyldb");// 主项目编号
         String pName= UtilMap.getString(data,"textField_me87x1nz"); // 项目名称
         String pId= UtilMap.getString(data,"textField_me2hyldc");// 项目编号
+        String devNumFlag = UtilMap.getString(data,"radioField_mmkb0vkc");  //研发部是否需要留样 add by Jason 20260327
         String orderType= UtilMap.getString(data,"selectField_mdf997wp"); // 订单类型 大货 打样
 //        String pTaskType= UtilMap.getAssFieldValue(data,"associationFormField_me9n24kk_id").get(0).title; // 项目任务类型
         String pTaskType = UtilMap.getString(data,"textField_mfqnsa9d");// 项目任务类型
@@ -326,8 +327,12 @@ public class EastarTbServiceImpl  implements EastarTbService {
                            numOfSets = map.get("numberField_mifp03el")==null?null:map.get("numberField_mifp03el").toString();
                            devNum = map.get("numberField_mmmwu4cg")==null?null:map.get("numberField_mmmwu4cg").toString();
                            allSupplyNum = 0;
-                           if(StringUtils.isNotEmpty(devNum) && StringUtils.isNotEmpty(numOfSets)){
-                               allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(numOfSets);  //计算总采购数量
+                           if(StringUtils.isNotEmpty(numOfSets)){
+                               if(StringUtils.isNotEmpty(devNum)){ //研发部订单需求数量是否填写 add by Jason 20260327
+                                   allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(numOfSets);  //计算总采购数量
+                               }else{
+                                   allSupplyNum = Integer.parseInt(numOfSets); //总采购数量=工厂采购数量
+                               }
                            }
                            //计算总采购数量 add by Jason 20260320 end
                            Map<String, Object> copiedMap = new HashMap<>(map); // 关键:创建副本
@@ -379,37 +384,38 @@ public class EastarTbServiceImpl  implements EastarTbService {
             savePackTask(tbProjectId, orderLangConf, data, pName, pId, pMainId, projectOrder, mchDDIdMap, seriesLangDevNumMap);
         }
 
-
-        //更新【制作新订单】子表单【语言版本 - 数量拆分】的总套数 add by Jason 20260320 start
-        List<Map> orderSubDataLangNew = new ArrayList<>();
-        int numOfSetsSeries;    //套数
-        int numOfSetsAll;   //总套数
-        for(Map orderSubRecordLang : orderLangConf){  //遍历子表单记录
-            nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa");    // 系列【语言版本 - 数量拆分】
-            nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】 add by Jason 20260326
-            numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd");    // 套数【语言版本 - 数量拆分】
-            numOfSetsAll = 0;
-            if(PublicUtil.isNull(nameLang)){
-                devNum = seriesLangDevNumMap.get(nameSeries+"_无");   //研发部订单需求数量
-            }else{
-                devNum = seriesLangDevNumMap.get(nameSeries+"_"+nameLang);   //研发部订单需求数量
-            }
-            if(StringUtils.isNotEmpty(devNum)){
-                numOfSetsAll = numOfSetsSeries + Integer.parseInt(devNum);    // 总套数【语言版本 - 数量拆分】,总套数=套数+研发部订单数量,立项完成自动更新总套数
+        if("是".equals(devNumFlag)) {  //研发部需要留样 add by Jason 20260327
+            //更新【制作新订单】子表单【语言版本 - 数量拆分】的总套数 add by Jason 20260320 start
+            List<Map> orderSubDataLangNew = new ArrayList<>();
+            int numOfSetsSeries;    //套数
+            int numOfSetsAll;   //总套数
+            for(Map orderSubRecordLang : orderLangConf){  //遍历子表单记录
+                nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa");    // 系列【语言版本 - 数量拆分】
+                nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】 add by Jason 20260326
+                numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd");    // 套数【语言版本 - 数量拆分】
+                numOfSetsAll = 0;
+                if(PublicUtil.isNull(nameLang)){
+                    devNum = seriesLangDevNumMap.get(nameSeries+"_无");   //研发部订单需求数量
+                }else{
+                    devNum = seriesLangDevNumMap.get(nameSeries+"_"+nameLang);   //研发部订单需求数量
+                }
+                if(StringUtils.isNotEmpty(devNum)){
+                    numOfSetsAll = numOfSetsSeries + Integer.parseInt(devNum);    // 总套数【语言版本 - 数量拆分】,总套数=套数+研发部订单数量,立项完成自动更新总套数
+                }
+                orderSubRecordLang.put("numberField_mmtymctd",numOfSetsAll);
+                orderSubDataLangNew.add(orderSubRecordLang);
             }
-            orderSubRecordLang.put("numberField_mmtymctd",numOfSetsAll);
-            orderSubDataLangNew.add(orderSubRecordLang);
+            System.out.println("更新【制作新订单】数据:"+ JSONObject.toJSONString(orderSubDataLangNew));
+            ydClient.operateData(
+                    YDParam.builder()
+                            .formInstId(orderFid)
+                            .updateFormDataJson(
+                                    JSONObject.toJSONString(UtilMap.map("tableField_meqqj4we",orderSubDataLangNew))
+                            ).build(),
+                    YDConf.FORM_OPERATION.update
+            );
+            //更新【制作新订单】子表单【语言版本 - 数量拆分】的总套数 add by Jason 20260320 end
         }
-        System.out.println("更新【制作新订单】数据:"+ JSONObject.toJSONString(orderSubDataLangNew));
-        ydClient.operateData(
-                YDParam.builder()
-                        .formInstId(orderFid)
-                        .updateFormDataJson(
-                                JSONObject.toJSONString(UtilMap.map("tableField_meqqj4we",orderSubDataLangNew))
-                        ).build(),
-                YDConf.FORM_OPERATION.update
-        );
-        //更新【制作新订单】子表单【语言版本 - 数量拆分】的总套数 add by Jason 20260320 end
 
         return Collections.emptyMap();
     }
@@ -435,8 +441,12 @@ public class EastarTbServiceImpl  implements EastarTbService {
                 devNum = seriesDevNumMap.get(nameSeries+"_"+nameLang);
             }
             allSupplyNum = 0;
-            if(StringUtils.isNotEmpty(devNum) && StringUtils.isNotEmpty(setsValue)){
-                allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(setsValue);  //计算总采购数量
+            if(StringUtils.isNotEmpty(setsValue)){
+                if(StringUtils.isNotEmpty(devNum)){ //研发部订单需求数量是否填写 add by Jason 20260327
+                    allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(setsValue);  //计算总采购数量
+                }else{
+                    allSupplyNum = Integer.parseInt(setsValue);  //总采购数量=工厂采购数量
+                }
             }
             //计算总采购数量 add by Jason 20260320 end
 

+ 45 - 31
src/main/java/com/malk/eastar/service/impl/YidaServiceImpl.java

@@ -80,6 +80,8 @@ public class YidaServiceImpl implements YidaService {
         System.out.println("线索编码:"+leadsCode);
         String leadsName = UtilMap.getString(projectData,"textField_me9n24kq");    // 主项目名称,旧变量名 -> pMainName
         System.out.println("线索名称:"+leadsName);
+        String devNumFlag = UtilMap.getString(projectData,"radioField_mmkb0vkc");  //研发部是否需要留样
+        System.out.println("研发部是否需要留样:"+devNumFlag);
         List<UtilMap.assDetail> projectDataAssOrder = UtilMap.getAssFieldValue(
                 projectData,"associationFormField_me2hylda_id"
         );  //【立项/项目台账】关联表单【制作新订单】,旧变量名 -> projectOrder
@@ -313,8 +315,12 @@ public class YidaServiceImpl implements YidaService {
                             numOfSets = partsRecord.get("numberField_mifp03el")==null?null:partsRecord.get("numberField_mifp03el").toString();
                             devNum = partsRecord.get("numberField_mmmwu4cg")==null?null:partsRecord.get("numberField_mmmwu4cg").toString();
                             allSupplyNum = 0;
-                            if(StringUtils.isNotEmpty(devNum) && StringUtils.isNotEmpty(numOfSets)){
-                                allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(numOfSets);  //计算总采购数量
+                            if(StringUtils.isNotEmpty(numOfSets)){
+                                if(StringUtils.isNotEmpty(devNum)){ //研发部订单需求数量是否填写
+                                    allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(numOfSets);  //计算总采购数量
+                                }else{
+                                    allSupplyNum = Integer.parseInt(numOfSets); //总采购数量=工厂采购数量
+                                }
                             }
                             partsRecordNew = new HashMap<>(partsRecord); // 关键:创建副本
                             partsRecordNew.put("numberField_mmmwu4ci",allSupplyNum);    //总采购数量
@@ -412,35 +418,39 @@ public class YidaServiceImpl implements YidaService {
             savePartsPackTaskData(null, orderSubDataLang, projectData, projectName, projectCode, leadsCode, projectDataAssOrder, supplierBuyerMap, seriesLangDevNumMap);
         }
 
-        /*
-            更新【制作新订单】子表单【语言版本 - 数量拆分】的总套数
-         */
-        List<Map> orderSubDataLangNew = new ArrayList<>();
-        for(Map orderSubRecordLang : orderSubDataLang){  //遍历子表单记录
-            nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa");    // 系列【语言版本 - 数量拆分】
-            nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】
-            numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd");    // 套数【语言版本 - 数量拆分】
-            numOfSetsAll = 0;
-            if(PublicUtil.isNull(nameLang)){
-                devNum = seriesLangDevNumMap.get(nameSeries+"_无");   //研发部订单需求数量
-            }else{
-                devNum = seriesLangDevNumMap.get(nameSeries+"_"+nameLang);   //研发部订单需求数量
-            }
-            if(StringUtils.isNotEmpty(devNum)){
-                numOfSetsAll = numOfSetsSeries + Integer.parseInt(devNum);    // 总套数【语言版本 - 数量拆分】,总套数=套数+研发部订单数量,立项完成自动更新总套数
+
+        if("是".equals(devNumFlag)){  //研发部需要留样
+            /*
+                更新【制作新订单】子表单【语言版本 - 数量拆分】的总套数
+             */
+            List<Map> orderSubDataLangNew = new ArrayList<>();
+            for(Map orderSubRecordLang : orderSubDataLang){  //遍历子表单记录
+                nameSeries = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wa");    // 系列【语言版本 - 数量拆分】
+                nameLang = UtilMap.getString(orderSubRecordLang,"textField_meqqj4wb"); // 语言【语言版本 - 数量拆分】
+                numOfSetsSeries = UtilMap.getInt(orderSubRecordLang,"numberField_meqqj4wd");    // 套数【语言版本 - 数量拆分】
+                numOfSetsAll = 0;
+                if(PublicUtil.isNull(nameLang)){
+                    devNum = seriesLangDevNumMap.get(nameSeries+"_无");   //研发部订单需求数量
+                }else{
+                    devNum = seriesLangDevNumMap.get(nameSeries+"_"+nameLang);   //研发部订单需求数量
+                }
+                if(StringUtils.isNotEmpty(devNum)){
+                    numOfSetsAll = numOfSetsSeries + Integer.parseInt(devNum);    // 总套数【语言版本 - 数量拆分】,总套数=套数+研发部订单数量,立项完成自动更新总套数
+                }
+                orderSubRecordLang.put("numberField_mmtymctd",numOfSetsAll);
+                orderSubDataLangNew.add(orderSubRecordLang);
             }
-            orderSubRecordLang.put("numberField_mmtymctd",numOfSetsAll);
-            orderSubDataLangNew.add(orderSubRecordLang);
+            System.out.println("更新【制作新订单】数据:"+ JSONObject.toJSONString(orderSubDataLangNew));
+            ydClient.operateData(
+                    YDParam.builder()
+                            .formInstId(orderId)
+                            .updateFormDataJson(
+                                    JSONObject.toJSONString(UtilMap.map("tableField_meqqj4we",orderSubDataLangNew))
+                            ).build(),
+                    YDConf.FORM_OPERATION.update
+            );
         }
-        System.out.println("更新【制作新订单】数据:"+ JSONObject.toJSONString(orderSubDataLangNew));
-        ydClient.operateData(
-                YDParam.builder()
-                        .formInstId(orderId)
-                        .updateFormDataJson(
-                                JSONObject.toJSONString(UtilMap.map("tableField_meqqj4we",orderSubDataLangNew))
-                        ).build(),
-                YDConf.FORM_OPERATION.update
-        );
+
 
         return Collections.emptyMap();
     }
@@ -585,8 +595,12 @@ public class YidaServiceImpl implements YidaService {
                 devNum = seriesDevNumMap.get(nameSeries+"_"+nameLang);
             }
             allSupplyNum = 0;
-            if(StringUtils.isNotEmpty(devNum) && StringUtils.isNotEmpty(numOfSets)){
-                allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(numOfSets);  //计算总采购数量
+            if(StringUtils.isNotEmpty(numOfSets)){
+                if(StringUtils.isNotEmpty(devNum)){ //研发部订单需求数量是否填写
+                    allSupplyNum = Integer.parseInt(devNum) + Integer.parseInt(numOfSets);  //计算总采购数量
+                }else{
+                    allSupplyNum = Integer.parseInt(numOfSets);  //总采购数量=工厂采购数量
+                }
             }
             partsRecord = UtilMap.map(
                     "textField_mecmytpr, " +    //配件名称