自动化立体仓库 - WMS系统
zc
1 天以前 134af8323aab69b405041823dfe6c0593e876c94
完善erp对接
18个文件已修改
173 ■■■■ 已修改文件
license.lic 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocMastController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenMesController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/CheckOrderParam.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MatDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocDetlService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/ManLocDetlService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/license.lic 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStore/crnLocCheckOut.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/pakStoreSxk/crnLocCheckOut.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
license.lic
Binary files differ
src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -136,6 +136,9 @@
                locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
            }
        }
        if (locMast.getLocSts().equals("O")){
            locMast.setBarcode("");
        }
        locMast.setModiUser(getUserId());
        locMast.setModiTime(new Date());
        locMastService.updateById(locMast);
src/main/java/com/zy/asrs/controller/OpenMesController.java
@@ -9,6 +9,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.InventoryCheckOrder;
import com.zy.asrs.entity.InventoryCheckOrderDetl;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
@@ -39,7 +40,10 @@
    private OpenService openService;
    @Autowired
    private ManLocDetlService manLocDetlService;
    private MatService matService;
    @Autowired
    private WorkService workService;
    @Autowired
    private WrkMastService wrkMastService;
@@ -83,7 +87,7 @@
        param.getDetails().forEach(elem -> {
            list.add(new LocDetlAdjustParam.LocDetlAdjust(elem.getMatnr(), elem.getBatch(), elem.getActulQty(), elem.getDanger()));
        });
        manLocDetlService.adjustLocDetl2(adjustParam, getUserId());
        workService.adjustLocDetl(adjustParam, getUserId());
        return R.ok();
    }
@@ -161,22 +165,7 @@
                                @RequestBody CheckOrderParam param,
                                HttpServletRequest request) {
        auth(appkey, param, request);
        String orderNo = param.getOrderNo();
        long time = new Date().getTime();
        if (Cools.isEmpty(orderNo)) {
            switch (param.getArea()) {
                case "堆垛机":
                    orderNo = "DDJ" + time;
                    break;
                case "四向库":
                    orderNo = "SXK" + time;
                    break;
                case "CTU":
                    orderNo = "CTU" + time;
                    break;
            }
            param.setOrderNo(orderNo);
        }
        String orderNo = param.getInventoryCode();
        int count = inventoryCheckOrderService.selectCount(new EntityWrapper<InventoryCheckOrder>().eq("order_no", orderNo));
        if (count > 0) {
@@ -184,14 +173,20 @@
        }
        InventoryCheckOrder checkOrder = new InventoryCheckOrder();
        checkOrder.setOrderNo(orderNo);
        checkOrder.setCreateBy(getUserId().toString());
        //checkOrder.setCreateBy(getUserId().toString());
        checkOrder.setCreateTime(new Date());
        checkOrder.setStatus("1");
        param.getDetails().forEach(elem -> {
            checkOrder.setArea(param.getArea());
            Mat mat = matService.selectByMatnr(elem.getProductionCode());
            if (mat==null){
                throw new CoolException("物料不存在");
            }
            //checkOrder.setArea(param.getArea());
            InventoryCheckOrderDetl detail = new InventoryCheckOrderDetl();
            detail.setMatnr(elem.getMatnr());
            detail.setBatch(elem.getBatch());
            detail.setMatnr(elem.getProductionCode());
            detail.setOrderNo(orderNo);
            detail.setMaktx(mat.getMaktx());
            //detail.setBatch(elem.getBatch());
            inventoryCheckOrderDetlService.insert(detail);
        });
        inventoryCheckOrderService.insert(checkOrder);
src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
@@ -103,7 +103,7 @@
    }
    public String getProfit$(){
        if (Cools.isEmpty(this.status) && !this.status.equals("1")){
        if (Cools.isEmpty(this.status) || !this.status.equals("1")){
            return "未盘点";
        }
        if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){
src/main/java/com/zy/asrs/entity/param/CheckOrderParam.java
@@ -7,9 +7,10 @@
@Data
public class CheckOrderParam implements Serializable {
    private String orderNo;
    private String area;
    private String status;
    private String inventoryCode;
    private String inventoryStartTime;
    private String   inventoryName;
    //private String status;
    private List<MatDto> details;
}
src/main/java/com/zy/asrs/entity/param/MatDto.java
@@ -9,6 +9,9 @@
public class MatDto {
    // 物料编号
    private String  productionCode;
    // 物料编号
    private String matnr;
    // 物料名称
src/main/java/com/zy/asrs/entity/param/OpenOrderPakoutParam.java
@@ -26,6 +26,7 @@
    private String businessType; //业务类型
    private String user; //制单人
    private String quality;
    private String fromOrderNo; //来源单号
    private List<DetlDto> details;
src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.result.StockVo;
import java.util.List;
@@ -71,5 +72,8 @@
    List<Map<String, Object>> selectLocDetlUnilateralMoveShuttleMap(Integer crnNo);
    void adjustLocDetl2(LocDetlAdjustParam param,String barcode, Long userId);
    List<LocDetl> selectLocDetlUnilateralMoveShuttle(String matnr,String batch,String grade,Integer crnNo);
}
src/main/java/com/zy/asrs/service/ManLocDetlService.java
@@ -61,7 +61,6 @@
    void adjustLocDetl(LocDetlAdjustParam param, Long userId);
    void adjustLocDetl2(LocDetlAdjustParam param, Long userId);
    Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param);
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -1,19 +1,33 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.exception.CoolException;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.ManLocDetl;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.Node;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.utils.SaasUtils;
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;
import java.util.Map;
import java.util.Set;
@Service("locDetlService")
public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
    @Autowired
    private MatService matService;
    @Override
    public Page<LocDetl> getPage(Page<LocDetl> page) {
@@ -38,6 +52,32 @@
        }
    }
    @Transactional
    @Override
    public void adjustLocDetl2(LocDetlAdjustParam param, String barcode, Long userId) {
        Date now = new Date();
        this.baseMapper.delete(new EntityWrapper<LocDetl>()
                .eq("loc_no", param.getLocNo()));
        for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) {
            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
                    .eq("matnr", locDetlAdjust.getMatnr()));
            if (mat == null) {
                throw new CoolException("无法找到需要调整的物料,请联系管理员");
            }
            LocDetl manLocDetl = new LocDetl();
            manLocDetl.sync(mat);
            manLocDetl.setLocNo(param.getLocNo());
            manLocDetl.setZpallet(barcode);
            manLocDetl.setAnfme(locDetlAdjust.getCount());
            manLocDetl.setBatch(locDetlAdjust.getBatch());
            manLocDetl.setBarcode(barcode);
            manLocDetl.setDanger(locDetlAdjust.getDanger());
            SaasUtils.insertLog(3, manLocDetl.getLocNo(), manLocDetl.getMatnr(), manLocDetl.getAnfme());
            this.baseMapper.insert(manLocDetl);
        }
    }
    @Override
    public boolean updateLocNo(String newLocNo, String oldLocNo) {
src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -178,43 +178,7 @@
        }
    }
    @Transactional
    @Override
    public void adjustLocDetl2(LocDetlAdjustParam param, Long userId) {
        Date now = new Date();
        this.baseMapper.delete(new EntityWrapper<ManLocDetl>()
                .eq("loc_no", param.getLocNo()));
        for (LocDetlAdjustParam.LocDetlAdjust locDetlAdjust : param.getList()) {
            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
                    .eq("matnr", locDetlAdjust.getMatnr()));
            if (mat == null) {
                throw new CoolException("无法找到需要调整的物料,请联系管理员");
            }
            Node node = nodeService.selectOne(new EntityWrapper<Node>()
                    .eq("uuid", param.getLocNo()));
            if (node == null) {
                throw new CoolException("无法找到需要调整的库位,请联系管理员");
            }
            ManLocDetl manLocDetl = new ManLocDetl();
            manLocDetl.setLocNo(param.getLocNo());
            manLocDetl.setNodeId(node.getId());
            manLocDetl.setZpallet(mat.getBarcode());
            manLocDetl.setAnfme(locDetlAdjust.getCount());
            manLocDetl.setMatnr(mat.getMatnr());
            manLocDetl.setMaktx(mat.getMaktx());
            manLocDetl.setName(mat.getName());
            manLocDetl.setSpecs(mat.getSpecs());
            manLocDetl.setModel(mat.getModel());
            manLocDetl.setBatch(locDetlAdjust.getBatch());
            manLocDetl.setUnit(mat.getUnit());
            manLocDetl.setBarcode(mat.getBarcode());
            manLocDetl.setPrice(mat.getPrice());
            manLocDetl.setDanger(locDetlAdjust.getDanger());
            SaasUtils.insertLog(3,manLocDetl.getLocNo(), manLocDetl.getMatnr(),manLocDetl.getAnfme());
            this.baseMapper.insert(manLocDetl);
        }
    }
    @Override
    public Page<ManLocDetl> selectAllPage(Page<ManLocDetl> param) {
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -353,7 +353,8 @@
                }
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setBatch(detlDto.getBatch());
                waitPakin.setSku(detlDto.getBatch());
                //waitPakin.setBatch(detlDto.getBatch());
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAnfme(detlDto.getAnfme());  // 数量
@@ -546,6 +547,7 @@
            Mat mat = matService.selectByMatnr(combMat.getMatnr());
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(mat);
            wrkDetl.setSku(combMat.getBatch());
            wrkDetl.setBatch(combMat.getBatch());
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            wrkDetl.setOrderNo(param.getOrderNo());
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -278,7 +278,7 @@
        List<DetlDto> list = new ArrayList<>();
        List<DetlDto> orderDetails = param.getDetails();
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo()
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),param.getFromOrderNo()
                    , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4());
            dto.setTemp1(param.getQuality());
            if (DetlDto.has(list, dto)) {
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1226,7 +1226,7 @@
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("库位不存在");
        }
        if (!(locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
        if (!(locMast.getLocSts().equals("P") ||locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") || locMast.getLocSts().equals("O"))) {
            throw new CoolException("当前库位不可调整!库位状态:" + locMast.getLocSts$());
        }
@@ -1337,6 +1337,9 @@
        }
        locMast.setModiUser(userId);
        locMast.setModiTime(now);
        if (locMast.getLocSts().equals("O")){
            locMast.setBarcode("");
        }
        if (!locMastService.updateById(locMast)) {
            throw new CoolException("更新库位状态失败");
        }
@@ -1529,7 +1532,7 @@
        // 获取目标站
        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                .eq("type_no", wrkMast.getIoType() - 50)
                .eq("stn_no", wrkMast.getStaNo()) // 作业站点 = 拣料出库的目标站
                .eq("stn_no", wrkMast.getSourceStaNo()) // 作业站点 = 拣料出库的目标站
                .eq("crn_no", wrkMast.getCrnNo()); // 堆垛机号
        StaDesc staDesc = staDescService.selectOne(wrapper);
        if (Cools.isEmpty(staDesc)) {
src/main/resources/license.lic
Binary files differ
src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html
@@ -150,10 +150,10 @@
    <!--        </div>-->
    <!--    </div>-->
<!--    <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon">&#xe681;</i>提交ERP</button>-->
    <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon">&#xe681;</i>提交ERP</button>
    <button id="showFormBtn" class="layui-btn icon-btn"  lay-submit>
        <i class="layui-icon">&#xe654;</i>添加单据
    </button>
<!--    <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon">&#xe681;</i>提交ERP</button>-->
<!--    <button id="showFormBtn" class="layui-btn icon-btn"  lay-submit>-->
<!--        <i class="layui-icon">&#xe654;</i>添加单据-->
<!--    </button>-->
</script>
<!-- 行工具栏 -->
src/main/webapp/views/pakStore/crnLocCheckOut.html
@@ -101,10 +101,10 @@
    <script type="text/html" id="toolbar">
        <div class="layui-form">
            <div class="layui-btn-container">
                <span id="orderSpan">盘点单:</span>
                <select id="orderSelect" lay-verify="required">
                    <option value="">请选择单据</option>
                </select>
<!--                <span id="orderSpan">盘点单:</span>-->
<!--                <select id="orderSelect" lay-verify="required">-->
<!--                    <option value="">请选择单据</option>-->
<!--                </select>-->
                <!-- 1.选择出库口 -->
                <span id="staNoSpan">盘点站:</span>
                <select id="staNoSelect" lay-verify="required">
src/main/webapp/views/pakStoreSxk/crnLocCheckOut.html
@@ -101,10 +101,10 @@
    <script type="text/html" id="toolbar">
        <div class="layui-form">
            <div class="layui-btn-container">
                <span id="orderSpan">盘点单:</span>
                <select id="orderSelect" lay-verify="required">
                    <option value="">请选择单据</option>
                </select>
<!--                <span id="orderSpan">盘点单:</span>-->
<!--                <select id="orderSelect" lay-verify="required">-->
<!--                    <option value="">请选择单据</option>-->
<!--                </select>-->
                <!-- 1.选择出库口 -->
                <span id="staNoSpan">盘点站:</span>
                <select id="staNoSelect" lay-verify="required">