zhs 2 anni fa
parent
commit
c7ffb2c301

+ 50 - 45
src/main/java/com/tld/service/impl/ReceiveGoodsSerivceImpl.java

@@ -52,56 +52,61 @@ public class ReceiveGoodsSerivceImpl implements ReceiveGoodsSerivce {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Map<String, Object> addReceiveGoods( Map<String,Object> jsonMap) {
+    public Map<String, Object> addReceiveGoods( List<Map<String,Object>> jsonData) {
         Map<String, Object> map = new HashMap<>();
         try{
-            String msg = (String)jsonMap.get("msg");
-            Map<String,Object> dataMap= (Map)jsonMap.get("data");
-            int total = (int)dataMap.get("total");
             List<ReceiveGoods> receiveGoodsList = new LinkedList<ReceiveGoods>();
-            if(total > 0) {
-                List<Map<String,Object>> list = (List)dataMap.get("list");
-                for(Map<String,Object> element :list) {
-                    ReceiveGoods rg = new ReceiveGoods();
-                    rg.setType("0");
-                    rg.setSupplierId((String)element.get("supplierNo"));
-                    rg.setCompanyNumber((String)element.get("companyNo"));
-                    rg.setMaterialId((String)element.get("materialId"));
-                    rg.setPurchaseNum((String)element.get("purchaseCount"));
-                    rg.setArrivalNum((String)element.get("receiveCount"));
-                    rg.setMeasurementId((String)element.get("measUnitId"));
-                    rg.setArrivalTime((String)element.get("poDate"));
-                    rg.setQualifiedNum((String)element.get("curOkCount"));
-                    rg.setDisqualificationNum((String)element.get("curNgCount"));
-                    rg.setOrderCode((String)element.get("poNo"));
-                    rg.setWbs((String)element.get("WBS"));
-                    rg.setSourceType((String)element.get("sourceType"));
-                    rg.setEntryNumber((String)element.get("entryNumber"));
-                    rg.setMoveType((String)element.get("moveType"));
-                    rg.setType((String)element.get("poType"));
+            //List<Map> jsonList = jsonData.toJavaList(Map.class);
+           for(Map<String,Object> jsonMap:jsonData) {
+               List<Map<String, Object>> list = (List) jsonMap.get("datalist");
+               for (Map<String, Object> element : list) {
+                   ReceiveGoods rg = new ReceiveGoods();
+                   rg.setType("0");
+                   //父表信息
+                   rg.setOrderNumber((String)jsonMap.get("poId"));
+                   rg.setOrderCode((String) jsonMap.get("poNo"));
+                   rg.setCompanyNumber((String) jsonMap.get("companyNo"));
+                   rg.setSupplierId((String) jsonMap.get("supplierNo"));
+                   rg.setArrivalTime((String) jsonMap.get("poDate"));
+                   rg.setOrderType((String) jsonMap.get("poType"));
+                   rg.setSourceType((String) jsonMap.get("sourceType"));
+                   rg.setMoveType((String) jsonMap.get("moveType"));
 
-                    receiveGoodsList.add(rg);
-                }
+                   //子表
+                   rg.setEntryNumber((String) element.get("entryNumber"));
+                   rg.setMaterialId((String) element.get("materialId"));
+                   rg.setWbs((String) element.get("WBS"));
+                   rg.setMeasurementId((String) element.get("measUnitId"));
 
-                for(ReceiveGoods receiveGoods: receiveGoodsList) {
-                    receiveGoods.setType("0");
-                    //存在一个采购单发送多次的情况  如果是一个采购单多次传输 则改变原数据的数量
-                    ReceiveGoods receiveGoods1 = new ReceiveGoods().setOrderCode(receiveGoods.getOrderCode()).setMaterialId(receiveGoods.getMaterialId());
-                    List<ReceiveGoods> listRepeat = receiveGoodsMapper.getReceiveGoods(receiveGoods1);
-                    if (listRepeat.size() != 0) {
-                        receiveGoods.setArrivalNum(String.valueOf(Integer.parseInt(listRepeat.get(0).getArrivalNum()) + Integer.parseInt(receiveGoods.getArrivalNum())));
-                        receiveGoodsMapper.updateReceiveGoods(receiveGoods);
-                    } else {
-                        if (receiveGoodsMapper.getReceiveGoodsf(receiveGoods1) == 0) {
-                            receiveGoodsMapper.addReceiveGoodsf(receiveGoods);
-                        }
-                        receiveGoodsMapper.addReceiveGoods(receiveGoods);
-                    }
-                    //采购单日志
-                    receiveGoodsMapper.addReceiveGoodsLog(receiveGoods);
-                }
-            }
-            map.put("msg", "200");
+                   rg.setPurchaseNum(element.get("purchaseCount").toString().split("\\.")[0]);
+                   rg.setArrivalNum((element.get("receiveCount").toString().split("\\.")[0]));
+                   rg.setQualifiedNum(element.get("curOkCount").toString().split("\\.")[0]);
+                   rg.setDisqualificationNum(element.get("curNgCount").toString().split("\\.")[0]);
+
+
+                   receiveGoodsList.add(rg);
+               }
+
+               for (ReceiveGoods receiveGoods : receiveGoodsList) {
+                   receiveGoods.setType("0");
+                   //存在一个采购单发送多次的情况  如果是一个采购单多次传输 则改变原数据的数量
+                   ReceiveGoods receiveGoods1 = new ReceiveGoods().setOrderCode(receiveGoods.getOrderCode()).setMaterialId(receiveGoods.getMaterialId());
+                   List<ReceiveGoods> listRepeat = receiveGoodsMapper.getReceiveGoods(receiveGoods1);
+                   if (listRepeat.size() != 0) {
+                       receiveGoods.setArrivalNum(String.valueOf(Integer.parseInt(listRepeat.get(0).getArrivalNum()) + Integer.parseInt(receiveGoods.getArrivalNum())));
+                       receiveGoodsMapper.updateReceiveGoods(receiveGoods);
+                   } else {
+                       if (receiveGoodsMapper.getReceiveGoodsf(receiveGoods1) == 0) {
+                           receiveGoodsMapper.addReceiveGoodsf(receiveGoods);
+                       }
+                       receiveGoodsMapper.addReceiveGoods(receiveGoods);
+                   }
+                   //采购单日志
+                   receiveGoodsMapper.addReceiveGoodsLog(receiveGoods);
+               }
+           }
+           map.put("status", "0000");
+           map.put("msg","成功");
         } catch (Exception e) {
             e.printStackTrace();
             map.put("status", "0009");