|
@@ -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)
|
|
@@ -350,7 +348,12 @@ public class McYdServiceImpl implements McYdService {
|
|
|
.systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
|
|
|
.updateFormDataJson(JSONObject.toJSONString(UtilMap.map("tableField_m96gje14",maps_YD)))
|
|
|
.userId("332051151139376769").build(),YDConf.FORM_OPERATION.update);
|
|
|
- BigDecimal InventoryQuantity = new BigDecimal( d1.get("numberField_m8obn6wk").toString());//库存数量
|
|
|
+ BigDecimal InventoryQuantity = null;
|
|
|
+ if(!d1.get("numberField_m8gz97nk").toString().isEmpty()){
|
|
|
+ InventoryQuantity = new BigDecimal( d1.get("numberField_m8gz97nk").toString());//可用库存数量
|
|
|
+ }else {
|
|
|
+ InventoryQuantity = BigDecimal.valueOf(0);
|
|
|
+ }
|
|
|
BigDecimal VirtualQuantity = null;
|
|
|
if(!d1.get("numberField_m8obn6wq_value").toString().isEmpty()){
|
|
|
VirtualQuantity = new BigDecimal( d1.get("numberField_m8obn6wq").toString());//虚拟数量
|
|
@@ -374,6 +377,226 @@ 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();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public McR allocateTransfer(Map map) {
|
|
|
+ String formInstId = UtilMap.getString(map,"formInstId");//实例id(调拨流程)
|
|
|
+ Map data = ydClient.queryData(YDParam.builder().formInstId(formInstId)
|
|
|
+ .formUuid("FORM-C6360F0CA28543E8BA99A1DDCF90964FSJEM")
|
|
|
+ .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_m9grj2ih");
|
|
|
+ System.out.println("调拨明细数据:"+mapList);
|
|
|
+ ArrayList<Object> entries = new ArrayList<>();
|
|
|
+ for (Map map1 : mapList){
|
|
|
+ //TODO:1、调出零部件处理
|
|
|
+ String LBJId = map1.get("textField_mawbt28t").toString();//(调出)零部件的实例id
|
|
|
+ System.out.println("调出的所属库位:"+map1.get("textField_m9grj2il").toString());//产品库位
|
|
|
+ System.out.println("调出的所属仓库:"+map1.get("textField_m9grj2ik").toString());//产品仓库
|
|
|
+ System.out.println("调拨前数量:"+map1.get("numberField_m9gs7k82").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();
|
|
|
+
|
|
|
+ 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 = numberFieldM9c8n9go.subtract(new BigDecimal(map1.get("numberField_m9grj2ij").toString())); //调拨后的库存数量 = 仓库数量 - 调拨数量
|
|
|
+
|
|
|
+ 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);
|
|
|
+
|
|
|
+ //TODO:2、调入零部件处理
|
|
|
+ String LBJId2 = map1.get("textField_maxendgs").toString();//(调入)零部件的实例id
|
|
|
+ System.out.println("调入的所属库位:"+map1.get("textField_m9grj2il").toString());//产品库位
|
|
|
+ System.out.println("调入的所属仓库:"+map1.get("textField_m9grj2ik").toString());//产品仓库
|
|
|
+ System.out.println("调拨前数量:"+map1.get("numberField_maz574d0").toString());//调拨前数量
|
|
|
+
|
|
|
+ Map data2 = ydClient.queryData(YDParam.builder().formInstId(LBJId2)
|
|
|
+ .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
|
|
|
+ .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
|
|
|
+ .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
|
|
|
+ .userId("332051151139376769").build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
+
|
|
|
+ String s1 = data2.get("tableField_m96gje14").toString();
|
|
|
+ String warehouse1 = JSON.parseArray(s1).getJSONObject(0).get("selectField_m88f1qi8").toString();//所属仓库
|
|
|
+ String WarehouseLocation1 = JSON.parseArray(s1).getJSONObject(0).get("textField_m8mnxgql").toString();//所属库位
|
|
|
+ String SafetyValue1 = JSON.parseArray(s1).getJSONObject(0).get("numberField_m8873fn4").toString();//安全库存值
|
|
|
+ BigDecimal numberFieldM9c8n9go1 = new BigDecimal(JSON.parseArray(s1).getJSONObject(0).get("numberField_m9c8n9go").toString());//仓库数量
|
|
|
+
|
|
|
+ BigDecimal numm1 = numberFieldM9c8n9go1.add(new BigDecimal(map1.get("numberField_m9grj2ij").toString())); //调拨后的库存数量 = 仓库数量 + 调拨数量
|
|
|
+
|
|
|
+ ArrayList<Map<String,String>> maps_YD1 = new ArrayList<>();
|
|
|
+ Map sss1=new HashMap<>();
|
|
|
+ sss1.put("selectField_m88f1qi8",warehouse1);//所属仓库
|
|
|
+ sss1.put("textField_m8mnxgql",WarehouseLocation1);//所属库位
|
|
|
+ sss1.put("numberField_m8873fn4",SafetyValue1);//安全库存值
|
|
|
+ sss1.put("numberField_m9c8n9go",numm1);//仓库数量
|
|
|
+ maps_YD1.add(sss1);
|
|
|
+
|
|
|
+ ydClient.operateData(YDParam.builder().formInstId(LBJId2)
|
|
|
+ .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
|
|
|
+ .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
|
|
|
+ .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("tableField_m96gje14",maps_YD1)))
|
|
|
+ .userId("332051151139376769").build(),YDConf.FORM_OPERATION.update);
|
|
|
+
|
|
|
+
|
|
|
+ BigDecimal AvailableInventoryQuantity_AAA = null;
|
|
|
+ BigDecimal InventoryQuantity_AAA = null;
|
|
|
+ if(!data1.get("numberField_m8gz97nk_value").toString().isEmpty()){
|
|
|
+ AvailableInventoryQuantity_AAA = new BigDecimal( data1.get("numberField_m8gz97nk").toString());//可用库存数量
|
|
|
+ }else {
|
|
|
+ AvailableInventoryQuantity_AAA = BigDecimal.valueOf(0);
|
|
|
+ }
|
|
|
+ if(!data1.get("numberField_m8obn6wk_value").toString().isEmpty()){
|
|
|
+ InventoryQuantity_AAA = new BigDecimal(data1.get("numberField_m8obn6wk").toString());//存库数量
|
|
|
+ }else {
|
|
|
+ InventoryQuantity_AAA = BigDecimal.valueOf(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal AvailableInventoryQuantity_BBB = null;
|
|
|
+ BigDecimal InventoryQuantity_BBB = null;
|
|
|
+ if(!data2.get("numberField_m8gz97nk_value").toString().isEmpty()){
|
|
|
+ AvailableInventoryQuantity_BBB = new BigDecimal( data2.get("numberField_m8gz97nk").toString());//可用库存数量
|
|
|
+ }else {
|
|
|
+ AvailableInventoryQuantity_BBB = BigDecimal.valueOf(0);
|
|
|
+ }
|
|
|
+ if(!data2.get("numberField_m8obn6wk_value").toString().isEmpty()){
|
|
|
+ InventoryQuantity_BBB = new BigDecimal(data2.get("numberField_m8obn6wk").toString());//可用库存数量
|
|
|
+ }else {
|
|
|
+ InventoryQuantity_BBB = BigDecimal.valueOf(0);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ System.out.println("---------------------------------------零部件子表数据修改完毕--------------------------------");
|
|
|
+
|
|
|
+// BigDecimal FreezeQuantity_AAA = FreezeQuantity.subtract( new BigDecimal( map1.get("numberField_ma0e13js").toString()));//冻结数量(新) = 冻结数量 - 退货数量
|
|
|
+ //TODO:3、调出物料的可用库存
|
|
|
+ BigDecimal AvailableQuantity_AAA = AvailableInventoryQuantity_AAA.subtract(new BigDecimal( map1.get("numberField_m9grj2ij").toString()));//可用存库数量(新) = 可用库存数量 - 调拨数量
|
|
|
+ BigDecimal Quantity_AAA = InventoryQuantity_AAA.subtract(new BigDecimal(map1.get("numberField_m9grj2ij").toString()));//存库数量(新) = 存库数量 - 调拨数量
|
|
|
+ //TODO:4、调入物料的可用库存
|
|
|
+ BigDecimal AvailableQuantity_BBB = AvailableInventoryQuantity_BBB.add(new BigDecimal( map1.get("numberField_m9grj2ij").toString()));//可用存库数量(新) = 可用库存数量 + 调拨数量
|
|
|
+ BigDecimal Quantity_BBB = InventoryQuantity_BBB.add(new BigDecimal(map1.get("numberField_m9grj2ij").toString()));
|
|
|
+ ydClient.operateData(YDParam.builder().formInstId(LBJId)
|
|
|
+ .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
|
|
|
+ .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
|
|
|
+ .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("numberField_m8gz97nk, numberField_m8obn6wk",AvailableQuantity_AAA,Quantity_AAA)))
|
|
|
+ .userId("332051151139376769")
|
|
|
+ .build(),YDConf.FORM_OPERATION.update);
|
|
|
+
|
|
|
+ ydClient.operateData(YDParam.builder().formInstId(LBJId2)
|
|
|
+ .formUuid("FORM-2353BE632D97434DAD55AEBD0866C44DVAT5")
|
|
|
+ .appType("APP_GNQ1RGK68X4JNZUEU8RQ")
|
|
|
+ .systemToken("XH866P81QDOTQ0218TGZM9WCNXOF24WIP488M7A5")
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("numberField_m8gz97nk, numberField_m8obn6wk",AvailableQuantity_BBB,Quantity_BBB)))
|
|
|
+ .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) {
|