| src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/LocMast.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/WrkMast.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/entity/param/ErpPakinReportParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/web/param/SearchLocParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -60,9 +60,6 @@ private LocMastService locMastService; @Autowired private ReportQueryMapper reportQueryMapper; @Autowired private WorkService workService; // @PostMapping("/order/matSync/default/v1") //// @AppAuth(memo = "商品信息同步接口") // public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey, @@ -480,10 +477,11 @@ */ @PostMapping("/outOrder") public synchronized R outOrder (@RequestBody ArrayList<OutTaskParam> params){ public synchronized R outOrder(@RequestBody ArrayList<OutTaskParam> params, HttpServletRequest request) { if (Cools.isEmpty(params)) { return R.error("请求参数不能为空"); } request.setAttribute("cache", params); Set<String> orderIds = new LinkedHashSet<>(); for (OutTaskParam outTaskParam : params) { if (Cools.isEmpty(outTaskParam) || Cools.isEmpty(outTaskParam.getOrderId())) { @@ -509,7 +507,7 @@ Collections.sort(seqs); for (int i = 0; i < seqs.size(); i++) { if (!String.valueOf(seqs.get(i)).equals(String.valueOf(i + 1))) { return R.error("出库单「" + oid + "」序号不连续"); return R.error("出库单「" + oid + "」序号不连贯"); } } } src/main/java/com/zy/asrs/entity/LocMast.java
@@ -14,6 +14,7 @@ import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; @@ -162,7 +163,7 @@ @ApiModelProperty(value= "") @TableField("sc_weight") private Double scWeight; private BigDecimal scWeight; @ApiModelProperty(value= "") @TableField("inv_wh") src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -13,6 +13,7 @@ import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; @@ -272,7 +273,7 @@ @ApiModelProperty(value= "") @TableField("sc_weight") private Double scWeight; private BigDecimal scWeight; @ApiModelProperty(value= "") @TableField("log_mk") src/main/java/com/zy/asrs/entity/param/ErpPakinReportParam.java
@@ -2,6 +2,8 @@ import lombok.Data; import java.math.BigDecimal; @Data public class ErpPakinReportParam { @@ -11,7 +13,7 @@ private String locId; private Double weight; private BigDecimal weight; private String createTime; src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1685,7 +1685,7 @@ } LocTypeDto locTypeDto = new LocTypeDto(); locTypeDto.setLocType1((short) 1); return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list); return wcsController.startupFullPutStore(301, list.get(0).getZpallet(), locTypeDto, list, null); } @Override src/main/java/com/zy/asrs/task/handler/WorkErpReportHandler.java
@@ -22,6 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -92,8 +93,6 @@ } String newLocId = row + "-" + col + "-" + lev; param.setLocId(newLocId); // TODO:模擬寫死重量1000KG,需後續刪除 param.setWeight(1000.0); String request = JSON.toJSONString(param); String response = ""; @@ -159,13 +158,20 @@ param.setPalletId(resolvePalletId(wrkMast, wrkDetls)); param.setAnfme(sumAnfme(wrkDetls)); param.setLocId(wrkMast.getLocNo()); param.setWeight(sumWeight(wrkDetls)); // param.setWeight(sumWeight(wrkDetls)); param.setWeight(adjustErpReportWeight(wrkMast.getScWeight())); param.setCreateTime(formatDate(resolveCreateTime(wrkMast))); param.setBizNo(resolveBizNo(wrkDetls, waitPakin)); param.setStartTime(formatDate(resolveStartTime(wrkMast, waitPakin))); return param; } /** 上报 ERP 重量:称重减固定值,负则按 0 */ private static BigDecimal adjustErpReportWeight(BigDecimal scWeight) { BigDecimal base = scWeight == null ? BigDecimal.ZERO : scWeight; BigDecimal v = base.subtract(new BigDecimal("20")); return v.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : v; } private String resolvePalletId(WrkMast wrkMast, List<WrkDetl> wrkDetls) { if (!Cools.isEmpty(wrkMast.getBarcode())) { return wrkMast.getBarcode(); src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -528,6 +529,7 @@ if (locMast.getLocSts().equals("R")) { locMast.setLocSts("O"); locMast.setBarcode(""); locMast.setScWeight(BigDecimal.ZERO); locMast.setModiTime(now); locMast.setIoTime(now); if (!locMastService.updateById(locMast)) { @@ -577,6 +579,7 @@ if (locMast.getLocSts().equals("R")) { locMast.setLocSts("O"); locMast.setBarcode(""); locMast.setScWeight(BigDecimal.ZERO); locMast.setModiTime(now); locMast.setIoTime(now); if (!locMastService.updateById(locMast)) { src/main/java/com/zy/common/web/WcsController.java
@@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -135,7 +136,7 @@ locTypeDto.setLocType2((short) 1); } StartupDto dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins); StartupDto dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins,param.getWeight()); log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarcode()); return R.ok().add(dto); } finally { @@ -444,7 +445,7 @@ * 全板入库 */ @Transactional public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) { public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins, BigDecimal weight) { long startTime = System.currentTimeMillis(); try { // 源站点状态检测 @@ -478,6 +479,7 @@ wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("N"); // 空板 wrkMast.setLinkMis("Y"); wrkMast.setScWeight(weight); // 把 referenceId/orderNo 透传到工作主档,便于作业完成后继续回传给 IoT。 wrkMast.setUserNo(waitPakins.get(0).getOrderNo()); wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 @@ -496,6 +498,7 @@ wrkDetl.setIoTime(wrkMast.getIoTime()); wrkDetl.setAppeTime(now); wrkDetl.setModiTime(now); wrkDetl.setWeight(waitPakin.getWeight()); if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("保存工作明细失败"); } @@ -521,6 +524,7 @@ if (locMast.getLocSts().equals("O")) { locMast.setLocSts("S"); // S.入库预约 locMast.setModiTime(now); locMast.setScWeight(weight); if (!locMastService.updateById(locMast)) { throw new CoolException("改变库位状态失败"); } src/main/java/com/zy/common/web/param/SearchLocParam.java
@@ -2,6 +2,7 @@ import lombok.Data; import java.math.BigDecimal; import java.util.List; /** @@ -18,4 +19,5 @@ private Integer ioType; private Integer outArea; private BigDecimal weight; }