123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- package com.steerinfo.dil.service.impl;
- import com.steerinfo.dil.mapper.AmstruckPurplanMapper;
- import com.steerinfo.dil.mapper.AmstruckPurplanMaterialMapper;
- import com.steerinfo.dil.model.AmstruckPurplan;
- import com.steerinfo.dil.model.AmstruckPurplanMaterial;
- import com.steerinfo.dil.service.IAmstruckPurplanService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.math.BigDecimal;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- /**
- * AmstruckPurplan服务实现:
- * @author TXF
- * @version 1.0-SNAPSHORT 2021-09-02 10:38
- * 类描述
- * 修订历史:
- * 日期:2021-09-02
- * 作者:generator
- * 参考:
- * 描述:AmstruckPurplan服务实现
- * @see null
- * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
- */
- @Service(value = "amstruckPurplanService")
- public class AmstruckPurplanServiceImpl implements IAmstruckPurplanService {
- @Autowired
- private AmstruckPurplanMapper amstruckPurplanMapper;
- @Autowired
- private AmstruckPurplanMaterialMapper amstruckPurplanMaterialMapper;
- /**
- * 查询所有运输计划
- * @param map
- * @return
- */
- @Override
- public List<Map<String, Object>> getAllPurPlan(Map<String, Object> map) {
- return amstruckPurplanMapper.getAllPurPlan(map);
- }
- /**
- * 通过主键Id查询运输计划
- * @param planId
- * @return
- */
- @Override
- public List<Map<String, Object>> getPurPlanById(Integer planId) {
- return amstruckPurplanMapper.getPurPlanById(planId);
- }
- /**
- * 新增运输计划
- * @param amstruckPurplan
- * @return
- */
- @Override
- @Transactional
- public int addPurPlan(AmstruckPurplan amstruckPurplan) {
- //生成主键Id
- long id;
- BigDecimal maxId = amstruckPurplanMapper.selectMaxId();
- id = maxId == null ? 1 : maxId.longValue() + 1;
- BigDecimal planId = new BigDecimal(id);
- amstruckPurplan.setPlanId(planId);
- //生成运输计划号
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
- String planNumber = "WYSJF" + sdf.format(new Date());
- planNumber += id < 10 ? "0000000" + id : id < 100 ? "000000" + id : id < 1000 ? "00000" + id : id < 10000 ?
- "0000" + id : id < 100000 ? "000" + id : id < 1000000 ? "00" + id : id < 10000000 ? "0" + id : id;
- amstruckPurplan.setPlanNo(planNumber);
- //新增状态为未下发:0
- amstruckPurplan.setPlanStatus(new BigDecimal(0));
- //记录创建人
- amstruckPurplan.setInsertUsername("admin");
- //生成子表数据
- AmstruckPurplanMaterial amstruckPurplanMaterial = new AmstruckPurplanMaterial();
- //生成主键
- long childId;
- BigDecimal selectMaxId = amstruckPurplanMaterialMapper.selectMaxId();
- childId = selectMaxId == null? 1 :selectMaxId.longValue() + 1;
- amstruckPurplanMaterial.setPurplanPlanMaterialId(new BigDecimal(childId));
- //设置父表主键
- amstruckPurplanMaterial.setPlanId(planId);
- //设置子表未分配数量重量 = 总重量
- amstruckPurplanMaterial.setMaterialUnallocatedWeight(amstruckPurplan.getMaterialTotalWeight());
- //设置已分配重量 初始为 0
- amstruckPurplanMaterial.setMaterialAllocatedWeight(new BigDecimal(0));
- int i = amstruckPurplanMaterialMapper.insertSelective(amstruckPurplanMaterial);
- int i1 = amstruckPurplanMapper.insertSelective(amstruckPurplan);
- return i + i1;
- }
- /**
- * 修改运输计划
- * @param amstruckPurplan
- * @return
- */
- @Override
- @Transactional
- public int updatePurPlan(AmstruckPurplan amstruckPurplan) {
- int i = amstruckPurplanMapper.updateByPrimaryKeySelective(amstruckPurplan);
- //通过计划ID查询子表主键ID
- BigDecimal childId = amstruckPurplanMaterialMapper.getChildIdByPlanId(amstruckPurplan.getPlanId());
- //修改子表数据未分配物资重量
- AmstruckPurplanMaterial amstruckPurplanMaterial = new AmstruckPurplanMaterial();
- amstruckPurplanMaterial.setId(childId);
- amstruckPurplanMaterial.setMaterialUnallocatedWeight(amstruckPurplan.getMaterialTotalWeight());
- int i1 = amstruckPurplanMaterialMapper.updateByPrimaryKeySelective(amstruckPurplanMaterial);
- return i + i1;
- }
- /**
- * 逻辑删除运输计划 3
- * @param amstruckPurplan
- * @return
- */
- @Override
- public int deletePurPlan(AmstruckPurplan amstruckPurplan) {
- return amstruckPurplanMapper.updateByPrimaryKeySelective(amstruckPurplan);
- }
- /**
- * 下发运输计划
- * @param amstruckPurplan
- * @return
- */
- @Override
- public int sendPurPlan(AmstruckPurplan amstruckPurplan) {
- //记录下发计划时间
- amstruckPurplan.setInsertTime(new Date());
- return amstruckPurplanMapper.updateByPrimaryKeySelective(amstruckPurplan);
- }
- /**
- * 接收运输计划
- * @param amstruckPurplan
- * @return
- */
- @Override
- public int receptionPurPlan(AmstruckPurplan amstruckPurplan) {
- //记录接收计划时间
- amstruckPurplan.setUpdateTime((new Date()));
- return amstruckPurplanMapper.updateByPrimaryKeySelective(amstruckPurplan);
- }
- }
|