AmstruckInwardPlanServiceImpl.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.AmstruckInwardPlanMapper;
  3. import com.steerinfo.dil.mapper.AmstruckRequirementPlanMapper;
  4. import com.steerinfo.dil.model.AmstruckInwardPlan;
  5. import com.steerinfo.dil.model.AmstruckInwardRequirement;
  6. import com.steerinfo.dil.model.AmstruckRequirementPlan;
  7. import com.steerinfo.dil.service.IAmstruckInwardPlanService;
  8. import com.steerinfo.dil.service.IAmstruckInwardRequirementService;
  9. import com.steerinfo.dil.service.IAmstruckRequirementPlanService;
  10. import com.steerinfo.dil.util.DataChange;
  11. import com.steerinfo.framework.mapper.IBaseMapper;
  12. import com.steerinfo.framework.service.impl.BaseServiceImpl;
  13. import io.swagger.models.auth.In;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.math.BigDecimal;
  18. import java.util.Date;
  19. import java.util.List;
  20. import java.util.Map;
  21. /**
  22. * AmstruckInwardPlan服务实现:
  23. * @author generator
  24. * @version 1.0-SNAPSHORT 2021-10-25 03:21
  25. * 类描述
  26. * 修订历史:
  27. * 日期:2021-10-25
  28. * 作者:generator
  29. * 参考:
  30. * 描述:AmstruckInwardPlan服务实现
  31. * @see null
  32. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  33. */
  34. @Service(value = "amstruckInwardPlanService")
  35. public class AmstruckInwardPlanServiceImpl extends BaseServiceImpl<AmstruckInwardPlan, BigDecimal> implements IAmstruckInwardPlanService {
  36. @Autowired
  37. private AmstruckInwardPlanMapper amstruckInwardPlanMapper;
  38. @Autowired
  39. private IAmstruckInwardRequirementService amstruckInwardRequirementService;
  40. @Autowired
  41. private AmstruckRequirementPlanMapper amstruckRequirementPlanMapper;
  42. @Override
  43. protected IBaseMapper<AmstruckInwardPlan, BigDecimal> getMapper() {
  44. return amstruckInwardPlanMapper;
  45. }
  46. @Transactional
  47. @Override
  48. public int insert(Map<String,Object> mapValue) {
  49. AmstruckInwardPlan amstruckInwardPlan = new AmstruckInwardPlan();
  50. BigDecimal planId = amstruckInwardPlanMapper.selectOtherId();
  51. //设置主键
  52. amstruckInwardPlan.setPlanId(planId);
  53. //获取承运商id,车数
  54. BigDecimal carrierId=new BigDecimal(mapValue.get("carrierId").toString());
  55. BigDecimal planTruckNumber=new BigDecimal(mapValue.get("planTruckNumber").toString());
  56. amstruckInwardPlan.setCarrierId(carrierId);
  57. amstruckInwardPlan.setPlanTruckNumber(planTruckNumber);
  58. amstruckInwardPlan.setPlanNumber(DataChange.generateEightDigitsNumber("YSJH",planId.intValue()));
  59. //设置计划状态为未下发
  60. amstruckInwardPlan.setPlanStatus(new BigDecimal(0));
  61. // 设置常规字段
  62. amstruckInwardPlan.setInsertTime(new Date());
  63. amstruckInwardPlan.setInsertUsername("admin");
  64. amstruckInwardPlan.setInsertUpdateRemark("无");
  65. amstruckInwardPlan.setDeleted(new BigDecimal(0));
  66. int i = amstruckInwardPlanMapper.insertSelective(amstruckInwardPlan);
  67. //新增需求计划中间表
  68. AmstruckRequirementPlan amstruckRequirementPlan = new AmstruckRequirementPlan();
  69. //xu qiu ID
  70. BigDecimal requirementId = new BigDecimal(mapValue.get("requirementId").toString());
  71. BigDecimal requirementPlanId = amstruckRequirementPlanMapper.selectOtherId();
  72. amstruckRequirementPlan.setRequirementPlanId(requirementPlanId);
  73. amstruckRequirementPlan.setPlanId(planId);
  74. amstruckRequirementPlan.setRequirementId(requirementId);
  75. amstruckRequirementPlan.setInsertTime(new Date());
  76. amstruckRequirementPlan.setInsertUsername("admin");
  77. amstruckRequirementPlan.setInsertUpdateRemark("无");
  78. //在中间表中将需求与计划绑定
  79. i += amstruckRequirementPlanMapper.insertSelective(amstruckRequirementPlan);
  80. return i;
  81. }
  82. @Override
  83. public List<Map<String, Object>> getTruckPlanList(Map<String, Object> mapValue) {
  84. BigDecimal planStatus = (BigDecimal)mapValue.get("planStatus");
  85. List<Map<String,Object>> mapList;
  86. if (planStatus.intValue() == 0) {
  87. mapList = amstruckInwardPlanMapper.getTruckPlanList(mapValue);
  88. }
  89. else {
  90. mapList = amstruckInwardPlanMapper.getIssuedPlanList(mapValue);
  91. }
  92. return mapList;
  93. }
  94. /**
  95. * 删除计划
  96. * @param planId
  97. * @return
  98. */
  99. @Override
  100. public int deleteTruckPlan(BigDecimal planId) {
  101. AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
  102. amstruckInwardPlan.setDeleted(new BigDecimal(1));
  103. int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
  104. return result;
  105. }
  106. /**
  107. * 修改计划
  108. * @param amstruckInwardPlan
  109. * @return
  110. */
  111. @Override
  112. public int updateTruckPlan(AmstruckInwardPlan amstruckInwardPlan) {
  113. amstruckInwardPlan.setUpdateTime(new Date());
  114. amstruckInwardPlan.setUpdateUsername("admin");
  115. int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
  116. return result;
  117. }
  118. /**
  119. * 下发计划
  120. * @param mapList
  121. * @return
  122. */
  123. @Override
  124. public int downTruckPlan(List<Map<String,Object>> mapList) {
  125. int result = 0;
  126. for (Map<String,Object> map : mapList) {
  127. Integer planId = (Integer) map.get("planId");
  128. AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(new BigDecimal(planId));
  129. amstruckInwardPlan.setPlanStatus(new BigDecimal(1));
  130. amstruckInwardPlan.setPlanIssueName("admin");
  131. amstruckInwardPlan.setPlanIssueTime(new Date());
  132. result += amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
  133. }
  134. return result;
  135. }
  136. /**
  137. * 主键查询修改渲染
  138. * @param planId
  139. * @return
  140. */
  141. @Override
  142. public List<Map<String, Object>> selectInwardPlanToUpdate(BigDecimal planId) {
  143. return amstruckInwardPlanMapper.selectInwardPlanToUpdate(planId);
  144. }
  145. /**
  146. * 承运商下拉
  147. * @return
  148. */
  149. @Override
  150. public List<Map<String, Object>> getCarrierList() {
  151. return amstruckInwardPlanMapper.getCarrierList();
  152. }
  153. /**
  154. * 接收计划
  155. * @param planId
  156. * @return
  157. */
  158. @Override
  159. public int receiveInwardPlan(BigDecimal planId) {
  160. AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
  161. amstruckInwardPlan.setPlanStatus(new BigDecimal(2));
  162. int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
  163. return result;
  164. }
  165. //停用计划
  166. @Override
  167. public int changePlanStatus(BigDecimal planId) {
  168. AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId);
  169. amstruckInwardPlan.setPlanEableStatus(new BigDecimal(0));
  170. int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan);
  171. return result;
  172. }
  173. }