|
@@ -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");
|