自动化立体仓库 - WMS系统
skyouc
昨天 8575002e3bce8a6d16633d5c1a4eed99ccf638ce
no message
10个文件已修改
181 ■■■■■ 已修改文件
src/main/java/com/zy/api/controller/KopenApiController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/enums/OrderWkType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/KopenApiService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMast.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/basStation/basStation.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/orderPakout/agvOut.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/controller/KopenApiController.java
@@ -9,14 +9,20 @@
import com.zy.api.entity.SyncMatParmas;
import com.zy.api.service.KopenApiService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Objects;
@Slf4j
@RestController
@RequestMapping("/kopen")
public class KopenApiController {
@@ -54,14 +60,10 @@
     */
    @ApiOperation("零件信息数据更新")
    @PostMapping("/sendPartsMaster")
    public R basMatUpdate(@RequestBody SyncMatParmas params) {
        if (Objects.isNull(params)) {
    public R basMatUpdate(@RequestBody List<SyncMatParmas> params) {
        if (Objects.isNull(params) || params.isEmpty()) {
            return R.error("参数不能为空!!");
        }
        if (Objects.isNull(params.getPro_komcode())) {
            return R.error("零件编码不能为空!!");
        }
        return kopenApiService.basMatupdate(params);
    }
src/main/java/com/zy/api/enums/OrderWkType.java
@@ -28,7 +28,7 @@
            return OrderType.ORDER_IN.type;
        } else if (val.equals(OrderWkType.ORDER_WK_BAG_IN.val)) {
            return OrderType.ORDER_IN.type;
        } else if (val.equals(OrderWkType.ORDER_WK_ORDER_OUT.val)  || val.equals(OrderWkType.ORDER_WK_ORDER_OUT.val)  || val.equals(OrderWkType.ORDER_WK_ORDER_OUT.val)) {
        } else if (val.equals(OrderWkType.ORDER_WK_ORDER_OUT_EO.val)  || val.equals(OrderWkType.ORDER_WK_ORDER_OUT_SO.val)  || val.equals(OrderWkType.ORDER_WK_ORDER_OUT.val)) {
            return OrderType.ORDER_OUT.type;
        } else {
            return OrderType.ORDER_OUT.type;
src/main/java/com/zy/api/service/KopenApiService.java
@@ -1,5 +1,7 @@
package com.zy.api.service;
import java.util.List;
import com.core.common.R;
import com.zy.api.entity.PubOrderParams;
import com.zy.api.entity.ReportOrderParam;
@@ -25,7 +27,7 @@
     * @param matnrs
     * @return com.core.common.R
     */
    R basMatupdate(SyncMatParmas matnrs);
    R basMatupdate(List<SyncMatParmas> matnrs);
    /**
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -184,46 +184,52 @@
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public synchronized R basMatupdate(SyncMatParmas params) {
        if (Objects.isNull(params.getPro_komcode())) {
            return R.error("零件编码不能为空!!");
    public synchronized R basMatupdate(List<SyncMatParmas> params) {
        if (Objects.isNull(params) || params.isEmpty()) {
            return R.error("参数不能为空!!");
        }
        Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", params.getPro_komcode()));
        if (!Objects.isNull(matnr)) {
            // 订单时间
            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
                Date date1 = Utils.getFormateDate(params.getUpdate_time());
                matnr.setUpdateTime(date1);
        params.forEach(mats -> {
            if (Objects.isNull(mats) ) {
                throw new CoolException("物料编码不能为空!!");
            }
            matnr.setMaktx(params.getPro_name());
            matnr.setSpecs(params.getPro_size());
            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
            matnr.setSuppCode(params.getPro_id());
            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
            matnr.setManu(params.getCompany_id());
            if (!matService.updateById(matnr)) {
                throw new CoolException("物料更新失败或无需更新!!");
            Mat matnr = matService.selectByMatnr(mats.getPro_komcode());
            if (!Objects.isNull(matnr)) {
                // 订单时间
                if (Utils.isValidFormat(mats.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
                    Date date1 = Utils.getFormateDate(mats.getUpdate_time());
                    matnr.setUpdateTime(date1);
                }
                matnr.setMaktx(mats.getPro_name());
                matnr.setSpecs(mats.getPro_size());
                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
                matnr.setSuppCode(mats.getPro_id());
                matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
                matnr.setManu(mats.getCompany_id());
                if (!matService.updateById(matnr)) {
                    throw new CoolException("物料更新失败或无需更新!!");
                }
            } else {
                if (Objects.isNull(matnr)) {
                    matnr = new Mat();
                }
                // 订单时间
                if (Utils.isValidFormat(mats.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
                    Date date1 = Utils.getFormateDate(mats.getUpdate_time());
                    matnr.setUpdateTime(date1);
                }
                matnr.setMaktx(mats.getPro_name());
                matnr.setMatnr(mats.getPro_komcode());
                matnr.setSpecs(mats.getPro_size());
                matnr.setWeight(Double.parseDouble(mats.getPro_wet()));
                matnr.setSuppCode(mats.getPro_id());
                matnr.setTagId(MatLocType.getTag(mats.getPro_type()));
                matnr.setManu(mats.getCompany_id());
                if (!matService.insert(matnr)) {
                    throw new CoolException("物料更新失败!!");
                }
            }
        } else {
            if (Objects.isNull(matnr)) {
                matnr = new Mat();
            }
            // 订单时间
            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
                Date date1 = Utils.getFormateDate(params.getUpdate_time());
                matnr.setUpdateTime(date1);
            }
            matnr.setMaktx(params.getPro_name());
            matnr.setMatnr(params.getPro_komcode());
            matnr.setSpecs(params.getPro_size());
            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
            matnr.setSuppCode(params.getPro_id());
            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
            matnr.setManu(params.getCompany_id());
            if (!matService.insert(matnr)) {
                throw new CoolException("物料更新失败!!");
            }
        }
        });
        return R.ok("保存成功!!");
    }
@@ -250,8 +256,7 @@
            // 入库
            order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no",
                    orderParams.getDispatch_no()));
        } else if
        (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
        } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) {
            // 出库
            if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) {
                // 备货单出库
src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -247,14 +247,14 @@
    @TableField("appe_time")
    private Date appeTime;
    @ApiModelProperty(value= "")
    @ApiModelProperty(value= "并板出库(缓存区AGV站点")
    @TableField("pause_mk")
    private String pauseMk;
    @ApiModelProperty("并板出库(缓存区AGV站点)")
    @TableField(exist = false)
    private String avgSta;
//    @ApiModelProperty("并板出库(缓存区AGV站点)")
//    @TableField(exist = false)
//    private String avgSta;
    @ApiModelProperty(value= "")
    @TableField("error_time")
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -2230,7 +2230,8 @@
                wrkMast.setStaNo(staDesc.getStnNo() + ""); // 目标站
                wrkMast.setSourceLocNo(locMast.getLocNo()); // 源库位
                //小松项目,缓存出库AGV站点,用于清空缓存区库存
                wrkMast.setAvgSta(station.getDevNo());
                wrkMast.setPauseMk(station.getDevNo());
//                wrkMast.setAvgSta(station.getDevNo());;
                wrkMast.setFullPlt("Y"); // 满板:Y
                wrkMast.setPicking("N"); // 拣料
                wrkMast.setExitMk("N"); // 退出
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1478,10 +1478,6 @@
        if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
            throw new CoolException("当前工作状态无法进行操作");
        }
        String agvSta = null;
        if (wrkMast.getIoType() == TaskIOType.MERGE_OUT.type) {
            agvSta = wrkMast.getAvgSta();
        }
        // 保存工作明细档历史档
//        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
@@ -1516,7 +1512,10 @@
            throw new CoolException("更新工作档数据状态失败");
        }
        // 修改库位状态 Q.拣料/盘点/并板再入库
        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("库位不存在:" + wrkMast.getLocNo());
        }
        locMast.setLocSts("Q");
        locMast.setAreaId(basAreas.getId());
        locMast.setAreaName(basAreas.getName());
@@ -1527,19 +1526,7 @@
            throw new CoolException("修改库位状态失败");
        }
        // . 删除缓存站点明细
        if (!Objects.isNull(agvSta)) {
            // 修改目标站点信息
            BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta));
            if (Objects.isNull(station)) {
                throw new CoolException("站点不存在!!");
            }
            basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
            station.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
            if (!basStationService.updateById(station)) {
                throw new CoolException("站点状态更新失败!!");
            }
        }
        // .修改并托入库明细托码
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
                        .eq("area_id", locMast.getAreaId())
@@ -1555,21 +1542,19 @@
        }
        // .修改任务档明细托盘码
        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
        if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) {
            wrkDetls.forEach(wrkDetl -> {
               wrkDetl.setZpallet(wrkMast.getBarcode());
               wrkDetl.setBarcode(wrkMast.getBarcode());
                if (!wrkDetlService.updateById(wrkDetl)) {
            for (WrkDetl wrkDetl : wrkDetls) {
                wrkDetl.setZpallet(wrkMast.getBarcode());
                wrkDetl.setBarcode(wrkMast.getBarcode());
                if (!wrkDetlService.update(wrkDetl, new EntityWrapper<WrkDetl>()
                                .eq("matnr", wrkDetl.getMatnr())
                                .eq("standby1", wrkDetl.getStandby1())
                        .eq("wrk_no", wrkMast.getWrkNo()))) {
                    throw new CoolException("任务档明细修改失败!!");
                }
            });
            }
        }
    }
    @Override
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,6 +6,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.enums.LocAreaType;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.enums.TaskIOType;
import com.zy.asrs.service.*;
import com.zy.asrs.service.impl.*;
import com.zy.asrs.task.AbstractHandler;
@@ -424,6 +425,28 @@
                                    + wrkMast.getLocNo() + "]");
                        }
                    }
                    String agvSta = null;
                    if (wrkMast.getIoType() == TaskIOType.MERGE_OUT.type) {
                        agvSta = wrkMast.getPauseMk();
                    }
                    // . 删除缓存站点明细
                    if (!Objects.isNull(agvSta)) {
                        // 修改目标站点信息
                        BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>().eq("dev_no", agvSta));
                        if (Objects.isNull(station)) {
                            throw new CoolException("站点不存在!!");
                        }
                        basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
                        station.setLocSts(LocStsType.LOC_STS_TYPE_D.type);
                        if (!basStationService.updateById(station)) {
                            throw new CoolException("站点状态更新失败!!");
                        }
                    }
                    break;
                // 盘点入库
                case 57:
src/main/webapp/static/js/basStation/basStation.js
@@ -26,6 +26,7 @@
            , {field: 'decDesc', align: 'center', title: '设备描述'}
            , {field: 'area', align: 'center', title: '区域'}
            , {field: 'locSts$', align: 'center', title: '状态'}
            , {field: 'barcode', align: 'center', title: '托盘码'}
            , {field: 'ioTime', align: 'center', title: '入出库时间'}
            , {field: 'modiUser$', align: 'center', title: '修改人员'}
            , {field: 'modiTime$', align: 'center', title: '修改时间'}
src/main/webapp/static/js/orderPakout/agvOut.js
@@ -236,7 +236,7 @@
                                                    if (tableCache[i].orderNo === stoPreTabData[j].orderNo
                                                        && tableCache[i].matnr === stoPreTabData[j].matnr
                                                        && tableCache[i].locNo === stoPreTabData[j].locNo) {
                                                        tableCache[i]['staNo'] = batchSta;
                                                        tableCache[i]['agvStaNo'] = batchSta;
                                                        arr.push(i);
                                                    }
                                                }