|
@@ -52,25 +52,55 @@ public class ReceiveGoodsSerivceImpl implements ReceiveGoodsSerivce {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Map<String, Object> addReceiveGoods(ReceiveGoods receiveGoods) {
|
|
|
+ public Map<String, Object> addReceiveGoods( Map<String,Object> jsonMap) {
|
|
|
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"));
|
|
|
|
|
|
- receiveGoods.setType("0");
|
|
|
- //存在一个采购单发送多次的情况 如果是一个采购单多次传输 则改变原数据的数量
|
|
|
- ReceiveGoods receiveGoods1 = new ReceiveGoods().setOrderCode(receiveGoods.getOrderCode()).setMaterialId(receiveGoods.getMaterialId());
|
|
|
- List<ReceiveGoods> list = receiveGoodsMapper.getReceiveGoods(receiveGoods1);
|
|
|
- if(list.size() != 0){
|
|
|
- receiveGoods.setArrivalNum(String.valueOf(Integer.parseInt(list.get(0).getArrivalNum()) + Integer.parseInt(receiveGoods.getArrivalNum())));
|
|
|
- receiveGoodsMapper.updateReceiveGoods(receiveGoods);
|
|
|
- } else {
|
|
|
- if(receiveGoodsMapper.getReceiveGoodsf(receiveGoods1) == 0){
|
|
|
- receiveGoodsMapper.addReceiveGoodsf(receiveGoods);
|
|
|
+ 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);
|
|
|
}
|
|
|
- receiveGoodsMapper.addReceiveGoods(receiveGoods);
|
|
|
}
|
|
|
- //采购单日志
|
|
|
- receiveGoodsMapper.addReceiveGoodsLog(receiveGoods);
|
|
|
map.put("msg", "200");
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|