xmy 1 hónapja%!(EXTRA string=óta)
szülő
commit
85dda78909

+ 3 - 0
mjava-mc/src/main/java/com/malk/mc/controller/McYdController.java

@@ -154,4 +154,7 @@ public class McYdController {
     public McR WarehouseStorage(@RequestBody Map map){
         return mcYdService.WarehouseStorage(map);
     }
+    //海天二期开发(退货)
+    @PostMapping("/ProductReturn")
+    public McR ProductReturn(@RequestBody Map map){return mcYdService.ProductReturn(map);}
 }

+ 2 - 0
mjava-mc/src/main/java/com/malk/mc/service/McYdService.java

@@ -18,4 +18,6 @@ public interface McYdService {
     McR multiLocationOutbound(Map map);
 
     McR WarehouseStorage(Map map);
+
+    McR ProductReturn(Map map);
 }

+ 78 - 2
mjava-mc/src/main/java/com/malk/mc/service/impl/McYdServiceImpl.java

@@ -286,9 +286,7 @@ public class McYdServiceImpl implements McYdService {
             }else {
                 FreezeQuantity = BigDecimal.valueOf(0);
             }
-
             System.out.println("--------------------零部件子表数据修改完毕!---------------------");
-
             BigDecimal FreezeQuantity_AAA = FreezeQuantity.add( new BigDecimal( map1.get("numberField_m8mo8508").toString()));//冻结数量(新)
             BigDecimal AvailableQuantity_AAA = numberFieldM9qdwvu1;//可用存库数量(新)
             ydClient.operateData(YDParam.builder().formInstId(LBJId)
@@ -374,6 +372,84 @@ public class McYdServiceImpl implements McYdService {
         return McR.success();
     }
 
+    @Override
+    public McR ProductReturn(Map map) {
+        String formInstId = UtilMap.getString(map,"formInstId");//实例id(退货单)
+        Map data = ydClient.queryData(YDParam.builder().formInstId(formInstId)
+                .formUuid("FORM-E40A23253F2F43FEAF0E40F274A67B34OQC9")
+                .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
+                .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
+                .userId("332051151139376769").build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+        System.out.println("退货单:"+data);
+        List<Map> mapList = (List<Map>)data.get("tableField_m99koj01");
+        System.out.println("退货单明细数据:"+mapList);
+        ArrayList<Object> entries = new ArrayList<>();
+        for (Map map1 : mapList){
+            String LBJId = map1.get("textField_maki4tqo").toString();//零部件的实例id
+            System.out.println("物料名称:"+map1.get("textField_m99koj02").toString());//物料名称
+            System.out.println("所属库位:"+map1.get("textField_maki4tqp").toString());//产品库位
+            System.out.println("退货数量:"+map1.get("numberField_ma0e13js").toString());//退货数量
+
+
+            Map data1 = ydClient.queryData(YDParam.builder().formInstId(LBJId)
+                    .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
+                    .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
+                    .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
+                    .userId("332051151139376769").build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+            System.out.println(map1.get("textField_m99koj02")+"明细表数据:"+data1.get("tableField_m96gje14"));//零部件明细
+            String s = data1.get("tableField_m96gje14").toString();
+            String warehouse = JSON.parseArray(s).getJSONObject(0).get("selectField_m88f1qi8").toString();//所属仓库
+            String WarehouseLocation = JSON.parseArray(s).getJSONObject(0).get("textField_m8mnxgql").toString();//所属库位
+            String SafetyValue = JSON.parseArray(s).getJSONObject(0).get("numberField_m8873fn4").toString();//安全库存值
+            BigDecimal numberFieldM9c8n9go = new BigDecimal(JSON.parseArray(s).getJSONObject(0).get("numberField_m9c8n9go").toString());//仓库数量
+
+            BigDecimal numm = new BigDecimal(map1.get("numberField_ma0e13js").toString()).add(numberFieldM9c8n9go); //退货后的库存数量 =  退货数量 + 仓库数量(子)
+
+            ArrayList<Map<String,String>> maps_YD = new ArrayList<>();
+            Map sss=new HashMap<>();
+            sss.put("selectField_m88f1qi8",warehouse);//所属仓库
+            sss.put("textField_m8mnxgql",WarehouseLocation);//所属库位
+            sss.put("numberField_m8873fn4",SafetyValue);//安全库存值
+            sss.put("numberField_m9c8n9go",numm);//仓库数量
+            maps_YD.add(sss);
+
+            ydClient.operateData(YDParam.builder().formInstId(LBJId)
+                    .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
+                    .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
+                    .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
+                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("tableField_m96gje14",maps_YD)))
+                    .userId("332051151139376769").build(),YDConf.FORM_OPERATION.update);
+
+            BigDecimal InventoryQuantity = null;
+            if(!data1.get("numberField_m8gz97nk_value").toString().isEmpty()){
+                InventoryQuantity = new BigDecimal( data1.get("numberField_m8gz97nk").toString());//库存数量
+            }else {
+                InventoryQuantity = BigDecimal.valueOf(0);
+            }
+
+            BigDecimal FreezeQuantity = null;
+            if(!data1.get("numberField_m8obn6wl_value").toString().isEmpty()){
+                FreezeQuantity = new BigDecimal( data1.get("numberField_m8obn6wl").toString());//冻结数量
+            }else {
+                FreezeQuantity = BigDecimal.valueOf(0);
+            }
+            System.out.println("---------------------------------------零部件子表数据修改完毕--------------------------------");
+
+            BigDecimal FreezeQuantity_AAA = FreezeQuantity.subtract( new BigDecimal( map1.get("numberField_ma0e13js").toString()));//冻结数量(新) = 冻结数量 - 退货数量
+            BigDecimal AvailableQuantity_AAA = InventoryQuantity.add(new BigDecimal( map1.get("numberField_ma0e13js").toString()));//可用存库数量(新) = 可用库存数量 + 退货数量
+            ydClient.operateData(YDParam.builder().formInstId(LBJId)
+                    .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
+                    .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
+                    .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
+                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("numberField_m8obn6wl, numberField_m8gz97nk",FreezeQuantity_AAA,AvailableQuantity_AAA)))
+                    .userId("332051151139376769")
+                    .build(),YDConf.FORM_OPERATION.update);
+            System.out.println("----------------------零部件主表数据修改完毕!------------------");
+
+        }
+        return McR.success();
+    }
+
 
     private static void extractOperatorIds(JSONArray array, List<String> result) {
         for (Object item : array) {

+ 1 - 1
mjava-mc/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: prod
   servlet:
     multipart:
       max-file-size: 100MB