RmsPwarehouseGridServiceImpl.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.RmsPwarehouseGridMapper;
  3. import com.steerinfo.dil.model.RmsPwarehouseGrid;
  4. import com.steerinfo.dil.service.IRmsPwarehouseGridService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.math.BigDecimal;
  8. import java.util.HashMap;
  9. import java.util.Map;
  10. /**
  11. * RmsPwarehouseGrid服务实现:
  12. * @author generator
  13. * @version 1.0-SNAPSHORT 2021-09-07 05:51
  14. * 类描述
  15. * 修订历史:
  16. * 日期:2021-09-07
  17. * 作者:generator
  18. * 参考:
  19. * 描述:RmsPwarehouseGrid服务实现
  20. * @see null
  21. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  22. */
  23. @Service
  24. public class RmsPwarehouseGridServiceImpl implements IRmsPwarehouseGridService {
  25. @Autowired
  26. private RmsPwarehouseGridMapper rmsPwarehouseGridMapper;
  27. @Autowired
  28. private RmsPwarehouseGridServiceImpl rmsPwarehouseGridService;
  29. @Autowired
  30. private RmsStackingServiceImpl rmsStackingService;
  31. @Override
  32. public int insertSelective(RmsPwarehouseGrid rmsPwarehouseGrid) {
  33. long id;
  34. BigDecimal MAXId=rmsPwarehouseGridMapper.selectMaxId();
  35. if (MAXId==null){
  36. id=1;
  37. }else {
  38. id=MAXId.longValue()+1;
  39. }
  40. rmsPwarehouseGrid.setGridId(new BigDecimal(id));
  41. return rmsPwarehouseGridMapper.insertSelective(rmsPwarehouseGrid);
  42. }
  43. @Override
  44. public int updateByPrimaryKeySelective(RmsPwarehouseGrid rmsPwarehouseGrid) {
  45. return rmsPwarehouseGridMapper.updateByPrimaryKeySelective(rmsPwarehouseGrid);
  46. }
  47. @Override
  48. public BigDecimal selectMaxId() {
  49. return rmsPwarehouseGridMapper.selectMaxId();
  50. }
  51. @Override
  52. public BigDecimal getGridId(Map<String, Object> map) {
  53. return rmsPwarehouseGridMapper.selectGridId(map);
  54. }
  55. @Override
  56. public BigDecimal selectGrid(Integer size,BigDecimal warehouseId) {
  57. //查询入库垛位信息
  58. Map<String,Object> stackingMap = rmsStackingService.getStackingToUpdate(size,warehouseId,"1");
  59. //获取入库垛位ID
  60. BigDecimal ST = (BigDecimal) stackingMap.get("stackingId");
  61. Integer MN = null ;
  62. Integer CC = null ;
  63. Integer CX = null ;
  64. //根据垛位ID查询物资数,确定层次层序,即网格ID
  65. HashMap<String, Object> map1 = new HashMap<>();
  66. map1.put("stackingId",ST);
  67. //获取物资数
  68. MN=rmsStackingService.selectMaterialNumber(map1);
  69. //计算层次号
  70. CC=(MN)/24+1;
  71. //计算层序号
  72. CX=(MN)%24+1;
  73. //更新垛位表
  74. rmsStackingService.updateStack(ST);
  75. //根据仓库id、垛位ID,层次号,层序号查找仓储网格
  76. HashMap<String, Object> map3 = new HashMap<>();
  77. map3.put("warehouseId",warehouseId);
  78. map3.put("stackingID",ST);
  79. map3.put("gradationNumber",CC);
  80. map3.put("sequenceNumber",CX);
  81. BigDecimal gridId=rmsPwarehouseGridService.getGridId(map3);
  82. return gridId;
  83. }
  84. }