#
luxiaotao1123
2020-06-12 5772f1ba90c1477666b0b33c3ca4e7bdb4259cc3
#
1个文件已添加
5个文件已修改
127 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/WorkController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/MatCodeCountDto.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/FullStoreParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkDetlService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java 39 ●●●●● 补丁 | 查看 | 原始文档 | 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("保存工作明细失败");
            }
        }
    }
}