WmshGridMaterialServiceImpl.java 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. /**
  13. * WmshGridMaterial服务实现:
  14. * @author generator
  15. * @version 1.0-SNAPSHORT 2021-10-09 07:25
  16. * 类描述
  17. * 修订历史:
  18. * 日期:2021-10-09
  19. * 作者:generator
  20. * 参考:
  21. * 描述:WmshGridMaterial服务实现
  22. * @see null
  23. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  24. */
  25. @Service(value = "wmshGridMaterialService")
  26. public class WmshGridMaterialServiceImpl implements IWmshGridMaterialService {
  27. @Autowired
  28. private WmshGridMaterialMapper wmshGridMaterialMapper;
  29. /**
  30. * 展示下游港口实时库存
  31. * @param mapVal
  32. * @return
  33. */
  34. @Override
  35. public List<Map<String, Object>> getUnloadPortStockList(Map<String, Object> mapVal) {
  36. return wmshGridMaterialMapper.getUnloadPortStockList(mapVal);
  37. }
  38. /**
  39. * 展示万州港实时库存
  40. * @param mapVal
  41. * @return
  42. */
  43. @Override
  44. public List<Map<String, Object>> getLoadPortStockList(Map<String, Object> mapVal) {
  45. return wmshGridMaterialMapper.getLoadPortStockList(mapVal);
  46. }
  47. /**
  48. * 修改实时库存
  49. * @param map
  50. * @return
  51. */
  52. @Override
  53. public int updatePortStock(Map<String,Object> map) {
  54. BigDecimal portId = DataChange.dataToBigDecimal(map.get("portId"));
  55. BigDecimal batchId = DataChange.dataToBigDecimal(map.get("batchId"));
  56. BigDecimal tonnage = DataChange.dataToBigDecimal(map.get("resultTonnage"));
  57. BigDecimal status = DataChange.dataToBigDecimal(map.get("status"));
  58. Map<String,Object> selectMap = new HashMap<>();
  59. selectMap.put("portId",portId);
  60. selectMap.put("batchId",batchId);
  61. List<WmshGridMaterial> wmshGridMaterials = wmshGridMaterialMapper.selectByParameters(selectMap);
  62. if (wmshGridMaterials.size() == 0) {
  63. WmshGridMaterial wmshGridMaterial = new WmshGridMaterial();
  64. BigDecimal gmId = wmshGridMaterialMapper.selectMaxId();
  65. wmshGridMaterial.setGmId(gmId);
  66. wmshGridMaterial.setBatchId(batchId);
  67. wmshGridMaterial.setPortId(portId);
  68. wmshGridMaterial.setGmTonnage(tonnage);
  69. wmshGridMaterial.setDeleted(new BigDecimal(0));
  70. return wmshGridMaterialMapper.insertSelective(wmshGridMaterial);
  71. }
  72. WmshGridMaterial wmshGridMaterial = wmshGridMaterials.get(0);
  73. BigDecimal oldGmsTonnage = wmshGridMaterial.getGmTonnage();
  74. BigDecimal gmsTonnage;
  75. if (status.intValue() == 0) {
  76. gmsTonnage = new BigDecimal(oldGmsTonnage.doubleValue() - tonnage.doubleValue());
  77. }
  78. else {
  79. gmsTonnage = new BigDecimal(tonnage.doubleValue() + oldGmsTonnage.doubleValue());
  80. }
  81. wmshGridMaterial.setGmTonnage(gmsTonnage);
  82. return wmshGridMaterialMapper.updateByPrimaryKeySelective(wmshGridMaterial);
  83. }
  84. }