package com.tld.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.tld.mapper.ReceiveGoodsMapper; import com.tld.model.ReceiveGoods; import com.tld.service.ReceiveGoodsSerivce; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; @Service public class ReceiveGoodsSerivceImpl implements ReceiveGoodsSerivce { @Autowired private ReceiveGoodsMapper receiveGoodsMapper; @Override public Map getReceiveGoods(ReceiveGoods receiveGoods) { Map map = new HashMap<>(); try{ PageHelper.startPage(receiveGoods.getPage(), receiveGoods.getLimit()); PageInfo pageInfo = new PageInfo<>(receiveGoodsMapper.getReceiveGoods(receiveGoods)); map.put("data", pageInfo); map.put("msg", "200"); }catch (Exception e){ e.printStackTrace(); map.put("msg", "500"); map.put("errMsg", "服务器请求异常,请稍后再试"); } return map; } @Override public Map getPastReceiveGoods(ReceiveGoods receiveGoods) { Map map = new HashMap<>(); try{ PageHelper.startPage(receiveGoods.getPage(), receiveGoods.getLimit()); PageInfo pageInfo = new PageInfo<>(receiveGoodsMapper.getPastReceiveGoods(receiveGoods)); map.put("data", pageInfo); map.put("msg", "200"); }catch (Exception e){ e.printStackTrace(); map.put("msg", "500"); map.put("errMsg", "服务器请求异常,请稍后再试"); } return map; } @Override @Transactional(rollbackFor = Exception.class) public Map addReceiveGoods( List> jsonData) { Map map = new HashMap<>(); try{ List receiveGoodsList = new LinkedList(); //List jsonList = jsonData.toJavaList(Map.class); for(Map jsonMap:jsonData) { List> list = (List) jsonMap.get("datalist"); for (Map 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")); //子表 rg.setEntryNumber((String) element.get("entryNumber")); rg.setMaterialId((String) element.get("materialId")); rg.setWbs((String) element.get("WBS")); rg.setMeasurementId((String) element.get("measUnitId")); 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 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.updatePurchaseType(receiveGoods); //采购单日志 receiveGoodsMapper.addReceiveGoodsLog(receiveGoods); } } map.put("status", "0000"); map.put("msg","成功"); } catch (Exception e) { e.printStackTrace(); map.put("status", "0009"); map.put("msg", "服务器请求异常,请稍后再试"); } return map; } @Override @Transactional(rollbackFor = Exception.class) public Map addReceiveGoodsConfirm(ReceiveGoods receiveGoods) { Map map = new HashMap<>(); try{ receiveGoods.setType("1"); receiveGoodsMapper.updateReceiveGoods(receiveGoods); map.put("msg", "200"); } catch (Exception e) { e.printStackTrace(); map.put("msg", "500"); map.put("errMsg", "服务器请求异常,请稍后再试"); } return map; } @Override public Map addPurchase(List> jsonData) { Map map = new HashMap<>(); try{ receiveGoodsMapper.addPurchase(jsonData); map.put("status", "0000"); map.put("msg","成功"); } catch (Exception e) { e.printStackTrace(); map.put("status", "0009"); map.put("msg", "服务器请求异常,请稍后再试"); } return map; } }