src/main/java/com/zy/asrs/controller/WrkMastController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/deviceOperate/devpOperate.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -12,6 +12,7 @@ import com.core.common.R; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.WrkMastService; import com.zy.common.service.CommonService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -23,6 +24,8 @@ @Autowired private WrkMastService wrkMastService; @Autowired private CommonService commonService; @RequestMapping(value = "/wrkMast/{id}/auth") @ManagerAuth @@ -166,4 +169,52 @@ } @GetMapping("/wrkMast/ioType120/list/auth") @ManagerAuth(memo = "站位转移任务数据") public R wrkMastIoType120Select(){ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("io_type", 120)); return R.ok().add(wrkMastList); } @PostMapping("/wrkMast/ioType120/add") @ManagerAuth(memo = "修改站点数据") public R wrkMastIoType120Add(@RequestParam Integer sourceStaNo, @RequestParam Integer staNo ) { // 生成工作号 int workNo = commonService.getWorkNo(4); Date now = new Date(); // 生成工作档 WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); wrkMast.setWrkSts(51L); // 工作状态:生成入库ID wrkMast.setIoType(120); // 入出库状态:1.入库 wrkMast.setIoPri(13D); // 优先级:13 wrkMast.setCrnNo(0); wrkMast.setSourceStaNo(sourceStaNo); wrkMast.setStaNo(staNo); wrkMast.setLocNo(""); wrkMast.setBarcode(""); // 托盘码 wrkMast.setFullPlt("Y"); // 满板:Y wrkMast.setPicking("N"); // 拣料 wrkMast.setExitMk("N"); // 退出 wrkMast.setEmptyMk("N"); // 空板 wrkMast.setLinkMis("N"); // wrkMast.setCtnType(sourceStaNo.getCtnType()); // 容器类型 wrkMast.setAppeUser(getUserId()); wrkMast.setAppeTime(now); wrkMast.setModiUser(getUserId()); wrkMast.setModiTime(now); if (!wrkMastService.insert(wrkMast)) { // throw new CoolException("保存工作档失败"); return R.error().add("添加失败"); } return R.ok().add("添加成功"); } } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -823,7 +823,7 @@ if (wrkMast.getStaNo() == 1090 && wrkMast.getLocNo() == null) { throw new CoolException(workNo+"工作档无法完成,库位号为空!"); } if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) { if (wrkMast.getWrkSts() == 4L || wrkMast.getWrkSts() == 14L || wrkMast.getWrkSts() == 54L) { throw new CoolException("当前工作档已完成"); } // 完成空桶库入出库任务另一个任务 @@ -843,6 +843,9 @@ workNoOther = wrkMast.getWorkNoOther(); } else if(wrkMast.getIoType() == 1 && wrkMast.getWrkSts() == 10) { wrkMast.setWrkSts(2L); wrkMast.setRgvFinishTime(new Date()); } else if(wrkMast.getIoType() == 120) { wrkMast.setWrkSts(54L); wrkMast.setRgvFinishTime(new Date()); } Date now = new Date(); @@ -1101,7 +1104,7 @@ String locNo = ""; // 待修改目标库位 String locSts = ""; // 待修改目标库位状态 // 入库取消(修改目标库位) if (wrkMast.getWrkSts() <= 10) { if (wrkMast.getWrkSts() <= 10 && wrkMast.getIoType()!=120) { locNo = wrkMast.getLocNo(); locSts = "O"; @@ -1118,7 +1121,7 @@ locMastService.updateById(locMast); } // 出库取消(修改源库位) } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14 && wrkMast.getIoType()!=120) { locNo = wrkMast.getSourceLocNo(); if (wrkMast.getIoType() == 110) { if(wrkMast.getStaNo() == 1035) { // 子拆盘机站点 @@ -1143,6 +1146,16 @@ locMast.setModiUser(userId); locMastService.updateById(locMast); } } else if (wrkMast.getIoType()==120){ // 取消操作人员记录 wrkMast.setWrkSts(54L); wrkMast.setManuType("手动取消"); wrkMast.setModiUser(userId); wrkMast.setModiTime(now); if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("取消工作档失败"); } return; } else { throw new CoolException("当前工作状态无法取消"); } src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -99,6 +99,17 @@ // } // } } if (wrkMast.getIoType()==120){ // 保存工作主档历史档 if (!wrkMastLogService.save(wrkMast.getWrkNo())) { exceptionHandle("保存工作历史档[workNo={0}]失败", wrkMast.getWrkNo()); } // 删除工作主档 if (!wrkMastService.deleteById(wrkMast)) { exceptionHandle("删除工作主档[workNo={0}]失败", wrkMast.getWrkNo()); } return SUCCESS; } // 保存工作主档历史档 if (!wrkMastLogService.save(wrkMast.getWrkNo())) { src/main/resources/mapper/WrkMastMapper.xml
@@ -86,6 +86,8 @@ a.modi_time <= DATEADD(s, -10, GETDATE()) OR a.crn_end_time IS NULL )) OR (a.wrk_sts = 54 AND a.io_type = 120) ) OPTION (RECOMPILE) </select> src/main/webapp/views/deviceOperate/devpOperate.html
New file @@ -0,0 +1,145 @@ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>手动站位转移</title> <link rel="stylesheet" href="../../static/css/element.css"> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/js/common.js"></script> <script type="text/javascript" src="../../static/js/vue.min.js"></script> <script type="text/javascript" src="../../static/js/element.js"></script> </head> <body> <div id="app" style="display: flex;justify-content: center;flex-wrap: wrap;"> <div style="width: 100%;display: flex;justify-content: center;"> <div style="width: 100%;margin-right: 10px;"> <el-card class="box-card"> <div slot="header" class="clearfix"> <span>手动站位转移</span> </div> <div> <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline"> <el-form-item label="源站"> <el-input v-model="formParam.sourceStaNo" placeholder="源站"></el-input> </el-form-item> <el-form-item label="目标站"> <el-input v-model="formParam.staNo" placeholder="目标站"></el-input> </el-form-item> </el-form> <div> <el-button @click="requestOperate('add')" type="primary">添加</el-button> </div> </div> </el-card> </div> </div> <div style="width: 100%;margin-top: 10px;"> <el-table ref="singleTable" :data="tableData" highlight-current-row @row-click="handleRowClick" max-height="450" style="width: 100%"> <el-table-column property="wrkNo" label="工作号"> </el-table-column> <el-table-column property="wrkSts$" label="工作状态"> </el-table-column> <el-table-column property="ioType$" label="入出库类型"> </el-table-column> <el-table-column property="sourceStaNo" label="源站"> </el-table-column> <el-table-column property="staNo" label="目标站"> </el-table-column> </el-table> </div> </div> <script> var app = new Vue({ el: '#app', data: { tableData: [], currentRow: null, currentTitle: "未选择设备", currentIndex: null, formParam: { sourceStaNo: null, staNo: null } }, created() { this.init() }, watch: { }, methods: { init() { this.getTableData() setInterval(() => { this.getTableData() }, 1000) }, handleRowClick(row, col, event) { const index = this.tableData.indexOf(row) this.currentRow = row; this.currentIndex = index this.currentTitle = row.devNo + "站点" this.formParam.devNo = row.devNo this.formParam.workNo = row.workNo this.formParam.staNo = row.staNo }, getTableData() { let that = this; $.ajax({ url: baseUrl + "/wrkMast/ioType120/list/auth", headers: { 'token': localStorage.getItem('token') }, data: {}, dataType: 'json', contentType: 'application/json;charset=UTF-8', method: 'GET', success: function (res) { that.tableData = res.data } }); }, requestOperate(method) { let that = this that.$confirm('此操作存在风险,是否继续','提示',{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(()=>{ $.ajax({ url: baseUrl + "/wrkMast/ioType120/"+method, headers: { 'token': localStorage.getItem('token') }, data: this.formParam, method: 'POST', success: function (res) { if (res.code == 200) { that.$message({ message: res.msg, type: 'success' }); } else { that.$message({ message: res.msg, type: 'error' }); } } }); }) } } }) </script> </body> </html>