TmstruckEnfactoryResultServiceImpl.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.OmstruckOrderMapper;
  3. import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
  4. import com.steerinfo.dil.mapper.TmstruckLeaveFactoryResultMapper;
  5. import com.steerinfo.dil.model.OmstruckOrder;
  6. import com.steerinfo.dil.model.TmstruckEnfactoryResult;
  7. import com.steerinfo.dil.service.ITmstruckEnfactoryResultService;
  8. import com.steerinfo.dil.util.DataChange;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.transaction.annotation.Transactional;
  12. import java.math.BigDecimal;
  13. import java.util.Date;
  14. import java.util.List;
  15. import java.util.Map;
  16. /**
  17. * TmstruckEnfactoryResult服务实现:
  18. * @author generator
  19. * @version 1.0-SNAPSHORT 2021-09-08 06:23
  20. * 类描述
  21. * 修订历史:
  22. * 日期:2021-09-08
  23. * 作者:generator
  24. * 参考:
  25. * 描述:TmstruckEnfactoryResult服务实现
  26. * @see null
  27. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  28. */
  29. @Service(value = "tmstruckEnfactoryResultService")
  30. public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryResultService {
  31. @Autowired
  32. private TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
  33. @Autowired
  34. private OmstruckOrderServiceImpl omstruckOrderService;
  35. @Autowired
  36. private TmstruckMeasureCommissionServiceImpl tmstruckMeasureCommissionService;
  37. /**
  38. * 获取所有的进厂实绩
  39. * @param map
  40. * @return
  41. */
  42. @Override
  43. public List<Map<String, Object>> getAllEnFactoryResult(Map<String, Object> map) {
  44. return tmstruckEnfactoryResultMapper.getAllEnFactoryResult(map);
  45. }
  46. /**
  47. * 派单时新增进厂实绩
  48. * 总实绩Id、线路起点
  49. * @param map
  50. * @return
  51. */
  52. @Override
  53. public int addEnFactoryResult(Map<String, Object> map) {
  54. TmstruckEnfactoryResult tmstruckEnfactoryResult = new TmstruckEnfactoryResult();
  55. //生成进厂作业主键Id
  56. long id;
  57. BigDecimal maxId = tmstruckEnfactoryResultMapper.selectMaxId();
  58. id = maxId == null ? 1 : maxId.longValue() + 1;
  59. //添加主键
  60. tmstruckEnfactoryResult.setResultId(new BigDecimal(id));
  61. //添加门岗ID 路线起点就是进厂门岗
  62. tmstruckEnfactoryResult.setGatepostId(DataChange.dataToBigDecimal(map.get("lineStartNodeId")));
  63. //添加实绩总表Id
  64. tmstruckEnfactoryResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  65. return tmstruckEnfactoryResultMapper.insertSelective(tmstruckEnfactoryResult);
  66. }
  67. /**
  68. * 使用PDA方式进厂
  69. * 运输订单号
  70. * (操作人员主键ID)
  71. * @param map
  72. * @return
  73. */
  74. @Override
  75. @Transactional
  76. public int updateEnFactoryByPDA(Map<String, Object> map) {
  77. TmstruckEnfactoryResult tmstruckEnfactoryResult = new TmstruckEnfactoryResult();
  78. String orderNumber = map.get("orderNumber").toString();
  79. //获取进厂实绩id
  80. map.putAll(tmstruckEnfactoryResultMapper.selectEnFactoryResultId(orderNumber));
  81. tmstruckEnfactoryResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
  82. //添加进厂时间
  83. tmstruckEnfactoryResult.setResultEntryGateTime(new Date());
  84. tmstruckEnfactoryResult.setInsertTime(new Date());
  85. tmstruckEnfactoryResult.setResultEntryMode("手动抬杠");
  86. tmstruckEnfactoryResult.setInsertUsername("admin");
  87. int i = tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult);
  88. //更新订单路段顺序号
  89. int i1 = omstruckOrderService.updateOrderLineSequence(map, 1);
  90. //新增一条计毛委托
  91. //进厂完成后新增一条计毛委托 类型 1
  92. BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
  93. int i2 = tmstruckMeasureCommissionService.addMeasureCommission(resultTotalId, 1);
  94. return i + i1 +i2;
  95. }
  96. /**
  97. * 使用门禁系统进厂
  98. * @param map
  99. * @return
  100. */
  101. @Override
  102. public int updateEnFactoryByMenJin(Map<String, Object> map) {
  103. TmstruckEnfactoryResult tmstruckEnfactoryResult=new TmstruckEnfactoryResult();
  104. String orderNumber = map.get("orderNumber").toString();
  105. //获取进厂实绩id
  106. map.putAll(tmstruckEnfactoryResultMapper.selectEnFactoryResultId(orderNumber));
  107. tmstruckEnfactoryResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
  108. //进门方式
  109. tmstruckEnfactoryResult.setResultEntryMode("自动抬杆");
  110. tmstruckEnfactoryResult.setInsertTime(new Date());
  111. tmstruckEnfactoryResult.setInsertUsername("admin");
  112. int i = tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult);
  113. //更新路段顺序号
  114. int i1 = omstruckOrderService.updateOrderLineSequence(map, 1);
  115. //进厂完成后新增一条计毛委托 类型 1
  116. BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
  117. int i2 = tmstruckMeasureCommissionService.addMeasureCommission(resultTotalId, 1);
  118. return i + i1 +i2;
  119. }
  120. /**
  121. * 通过运输订单号查找排队顺序号
  122. * @param orderNumber
  123. * @return
  124. */
  125. @Override
  126. public Integer selectNodeNumber(String orderNumber) {
  127. return tmstruckEnfactoryResultMapper.selectNodeNumber(orderNumber);
  128. }
  129. }