src/main/java/com/zy/asrs/controller/WorkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/MatCodeCountDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/FullStoreParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/WrkDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/WorkController.java
@@ -1,6 +1,5 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; import com.core.annotations.ManagerAuth; import com.core.common.R; import com.zy.asrs.entity.param.FullStoreParam; @@ -33,7 +32,6 @@ @RequestMapping("/full/store/start") @ManagerAuth(memo = "全板入库") public R start(@RequestBody FullStoreParam fullStoreParam) { System.out.println(JSON.toJSONString(fullStoreParam)); workService.startupFullStore(fullStoreParam,getUserId()); return R.ok(); } src/main/java/com/zy/asrs/entity/MatCodeCountDto.java
New file @@ -0,0 +1,35 @@ package com.zy.asrs.entity; /** * Created by vincent on 2020/6/12 */ public class MatCodeCountDto { private String matNo; private int count; public MatCodeCountDto() { } public MatCodeCountDto(String matNo, int count) { this.matNo = matNo; this.count = count; } public String getMatNo() { return matNo; } public void setMatNo(String matNo) { this.matNo = matNo; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } } src/main/java/com/zy/asrs/entity/param/FullStoreParam.java
@@ -13,7 +13,7 @@ // 物料列表数据 private List<MatCodeStore> list; static class MatCodeStore { public static class MatCodeStore { // 物料编号 private String matNo; src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -2,7 +2,12 @@ import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.MatCodeCountDto; import java.util.List; public interface WrkDetlService extends IService<WrkDetl> { void createWorkDetail(Integer workNo, List<MatCodeCountDto> matCodeCountDtos, Long userId); } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -4,18 +4,20 @@ import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.MatCodeCountDto; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.entity.param.FullStoreParam; import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.WorkService; import com.zy.asrs.service.WrkMastService; import com.zy.asrs.service.*; import com.zy.common.model.StartupDto; import com.zy.common.service.CommonService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Created by vincent on 2020/6/11 @@ -29,6 +31,10 @@ private BasDevpService basDevpService; @Autowired private CommonService commonService; @Autowired private WrkDetlService wrkDetlService; @Autowired private LocMastService locMastService; @Override @Transactional @@ -38,7 +44,7 @@ throw new CoolException(BaseRes.PARAM); } // 源站点状态检测 BasDevp staNo = basDevpService.checkSiteStatus(param.getDevpNo()); BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo()); // 生成工作号 int workNo = commonService.getWorkNo(0); if (workNo == 0) { @@ -66,7 +72,7 @@ wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("N"); // 空板 wrkMast.setLinkMis("N"); wrkMast.setCtnType(staNo.getCtnType()); // 容器类型 wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 // 操作人员数据 wrkMast.setAppeUser(userId); wrkMast.setAppeTime(new Date()); @@ -74,11 +80,33 @@ wrkMast.setModiTime(new Date()); boolean res = wrkMastService.insert(wrkMast); if (!res) { throw new CoolException("注入sql失败"); throw new CoolException("保存工作档失败"); } // 生成工作档明细 List<MatCodeCountDto> matDtos = new ArrayList<>(); param.getList().forEach(elem -> { matDtos.add(new MatCodeCountDto(elem.getMatNo(), elem.getCount())); }); wrkDetlService.createWorkDetail(workNo, matDtos, userId); // 更新源站点信息 sourceStaNo.setWrkNo(workNo); sourceStaNo.setModiUser(userId); sourceStaNo.setModiTime(new Date()); if (!basDevpService.updateById(sourceStaNo)){ throw new CoolException("更新源站失败"); } // 更新目标库位信息 LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocType().equals("O")){ locMast.setLocType("S"); // S.入库预约 locMast.setModiUser(userId); locMast.setModiTime(new Date()); if (!locMastService.updateById(locMast)){ throw new CoolException("改变库位状态失败"); } } else { throw new CoolException(dto.getLocNo()+"目标库位已被占用"); } } } src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -1,12 +1,51 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.MatCode; import com.zy.asrs.entity.WrkDetl; import com.zy.asrs.entity.MatCodeCountDto; import com.zy.asrs.mapper.WrkDetlMapper; import com.zy.asrs.service.MatCodeService; import com.zy.asrs.service.WrkDetlService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; @Service("wrkDetlService") public class WrkDetlServiceImpl extends ServiceImpl<WrkDetlMapper, WrkDetl> implements WrkDetlService { @Autowired private MatCodeService matCodeService; @Override @Transactional public void createWorkDetail(Integer workNo, List<MatCodeCountDto> matCodeCountDtos, Long userId) { if (matCodeCountDtos.isEmpty()){ return; } for (MatCodeCountDto dto : matCodeCountDtos) { MatCode matCode = matCodeService.selectById(dto.getMatNo()); if (Cools.isEmpty(matCode)){ throw new CoolException("物料条码数据为空"); } // 保持工作档明细 WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(workNo); wrkDetl.setIoTime(new Date()); wrkDetl.setMatnr(matCode.getMatNo()); // 物料编号 wrkDetl.setAnfme((double) dto.getCount()); // 数量 wrkDetl.setAppeUser(userId); wrkDetl.setAppeTime(new Date()); wrkDetl.setModiUser(userId); wrkDetl.setModiTime(new Date()); if (!this.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } } } }