diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.xml index aea47e4..df43c64 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/board/service/dao/mapper/BoardMapper.xml @@ -55,7 +55,7 @@ sch_base_point p WHERE m.PalletSN = p.vehicle_code2 - AND p.region_code = 'YL' + AND (p.region_code='YL' or p.region_code='YLHC') ) a GROUP BY PalletSN; @@ -95,7 +95,7 @@ FROM sch_base_point WHERE - region_code IN ( 'YL', 'HW', 'HWK' ) + region_code IN ( 'YL','YLHC', 'HW', 'HWK' ) ) a, ( SELECT diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dao/mapper/PdmBdWorkorderDetailMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dao/mapper/PdmBdWorkorderDetailMapper.xml index 389e892..49aba64 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dao/mapper/PdmBdWorkorderDetailMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/service/dao/mapper/PdmBdWorkorderDetailMapper.xml @@ -5,6 +5,6 @@ select p.point_code,productName,PalletSN,qty from sch_base_point p left join (select productName,PalletSN,sum(qty) as qty from sch_base_material GROUP BY productName,PalletSN ) m on p.vehicle_code2=m.PalletSN - where p.region_code='YL' and p.ing_task_code is not null and m.productname=#{productname} + where (p.region_code='YL' or p.region_code='YLHC') and p.ing_task_code is not null and m.productname=#{productname} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java index e74f598..2c6ead7 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/controller/SchBaseTaskController.java @@ -88,4 +88,14 @@ public class SchBaseTaskController { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } + @PostMapping("/move") + @Log("管理端一键移库") + @ApiOperation("管理端一键移库") + @SaIgnore + //@PreAuthorize("@el.check('task:list')") + public ResponseEntity move() { + schBaseTaskService.move(); + return new ResponseEntity<>(HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java index b04e381..b7f9ad5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java @@ -99,4 +99,12 @@ public interface ISchBaseTaskService extends IService { * @param param */ void operation(Map param); + + + /** + * 管理端一键移库 + * + * @return + */ + void move(); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 3c3b568..77b998b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -14,6 +14,10 @@ import lombok.extern.slf4j.Slf4j; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.wms.ext.service.AcsToWmsService; +import org.nl.wms.ext.service.dto.to.BaseResponse; +import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper; @@ -49,6 +53,12 @@ public class SchBaseTaskServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { String task_code = ObjectUtil.isNotEmpty(whereJson.get("task_code")) ? whereJson.get("task_code").toString() : null; @@ -267,4 +277,36 @@ public class SchBaseTaskServiceImpl extends ServiceImpl schBasePointList=schBasePointService.list(new LambdaQueryWrapper() + .eq(SchBasePoint::getIs_used,true) + .eq(SchBasePoint::getRegion_code, "YLHC") + .notLike(SchBasePoint::getVehicle_code2,"YBHC") + .and(slam -> slam.isNull(SchBasePoint::getIng_task_code) + .or() + .eq(SchBasePoint::getIng_task_code, "") + )); + List nextList=schBasePointService.list(new LambdaQueryWrapper() + .eq(SchBasePoint::getRegion_code, "YL") + .and(slam -> slam.isNull(SchBasePoint::getIng_task_code) + .or() + .eq(SchBasePoint::getIng_task_code, ""))); + for(SchBasePoint schBasePoint:schBasePointList){ + JSONObject param =new JSONObject(); + param.put("start_point",schBasePoint.getPoint_code()); + param.put("next_point",nextList.get(0).getPoint_code()); + param.put("request_medthod_code", "POINTTask"); + param.put("request_medthod_name", "点对点任务"); + param.put("device_code",param.getString("start_point")); + BaseResponse baseResponse=acsToWmsService.acsApply(param); + nextList.remove(0); + } + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java index c5e6103..0cd36c9 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/POINTTask.java @@ -76,9 +76,9 @@ public class POINTTask extends AbstractTask { task.setRemark(""); SchBasePoint schBasePoint= pointService.getOne(new LambdaQueryWrapper() .eq(SchBasePoint::getPoint_code, task.getPoint_code1())); + SchBasePoint nextSchBasePoint= pointService.getOne(new LambdaQueryWrapper() + .eq(SchBasePoint::getPoint_code, task.getPoint_code2())); if(task.getPoint_code2().startsWith("DKT")){ - SchBasePoint nextSchBasePoint= pointService.getOne(new LambdaQueryWrapper() - .eq(SchBasePoint::getPoint_code, task.getPoint_code2())); //如果是叠盘位,根据当前数量+1为目标地址 int qty=nextSchBasePoint.getVehicle_qty()+1; task.setPoint_code2(task.getPoint_code2().substring(0,task.getPoint_code2().length()-1)+qty); @@ -88,8 +88,10 @@ public class POINTTask extends AbstractTask { taskService.update(task); //发起任务时先把点位占用,防止发起重复任务 -// point.setIng_task_code(task.getTask_code()); -// pointService.update(point); + schBasePoint.setIng_task_code(task.getTask_code()); + pointService.update(schBasePoint); + nextSchBasePoint.setIng_task_code(task.getTask_code()); + pointService.update(nextSchBasePoint); //下发 this.renotifyAcs(task); @@ -207,7 +209,7 @@ public class POINTTask extends AbstractTask { // 起点解锁 if (ObjectUtil.isNotEmpty(startPointObj)) { startPointObj.setIng_task_code(""); - pointService.update(endPointObj); + pointService.update(startPointObj); } taskObj.setRemark("任务取消"); taskObj.setTask_status(TaskStatus.CANCELED.getCode()); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/SSXBKJTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/SSXBKJTask.java index 65a2e9f..724215e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/SSXBKJTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/SSXBKJTask.java @@ -158,6 +158,12 @@ public class SSXBKJTask extends AbstractTask { taskObj.setRemark("任务完成"); } if (status.equals(TaskStatus.CANCELED)) { // 取消 + // 起点解锁 + if (ObjectUtil.isNotEmpty(startPointObj)) { + startPointObj.setIng_task_code(""); + //任务取消把原先占用的位置释放 + pointService.update(startPointObj); + } // 终点解锁 if (ObjectUtil.isNotEmpty(endPointObj)) { endPointObj.setIng_task_code(""); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java index 1ec61fa..5975ce2 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java @@ -92,7 +92,7 @@ public class YCLRKTask extends AbstractTask { String extGroupData = task.getExt_group_data(); JSONObject jsonObject = JSONObject.parseObject(extGroupData); // String materialType = jsonObject.getString("material_type"); - SchBasePoint point = findNextPoint(); + SchBasePoint point = findNextPoint(jsonObject.getString("sub_tray")); if (ObjectUtil.isEmpty(point)) { task.setRemark("未找到所需点位!"); taskService.update(task); @@ -123,8 +123,11 @@ public class YCLRKTask extends AbstractTask { * * @return */ - private SchBasePoint findNextPoint() { + private SchBasePoint findNextPoint(String sub_tray) { String regionCode = "YL"; + if(sub_tray.startsWith("YBHC")) { + regionCode = "YLHC"; + } List schBasePointList = pointMapper.findPointByRegion(regionCode, "0"); for (SchBasePoint schBasePoint : schBasePointList) { if (schBasePoint.getIs_used() diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.xml index 3cf0134..ac8c5fc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/mapper/PointMapper.xml @@ -45,6 +45,6 @@ from sch_base_point p LEFT JOIN sch_base_vehiclematerialgroup v on p.vehicle_code2=v.vehicle_code - where p.region_code in('YL','HW','HWK'); + where p.region_code in('YL','YLHC','HW','HWK'); diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/dto/WorkorderQuery.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/dto/WorkorderQuery.java index 6c1f0d8..c3803ef 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/dto/WorkorderQuery.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/dto/WorkorderQuery.java @@ -1,5 +1,6 @@ package org.nl.wms.sch.workorder.controller.service.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -18,4 +19,8 @@ public class WorkorderQuery implements Serializable { private String supplierCode; //绑定状态 private String status; + //生产工单 + private String moname; + //出库单号 + private String somtOrderNo; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/impl/WorkorderServiceImpl.java index add1618..2889957 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/workorder/controller/service/impl/WorkorderServiceImpl.java @@ -27,6 +27,8 @@ public class WorkorderServiceImpl extends ServiceImpl queryAll(WorkorderQuery whereJson, PageQuery page){ IPage pages = new Page<>(page.getPage() + 1, page.getSize()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(StringUtils.isNotBlank(whereJson.getMoname()), Workorder::getMoname,whereJson.getMoname()); + wrapper.like(StringUtils.isNotBlank(whereJson.getSomtOrderNo()), Workorder::getSomtOrderNo,whereJson.getSomtOrderNo()); wrapper.like(StringUtils.isNotBlank(whereJson.getPalletSN()), Workorder::getPalletSN,whereJson.getPalletSN()); wrapper.like(StringUtils.isNotBlank(whereJson.getLotSN()), Workorder::getLotSN,whereJson.getLotSN()); wrapper.like(StringUtils.isNotBlank(whereJson.getProductName()), Workorder::getProductName,whereJson.getProductName()); diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/PointDetailDialog.vue b/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/PointDetailDialog.vue new file mode 100644 index 0000000..2906f8d --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/PointDetailDialog.vue @@ -0,0 +1,230 @@ + + + + + + \ No newline at end of file diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/index.vue new file mode 100644 index 0000000..d452cf5 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/index.vue @@ -0,0 +1,327 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/workorder.js b/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/workorder.js new file mode 100644 index 0000000..04f25e9 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/pdm/workerordertwo/workorder.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/workorder', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/workorder/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/workorder', + method: 'put', + data + }) +} + +export default { add, edit, del } diff --git a/lms/nladmin-ui/src/views/wms/sch/point/index.vue b/lms/nladmin-ui/src/views/wms/sch/point/index.vue index d5f7886..2439baa 100644 --- a/lms/nladmin-ui/src/views/wms/sch/point/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/point/index.vue @@ -175,7 +175,29 @@ > 禁用 + + 缓存区一键移库 + + + + 您确定要移库吗? + + 取消 + 确定 + + @@ -466,7 +488,8 @@ export default { pointStatusList: [], pointStatusDialogList: [], pointTypesDialogList: [], - pointDialog: false + pointDialog: false, + dialogVisible: false, } }, created() { @@ -537,7 +560,7 @@ export default { }) }, showQtyButton(vehicle_qty,region_code) { - if (vehicle_qty === 1 && region_code === 'YL') { + if (vehicle_qty === 1 && (region_code === 'YL'|| region_code === 'YLHC')) { return true } return false @@ -594,7 +617,25 @@ export default { console.error("提交失败,废包材位有货", error); this.$message.error("提交失败,废包材位有货"); }); - } + },showConfirmationDialog() { + this.dialogVisible = true; + }, + confirmMove() { + // Here, you can add your logic to call the backend API. + // For example, using axios to make a POST request: + this.$axios.post('/api/schBaseTask/move', { }) + .then(response => { + // Handle success response + console.log(response.data); + }) + .catch(error => { + // Handle error response + console.error(error); + }) + .finally(() => { + this.dialogVisible = false; // Close the dialog + }); + }, } }