ReceiveGoodsSerivceImpl.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.tld.service.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.github.pagehelper.PageHelper;
  4. import com.github.pagehelper.PageInfo;
  5. import com.tld.mapper.ReceiveGoodsMapper;
  6. import com.tld.model.ReceiveGoods;
  7. import com.tld.service.ReceiveGoodsSerivce;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import java.util.*;
  12. @Service
  13. public class ReceiveGoodsSerivceImpl implements ReceiveGoodsSerivce {
  14. @Autowired
  15. private ReceiveGoodsMapper receiveGoodsMapper;
  16. @Override
  17. public Map<String, Object> getReceiveGoods(ReceiveGoods receiveGoods) {
  18. Map<String, Object> map = new HashMap<>();
  19. try{
  20. PageHelper.startPage(receiveGoods.getPage(), receiveGoods.getLimit());
  21. PageInfo<ReceiveGoods> pageInfo = new PageInfo<>(receiveGoodsMapper.getReceiveGoods(receiveGoods));
  22. map.put("data", pageInfo);
  23. map.put("msg", "200");
  24. }catch (Exception e){
  25. e.printStackTrace();
  26. map.put("msg", "500");
  27. map.put("errMsg", "服务器请求异常,请稍后再试");
  28. }
  29. return map;
  30. }
  31. @Override
  32. public Map<String, Object> getPastReceiveGoods(ReceiveGoods receiveGoods) {
  33. Map<String, Object> map = new HashMap<>();
  34. try{
  35. PageHelper.startPage(receiveGoods.getPage(), receiveGoods.getLimit());
  36. PageInfo<ReceiveGoods> pageInfo = new PageInfo<>(receiveGoodsMapper.getPastReceiveGoods(receiveGoods));
  37. map.put("data", pageInfo);
  38. map.put("msg", "200");
  39. }catch (Exception e){
  40. e.printStackTrace();
  41. map.put("msg", "500");
  42. map.put("errMsg", "服务器请求异常,请稍后再试");
  43. }
  44. return map;
  45. }
  46. @Override
  47. @Transactional(rollbackFor = Exception.class)
  48. public Map<String, Object> addReceiveGoods( List<Map<String,Object>> jsonData) {
  49. Map<String, Object> map = new HashMap<>();
  50. try{
  51. List<ReceiveGoods> receiveGoodsList = new LinkedList<ReceiveGoods>();
  52. //List<Map> jsonList = jsonData.toJavaList(Map.class);
  53. for(Map<String,Object> jsonMap:jsonData) {
  54. List<Map<String, Object>> list = (List) jsonMap.get("datalist");
  55. for (Map<String, Object> element : list) {
  56. ReceiveGoods rg = new ReceiveGoods();
  57. rg.setType("0");
  58. //父表信息
  59. rg.setOrderNumber((String)jsonMap.get("poId"));
  60. rg.setOrderCode((String) jsonMap.get("poNo"));
  61. rg.setCompanyNumber((String) jsonMap.get("companyNo"));
  62. rg.setSupplierId((String) jsonMap.get("supplierNo"));
  63. rg.setArrivalTime((String) jsonMap.get("poDate"));
  64. rg.setOrderType((String) jsonMap.get("poType"));
  65. rg.setSourceType((String) jsonMap.get("sourceType"));
  66. rg.setMoveType((String) jsonMap.get("moveType"));
  67. //子表
  68. rg.setEntryNumber((String) element.get("entryNumber"));
  69. rg.setMaterialId((String) element.get("materialId"));
  70. rg.setWbs((String) element.get("WBS"));
  71. rg.setMeasurementId((String) element.get("measUnitId"));
  72. rg.setPurchaseNum(element.get("purchaseCount").toString().split("\\.")[0]);
  73. rg.setArrivalNum((element.get("receiveCount").toString().split("\\.")[0]));
  74. rg.setQualifiedNum(element.get("curOkCount").toString().split("\\.")[0]);
  75. rg.setDisqualificationNum(element.get("curNgCount").toString().split("\\.")[0]);
  76. receiveGoodsList.add(rg);
  77. }
  78. for (ReceiveGoods receiveGoods : receiveGoodsList) {
  79. receiveGoods.setType("0");
  80. //存在一个采购单发送多次的情况 如果是一个采购单多次传输 则改变原数据的数量
  81. ReceiveGoods receiveGoods1 = new ReceiveGoods().setOrderCode(receiveGoods.getOrderCode()).setMaterialId(receiveGoods.getMaterialId());
  82. List<ReceiveGoods> listRepeat = receiveGoodsMapper.getReceiveGoods(receiveGoods1);
  83. if (listRepeat.size() != 0) {
  84. receiveGoods.setArrivalNum(String.valueOf(Integer.parseInt(listRepeat.get(0).getArrivalNum()) + Integer.parseInt(receiveGoods.getArrivalNum())));
  85. receiveGoodsMapper.updateReceiveGoods(receiveGoods);
  86. } else {
  87. if (receiveGoodsMapper.getReceiveGoodsf(receiveGoods1) == 0) {
  88. receiveGoodsMapper.addReceiveGoodsf(receiveGoods);
  89. }
  90. receiveGoodsMapper.addReceiveGoods(receiveGoods);
  91. }
  92. //采购单日志
  93. receiveGoodsMapper.addReceiveGoodsLog(receiveGoods);
  94. }
  95. }
  96. map.put("status", "0000");
  97. map.put("msg","成功");
  98. } catch (Exception e) {
  99. e.printStackTrace();
  100. map.put("status", "0009");
  101. map.put("msg", "服务器请求异常,请稍后再试");
  102. }
  103. return map;
  104. }
  105. @Override
  106. @Transactional(rollbackFor = Exception.class)
  107. public Map<String, Object> addReceiveGoodsConfirm(ReceiveGoods receiveGoods) {
  108. Map<String, Object> map = new HashMap<>();
  109. try{
  110. receiveGoods.setType("1");
  111. receiveGoodsMapper.updateReceiveGoods(receiveGoods);
  112. map.put("msg", "200");
  113. } catch (Exception e) {
  114. e.printStackTrace();
  115. map.put("msg", "500");
  116. map.put("errMsg", "服务器请求异常,请稍后再试");
  117. }
  118. return map;
  119. }
  120. }