src/main/java/com/zy/asrs/controller/MobileController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/TrussCombParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/image/logo.png | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/index.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/login.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -71,6 +71,13 @@ return R.ok("下架成功"); } @RequestMapping("/search/sign/auth/v2") // @ManagerAuth(memo = "拆叠盘模式切换") public R orderSearchByBarcodeV2(@RequestParam boolean sign){ Integer signRu = 1; return R.ok(signRu); } // 组托 ---------------------------------------------------------------------------------------------------- @@ -144,6 +151,57 @@ return R.ok().add(combParams); } @RequestMapping("/order/search/orderNo/auth/v2") @ManagerAuth(memo = "退库单获取") public R orderSearchByBarcodeV2(@RequestParam String orderNo){ if (Cools.isEmpty(orderNo)){ orderNo=null; } List<Order> orders = orderService.selectorderNoL(orderNo); if (Cools.isEmpty(orders)){ return R.ok(); } LinkedList<CombParam> combParams = new LinkedList<>(); if (!Cools.isEmpty(orders)){ for (Order order:orders){ CombParam combParam=new CombParam(); if (order == null) { continue; } DocType docType = docTypeService.selectById(order.getDocType()); if (docType.getPakin() == null || docType.getPakin() != 1 || !docType.getDocName().equals("退货入库单")) { continue; } if (order.getSettle() > 2) { continue; } List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId()); if (!Cools.isEmpty(orderDetls)) { LinkedList<CombParam.CombMat> combMats = new LinkedList<>(); for (OrderDetl orderDetl:orderDetls){ if (orderDetl.getWorkQty()!=0){ continue; } CombParam.CombMat combMat = new CombParam.CombMat(); combMat.setMatnr(orderDetl.getMatnr()); combMat.setBatch(orderDetl.getBatch()); combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty()); combMat.setMaktx(orderDetl.getMaktx()); combMat.setSpecs(orderDetl.getSpecs()); combMats.add(combMat); } if (combMats.size()==0){ continue; } combParam.setCombMats(combMats); } combParam.setOrderNo(order.getOrderNo()); combParams.add(combParam); } } return R.ok().add(combParams); } @RequestMapping("/wrkDetl/search/batch/auth") @ManagerAuth(memo = "出库确认获取信息") public R wrkDetlSearchByBatch(@RequestBody String batch){ src/main/java/com/zy/asrs/entity/param/TrussCombParam.java
@@ -20,17 +20,17 @@ public class TrussCombParam { private String barcode;// 字符串 托盘码 订单共用 //上传 private Integer souSta;// 字符串 托盘码 订单共用 private Integer souSta;// 字符串 原站点 订单共用 private Integer palletizingNo;// 是 字符串 码垛位编号 private Integer staStart;// 是 字符串 码垛位编号 private Integer palletizingNo2;// 是 字符串 目标码垛位编号 订单共用 //上传 private Integer palletizingNo2;// 是 字符串 目标码垛位编号 订单共用 //上传 //PDA private Integer staEnd;// 是 字符串 目标码垛位编号 订单共用 //上传 private String boxType;// 是 字符串 木箱类型 brand //上传 private String boxType;// 是 字符串 木箱类型 brand //上传 //PDA private String uuid;// 字符串 时间戳 //上传 private String createTime;// 字符串 创建时间 private String orderNo;// 字符串 订单号 //上传 private String orderNo;// 字符串 订单号 //上传 //PDA private List<MatList> matList;// 是 列表 拆垛货物信息(2箱,尾箱可能1箱) //上传 private List<MatList> matList;// 是 列表 拆垛货物信息(2箱,尾箱可能1箱) //上传 //PDA @Data public static class MatList{ @@ -40,9 +40,10 @@ private String position;// 是 字符串 木箱位置(拆垛时需要) origin //上传 private Double weight;// 是 小数型 重量 //上传 private Integer anfme;// 数字型 木箱中铜箔数量 //上传 private String batch;// 字符串 箱号 private String batch;// 字符串 箱号 //PDA private String specs;// 字符串 规格 private String standby4;// 卷信息Id //上传 private String model;// 字符串 规格 // private String standby4;// 卷信息Id //上传 private List<MatDetlList> matDetlList;// 是 列表 木箱中铜箔信息 } src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -83,6 +83,8 @@ private ManLocDetlMapper manLocDetlMapper; @Autowired private DocTypeService docTypeService; @Autowired private LocDetlRullUpDetailService locDetlRullUpDetailService; @Override @@ -96,81 +98,53 @@ throw new CoolException("参数:托盘码为空"); } } param.setPalletizingNo(147); //判断param参数 if (Cools.isEmpty(param.getPalletizingNo())){ throw new CoolException("参数:站点编号为空"); }else if (Cools.isEmpty(param.getOrderNo())){ throw new CoolException("参数:退货单单号 orderNo为空"); }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() != 1){ throw new CoolException("参数:物料明细 matLists为空"); }else if (param.getSouSta()==145 || param.getMatList().size() != 1){ throw new CoolException("参数:原站点编号为空"); }else if (param.getSouSta()==145 && param.getMatList().size() != 1){ throw new CoolException("参数:物料明细 matLists为空 或者 大于1个明细"); }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size() > 2){ throw new CoolException("参数:物料明细 matLists为空 或者 大于2个明细"); } Order order = orderService.selectByNo(param.getOrderNo()); if (Cools.isEmpty(order)){ throw new CoolException("未查询到此订单,单号:"+param.getOrderNo()); } DocType docType = docTypeService.selectById(order.getDocType()); if (Cools.isEmpty(docType) || !docType.getDocName().equals("退货入库单")){ throw new CoolException("单号:"+param.getOrderNo()+"不是退货入库单"); } List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); if (Cools.isEmpty(orderDetls) || orderDetls.size()==0){ throw new CoolException("未查询到此订单明细,单号:"+param.getOrderNo()); } List<String> orderBoxNoList = new ArrayList<>(); for (OrderDetl orderDetl: orderDetls){ if (orderDetl.getWorkQty()==0){ orderBoxNoList.add(orderDetl.getBatch()); } } if (orderBoxNoList.size()==0 || orderBoxNoList.size()<param.getMatList().size()){ throw new CoolException("单号:"+param.getOrderNo()+" 退货数量大于明细数量"); } List<String> matListBoxNoList = new ArrayList<>(); for (TrussCombParam.MatList matList: param.getMatList()){ if (!orderBoxNoList.contains(matList.getBoxNo())){ throw new CoolException("单号:"+param.getOrderNo()+" 箱号:"+matList.getBatch()+"不属于此订单或者已经入库"); }else { matListBoxNoList.add(matList.getBoxNo()); } } List<OrderDetl> orderDetlList = new ArrayList<>(); for (OrderDetl orderDetl: orderDetls){ if (matListBoxNoList.contains(orderDetl.getBatch())){ orderDetl.setBrand("1"); orderDetlList.add(orderDetl); } } String matnr = null; List<WaitPakin> waitPakins = new ArrayList<>(); for (OrderDetl orderDetl:orderDetlList){ Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); for (TrussCombParam.MatList matList:param.getMatList()){ long rollUp = new Date().getTime(); Mat mat = matService.selectByMatnr(matList.getMatnr()); if (Cools.isEmpty(mat)) { throw new CoolException(orderDetl.getMatnr() + "商品档案不存在"); throw new CoolException(matList.getMatnr() + "商品档案不存在"); } matnr = mat.getMatnr(); WaitPakin waitPakin = new WaitPakin(); waitPakin.sync(mat); waitPakin.setModel(orderDetl.getModel()); //批次 waitPakin.setSpecs(orderDetl.getSpecs()); //规格 waitPakin.setBatch(orderDetl.getBatch()); //木箱编码 waitPakin.setModel(matList.getModel()); //批次 waitPakin.setSpecs(matList.getSpecs()); //规格 waitPakin.setBatch(matList.getBatch()); //木箱编码 waitPakin.setBrand(param.getBoxType()); //木箱类型 waitPakin.setZpallet(param.getBarcode()); //托盘码 waitPakin.setOrigin(orderDetl.getOrigin()); //木箱在托盘上的位置 waitPakin.setOrigin(matList.getPosition()); //木箱在托盘上的位置 waitPakin.setIoStatus("N"); // 入出状态 waitPakin.setAnfme(orderDetl.getAnfme()); // 木箱中铜箔数量 waitPakin.setAnfme((double)matList.getAnfme()); // 木箱中铜箔数量 waitPakin.setStatus("Y"); // 状态 waitPakin.setAppeUser(userId); waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); waitPakin.setRollUp(orderDetl.getRollUp()); waitPakin.setRollUp(rollUp); if (!Cools.isEmpty(matList.getMatDetlList())){ for (TrussCombParam.MatDetlList matDetlList:matList.getMatDetlList()){ LocDetlRullUpDetail locDetlRullUpDetail = new LocDetlRullUpDetail(); locDetlRullUpDetail.setUuid(rollUp); locDetlRullUpDetail.setRollNo(matDetlList.getBoxNoDetl()); locDetlRullUpDetail.setRollWeight(matDetlList.getWeightDetl().toString()); locDetlRullUpDetailService.insert(locDetlRullUpDetail); } } if (!waitPakinService.insert(waitPakin)) { throw new CoolException("保存入库通知档失败"); } @@ -240,6 +214,7 @@ public void trussCombOrder(TrussCombParam param, Long userId) { Date now = new Date(); param.setBarcode(String.valueOf(now.getTime())); param.setPalletizingNo(147); //判断param参数 if (Cools.isEmpty(param.getPalletizingNo())){ @@ -274,7 +249,7 @@ } List<String> matListBoxNoList = new ArrayList<>(); for (TrussCombParam.MatList matList: param.getMatList()){ if (!orderBoxNoList.contains(matList.getBoxNo())){ if (!orderBoxNoList.contains(matList.getBatch())){ throw new CoolException("单号:"+param.getOrderNo()+" 箱号:"+matList.getBatch()+"不属于此订单或者已经入库"); }else { matListBoxNoList.add(matList.getBoxNo()); src/main/webapp/static/image/logo.pngsrc/main/webapp/views/index.html
@@ -2,7 +2,7 @@ <html lang="en"> <head> <meta charset="utf-8"> <title>中扬 - 自动化立体仓库 - AS / RS</title> <title>徐工汉云 - 自动化立体仓库 - AS / RS</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> @@ -26,10 +26,10 @@ <!-- 头部 --> <div class="layui-header"> <div class="layui-logo"> <img src="../static/image/logo.png" style="display: inline-block; width: 40%;height: auto"> <!-- <img src="../static/image/logo.png" style="display: inline-block; width: 40%;height: auto">--> <!-- <span style="margin-top: 0; letter-spacing: 10px">中扬立库</span>--> <!-- <img src="../static/image/logo.svg"/>--> <!-- <cite>中扬 - Zoneyung</cite>--> <img src="../static/image/favicon.ico"/> <cite>徐工汉云</cite> </div> <ul class="layui-nav layui-layout-left"> @@ -75,7 +75,7 @@ <div class="layui-body"></div> <!-- 底部 --> <div class="layui-footer layui-text"> copyright © 2022 <a href="https://zoneyung.com/" target="_blank">浙江中扬立库有限公司</a> all rights reserved. copyright © 2022 <a href="https://zoneyung.com/" target="_blank">徐工汉云</a> all rights reserved. <span class="pull-right">Version 1.0.0</span> </div> @@ -91,7 +91,7 @@ <script type="text/javascript" src="../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../static/js/common.js"></script> <script> console.log('%c 中扬立库平台 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;'); console.log('%c 徐工汉云 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;'); $(function () { if ("" === localStorage.getItem('token')) { top.location.href = baseUrl + "/login"; src/main/webapp/views/login.html
@@ -3,7 +3,7 @@ <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>中扬 │ login of zoneyung wms</title> <title>徐工汉云 │ login of zoneyung wms</title> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1"> <meta name="description" content="study of Instancing with three.js"> <meta name="keywords" content="undefined, Yoichi Kobayashi, WebGL, three.js">