src/main/java/com/zy/api/controller/KopenApiController.java
@@ -5,17 +5,24 @@ import com.zy.api.entity.OrderParams; import com.zy.api.entity.PubOrderParams; import com.zy.api.entity.ReportOrderParam; import com.zy.api.entity.StockUpOrderParams; 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 { @@ -53,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); } @@ -103,4 +106,47 @@ return kopenApiService.sendOutDispatch(params); } // /** // * 备货指示派工单反馈 // * @author Ryan // * @date 2025/11/24 15:22 // * @param params // * @return com.core.common.R // */ // @ApiOperation("备货指示派工单反馈") // @PostMapping("/getOutDispatchResult") // public R getOutDispatchResult(@RequestBody ReportOrderParam params) { // if (Objects.isNull(params)) { // return R.error("参数不能为空!!"); // } // if (Objects.isNull(params.getKopen_id()) && Objects.isNull(params.getInv_no()) && Objects.isNull(params.getDispatch_no())) { // return R.error("取消条件不能为空!!"); // } // return kopenApiService.getOutDispatchResult(params); // } /** * 备货单下发 * @author Ryan * @date 2025/11/24 15:21 * @param params * @return com.core.common.R */ @ApiOperation("备货单下发") @PostMapping("/getOutDetails") public R getOutDetails(@RequestBody StockUpOrderParams params) { if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) { return R.error("上报订单列表不能为空!!"); } return kopenApiService.getOutDetails(params); } } src/main/java/com/zy/api/entity/OrderItemsParam.java
@@ -39,4 +39,7 @@ @ApiModelProperty("变更数量") private Integer new_qty; @ApiModelProperty("捆绑/叫料/数量数量") private Integer pick_qty; } src/main/java/com/zy/api/entity/OrderParams.java
@@ -26,7 +26,7 @@ @ApiModelProperty("公司ID") private String company_id; @ApiModelProperty("入库类型 1: 采购入库,2: 调拨入库,3: 销售退货入库,4: 套包入库, 5:SO, 6:EO") @ApiModelProperty("入库类型 1: 采购入库,2: 调拨入库,3: 销售退货入库,4: 套包入库, 5:SO, 6:EO, 7:出库") private String type; @ApiModelProperty("箱号") @@ -42,6 +42,25 @@ private String source_location; @ApiModelProperty("拣货单号") private String pick_no; @ApiModelProperty("订单号") private String order_no; @ApiModelProperty("客户ID") private String cus_id; @ApiModelProperty("客户地址") private String cus_address; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private String update_time; src/main/java/com/zy/api/entity/OutOrderParams.java
New file @@ -0,0 +1,34 @@ package com.zy.api.entity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "OutOrderParams", description = "备货订单参数") public class OutOrderParams implements Serializable { @ApiModelProperty("明细备货单号") private String pick_no; @ApiModelProperty("订单号") private String order_no; @ApiModelProperty("客户") private String cus_id; @ApiModelProperty("客户地址") private String cus_address; @ApiModelProperty("业务类型") private String type; @ApiModelProperty("订单明细") private List<OrderItemsParam> partList; } src/main/java/com/zy/api/entity/PubOrderParams.java
@@ -10,7 +10,7 @@ @Data @Accessors(chain = true) @ApiModel(value = "PubOrderParams", description = "发布订单信息") public class PubOrderParams extends OrderParams{ public class PubOrderParams extends OrderParams { @ApiModelProperty("入库物料列表") List<OrderItemsParam> details; src/main/java/com/zy/api/entity/StockUpOrderParams.java
New file @@ -0,0 +1,19 @@ package com.zy.api.entity; import java.util.List; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; @Data @Accessors(chain = true) @ApiModel(value = "StockUpOrderParams", description = "备货订单参数") public class StockUpOrderParams extends OrderParams{ @ApiModelProperty("订单明细") private List<OutOrderParams> details; } src/main/java/com/zy/api/enums/OrderWkType.java
@@ -9,7 +9,7 @@ ORDER_WK_BAG_IN("4", "套包入库"), ORDER_WK_ORDER_OUT_EO("EO", "备货指示派工单(EO)"), ORDER_WK_ORDER_OUT_SO("SO", "备货指示派工单(SO)"), ORDER_WK_ORDER_OUT("29", "备货单"); ORDER_WK_ORDER_OUT("14", "备货单"); OrderWkType(String val, String desc) { this.val = val; @@ -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,8 +1,11 @@ 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; import com.zy.api.entity.StockUpOrderParams; import com.zy.api.entity.SyncMatParmas; public interface KopenApiService { @@ -24,7 +27,7 @@ * @param matnrs * @return com.core.common.R */ R basMatupdate(SyncMatParmas matnrs); R basMatupdate(List<SyncMatParmas> matnrs); /** @@ -47,4 +50,13 @@ * @return */ R sendOutDispatch(PubOrderParams params); /** * 备货单下发 * @author Ryan * @date 2025/11/24 15:40 * @param params * @return com.core.common.R */ R getOutDetails(StockUpOrderParams params); } src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.R; import com.core.exception.CoolException; import com.zy.api.entity.OrderItemsParam; import com.zy.api.entity.OrderParams; import com.zy.api.entity.OutOrderParams; import com.zy.api.entity.PubOrderParams; import com.zy.api.entity.ReportOrderParam; import com.zy.api.entity.StockUpOrderParams; import com.zy.api.entity.SyncMatParmas; import com.zy.api.enums.MatLocType; import com.zy.api.enums.OrderType; @@ -29,7 +32,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; @Service("kopenApiServiceImpl") @@ -45,10 +50,10 @@ /** * 接收下发订单信息 * * @author Ryan * @date 2025/11/24 14:49 * @param params * @return com.core.common.R * @author Ryan * @date 2025/11/24 14:49 */ @Override public R receiveOrders(PubOrderParams params) { @@ -61,7 +66,7 @@ /** * 上架派工单反馈 * * * @author Ryan * @date 2025/11/24 15:33 */ @@ -96,13 +101,14 @@ } /* */ /** * 备货指示派工单下发 * * @author Ryan * @date 2025/11/24 15:21 * * @param params * @return com.core.common.R * @author Ryan * @date 2025/11/24 15:21 */ @Override @Transactional(rollbackFor = Exception.class) @@ -126,95 +132,104 @@ return R.ok("备货指示派工单下发成功!!"); } /** * 备货指示派工单 * * @author Ryan * @date 2025/12/16 9:15 * @param params */ private void outOrderAddAndUpdate(PubOrderParams params, String type) { if (Objects.isNull(params)) { throw new CoolException("参数不能为空!!"); } if (Objects.isNull(params.getType())) { throw new CoolException("订单类型不能为空!!"); } // /** // * 备货指示派工单 // * // * @author Ryan // * @date 2025/12/16 9:15 // * @param params // */ // private void outOrderAddAndUpdate(PubOrderParams params, String type) { // if (Objects.isNull(params)) { // throw new CoolException("参数不能为空!!"); // } // if (Objects.isNull(params.getType())) { // throw new CoolException("订单类型不能为空!!"); // } OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class); Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getInv_no())); if (type.equals("add") && !Objects.isNull(order)) { throw new CoolException("单据已存在, 不可重复添加!!"); } // 判断订单是否存在 if (Objects.isNull(order)) { /** 不存在,新增订单 */ generateOrders(params); } else { /** 存在,删除老订单,更新插入新订单 */ // 删除旧订单明细 if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { throw new CoolException("订单明细删除失败!!"); } ; if (!orderService.deleteById(order.getId())) { throw new CoolException("原单据删除失败!!"); } generateOrders(params); } // OrderParams orderParams = // JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class); // Order order = orderService.selectOne(new // EntityWrapper<Order>().eq("order_no", orderParams.getInv_no())); // if (type.equals("add") && !Objects.isNull(order)) { // throw new CoolException("单据已存在, 不可重复添加!!"); // } // // 判断订单是否存在 // if (Objects.isNull(order)) { // /** 不存在,新增订单 */ // generateOrders(params); // } else { // /** 存在,删除老订单,更新插入新订单 */ // // 删除旧订单明细 // if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", // order.getId()))) { // throw new CoolException("订单明细删除失败!!"); // } // ; // if (!orderService.deleteById(order.getId())) { // throw new CoolException("原单据删除失败!!"); // } // generateOrders(params); // } } // } /** * 基础零件变更 * * @author Ryan * @date 2025/11/24 15:05 * @param params * @return com.core.common.R * @author Ryan * @date 2025/11/24 15:05 */ @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("保存成功!!"); } @@ -234,14 +249,28 @@ throw new CoolException("订单类型不能为空!!"); } OrderParams orderParams = JSONObject.parseObject(JSONObject.toJSONString(params), OrderParams.class); // Order order = orderService.selectOne(new // EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no())); Order order = new Order(); if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) { // 入库 order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getInv_no())); order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no())); } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) { // 出库 order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no())); if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) { // 备货单出库 order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getPick_no())); } else if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType()) || OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType())) { // 备货指示派工单(EO/SO)出库 order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderParams.getDispatch_no())); } } // 出库 if (type.equals("add") && !Objects.isNull(order)) { throw new CoolException("单据已存在, 不可重复添加!!"); } @@ -269,29 +298,40 @@ /** * 生成订单信息 * * * @param params */ @Transactional(rollbackFor = Exception.class) public void generateOrders(PubOrderParams params) { // 将数据当新订单插入 Order newOrder = new Order(); // 派工单号 newOrder.setOrderNo(params.getDispatch_no()); if (OrderType.ORDER_IN.type.equals(OrderWkType.getTypeVal(params.getType()))) { // 入库 newOrder.setPakinPakoutStatus(1); newOrder.setDocType(Long.parseLong(params.getType())); newOrder.setOrderNo(params.getInv_no()); newOrder.setNumber(params.getInv_no()); } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) { // 出库 if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) { // 备货单出库 newOrder.setOrderNo(params.getPick_no()); newOrder.setNumber(params.getDispatch_no()); newOrder.setCstmrName(params.getCus_id()); newOrder.setTel(params.getCus_address()); newOrder.setDocType(Long.parseLong(OrderTypeEnum.STOCK.type + "")); } else if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType()) || OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType())) { // 备货指示派工单(EO/SO)出库 newOrder.setDocType(Long.parseLong(OrderTypeEnum.TRANSFER.type + "")); } newOrder.setPakinPakoutStatus(2); newOrder.setDocType(Long.parseLong(OrderTypeEnum.TRANSFER.type + "")); newOrder.setOrderNo(params.getDispatch_no()); } newOrder.setUuid(generateUUID(params)); // 流水号(唯一) newOrder.setDefNumber(params.getKopen_id()); // 派工单号 newOrder.setNumber(params.getDispatch_no()); // 箱号 newOrder.setItemName(params.getPm_tktid()); newOrder.setSettle(OrderSettle.ORDER_SETTLE_HOLDING.type); @@ -323,8 +363,14 @@ orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0); } else if (OrderType.ORDER_OUT.type.equals(OrderWkType.getTypeVal(params.getType()))) { // 出库 newOrder.setPakinPakoutStatus(2); orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0); if (OrderWkType.ORDER_WK_ORDER_OUT.val.equals(params.getType())) { // 备货单出库 orderItem.setAnfme(Math.round(item.getPick_qty() * 10000) / 10000.0); } else if (OrderWkType.ORDER_WK_ORDER_OUT_EO.val.equals(params.getType()) || OrderWkType.ORDER_WK_ORDER_OUT_SO.val.equals(params.getType())) { // 备货指示派工单(EO/SO)出库 orderItem.setAnfme(Math.round(item.getOrder_qty() * 10000) / 10000.0); } } orderItem.setMatnr(matnr.getMatnr()); orderItem.setMaktx(matnr.getMaktx()); @@ -344,4 +390,56 @@ } } /** * 备货单下发 * * @param params * @return com.core.common.R * @author Ryan * @date 2025/11/24 15:40 */ @Override public R getOutDetails(StockUpOrderParams params) { if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } // 校验参数 if (Objects.isNull(params.getDispatch_no())) { return R.error("派工单编号不能为空!!"); } if (Objects.isNull(params.getKopen_id())) { return R.error("流水号不能为空!!"); } if (Objects.isNull(params.getCompany_id())) { return R.error("公司ID不能为空!!"); } if (Objects.isNull(params.getDetails()) || params.getDetails().isEmpty()) { return R.error("订单明细不能为空!!"); } List<OrderItemsParam> items = new ArrayList<>(); if (params.getDetails() != null) { for (OutOrderParams detail : params.getDetails()) { if (detail.getPartList() != null) { items.addAll(detail.getPartList()); } } } params.getDetails().forEach(item -> { PubOrderParams pubOrderParams = new PubOrderParams(); BeanUtils.copyProperties(params, pubOrderParams); pubOrderParams.setType(item.getType()) .setPick_no(item.getPick_no()) .setCus_address(item.getCus_address()) .setOrder_no(item.getOrder_no()) .setUpdate_time(params.getUpdate_time()) .setCus_id(item.getCus_id()); pubOrderParams.setDetails(item.getPartList()); addOrUpdateOrders(pubOrderParams, "add"); }); return R.ok("备货单下发成功!!"); } } 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); } }