diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index 292768b..46f3cff 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -61,4 +61,6 @@ public interface AcsToWmsService { BaseResponse woodenPalletBinding(JSONObject param); JSONObject errorDeviceRecord(JSONObject param); + /** 混碾机满料 任务不下发*/ + BaseResponse mixFull(JSONObject param); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 2902ece..22211f5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -580,6 +580,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { return BaseResponse.responseError(requestNo, "未找到工单号[" + workorderCode + "]的记录!"); } bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode()); + //如果是混碾工单,则先暂存,手持或者lms那边再手动进行工单完成 + if("HN".equals(bdWorkorder.getRegion_code())){ + bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.STAGING.getCode()); + } bdWorkorder.setRealproduceend_date(DateUtil.now()); TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder); // 统计合不合格数量到工单字段中 @@ -1059,4 +1063,27 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("message", "故障上报完成!"); return result; } + + @Override + public BaseResponse mixFull(JSONObject param) { + String requestNo = param.getString("requestNo"); + String workorderCode = param.getString("order_code"); +// String deviceCode = param.getString("device_code"); + String weight = param.getString("weight"); + if (ObjectUtil.isEmpty(workorderCode)) { + return BaseResponse.responseError(requestNo,"工单号不能为空"); + } + if (ObjectUtil.isEmpty(weight)) { + return BaseResponse.responseError(requestNo,"生产重量不能为空"); + } + PdmBdWorkorder workorder = workorderService.getByCode(workorderCode); + if (ObjectUtil.isEmpty(workorder)){ + return BaseResponse.responseError(requestNo,"未查询到相应工单"); + } + BigDecimal bigDecimal = BigDecimal.valueOf(Long.parseLong(weight)); + workorder.setReal_weight(workorder.getReal_weight().add(bigDecimal)); + workorder.setWorkorder_status(WorkOrderStatusEnum.STAGING.getCode()); + workorderService.update(workorder); + return BaseResponse.responseOk(requestNo); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java index 1607ed9..0bf70bb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java @@ -261,4 +261,18 @@ public class PdaController { return new ResponseEntity<>(pdaService.updateData(shelfSaveDto), HttpStatus.OK); } + + @PostMapping("/orderFinish") + @Log("工单完成") + @ApiOperation("工单完成") + public ResponseEntity orderFinish(@RequestBody OrderFinishReq req) { + return new ResponseEntity<>(pdaService.orderFinish(req), HttpStatus.OK); + } + + @PostMapping("/hnmlTask") + @Log("工单完成") + @ApiOperation("工单完成") + public ResponseEntity hnmlTask(@RequestBody OrderFinishReq req) { + return new ResponseEntity<>(pdaService.hnmlTask(req), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java index 495e782..393a612 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java @@ -65,4 +65,8 @@ public interface PdaService { PdaResponseVo updateData(ShelfSaveDto shelfSaveDto); List pressPointList(); + + PdaResponseVo orderFinish(OrderFinishReq req); + + PdaResponseVo hnmlTask(OrderFinishReq req); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/OrderFinishReq.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/OrderFinishReq.java new file mode 100644 index 0000000..fd5f601 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/dao/dto/OrderFinishReq.java @@ -0,0 +1,12 @@ +package org.nl.wms.pda.service.dao.dto; + +import lombok.Data; + +/** + * @author sxp + */ +@Data +public class OrderFinishReq { + private String orderCode; + private String barCode; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java index 68a6aa0..3e1b753 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java @@ -6,11 +6,13 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.wms.database.material.service.IMdBaseMaterialService; import org.nl.wms.database.material.service.dao.MdBaseMaterial; import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.ext.acs.service.dto.to.BaseResponse; import org.nl.wms.ext.acs.service.dto.to.acs.DeviceInfoDto; import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse; import org.nl.wms.pda.service.PdaService; @@ -389,6 +391,44 @@ public class PdaServiceImpl implements PdaService { return pdaMapper.getAllPressPoint(); } + @Override + public PdaResponseVo orderFinish(OrderFinishReq req) { + if (StringUtils.isEmpty(req.getOrderCode())) { + throw new BadRequestException("工单不能为空"); + } + PdmBdWorkorder bdWorkorder = workorderService.getByCode(req.getOrderCode()); + if (bdWorkorder == null) { + throw new BadRequestException("未找到对应工单"); + } + if (!WorkOrderStatusEnum.STAGING.getCode().equals(bdWorkorder.getWorkorder_status())){ + throw new BadRequestException("只能选择暂存中的工单"); + } + bdWorkorder.setWorkorder_status(WorkOrderStatusEnum.COMPLETE.getCode()); + bdWorkorder.setRealproduceend_date(DateUtil.now()); + TaskUtils.setWorkOrderUpdateByAcs(bdWorkorder); + // 统计合不合格数量到工单字段中 + workorderService.updateById(bdWorkorder); + return PdaResponseVo.pdaResultOk("工单完成"); + } + + @Override + public PdaResponseVo hnmlTask(OrderFinishReq req) { + if (StringUtils.isEmpty(req.getOrderCode())) { + throw new BadRequestException("工单不能为空"); + } + if (StringUtils.isEmpty(req.getBarCode())) { + throw new BadRequestException("条码不能为空"); + } + //下发拆包机到货架的任务 + JSONObject param = new JSONObject(); + param.put("device_code", "CBJ01"); + param.put("config_code","HNMLTask"); + param.put("vehicle_code", req.getBarCode()); + param.put("workorder_code",req.getOrderCode()); + taskService.apply(param); + return PdaResponseVo.pdaResultOk("包装入库请求成功"); + } + /** * 保存组盘信息 * @param shelfSaveDto diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/WorkOrderStatusEnum.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/WorkOrderStatusEnum.java index 035a895..68e3ebb 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/WorkOrderStatusEnum.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/WorkOrderStatusEnum.java @@ -15,7 +15,8 @@ public enum WorkOrderStatusEnum { ISSUED("2", "已下发"), PRODUCING("3", "生产中"), STOP("4", "暂停"), - COMPLETE("5", "完成"); + COMPLETE("5", "完成"), + STAGING("6", "暂存中"); private final String code; private final String name; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java index 26d07a4..1836fbe 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/hn/HNMLTask.java @@ -275,8 +275,10 @@ public class HNMLTask extends AbstractTask { BigDecimal weight = param.getBigDecimal("weight"); // 泥料号 String materialCode = param.getString("material_code"); + PdmBdWorkorder productionTask = workorderService.getByCode(param.getString("workorder_code")); + // 获取工单 - PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(deviceCode); +// PdmBdWorkorder productionTask = workorderService.getDeviceDockingProductionTask(deviceCode); SchBasePoint basePoint = pointService.getOne(new LambdaQueryWrapper() .eq(SchBasePoint::getPoint_code, deviceCode) .eq(SchBasePoint::getIs_used, true)); diff --git a/lms/nladmin-ui/public/config.js b/lms/nladmin-ui/public/config.js index ce71425..6b6c96c 100644 --- a/lms/nladmin-ui/public/config.js +++ b/lms/nladmin-ui/public/config.js @@ -1,9 +1,9 @@ window.g = { dev: { - VUE_APP_BASE_API: 'http://127.0.0.1:8011' + VUE_APP_BASE_API: 'http://192.168.8.162:8010' }, prod: { - VUE_APP_BASE_API: 'http://127.0.0.1:8011' + VUE_APP_BASE_API: 'http://192.168.8.162:8010' } } diff --git a/lms/nladmin-ui/src/views/wms/basedata/material/index.vue b/lms/nladmin-ui/src/views/wms/basedata/material/index.vue index 2254f16..d68fd25 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/material/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/material/index.vue @@ -84,7 +84,9 @@ label-width="125px" label-suffix=":" > - + + + @@ -208,8 +210,8 @@ - + + diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/mixedOrder.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/mixedOrder.vue index c4d22e1..30601ff 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/mixedOrder.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/mixedOrder.vue @@ -72,6 +72,28 @@ > 开工 + + 任务下发 + + + 工单完成 + + + + + + + + + - + @@ -527,7 +570,11 @@ export default { materialDialog: false, orderDialog: false, fullscreenLoading: false, - flag: 1 + flag: 1, + dialogVisible:false, + barcodeForm:{ + }, + orderCode:'', } }, created() { @@ -587,6 +634,7 @@ export default { this.flag = flag }, tableChanged(row, flag) { + console.log("row==>",row,"===flag===>",flag) if (flag === 1) { this.form.material_name = row.material_name this.form.material_id = row.material_id @@ -634,6 +682,47 @@ export default { this.fullscreenLoading = false }) }, + hnmlTask(row){ + this.dialogVisible = true + this.orderCode = row.workorder_code + }, + dialogCancle(){ + this.barcodeForm={} + this.dialogVisible = false + }, + dialogCommit(){ + this.fullscreenLoading = true + let param = { + orderCode:this.orderCode, + barCode:this.barcodeForm.barcode + } + crudPdmBdWorkorder.hnmlTask(param).then(res => { + this.crud.notify('任务下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + }).catch(() => { + this.fullscreenLoading = false + }).finally(() => { + this.fullscreenLoading = false + this.barcodeForm={} + this.dialogVisible = false + }) + }, + orderFinish(row){ + this.fullscreenLoading = true + let param = { + orderCode:row.workorder_code + } + crudPdmBdWorkorder.orderFinish(param).then(res => { + this.crud.notify('工单完成', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() + }).catch(() => { + this.fullscreenLoading = false + }).finally(() => { + this.fullscreenLoading = false + this.barcodeForm={} + this.dialogVisible = false + }) + }, synchronize() { this.fullscreenLoading = true crudPdmBdWorkorder.orderSynchronize(this.crud.query).then(res => { diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/pdmBdWorkorder.js b/lms/nladmin-ui/src/views/wms/pdm/workerorder/pdmBdWorkorder.js index bf80dbb..ad3fea5 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/pdmBdWorkorder.js +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/pdmBdWorkorder.js @@ -33,6 +33,22 @@ export function submits(param) { }) } +export function orderFinish(param) { + return request({ + url: 'api/pda/orderFinish', + method: 'post', + data: param + }) +} + +export function hnmlTask(param) { + return request({ + url: 'api/pda/hnmlTask', + method: 'post', + data: param + }) +} + export function orderSynchronize(data) { return request({ url: 'api/pdmBdWorkorder/synchronize', @@ -61,4 +77,4 @@ export function userList() { }) } -export default { add, edit, del, submits, orderSynchronize, queryMaterials, userList } +export default { add, edit, del, submits, orderFinish,hnmlTask,orderSynchronize, queryMaterials, userList }