| src/main/java/com/zy/asrs/controller/OrderDetlPakoutController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/controller/OrderPakoutController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/OrderDetlPakoutMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/OrderPakoutMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/orderPakout/order.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OrderDetlPakoutController.java
@@ -46,7 +46,7 @@ excludeTrash(param); convert(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { wrapper.orderBy("create_time", false); wrapper.orderBy("update_time", false); } wrapper.eq("status", 1); Page<OrderDetlPakout> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); @@ -170,14 +170,6 @@ } } // @RequestMapping(value = "/orderDetl/batch/report/auth") // @ManagerAuth(memo = "修改上报项") // public R reportBatch(@RequestBody JSONObject param) { // String.valueOf(param.get("key"))), param.get("val") // System.out.println(param); // return R.ok(); // } @RequestMapping(value = "/orderDetl/batch/report/auth") @ManagerAuth(memo = "修改上报项") public R reportBatch(ReportOrderBatchDetlParam param) { @@ -191,6 +183,19 @@ return R.ok(); } @RequestMapping(value = "/orderDetl/order/v1/report/auth") @ManagerAuth(memo = "上报MES实际组货单") public R reportBatchOrder(ReportOrderBatchDetlParam param) { List<OrderDetlPakout> orderDetlPakoutList = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>() .eq("batch", param.getBatch()) ); for (OrderDetlPakout orderDetl : orderDetlPakoutList){ orderDetl.setStatus(param.getStatus()); orderDetlService.updateById(orderDetl); } return R.ok(); } } src/main/java/com/zy/asrs/controller/OrderPakoutController.java
@@ -82,8 +82,10 @@ EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { wrapper.orderBy("settle").orderBy("create_time", false); if (!Cools.isEmpty(orderByField)){ wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); } else { wrapper.orderBy("update_time", false); } wrapper.eq("status", 1); return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); src/main/java/com/zy/asrs/task/handler/GroupOrderFormHandler.java
@@ -7,11 +7,13 @@ import com.core.common.R; import com.core.common.SnowflakeIdWorker; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.OrderDetlPakout; import com.zy.asrs.entity.OrderPakout; import com.zy.asrs.entity.param.OrderInspectionRollParam; import com.zy.asrs.entity.param.OrderOutLocBoxCsUtilParam; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.LocMastServiceImpl; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.CodeDetectionUtil; @@ -44,6 +46,8 @@ private SnowflakeIdWorker snowflakeIdWorker; @Autowired private LocDetlService locDetlService; @Autowired private LocMastServiceImpl locMastService; @Transactional public ReturnT<String> abandoned(OrderPakout orderPakout) { @@ -81,6 +85,15 @@ if (!CodeDetectionUtil.barcodeDetection(orderDetl.getManu(),7)){ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", orderDetl.getModel())); if (!Cools.isEmpty(locDetl)){ LocMast locMast = locMastService.selectById(locDetl.getLocNo()); if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){ if (Cools.isEmpty(memo)){ memo = "卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态"; }else { memo = memo+";卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态"; } continue; } signD = false; orderDetl.sync(locDetl); orderDetl.setManu(locDetl.getLocNo()); @@ -92,25 +105,38 @@ orderDetlPakoutService.updateById(orderDetl); continue; } } else { if (Cools.isEmpty(memo)){ memo = "无库存"; memo = "卷号"+ orderDetl.getModel()+"无库存"; }else { memo = memo+";无库存"; memo = memo+";卷号"+ orderDetl.getModel()+"无库存"; } continue; } } if (signD){ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", orderDetl.getModel())); if (!Cools.isEmpty(locDetl)){ LocMast locMast = locMastService.selectById(locDetl.getLocNo()); if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("F")){ if (Cools.isEmpty(memo)){ memo = "卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态"; }else { memo = memo+";卷号"+ orderDetl.getModel()+"所在库位"+locDetl.getLocNo()+"不是在库状态"; } continue; } } if (!Cools.isEmpty(orderDetl.getDanger$()) && orderDetl.getDanger()==1){//合格不需要检验 continue; } else { LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("model", orderDetl.getModel())); if (!Cools.isEmpty(locDetl.getDanger$()) && locDetl.getDanger()==1){ orderDetl.setDanger(1); orderDetlPakoutService.updateById(orderDetl); continue; } } } OrderInspectionRollParam orderInspectionRollParam = new OrderInspectionRollParam(orderDetl.getModel()); @@ -132,16 +158,16 @@ orderDetlPakoutService.updateById(orderDetl); } else if (!Cools.isEmpty(orderDetl.getDanger$()) && value.equals(orderDetl.getDanger$())){ if (Cools.isEmpty(memo)){ memo = "查询卷号结果:"+jsonObject.getString("message"); memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); }else { memo = memo+";查询卷号结果:"+jsonObject.getString("message"); memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); } continue; } else { if (Cools.isEmpty(memo)){ memo = "查询卷号结果:"+jsonObject.getString("message"); memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); }else { memo = memo+";查询卷号结果:"+jsonObject.getString("message"); memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); } if (value.equals("不合格")){ orderDetl.setDanger(2); @@ -151,26 +177,26 @@ } } else { if (Cools.isEmpty(memo)){ memo = "查询卷号结果:"+jsonObject.getString("message"); memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); }else { memo = memo+";查询卷号结果:"+jsonObject.getString("message"); memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); } } success = true; } else { if (Cools.isEmpty(memo)){ memo = "查询卷号结果:"+jsonObject.getString("message"); memo = "卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); }else { memo = memo+";查询卷号结果:"+jsonObject.getString("message"); memo = memo+";卷号"+ orderDetl.getModel()+"查询结果:"+jsonObject.getString("message"); } log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(orderInspectionRollParam), response); // throw new CoolException("查询卷号是否合格失败"); } } catch (Exception e) { if (Cools.isEmpty(memo)){ memo = "查询卷号结果:"+"异常"+e.getMessage(); memo = "卷号"+ orderDetl.getModel()+"查询结果:"+"异常"+e.getMessage(); }else { memo = memo+";查询卷号结果:"+"异常"+e.getMessage(); memo = memo+"卷号"+ orderDetl.getModel()+"查询结果:"+"异常"+e.getMessage(); } log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -257,13 +257,18 @@ </update> <select id="selectOrderPakoutDetailVoList" resultMap="PakoutDetailResultMap"> SELECT * FROM v_pakout_detail WHERE 1 = 1 select d.* from ( select ROW_NUMBER() over (order by c.update_time desc) as row1, c.* from ( select a.* from v_pakout_detail as a where 1=1 <if test="itemName != null and itemName != ''"> AND item_name LIKE CONCAT('%', #{itemName}, '%') </if> AND row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) ORDER BY create_time DESC ) as c ) as d where d.row1 between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.update_time desc </select> <select id="selectOrderPakoutDetailVoListTotal" resultType="Long"> src/main/resources/mapper/OrderPakoutMapper.xml
@@ -145,8 +145,12 @@ </update> <select id="selectOrderPakoutMainVoList" resultMap="PakoutMainResultMap"> SELECT * FROM v_pakout_main WHERE status = 1 select d.* from ( select ROW_NUMBER() over (order by c.update_time desc) as row1, c.* from ( select a.* from v_pakout_main as a where 1=1 AND status = 1 <if test="itemName != null and itemName != ''"> AND item_name LIKE CONCAT('%', #{itemName}, '%') </if> @@ -159,8 +163,9 @@ <if test="status != null and status != ''"> AND status = #{status} </if> AND row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) ORDER BY create_time DESC ) as c ) as d where d.row1 between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.update_time desc </select> <select id="selectOrderPakoutMainVoListTotal" resultType="Long"> src/main/webapp/views/orderCargoGrouping/orderCargoGroupingOperate.html
@@ -158,9 +158,12 @@ style="width: 100%" v-loading="loading" @sort-change="handleSortChange"> <el-table-column prop="itemName" label="组货单号" width="120" align="center" sortable="custom"></el-table-column> <el-table-column prop="itemName" label="组货单号" width="240" align="center" sortable="custom"></el-table-column> <el-table-column prop="cstmrName" label="客户名称" min-width="120" align="center"></el-table-column> <el-table-column prop="orderCount" label="组货单数" width="80" align="center"></el-table-column> <el-table-column prop="settle" label="状态" min-width="100" align="center" :formatter="formatStatus"></el-table-column> <el-table-column prop="createTime" label="日期" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column> <el-table-column prop="updateTime" label="更新日期" min-width="100" align="center" :formatter="formatDateColumn"></el-table-column> <el-table-column label="操作" width="150" align="center" fixed="right"> <template slot-scope="scope"> <div class="operation-cell"> @@ -426,7 +429,7 @@ const status = 2; // 箱号 this.$confirm( `确定将组货单号: <strong style="color: #409EFF;">${groupOrderNo}</strong> 、箱号: <strong style="color: #409EFF;">${batch}</strong> 添加到上报列吗?`, `确定将组货单号: <strong style="color: #409EFF;">${groupOrderNo}</strong> 中的箱号: <strong style="color: #409EFF;">${batch}</strong> 添加到上报列吗?`, '确认修改', { confirmButtonText: '确认修改', @@ -484,7 +487,6 @@ background: 'rgba(0, 0, 0, 0.7)' }); // 调用后台API提交修改 $.ajax({ url: baseUrl + "/order/pakout/orderDetl/batch/report/auth", headers: {'token': localStorage.getItem('token')}, @@ -504,7 +506,6 @@ duration: 3000 }); // 修改成功后可以刷新子表数据 this.getTableDataB(groupOrderNo); } else { this.$message.error(res.message || '修改失败'); @@ -531,7 +532,6 @@ this.getTableDataA(); }, // 显示二次确认对话框 showConfirmDialog() { if (!this.currentRow) { this.$message.error('没有选择要上报的数据'); @@ -733,13 +733,6 @@ return '¥0.00'; }, // 格式化日期显示 formatDate(dateStr) { if (!dateStr) return ''; // 简单的日期格式化,可以根据实际格式调整 return dateStr; }, // 模拟主表数据 - 实际项目中应删除 mockTableAData() { this.tableDataA = [ @@ -772,6 +765,101 @@ ]; this.detailTotal = 1; this.detailLoading = false; }, // 为表格列添加格式化方法 formatDateColumn(row, column, cellValue) { return this.formatDate(cellValue); }, // // 格式化日期显示 // formatDate(dateStr) { // if (!dateStr) return ''; // // 简单的日期格式化,可以根据实际格式调整 // return dateStr; // }, // 在Vue实例的methods中添加或修改formatDate方法 formatDate(dateStr) { if (!dateStr) return ''; try { // 创建Date对象 const date = new Date(dateStr); // 检查日期是否有效 if (isNaN(date.getTime())) { return dateStr; // 如果解析失败,返回原字符串 } // 获取各个时间组件 const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); // 返回格式化后的字符串:YYYY-MM-DD HH:mm:ss return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } catch (error) { console.error('日期格式化错误:', error); return dateStr; // 如果出错,返回原字符串 } }, //本地时区的时间 formatDate2(dateStr) { if (!dateStr) return ''; try { const date = new Date(dateStr); if (isNaN(date.getTime())) { return dateStr; } // 使用本地时区 const year = date.getFullYear(); const month = String(date.getMonth() + 1).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0'); const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); const seconds = String(date.getSeconds()).padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } catch (error) { console.error('日期格式化错误:', error); return dateStr; } }, //保持UTC时间但转换为更易读的格式 formatDate3(dateStr) { if (!dateStr) return ''; try { // 直接解析字符串,不转换时区 const date = new Date(dateStr); if (isNaN(date.getTime())) { return dateStr; } // 使用UTC时间组件 const year = date.getUTCFullYear(); const month = String(date.getUTCMonth() + 1).padStart(2, '0'); const day = String(date.getUTCDate()).padStart(2, '0'); const hours = String(date.getUTCHours()).padStart(2, '0'); const minutes = String(date.getUTCMinutes()).padStart(2, '0'); const seconds = String(date.getUTCSeconds()).padStart(2, '0'); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } catch (error) { console.error('日期格式化错误:', error); return dateStr; } } } }); src/main/webapp/views/orderPakout/order.html
@@ -121,8 +121,6 @@ {{# } }} {{# if (d.settle == 13 || d.settle == 98) { }} <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="inspection">出库合格品</a> {{# } }} {{# if (d.settle == 98) { }} <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">重新检验出库</a> {{# } }} </script>