WmshGridMaterialServiceImpl.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.WmshGridMaterialMapper;
  3. import com.steerinfo.dil.model.WmshGridMaterial;
  4. import com.steerinfo.dil.service.IWmshGridMaterialService;
  5. import com.steerinfo.dil.util.DataChange;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import java.math.BigDecimal;
  9. import java.util.Date;
  10. import java.util.HashMap;
  11. import java.util.List;
  12. import java.util.Map;
  13. /**
  14. * WmshGridMaterial服务实现:
  15. * @author generator
  16. * @version 1.0-SNAPSHORT 2021-10-09 07:25
  17. * 类描述
  18. * 修订历史:
  19. * 日期:2021-10-09
  20. * 作者:generator
  21. * 参考:
  22. * 描述:WmshGridMaterial服务实现
  23. * @see null
  24. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  25. */
  26. @Service(value = "wmshGridMaterialService")
  27. public class WmshGridMaterialServiceImpl implements IWmshGridMaterialService {
  28. @Autowired
  29. private WmshGridMaterialMapper wmshGridMaterialMapper;
  30. /**
  31. * 展示下游港口实时库存
  32. * @param mapVal
  33. * @return
  34. */
  35. @Override
  36. public List<Map<String, Object>> getUnloadPortStockList(Map<String, Object> mapVal) {
  37. return wmshGridMaterialMapper.getUnloadPortStockList(mapVal);
  38. }
  39. /**
  40. * 展示万州港实时库存
  41. * @param mapVal
  42. * @return
  43. */
  44. @Override
  45. public List<Map<String, Object>> getLoadPortStockList(Map<String, Object> mapVal) {
  46. return wmshGridMaterialMapper.getLoadPortStockList(mapVal);
  47. }
  48. /**
  49. * 修改实时库存
  50. * @param map
  51. * @return
  52. */
  53. @Override
  54. public int updatePortStock(Map<String,Object> map) {
  55. BigDecimal portId = DataChange.dataToBigDecimal(map.get("downSwimPortId"));
  56. BigDecimal batchId = DataChange.dataToBigDecimal(map.get("batchId"));
  57. BigDecimal tonnage = DataChange.dataToBigDecimal(map.get("resultTonnage"));
  58. BigDecimal status = DataChange.dataToBigDecimal(map.get("status"));
  59. Map<String,Object> selectMap = new HashMap<>();
  60. selectMap.put("portId",portId);
  61. selectMap.put("batchId",batchId);
  62. //查找是否有港存库实时库存
  63. List<WmshGridMaterial> wmshGridMaterials = wmshGridMaterialMapper.selectByParameters(selectMap);
  64. if (wmshGridMaterials.size() == 0) {
  65. WmshGridMaterial wmshGridMaterial = new WmshGridMaterial();
  66. BigDecimal gmId = wmshGridMaterialMapper.selectMaxId();
  67. wmshGridMaterial.setGmId(gmId);
  68. wmshGridMaterial.setBatchId(batchId);
  69. wmshGridMaterial.setPortId(portId);
  70. wmshGridMaterial.setGmTonnage(tonnage);
  71. wmshGridMaterial.setDeleted(new BigDecimal(0));
  72. return wmshGridMaterialMapper.insertSelective(wmshGridMaterial);
  73. }
  74. WmshGridMaterial wmshGridMaterial = wmshGridMaterials.get(0);
  75. BigDecimal oldGmsTonnage = wmshGridMaterial.getGmTonnage();
  76. BigDecimal gmsTonnage;
  77. if (status.intValue() == 0) {
  78. gmsTonnage = new BigDecimal(oldGmsTonnage.doubleValue() - tonnage.doubleValue());
  79. }
  80. else {
  81. gmsTonnage = new BigDecimal(tonnage.doubleValue() + oldGmsTonnage.doubleValue());
  82. }
  83. if (gmsTonnage.intValue()>=0) {
  84. wmshGridMaterial.setGmTonnage(gmsTonnage);
  85. }else {
  86. return -1;
  87. }
  88. wmshGridMaterial.setUpdateTime(new Date());
  89. int i = wmshGridMaterialMapper.updateByPrimaryKeySelective(wmshGridMaterial);
  90. return i;
  91. }
  92. @Override
  93. public int clearWmshGridMaterial(Map<String, Object> map) {
  94. BigDecimal gmId =DataChange.dataToBigDecimal(map.get("gmId"));
  95. WmshGridMaterial wmshGridMaterial=new WmshGridMaterial();
  96. wmshGridMaterial.setGmId(gmId);
  97. wmshGridMaterial.setGmTonnage(new BigDecimal(0));
  98. int i = wmshGridMaterialMapper.updateByPrimaryKeySelective(wmshGridMaterial);
  99. return i;
  100. }
  101. }