package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.AmstruckInwardPlanMapper; import com.steerinfo.dil.mapper.AmstruckRequirementPlanMapper; import com.steerinfo.dil.model.AmstruckInwardPlan; import com.steerinfo.dil.model.AmstruckInwardRequirement; import com.steerinfo.dil.model.AmstruckRequirementPlan; import com.steerinfo.dil.service.IAmstruckInwardPlanService; import com.steerinfo.dil.service.IAmstruckInwardRequirementService; import com.steerinfo.dil.service.IAmstruckRequirementPlanService; import com.steerinfo.dil.util.DataChange; import com.steerinfo.framework.mapper.IBaseMapper; import com.steerinfo.framework.service.impl.BaseServiceImpl; import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; /** * AmstruckInwardPlan服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-10-25 03:21 * 类描述 * 修订历史: * 日期:2021-10-25 * 作者:generator * 参考: * 描述:AmstruckInwardPlan服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "amstruckInwardPlanService") public class AmstruckInwardPlanServiceImpl extends BaseServiceImpl implements IAmstruckInwardPlanService { @Autowired private AmstruckInwardPlanMapper amstruckInwardPlanMapper; @Autowired private IAmstruckInwardRequirementService amstruckInwardRequirementService; @Autowired private AmstruckRequirementPlanMapper amstruckRequirementPlanMapper; @Override protected IBaseMapper getMapper() { return amstruckInwardPlanMapper; } @Transactional @Override public int insert(Map mapValue) { AmstruckInwardPlan amstruckInwardPlan = new AmstruckInwardPlan(); BigDecimal planId = amstruckInwardPlanMapper.selectOtherId(); //设置主键 amstruckInwardPlan.setPlanId(planId); //获取承运商id,车数 BigDecimal carrierId=new BigDecimal(mapValue.get("carrierId").toString()); BigDecimal planTruckNumber=new BigDecimal(mapValue.get("planTruckNumber").toString()); amstruckInwardPlan.setCarrierId(carrierId); amstruckInwardPlan.setPlanTruckNumber(planTruckNumber); amstruckInwardPlan.setPlanNumber(DataChange.generateEightDigitsNumber("YSJH",planId.intValue())); //设置计划状态为未下发 amstruckInwardPlan.setPlanStatus(new BigDecimal(0)); // 设置常规字段 amstruckInwardPlan.setInsertTime(new Date()); amstruckInwardPlan.setInsertUsername("admin"); amstruckInwardPlan.setInsertUpdateRemark("无"); amstruckInwardPlan.setDeleted(new BigDecimal(0)); int i = amstruckInwardPlanMapper.insertSelective(amstruckInwardPlan); //新增需求计划中间表 AmstruckRequirementPlan amstruckRequirementPlan = new AmstruckRequirementPlan(); //xu qiu ID BigDecimal requirementId = new BigDecimal(mapValue.get("requirementId").toString()); BigDecimal requirementPlanId = amstruckRequirementPlanMapper.selectOtherId(); amstruckRequirementPlan.setRequirementPlanId(requirementPlanId); amstruckRequirementPlan.setPlanId(planId); amstruckRequirementPlan.setRequirementId(requirementId); amstruckRequirementPlan.setInsertTime(new Date()); amstruckRequirementPlan.setInsertUsername("admin"); amstruckRequirementPlan.setInsertUpdateRemark("无"); //在中间表中将需求与计划绑定 i += amstruckRequirementPlanMapper.insertSelective(amstruckRequirementPlan); return i; } @Override public List> getTruckPlanList(Map mapValue) { BigDecimal planStatus = (BigDecimal)mapValue.get("planStatus"); List> mapList; if (planStatus.intValue() == 0) { mapList = amstruckInwardPlanMapper.getTruckPlanList(mapValue); } else { mapList = amstruckInwardPlanMapper.getIssuedPlanList(mapValue); } return mapList; } /** * 删除计划 * @param planId * @return */ @Override public int deleteTruckPlan(BigDecimal planId) { AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId); amstruckInwardPlan.setDeleted(new BigDecimal(1)); int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan); return result; } /** * 修改计划 * @param amstruckInwardPlan * @return */ @Override public int updateTruckPlan(AmstruckInwardPlan amstruckInwardPlan) { amstruckInwardPlan.setUpdateTime(new Date()); amstruckInwardPlan.setUpdateUsername("admin"); int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan); return result; } /** * 下发计划 * @param mapList * @return */ @Override public int downTruckPlan(List> mapList) { int result = 0; for (Map map : mapList) { Integer planId = (Integer) map.get("planId"); AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(new BigDecimal(planId)); amstruckInwardPlan.setPlanStatus(new BigDecimal(1)); amstruckInwardPlan.setPlanIssueName("admin"); amstruckInwardPlan.setPlanIssueTime(new Date()); result += amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan); } return result; } /** * 主键查询修改渲染 * @param planId * @return */ @Override public List> selectInwardPlanToUpdate(BigDecimal planId) { return amstruckInwardPlanMapper.selectInwardPlanToUpdate(planId); } /** * 承运商下拉 * @return */ @Override public List> getCarrierList() { return amstruckInwardPlanMapper.getCarrierList(); } /** * 接收计划 * @param planId * @return */ @Override public int receiveInwardPlan(BigDecimal planId) { AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId); amstruckInwardPlan.setPlanStatus(new BigDecimal(2)); int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan); return result; } //停用计划 @Override public int changePlanStatus(BigDecimal planId) { AmstruckInwardPlan amstruckInwardPlan = amstruckInwardPlanMapper.selectByPrimaryKey(planId); amstruckInwardPlan.setPlanEableStatus(new BigDecimal(0)); int result = amstruckInwardPlanMapper.updateByPrimaryKeySelective(amstruckInwardPlan); return result; } }