diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java index 4cec9f98..4dfa0b09 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpInController.java @@ -130,4 +130,28 @@ public class IStivtlostorivnCpInController { return new ResponseEntity<>(HttpStatus.OK); } + @PostMapping("/delTask") + @Log("删除任务") + @ApiOperation("删除任务") + public ResponseEntity delTask(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpService.delTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/sendTask") + @Log("下发任务") + @ApiOperation("下发任务") + public ResponseEntity sendTask(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpService.sendTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/confirmTask") + @Log("标识完成任务") + @ApiOperation("标识完成任务") + public ResponseEntity confirmTask(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpService.confirmTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java index 13f6779b..ca102274 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java @@ -117,5 +117,29 @@ public class IStivtlostorivnCpOutController { return new ResponseEntity<>(HttpStatus.OK); } + @PostMapping("/delTask") + @Log("删除任务") + @ApiOperation("删除任务") + public ResponseEntity delTask(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpOutService.delTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/sendTask") + @Log("下发任务") + @ApiOperation("下发任务") + public ResponseEntity sendTask(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpOutService.sendTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/confirmTask") + @Log("标识完成任务") + @ApiOperation("标识完成任务") + public ResponseEntity confirmTask(@RequestBody JSONObject whereJson){ + iStIvtIostorinvCpOutService.confirmTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java index 7af2d9d3..930ba2cc 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java @@ -151,4 +151,31 @@ public interface IStIvtIostorinvCpOutService extends IService * } */ void taskOperate(JSONObject whereJson); + + /** + * 删除任务 + * @param whereJson + * { + * iostorinvdis_id : 分配明细标识 + * } + */ + void delTask(JSONObject whereJson); + + /** + * 下发任务 + * @param whereJson + * { + * task_id : 任务标识 + * } + */ + void sendTask(JSONObject whereJson); + + /** + * 标识完成任务 + * @param whereJson + * { + * task_id : 任务标识 + * } + */ + void confirmTask(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java index 49883fed..f9389824 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpService.java @@ -163,4 +163,30 @@ public interface IStIvtIostorinvCpService extends IService { */ void taskOperate(JSONObject whereJson); + /** + * 删除任务 + * @param whereJson + * { + * iostorinvdis_id : 分配明细标识 + * } + */ + void delTask(JSONObject whereJson); + + /** + * 下发任务 + * @param whereJson + * { + * task_id : 任务标识 + * } + */ + void sendTask(JSONObject whereJson); + + /** + * 标识完成任务 + * @param whereJson + * { + * task_id : 任务标识 + * } + */ + void confirmTask(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java index 940beca1..961e8cf8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -20,6 +22,8 @@ import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.masterdata_manage.MasterEnum; import org.nl.wms.masterdata_manage.service.vehicle.IMdPbBucketrecordService; import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService; @@ -584,6 +588,52 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() + .set(SchBaseTask::getTask_status,TaskStatusEnum.CANCEL.getCode()) + .eq(SchBaseTask::getTask_id, disDao.getTask_id()) + ); + + // 2.更新分配 + disDao.setTask_id(""); + disDao.setPoint_code(""); + disDao.setPoint_id(""); + disDao.setPoint_name(""); + disDao.setWork_status(IOSEnum.WORK_STATUS.code("未生成")); + iostorinvdisCpService.updateById(disDao); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void sendTask(JSONObject whereJson) { + + SchBaseTask taskDao = iSchBaseTaskService.getById(whereJson.getString("task_id")); + JSONArray paramArr = new JSONArray(); + paramArr.add(JSON.parseObject(JSONUtil.toJsonStr(taskDao))); + + // 1.下发任务 + WmsToAcsService bean = SpringContextHolder.getBean(WmsToAcsService.class); + bean.issueTaskToAcs2(paramArr); + + // 2.更新任务状态 + taskDao.setTask_status(TaskStatusEnum.ISSUE.getCode()); + iSchBaseTaskService.updateById(taskDao); + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void confirmTask(JSONObject whereJson) { + whereJson.put("status", AcsTaskEnum.STATUS_FINISH.getCode()); + taskOperate(whereJson); + } + @NotNull private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { JSONArray rows = whereJson.getJSONArray("tableData"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java index 22b201c8..4ca30240 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpServiceImpl.java @@ -4,6 +4,8 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -17,10 +19,13 @@ import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.AcsTaskEnum; import org.nl.common.publish.BussEventMulticaster; import org.nl.common.publish.event.PointEvent; +import org.nl.common.utils.AcsUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.masterdata_manage.MasterEnum; import org.nl.wms.masterdata_manage.service.vehicle.IMdPbBucketrecordService; import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService; @@ -707,6 +712,51 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl().lambda() + .set(SchBaseTask::getTask_status,TaskStatusEnum.CANCEL.getCode()) + .eq(SchBaseTask::getTask_id, disDao.getTask_id()) + ); + + // 2.更新分配 + disDao.setTask_id(""); + disDao.setPoint_code(""); + disDao.setPoint_id(""); + disDao.setPoint_name(""); + disDao.setWork_status(IOSEnum.WORK_STATUS.code("未生成")); + iostorinvdisCpService.updateById(disDao); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void sendTask(JSONObject whereJson) { + SchBaseTask taskDao = iSchBaseTaskService.getById(whereJson.getString("task_id")); + JSONArray paramArr = new JSONArray(); + paramArr.add(JSON.parseObject(JSONUtil.toJsonStr(taskDao))); + + // 1.下发任务 + WmsToAcsService bean = SpringContextHolder.getBean(WmsToAcsService.class); + bean.issueTaskToAcs2(paramArr); + + // 2.更新任务状态 + taskDao.setTask_status(TaskStatusEnum.ISSUE.getCode()); + iSchBaseTaskService.updateById(taskDao); + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void confirmTask(JSONObject whereJson) { + whereJson.put("status", AcsTaskEnum.STATUS_FINISH.getCode()); + taskOperate(whereJson); + } + @NotNull private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) { JSONArray rows = whereJson.getJSONArray("tableData"); diff --git a/mes/qd/src/views/wms/storage_manage/product/productIn/TaskDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productIn/TaskDialog.vue index 8f49a3ed..bbee711c 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productIn/TaskDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productIn/TaskDialog.vue @@ -35,51 +35,34 @@ @row-click="clcikRow" > - - - + - + - +
入库单据任务项 - 删除 @@ -90,7 +73,8 @@ type="warning" icon="el-icon-check" size="mini" - @click="reIssueTask()" + :disabled="dis_send" + @click="sendTask()" > 下发 @@ -100,20 +84,11 @@ type="warning" icon="el-icon-check" size="mini" + :disabled="dis_confirm" @click="confirmTask()" > 标识完成 -
@@ -130,33 +105,30 @@ @row-click="clcikDisRow" > - - - - - + + + - - - - - + + + + + - - + + diff --git a/mes/qd/src/views/wms/storage_manage/product/productOut/index.vue b/mes/qd/src/views/wms/storage_manage/product/productOut/index.vue index 7d395134..bf5c6e7e 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productOut/index.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productOut/index.vue @@ -101,6 +101,17 @@ > 分配 + + 作业任务 + + @@ -184,10 +196,11 @@ import AddDialog from '@/views/wms/storage_manage/product/productOut/AddDialog' import DivDialog from '@/views/wms/storage_manage/product/productOut/DivDialog' import ViewDialog from '@//views/wms/storage_manage/product/productOut/ViewDialog' import crudStorattr from '@/views/wms/storage_manage/basedata/basedata' +import TaskDialog from '@/views/wms/storage_manage/product/productOut/TaskDialog' export default { name: 'ProductOut', - components: { ViewDialog, AddDialog, crudOperation, rrOperation, udOperation, pagination, DivDialog }, + components: { ViewDialog, AddDialog, crudOperation, rrOperation, udOperation, pagination, DivDialog, TaskDialog }, cruds() { return CRUD({ title: '用户', idField: 'iostorinv_id', url: 'api/productOut', crudMethod: { ...productOut }, optShow: { @@ -209,10 +222,12 @@ export default { edit: ['admin', 'checkoutbill:edit'], del: ['admin', 'checkoutbill:del'] }, + task_flag: true, openMoneyDialog: false, loadingConfirm: false, divShow: false, taskShow: false, + taskOpenParam: [], dis_flag: true, work_flag: true, confirm_flag: true, @@ -281,6 +296,11 @@ export default { } else { this.confirm_flag = true } + if (current.bill_status !== '99') { + this.task_flag = false + } else { + this.task_flag = true + } } }, stateFormat(row, column) { @@ -294,6 +314,7 @@ export default { this.dis_flag = true this.confirm_flag = true this.work_flag = true + this.task_flag = true this.currentRow = {} } }, @@ -308,6 +329,12 @@ export default { this.mstrow = this.currentRow }) }, + taskOpen() { + productOut.getIosInvDtl({ 'iostorinv_id': this.currentRow.iostorinv_id }).then(res => { + this.taskOpenParam = res + }) + this.taskShow = true + }, confirm() { this.loadingConfirm = true productOut.confirm({ 'iostorinv_id': this.currentRow.iostorinv_id }).then(res => { diff --git a/mes/qd/src/views/wms/storage_manage/product/productOut/productout.js b/mes/qd/src/views/wms/storage_manage/product/productOut/productout.js index 14f7e2d8..f1b19c92 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productOut/productout.js +++ b/mes/qd/src/views/wms/storage_manage/product/productOut/productout.js @@ -88,6 +88,30 @@ export function manualDiv(data) { }) } +export function delTask(data) { + return request({ + url: '/api/productOut/delTask', + method: 'post', + data + }) +} + +export function sendTask(data) { + return request({ + url: '/api/productOut/sendTask', + method: 'post', + data + }) +} + +export function confirmTask(data) { + return request({ + url: '/api/productOut/confirmTask', + method: 'post', + data + }) +} + export default { add, edit, @@ -99,5 +123,8 @@ export default { setPoint, confirm, getStructIvt, - manualDiv + manualDiv, + delTask, + sendTask, + confirmTask }