自动化立体仓库 - WMS系统
18516761980
2022-10-16 3e92e0756704a97537e730627de4ecfe99c0c034
#lsh
10个文件已修改
148 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocMast.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/TestMast.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/StandingHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/locMast/locMast_detail.html 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/testMast/testMast.html 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,7 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
@@ -289,7 +288,10 @@
        }
        if (param.getTestResult().equals("OK")){
            map.put("isComplete",openService.testFinish(param));
        }else {
        }else if(param.getTestResult().equals("NG")){
            openService.testNG(param);
            map.put("isComplete",false);
        }else{
            map.put("isComplete",false);
        }
        return R.ok(map);
src/main/java/com/zy/asrs/entity/LocMast.java
@@ -186,7 +186,7 @@
    @TableField("fire_status")
    private Integer fireStatus;
//    产品状态{0:无,1:待测,2:测试中;3.测试完成;4.静置中;5:静置完成;6:暂停测试;7:紧急出库;}
//    产品状态{0:无,1:待测,2:测试中;3.测试完成;4.测试失败;5.静置中;6:静置完成;7:暂停测试;8:紧急出库;}
    @ApiModelProperty(value= "")
    @TableField("pack_status")
    private Integer packStatus;
@@ -328,6 +328,7 @@
        }
    }
//    产品状态{0:无,1:待测,2:测试中;3.测试完成;4.测试失败;5.静置中;6:静置完成;7:暂停测试;8:紧急出库;}
    public String getPackStatus$() {
        if (null == this.packStatus){ return null; }
        switch (this.packStatus){
@@ -340,12 +341,14 @@
            case 3:
                return "测试完成";
            case 4:
                return "静置中";
                return "测试NG";
            case 5:
                return "静置完成";
                return "静置中";
            case 6:
                return "暂停测试";
                return "静置完成";
            case 7:
                return "暂停测试";
            case 8:
                return "紧急出库";
            default:
                return String.valueOf(this.packStatus);
src/main/java/com/zy/asrs/entity/TestMast.java
@@ -51,7 +51,7 @@
    private String userId;
    /**
     * 状态 0: 待申请  1: 申请中  2: 已复核;3  4: 完成
     * 测试状态 0:暂停;1:申请中;2:已复核;3测试中;4:完成;5已移库;
     */
    @ApiModelProperty(value= "状态 0: 暂停  1: 申请中  2: 复核中  3: 测试中  4: 完成  5.已移库")
    private Integer status;
src/main/java/com/zy/asrs/service/OpenService.java
@@ -60,6 +60,10 @@
     */
    Boolean testFinish(Review review);
    /**
     * pda测试NG(失败)
     */
    Boolean testNG(Review review);
    /**
     * 出库通知单
     */
    void combPackOut(CombParam param);
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -718,11 +718,11 @@
                if (locMast.getLocSts().equals("F")) {
                    locMast.setLocSts("R");
                    locMast.setModiTime(now);
                    locMast.setPackStatus(5); //5:静置完成
                    locMast.setPackStatus(6); //6:静置完成
                    CombParam combParam = new CombParam();
                    combParam.setPackNo(locMast.getBarcode());
                    combParam.setLocNo(locMast.getLocNo());
                    combParam.setPackSts(6);
                    combParam.setPackSts(7);
                    combParam.setRequestTime(DateUtils.convert(new Date()));
                    postMesData(inpath,combParam);
@@ -831,6 +831,46 @@
        return success;
    }
    @Override
    @Transactional
    public Boolean testNG(Review review) {
        Boolean success=true;
        Wrapper wrapper = new EntityWrapper<TestMast>()
                .eq("loc_no", review.getLocNo())
                .eq("barcode", review.getBarcode())
                .eq("user_Id", review.getUserId());
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()));
        if (null == locMast ||locMast.getPackStatus()!=2){
            throw new CoolException("产品状态不是 2:测试中");
        }else if (!review.getBarcode().equals(locMast.getBarcode())){
            throw new CoolException("pack码不同");
        }
        TestMast testMast = testMastService.selectOne(wrapper);
        if(null != testMast){
            if (testMast.getStatus()==3){
                Date date = new Date();
                locMast.setPackStatus(4);
                locMast.setModiTime(date);
                CombParam combParam = new CombParam();
                combParam.setPackNo(locMast.getBarcode());
                combParam.setLocNo(locMast.getLocNo());
                combParam.setPackSts(4);
                combParam.setRequestTime(DateUtils.convert(new Date()));
                postMesData(inpath,combParam);
                if (!locMastService.update(locMast, new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()))){
                    throw new CoolException("更改产品状态失败");
                }
            }else if (Cools.isEmpty(testMast.getStatus())){
                throw new CoolException("状态异常");
            }else {
                throw new CoolException("状态不是 3:测试中");
            }
        } else {
            throw new CoolException("状态异常");
        }
        return success;
    }
    private ReturnT<String> postMesData(String mesPath, Object combParam){
        if(combParam != null){
            String response = "";
src/main/java/com/zy/asrs/task/handler/StandingHandler.java
@@ -62,7 +62,7 @@
            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                    .eq("fire_status", 0)
                    .eq("loc_sts", "F")
                    .eq("pack_status", 4));
                    .eq("pack_status", 5));
            Integer ioType = 101;   //入出库类型
            //静置完成出库站104
            for(LocMast locMast : locMasts){
@@ -115,7 +115,7 @@
                    if (locMast.getLocSts().equals("F")) {
                        locMast.setLocSts("R");
                        locMast.setModiTime(now);
                        locMast.setPackStatus(5); //5:静置完成
                        locMast.setPackStatus(6); //6:静置完成
                        CombParam combParam = new CombParam();
                        combParam.setPackNo(locMast.getBarcode());
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -92,15 +92,6 @@
                    combParam.setRequestTime(DateUtils.convert(new Date()));
                    result = postMesData(outPath,combParam);
                }
            }else if(wrkMast.getWrkSts() == 4 && wrkMast.getIoType() == 11){
                if(wrkDetl != null){
                    CombParam combParam = new CombParam();
                    combParam.setPackNo(wrkDetl.getZpallet());
                    combParam.setLocNo(wrkMast.getLocNo());
                    combParam.setPackSts(5);
                    combParam.setRequestTime(DateUtils.convert(new Date()));
                    result = postMesData(inpath,combParam);
                }
            }
            if(null != result && !result.isSuccess()){
                return result;
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,14 +1,20 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -36,6 +42,13 @@
    private TestMastService testMastService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private ApiLogService apiLogService;
    @Value("${mes.url}")
    private String mesUrl;
    @Value("${mes.inPath}")
    private String inpath;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
@@ -302,7 +315,7 @@
                    if (locMast.getLocType1()==sourceLoc.getLocType1()){
                        locMast.setPackStatus(packStatus);
                    }else {
                        locMast.setPackStatus(4); //4:静置中
                        locMast.setPackStatus(5); //5:静置中
                        if (locMast.getLocType1()==1 && sourceLoc.getLocType1()==2){
                            TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                                    .eq("loc_no",sourceLoc.getLocNo())
@@ -315,6 +328,12 @@
                                throw new CoolException("更改测试状态失败");
                            }
                        }
                        CombParam combParam = new CombParam();
                        combParam.setPackNo(locMast.getBarcode());
                        combParam.setLocNo(locMast.getLocNo());
                        combParam.setPackSts(5);
                        combParam.setRequestTime(DateUtils.convert(new Date()));
                        postMesData(inpath,combParam);
                    }
                    if (!locMastService.updateById(locMast)) {
//                        exceptionHandle("库位移转 ===>> 修改目标库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -436,5 +455,44 @@
        }
        return SUCCESS;
    }
    private ReturnT<String> postMesData(String mesPath,Object combParam){
        if(combParam != null){
            String response = "";
            boolean success = false;
            try {
                response = new HttpHandler.Builder()
                        .setUri(mesUrl)
                        .setPath(mesPath)
                        .setJson(JSON.toJSONString(combParam))
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.getInteger("code").equals(200)) {
                    success = true;
                } else {
                    log.error("请求接口失败!!!url:{};request:{};response:{}", mesUrl+mesPath, JSON.toJSONString(combParam), response);
                    throw new CoolException("上报mes系统失败");
                }
            } catch (Exception e) {
                log.error("fail", e);
//                      TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                return FAIL.setMsg(e.getMessage());
            } finally {
                try {
                    // 保存接口日志
                    apiLogService.save(
                            "上报mes系统",
                            mesUrl + mesPath,
                            null,
                            "127.0.0.1",
                            JSON.toJSONString(combParam),
                            response,
                            success
                    );
                } catch (Exception e) { log.error("", e); }
            }
        }
        return SUCCESS;
    }
}
src/main/webapp/views/locMast/locMast_detail.html
@@ -90,8 +90,11 @@
                    <option value="1">待测</option>
                    <option value="2">测试中</option>
                    <option value="3">测试完成</option>
                    <option value="4">静置中</option>
                    <option value="5">静置完成</option>
                    <option value="4">测试失败</option>
                    <option value="5">静置中</option>
                    <option value="6">静置完成</option>
                    <option value="7">暂停测试</option>
                    <option value="8">紧急出库</option>
                </select>
            </div>
        </div>
src/main/webapp/views/testMast/testMast.html
@@ -96,6 +96,7 @@
                            <option value="2">已复核</option>
                            <option value="3">测试中</option>
                            <option value="4">完成</option>
                            <option value="5">已移库</option>
                        </select>
                    </div>
                </div>