From 6262db2da46e7715304507dde91b9a90eb6de440 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 13 Aug 2025 20:29:06 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9APC=E7=BB=84=E7=9B=98=E3=80=81PC?= =?UTF-8?q?=E7=A9=BA=E8=BD=BD=E5=85=B7=E5=85=A5=E5=BA=93=E3=80=81PC?= =?UTF-8?q?=E7=A9=BA=E8=BD=BD=E5=85=B7=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GroupController.java | 38 +- .../mapper/MdPbStoragevehicleextMapper.xml | 8 +- .../service/impl/PdaIosInServiceImpl.java | 19 +- .../controller/PdaSchTaskController.java | 63 --- .../sch_manage/service/PdaSchTaskService.java | 64 --- .../service/impl/PdaSchTaskServiceImpl.java | 158 ------- .../org/nl/wms/sch_manage/enums/TaskEnum.java | 5 +- .../sch_manage/service/dao/SchBaseTask.java | 10 + .../service/dao/mapper/SchBaseTaskMapper.java | 12 + .../service/dao/mapper/SchBaseTaskMapper.xml | 27 +- .../service/impl/SchBaseTaskServiceImpl.java | 3 - .../sch_manage/service/util/AbstractTask.java | 17 +- .../service/util/tasks/BackInTask.java | 2 +- .../{StInTask.java => DetainInTask.java} | 46 +- .../service/util/tasks/EmpVehicleInTask.java | 45 +- .../service/util/tasks/EmpVehicleOutTask.java | 69 ++- .../service/util/tasks/MoveTask.java | 2 +- .../service/util/tasks/PdaPointTask.java | 26 +- .../service/util/tasks/StOutTask.java | 2 +- .../controller/RawAssistIStorController.java | 6 +- .../controller/VehicleInController.java | 50 +++ .../controller/VehicleOutController.java | 49 ++ .../enums/IOSConstant.java | 5 + .../warehouse_management/enums/IOSEnum.java | 9 +- .../service/IMdPbGroupplateService.java | 53 ++- .../service/IRawAssistIStorService.java | 105 ++++- .../service/VehicleInService.java | 38 ++ .../service/VehicleOutService.java | 37 ++ .../service/dao/GroupPlate.java | 61 ++- .../service/dao/mapper/IOStorInvMapper.java | 4 +- .../service/dao/mapper/IOStorInvMapper.xml | 34 +- .../service/dto/IOStorInvDtlDto.java | 5 + .../impl/MdPbGroupplateServiceImpl.java | 103 ++++- .../service/impl/OutBillServiceImpl.java | 11 - .../impl/RawAssistIStorServiceImpl.java | 420 +++++++++--------- .../service/impl/VehicleInServiceImpl.java | 148 ++++++ .../service/impl/VehicleOutServiceImpl.java | 106 +++++ .../src/views/wms/basedata/group/group.js | 26 +- .../src/views/wms/basedata/group/index.vue | 229 +++++++++- .../src/views/wms/sch/task/index.vue | 29 +- .../src/views/wms/st/inbill/AddDialog.vue | 5 +- .../src/views/wms/st/inbill/AddDtl.vue | 10 +- .../src/views/wms/st/inbill/DivDialog.vue | 3 +- .../src/views/wms/st/vehiclein/index.vue | 193 ++++++++ .../src/views/wms/st/vehiclein/vehiclein.js | 27 ++ .../src/views/wms/st/vehicleout/index.vue | 188 ++++++++ .../src/views/wms/st/vehicleout/vehicleOut.js | 27 ++ .../views/wms/statement/structivt/index.vue | 1 - 48 files changed, 1924 insertions(+), 674 deletions(-) delete mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java delete mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchTaskService.java delete mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchTaskServiceImpl.java rename wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/{StInTask.java => DetainInTask.java} (82%) create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleInController.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleOutController.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleInServiceImpl.java create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/VehicleOutServiceImpl.java create mode 100644 wms/nladmin-ui/src/views/wms/st/vehiclein/index.vue create mode 100644 wms/nladmin-ui/src/views/wms/st/vehiclein/vehiclein.js create mode 100644 wms/nladmin-ui/src/views/wms/st/vehicleout/index.vue create mode 100644 wms/nladmin-ui/src/views/wms/st/vehicleout/vehicleOut.js diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java index 927fee4..2b63681 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java @@ -1,14 +1,17 @@ package org.nl.wms.basedata_manage.controller; +import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.common.logging.annotation.Log; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; +import org.nl.wms.warehouse_management.service.dao.GroupPlate; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -22,7 +25,7 @@ import java.util.Set; *

* * @author Liuxy - * @since 2025-06-03 + * @since 2025-08-11 */ @RestController @RequiredArgsConstructor @@ -39,6 +42,39 @@ public class GroupController { return new ResponseEntity<>(TableDataInfo.build(iMdPbGroupplateService.queryAll(whereJson, page)), HttpStatus.OK); } + @PostMapping + @Log("新增组盘记录") + public ResponseEntity create(@Validated @RequestBody GroupPlate dto) { + iMdPbGroupplateService.create(dto); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改组盘记录") + public ResponseEntity update(@Validated @RequestBody GroupPlate dto) { + iMdPbGroupplateService.update(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @PostMapping("/queryMater") + @Log("查询物料信息") + public ResponseEntity queryMater(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(iMdPbGroupplateService.queryMater(whereJson), HttpStatus.OK); + } + + @PostMapping("/checkVehicle") + @Log("校验载具") + public ResponseEntity checkVehicle(@RequestBody JSONObject whereJson) { + iMdPbGroupplateService.checkVehicle(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/querySupp") + @Log("查询供应商") + public ResponseEntity querySupp(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(iMdPbGroupplateService.querySupp(whereJson), HttpStatus.OK); + } + @DeleteMapping @Log("删除组盘") public ResponseEntity delete(@RequestBody Set ids) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 06d1092..39f1909 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -72,8 +72,7 @@ attr.sect_name, mater.material_code, mater.material_name, - mater.material_spec, - late.prison_area + mater.material_spec FROM md_pb_storagevehicleext ext INNER JOIN st_ivt_structattr attr ON ext.storagevehicle_code = attr.storagevehicle_code @@ -82,12 +81,11 @@ SELECT material_id, storagevehicle_code, - pcsn, - MAX(prison_area) AS prison_area + pcsn FROM md_pb_groupplate WHERE - status = '02' + status = '2' GROUP BY material_id,storagevehicle_code,pcsn ) late ON late.material_id = ext.material_id and late.pcsn = ext.pcsn and late.storagevehicle_code = ext.storagevehicle_code diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java index d41631a..53f1ec9 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -116,12 +116,9 @@ public class PdaIosInServiceImpl implements PdaIosInService { MdPbMeasureunit unitDao = iMdPbMeasureunitService.getByCode(unit_code); GroupPlate groupDao = iMdPbGroupplateService.getOne( new QueryWrapper().lambda() - .eq(GroupPlate::getMaterial_id, materDao.getMaterial_id()) .eq(GroupPlate::getPcsn, pcsn) .eq(GroupPlate::getQty, qty) .eq(GroupPlate::getQty_unit_id, unitDao.getMeasure_unit_id()) - .eq(GroupPlate::getExt_code, ext_code) - .eq(GroupPlate::getExt_type, ext_type) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("生成")) ); @@ -129,14 +126,11 @@ public class PdaIosInServiceImpl implements PdaIosInService { // 插入组盘记录表 groupDao = new GroupPlate(); groupDao.setGroup_id(IdUtil.getStringId()); - groupDao.setMaterial_id(materDao.getMaterial_id()); groupDao.setPcsn(pcsn); groupDao.setQty_unit_id(unitDao.getMeasure_unit_id()); groupDao.setQty_unit_name(unitDao.getUnit_name()); groupDao.setQty(BigDecimal.valueOf(Double.parseDouble(qty))); groupDao.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("生成")); - groupDao.setExt_code(ext_code); - groupDao.setExt_type(ext_type); groupDao.setCreate_id(SecurityUtils.getCurrentUserId()); groupDao.setCreate_name(SecurityUtils.getCurrentNickName()); groupDao.setCreate_time(DateUtil.now()); @@ -185,9 +179,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { if (ObjectUtil.isNotEmpty(plateDaoList)) { boolean is_like = plateDaoList.stream() .allMatch(row -> row.getMaterial_id().equals(groupDao.getMaterial_id()) && - row.getPcsn().equals(groupDao.getPcsn()) && - row.getExt_code().equals(groupDao.getExt_code()) && - row.getExt_type().equals(groupDao.getExt_type()) + row.getPcsn().equals(groupDao.getPcsn()) ); if (!is_like) { throw new BadRequestException("当前托盘所绑物料批次或者源单据与当前组盘物料批次不一致!"); @@ -273,7 +265,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { ); if (ObjectUtil.isNotEmpty(plateDaoList)) { boolean is_like = plateDaoList.stream() - .allMatch(row -> row.getMaterial_id().equals(materDao.getMaterial_id()) && + .allMatch(row -> row.getMaterial_id().equals(materDao.getMaterial_code()) && row.getPcsn().equals(whereJson.getString("pcsn")) ); if (!is_like) { @@ -285,7 +277,6 @@ public class PdaIosInServiceImpl implements PdaIosInService { GroupPlate groupDao = new GroupPlate(); groupDao.setGroup_id(org.nl.config.IdUtil.getStringId()); groupDao.setStoragevehicle_code(whereJson.getString("storagevehicle_code")); - groupDao.setMaterial_id(materDao.getMaterial_id()); groupDao.setPcsn(whereJson.getString("pcsn")); // 默认数量个 MdPbMeasureunit unitDao = iMdPbMeasureunitService.getByCode("EA"); @@ -296,9 +287,6 @@ public class PdaIosInServiceImpl implements PdaIosInService { groupDao.setCreate_id(SecurityUtils.getCurrentUserId()); groupDao.setCreate_name(SecurityUtils.getCurrentNickName()); groupDao.setCreate_time(DateUtil.now()); - groupDao.setExt_type(whereJson.getString("ext_type")); - groupDao.setExt_code(whereJson.getString("ext_code")); - groupDao.setPrison_area(whereJson.getString("prison_area")); iMdPbGroupplateService.save(groupDao); return PdaResponse.requestOk(); } @@ -337,15 +325,12 @@ public class PdaIosInServiceImpl implements PdaIosInService { jsonMst.put("detail_count", 1); jsonMst.put("bill_type", IOSEnum.BILL_TYPE.code("生产入库")); jsonMst.put("biz_date", DateUtil.now()); - jsonMst.put("source_id", plateDaoList.get(0).getExt_code()); - jsonMst.put("source_type", plateDaoList.get(0).getExt_type()); // 组织明细数据 ArrayList tableData = new ArrayList<>(); HashMap dtl = new HashMap<>(); GroupPlate plateDao = plateDaoList.get(0); dtl.put("storagevehicle_code", plateDao.getStoragevehicle_code()); - dtl.put("material_id", plateDao.getMaterial_id()); dtl.put("pcsn", plateDao.getPcsn()); dtl.put("qty_unit_id", plateDao.getQty_unit_id()); dtl.put("qty_unit_name", plateDao.getQty_unit_name()); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java deleted file mode 100644 index d4606e2..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/controller/PdaSchTaskController.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.nl.wms.pda.sch_manage.controller; - - -import cn.dev33.satoken.annotation.SaIgnore; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.logging.annotation.Log; -import org.nl.wms.pda.sch_manage.service.PdaSchTaskService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

- * 手持任务操作 控制层 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/pda/schTask") -@Slf4j -public class PdaSchTaskController { - - @Autowired - private PdaSchTaskService pdaSchTaskService; - - @PostMapping("/pointTask") - @Log("定点作业") - @SaIgnore - public ResponseEntity pointTask(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchTaskService.pointTask(whereJson), HttpStatus.OK); - } - - @PostMapping("/queryTask") - @Log("查询未完成的任务") - @SaIgnore - public ResponseEntity queryTask(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchTaskService.queryTask(whereJson), HttpStatus.OK); - } - - @PostMapping("/againTask") - @Log("重新下发") - @SaIgnore - public ResponseEntity againTask(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchTaskService.againTask(whereJson), HttpStatus.OK); - } - - @PostMapping("/forceConfirm") - @Log("强制确认") - @SaIgnore - public ResponseEntity forceConfirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaSchTaskService.forceConfirm(whereJson), HttpStatus.OK); - } - -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchTaskService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchTaskService.java deleted file mode 100644 index 3cc764e..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/PdaSchTaskService.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.nl.wms.pda.sch_manage.service; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.service.IService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.service.dao.SchBaseTask; - -/** - *

- * 手持任务操作 服务类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -public interface PdaSchTaskService extends IService { - - /** - * 定点任务 - * @param whereJson { - * start_point_code:起点点位 - * end_point_code:终点点位 - * storagevehicle_code:载具编码 - * acs_type:acs任务类型 - * } - * @return PdaResponse - */ - PdaResponse pointTask(JSONObject whereJson); - - /** - * 查询未完成的任务 - * @param whereJson { - * task_code: 任务号、载具号、点位号 - * } - * @return PdaResponse - */ - PdaResponse queryTask(JSONObject whereJson); - - /** - * 重新下发 - * @param whereJson { - * task_code:任务号 - * vehicle_code:载具号 - * point_code1:起点 - * point_code2:终点 - * task_status:状态 - * } - * @return PdaResponse - */ - PdaResponse againTask(JSONObject whereJson); - - /** - * 强制确认 - * @param whereJson { - * task_code:任务号 - * vehicle_code:载具号 - * point_code1:起点 - * point_code2:终点 - * task_status:状态 - * } - * @return PdaResponse - */ - PdaResponse forceConfirm(JSONObject whereJson); -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchTaskServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchTaskServiceImpl.java deleted file mode 100644 index b40c6cc..0000000 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/sch_manage/service/impl/PdaSchTaskServiceImpl.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.nl.wms.pda.sch_manage.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.http.HttpStatus; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.nl.common.exception.BadRequestException; -import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; -import org.nl.wms.basedata_manage.service.IStructattrService; -import org.nl.wms.basedata_manage.service.dao.Structattr; -import org.nl.wms.ext.service.util.AcsResponse; -import org.nl.wms.pda.sch_manage.service.PdaSchTaskService; -import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.enums.TaskEnum; -import org.nl.wms.sch_manage.service.ISchBasePointService; -import org.nl.wms.sch_manage.service.dao.SchBasePoint; -import org.nl.wms.sch_manage.service.dao.SchBaseTask; -import org.nl.wms.sch_manage.service.dao.mapper.SchBaseTaskMapper; -import org.nl.wms.sch_manage.service.util.AbstractTask; -import org.nl.wms.sch_manage.service.util.TaskFactory; -import org.nl.wms.sch_manage.service.util.tasks.PdaPointTask; -import org.nl.wms.warehouse_management.enums.IOSConstant; -import org.nl.wms.warehouse_management.enums.IOSEnum; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - *

- * 手持任务操作 实现类 - *

- * - * @author Liuxy - * @since 2025-06-06 - */ -@Service -public class PdaSchTaskServiceImpl extends ServiceImpl implements PdaSchTaskService { - - /** - * 点位服务 - */ - @Autowired - private ISchBasePointService iSchBasePointService; - - /** - * 仓位服务 - */ - @Autowired - private IStructattrService iStructattrService; - - /** - * 载具信息服务 - */ - @Autowired - private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService; - - /** - * 手持定点任务服务 - */ - @Autowired - private PdaPointTask pdaPointTask; - - /** - * 任务工厂服务 - */ - @Autowired - private TaskFactory taskFactory; - - @Override - @Transactional - public PdaResponse pointTask(JSONObject whereJson) { - // 校验数据 - checkPoint(whereJson); - // 创建任务 - JSONObject task = new JSONObject(); - task.put("config_code", IOSConstant.PDA_POINT_TASK); - task.put("point_code1", whereJson.getString("start_point_code")); - task.put("point_code2", whereJson.getString("end_point_code")); - task.put("vehicle_code", whereJson.getString("storagevehicle_code")); - task.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); - pdaPointTask.create(task); - return PdaResponse.requestOk(); - } - - @Override - public PdaResponse queryTask(JSONObject whereJson) { - return PdaResponse.requestParamOk(this.baseMapper.queryPdaTask(whereJson)); - } - - @Override - @Transactional - public PdaResponse againTask(JSONObject whereJson) { - // 查询当前任务 - SchBaseTask taskDao = this.getOne( - new QueryWrapper().lambda() - .eq(SchBaseTask::getTask_code, whereJson.getString("task_code")) - ); - // 根据任务配置编码获取所属任务类抽象类 - AbstractTask task = taskFactory.getTask(taskDao.getConfig_code()); - AcsResponse acsResponse = task.sendTaskOne(taskDao.getTask_id()); - if (acsResponse.getStatus() != HttpStatus.HTTP_OK) { - throw new BadRequestException(acsResponse.getMessage()); - } - return PdaResponse.requestOk(); - } - - @Override - @Transactional - public PdaResponse forceConfirm(JSONObject whereJson) { - // 查询当前任务 - SchBaseTask taskDao = this.getOne( - new QueryWrapper().lambda() - .eq(SchBaseTask::getTask_code, whereJson.getString("task_code")) - ); - // 根据任务配置编码获取所属任务类抽象类 - AbstractTask task = taskFactory.getTask(taskDao.getConfig_code()); - task.forceFinish(taskDao.getTask_code()); - return PdaResponse.requestOk(); - } - - /** - * 校验起点终点载具 - * @param whereJson { - * start_point_code:起点点位 - * end_point_code:终点点位 - * storagevehicle_code:终点点位 - * } - */ - private void checkPoint(JSONObject whereJson) { - String start_point_code = whereJson.getString("start_point_code"); - String end_point_code = whereJson.getString("end_point_code"); - String storagevehicle_code = whereJson.getString("storagevehicle_code"); - // 校验起点 - SchBasePoint pointStartDao = iSchBasePointService.getById(start_point_code); - if (ObjectUtil.isEmpty(pointStartDao)) { - Structattr attrDao = iStructattrService.getByCode(start_point_code); - attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("其他锁")); - iStructattrService.updateById(attrDao); - } else { - pointStartDao.setPoint_status(IOSEnum.POINT_STATUS.code("有货")); - iSchBasePointService.updateById(pointStartDao); - } - - // 校验终点 - SchBasePoint pointEndDao = iSchBasePointService.getById(end_point_code); - if (ObjectUtil.isEmpty(pointEndDao)) { - Structattr attrDao = iStructattrService.getByCode(end_point_code); - attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("其他锁")); - iStructattrService.updateById(attrDao); - } else { - pointEndDao.setPoint_status(IOSEnum.POINT_STATUS.code("有货")); - iSchBasePointService.updateById(pointEndDao); - } - // 校验载具 - iMdPbStoragevehicleinfoService.getByCode(storagevehicle_code); - } -} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java index 6e9929b..513fdd9 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/enums/TaskEnum.java @@ -19,7 +19,10 @@ import java.util.Map; public enum TaskEnum { // ACS优先级别 - ACS_PRIORITY(MapOf.of("1", "1", "2", "2", "3", "3")) + ACS_PRIORITY(MapOf.of("1", "1", "2", "2", "3", "3")), + + // 任务类型 + TASK_TYPE(MapOf.of("载具", "1", "料箱", "2")) ; private Map code; diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBaseTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBaseTask.java index 57c2b5a..11683a2 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBaseTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/SchBaseTask.java @@ -60,6 +60,9 @@ public class SchBaseTask implements Serializable { private String vehicle_code2; + private String material_id; + + private BigDecimal material_qty; private String handle_status; @@ -118,9 +121,16 @@ public class SchBaseTask implements Serializable { private String update_name; private String update_time; + + private String task_type; + @TableField(exist = false) private String config_name; + @TableField(exist = false) private String task_name; + @TableField(exist = false) + private String material_name; + } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.java index d1ebdf0..abef0aa 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.java @@ -3,12 +3,14 @@ package org.nl.wms.sch_manage.service.dao.mapper; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dto.SchBaseTaskQuery; import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * @author lyd @@ -31,4 +33,14 @@ public interface SchBaseTaskMapper extends BaseMapper { * } */ List queryPdaTask(@Param("param") JSONObject whereJson); + + /** + * 获取载具任务 + * @param page + * @param whereJson { + * storagevehicle_code + * } + * @return JSONObject + */ + IPage getVehicleTask(Page page, @Param("param") Map whereJson); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.xml index b90961e..b05726f 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/dao/mapper/SchBaseTaskMapper.xml @@ -37,10 +37,12 @@ SELECT t.*, tc.config_name, - tc.task_name + tc.task_name, + mb.material_name FROM `sch_base_task` t LEFT JOIN sch_base_taskconfig tc ON tc.config_code = t.config_code + LEFT JOIN md_me_materialbase mb ON mb.material_id = t.material_id AND t.task_code = #{whereJson.task_code} @@ -102,4 +104,27 @@ + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java index 00e315a..f6b6f6d 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBaseTaskServiceImpl.java @@ -147,9 +147,6 @@ public class SchBaseTaskServiceImpl extends ServiceImpl() .set(SchBaseTask::getIs_delete, BaseDataEnum.IS_YES_NOT.code("是")) .set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode()) - .set(SchBaseTask::getRemark,"已取消") - .eq(SchBaseTask::getTask_id,taskObj.getTask_id()) + .set(SchBaseTask::getRemark, "已取消") + .eq(SchBaseTask::getTask_id, taskObj.getTask_id()) ); //分配表清除任务 - ioStorInvDisMapper.update(new IOStorInvDis(),new LambdaUpdateWrapper<>(IOStorInvDis.class) - .set(IOStorInvDis::getTask_id,null) - .set(IOStorInvDis::getPoint_code,null) - .set(IOStorInvDis::getIs_issued,0) + ioStorInvDisMapper.update(new IOStorInvDis(), new LambdaUpdateWrapper<>(IOStorInvDis.class) + .set(IOStorInvDis::getTask_id, null) + .set(IOStorInvDis::getPoint_code, null) + .set(IOStorInvDis::getIs_issued, 0) .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("未生成")) - .eq(IOStorInvDis::getTask_id,taskObj.getTask_id()) + .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) ); // 更新任务状态 @@ -168,4 +168,8 @@ public class StInTask extends AbstractTask { taskObj.setRemark("已取消"); taskService.updateById(taskObj); } + + @Override + public void taskConfirm(String task_code) { + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java index 7e8ff71..f0b3ddb 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleInTask.java @@ -10,8 +10,11 @@ import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskStatus; +import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; +import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; @@ -22,10 +25,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; + /** - * @Author: Liuxy - * @Description: 空载具入库 - * @Date: 2025/8/5 + *

+ * 空载具入库任务类 + *

+ * + * @author Liuxy + * @since 2025-08-13 */ @Component(value = "EmpVehicleInTask") @TaskType("EmpVehicleInTask") @@ -43,6 +51,12 @@ public class EmpVehicleInTask extends AbstractTask { @Autowired private IStructattrService iStructattrService; + /** + * 点位服务 + */ + @Resource + private ISchBasePointService iSchBasePointService; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -55,9 +69,9 @@ public class EmpVehicleInTask extends AbstractTask { task.setVehicle_code(json.getString("vehicle_code")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setTask_type(TaskEnum.TASK_TYPE.code("载具")); task.setCreate_id(SecurityUtils.getCurrentUserId()); -// task.setCreate_name(SecurityUtils.getCurrentNickName()); - task.setCreate_name("管理员"); + task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); taskService.save(task); @@ -125,22 +139,30 @@ public class EmpVehicleInTask extends AbstractTask { if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) { throw new BadRequestException("只能取消生成中的任务!"); } - this.cancelTask(taskObj); + this.cancelTask(taskObj); } @Override - public void backMes(String task_code) { + public void taskConfirm(String task_code) { } @Transactional public void finishTask(SchBaseTask taskObj) { + // 更新起点 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) + .set(SchBasePoint::getVehicle_code, null) + .set(SchBasePoint::getIos_id, null) + .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空位")) + ); // 更新终点 iStructattrService.update( new UpdateWrapper().lambda() - .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) - .set(Structattr::getStoragevehicle_code, taskObj.getVehicle_code()) - .set(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_YES) - .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) + .set(Structattr::getStoragevehicle_code, taskObj.getVehicle_code()) + .set(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_YES) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) ); // 更新任务 taskObj.setRemark("已完成"); @@ -150,6 +172,7 @@ public class EmpVehicleInTask extends AbstractTask { @Transactional public void cancelTask(SchBaseTask taskObj) { + // 更新终点 iStructattrService.update( new UpdateWrapper().lambda() diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleOutTask.java index d4c471b..b4cee89 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/EmpVehicleOutTask.java @@ -10,8 +10,11 @@ import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskStatus; +import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; +import org.nl.wms.sch_manage.service.dao.SchBasePoint; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; @@ -22,10 +25,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; + /** - * @Author: Liuxy - * @Description: 空载具出库 - * @Date: 2025/8/5 + *

+ * 空载具出库任务类 + *

+ * + * @author Liuxy + * @since 2025-08-13 */ @Component(value = "EmpVehicleOutTask") @TaskType("EmpVehicleOutTask") @@ -43,6 +51,18 @@ public class EmpVehicleOutTask extends AbstractTask { @Autowired private IStructattrService iStructattrService; + /** + * 点位服务 + */ + @Resource + private ISchBasePointService iSchBasePointService; + + /** + * 点对点任务类服务 + */ + @Resource + private PdaPointTask pdaPointTask; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -52,12 +72,13 @@ public class EmpVehicleOutTask extends AbstractTask { task.setConfig_code(EmpVehicleOutTask.class.getSimpleName()); task.setPoint_code1(json.getString("point_code1")); task.setPoint_code2(json.getString("point_code2")); + task.setPoint_code3(json.getString("point_code3")); task.setVehicle_code(json.getString("vehicle_code")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setTask_type(TaskEnum.TASK_TYPE.code("载具")); task.setCreate_id(SecurityUtils.getCurrentUserId()); -// task.setCreate_name(SecurityUtils.getCurrentNickName()); - task.setCreate_name("管理员"); + task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); taskService.save(task); @@ -125,11 +146,11 @@ public class EmpVehicleOutTask extends AbstractTask { if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) { throw new BadRequestException("只能取消生成中的任务!"); } - this.cancelTask(taskObj); + this.cancelTask(taskObj); } @Override - public void backMes(String task_code) { + public void taskConfirm(String task_code) { } @Transactional @@ -137,15 +158,27 @@ public class EmpVehicleOutTask extends AbstractTask { // 更新起点 iStructattrService.update( new UpdateWrapper().lambda() - .eq(Structattr::getStruct_code, taskObj.getPoint_code1()) - .set(Structattr::getStoragevehicle_code, null) - .set(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_NO) - .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .eq(Structattr::getStruct_code, taskObj.getPoint_code1()) + .set(Structattr::getStoragevehicle_code, null) + .set(Structattr::getIs_emptyvehicle, IOSConstant.IS_DELETE_NO) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + ); + // 更新终点 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) + .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) + .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空载具")) ); // 更新任务 taskObj.setRemark("已完成"); taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskService.updateById(taskObj); + + // 判断point_code3是否有值; 有值需要生成点位点任务到库外站点 + if (ObjectUtil.isNotEmpty(taskObj.getPoint_code3())) { + createAgvTask(taskObj); + } } @Transactional @@ -162,4 +195,18 @@ public class EmpVehicleOutTask extends AbstractTask { taskObj.setTask_status(TaskStatus.CANCELED.getCode()); taskService.updateById(taskObj); } + + /** + * 生成点位点任务:称重位至库外站点 + * + * @param taskObj 任务实体类 + */ + private void createAgvTask(SchBaseTask taskObj) { + JSONObject jsonTask = new JSONObject(); + jsonTask.put("point_code1", IOSConstant.CZW_POINT); + jsonTask.put("point_code2", taskObj.getPoint_code3()); + jsonTask.put("vehicle_code", taskObj.getVehicle_code()); + jsonTask.put("task_type", TaskEnum.TASK_TYPE.code("载具")); + pdaPointTask.create(jsonTask); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java index 634d68e..03eb7fc 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/MoveTask.java @@ -134,7 +134,7 @@ public class MoveTask extends AbstractTask { } @Override - public void backMes(String task_code) { + public void taskConfirm(String task_code) { } @Transactional diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java index 4e71828..ff1b083 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PdaPointTask.java @@ -10,6 +10,7 @@ import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.ISchBaseTaskService; @@ -23,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; + /** * @Author: Liuxy * @Description: 手持定点任务 @@ -41,13 +44,13 @@ public class PdaPointTask extends AbstractTask { /** * 点位服务 */ - @Autowired + @Resource private ISchBasePointService iSchBasePointService; /** * 仓位服务 */ - @Autowired + @Resource private IStructattrService iStructattrService; @Override @@ -56,10 +59,14 @@ public class PdaPointTask extends AbstractTask { task.setTask_id(IdUtil.getStringId()); task.setTask_code(CodeUtil.getNewCode("TASK_CODE")); task.setTask_status(TaskStatus.CREATE.getCode()); - task.setConfig_code(json.getString("config_code")); + task.setConfig_code(PdaPointTask.class.getSimpleName()); task.setPoint_code1(json.getString("point_code1")); task.setPoint_code2(json.getString("point_code2")); task.setVehicle_code(json.getString("vehicle_code")); + task.setMaterial_id(json.getString("material_id")); + task.setMaterial_qty(json.getBigDecimal("material_qty")); + task.setTask_type(json.getString("task_type")); + task.setExt_group_data(json.getString("ext_group_data")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setCreate_id(SecurityUtils.getCurrentUserId()); @@ -135,7 +142,7 @@ public class PdaPointTask extends AbstractTask { } @Override - public void backMes(String task_code) { + public void taskConfirm(String task_code) { } @Transactional @@ -145,14 +152,12 @@ public class PdaPointTask extends AbstractTask { new UpdateWrapper().lambda() .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) .set(SchBasePoint::getVehicle_code, null) - .set(SchBasePoint::getIos_id, null) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货")) + .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空位")) ); iStructattrService.update( new UpdateWrapper().lambda() .eq(Structattr::getStruct_code, taskObj.getPoint_code1()) .set(Structattr::getStoragevehicle_code, null) - .set(Structattr::getTaskdtl_id, null) .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) ); // 更新终点 @@ -160,14 +165,15 @@ public class PdaPointTask extends AbstractTask { new UpdateWrapper().lambda() .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) - .set(SchBasePoint::getIos_id, null) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有货")) + .set(taskObj.getTask_type().equals(TaskEnum.TASK_TYPE.code("载具")), + SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空载具")) + .set(!taskObj.getTask_type().equals(TaskEnum.TASK_TYPE.code("载具")), + SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有箱有料")) ); iStructattrService.update( new UpdateWrapper().lambda() .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) .set(Structattr::getStoragevehicle_code, taskObj.getVehicle_code()) - .set(Structattr::getTaskdtl_id, null) .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) ); // 更新任务 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java index 0d8d013..dc61268 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/StOutTask.java @@ -127,7 +127,7 @@ public class StOutTask extends AbstractTask { } @Override - public void backMes(String task_code) { + public void taskConfirm(String task_code) { } @Transactional(rollbackFor = Exception.class) diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/RawAssistIStorController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/RawAssistIStorController.java index 628d296..47e884d 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/RawAssistIStorController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/RawAssistIStorController.java @@ -1,6 +1,5 @@ package org.nl.wms.warehouse_management.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -8,7 +7,6 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.common.logging.annotation.Log; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; -import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -17,8 +15,8 @@ import javax.annotation.Resource; import java.util.Map; /** - * @author dsh - * 2025/5/19 + * @author Liuxy + * 2025/8/12 */ @RestController @RequiredArgsConstructor diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleInController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleInController.java new file mode 100644 index 0000000..a0e8b03 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleInController.java @@ -0,0 +1,50 @@ +package org.nl.wms.warehouse_management.controller; + + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.warehouse_management.service.VehicleInService; +import org.nl.wms.warehouse_management.service.dto.MoreOrLessInsertDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + *

+ * 空载具入库 控制层 + *

+ * + * @author Liuxy + * @since 2025-08-13 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/vehicleIn") +@Slf4j +public class VehicleInController { + + @Autowired + private VehicleInService vehicleInService; + + @GetMapping + @Log("获取载具任务信息") + public ResponseEntity queryAll(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(vehicleInService.queryAll(whereJson, page)), HttpStatus.OK); + } + + @PostMapping + @Log("新增载具入库") + public ResponseEntity create(@Validated @RequestBody JSONObject whereJson) { + vehicleInService.create(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } + +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleOutController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleOutController.java new file mode 100644 index 0000000..d8a5869 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/controller/VehicleOutController.java @@ -0,0 +1,49 @@ +package org.nl.wms.warehouse_management.controller; + + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.warehouse_management.service.VehicleOutService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + *

+ * 空载具出库 控制层 + *

+ * + * @author Liuxy + * @since 2025-08-13 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/vehicleOut") +@Slf4j +public class VehicleOutController { + + @Autowired + private VehicleOutService vehicleOutService; + + @GetMapping + @Log("获取载具任务信息") + public ResponseEntity queryAll(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(vehicleOutService.queryAll(whereJson, page)), HttpStatus.OK); + } + + @PostMapping + @Log("新增载具出库") + public ResponseEntity create(@Validated @RequestBody JSONObject whereJson) { + vehicleOutService.create(whereJson); + return new ResponseEntity<>(HttpStatus.CREATED); + } + +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSConstant.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSConstant.java index 2ac744e..c0e3b5b 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSConstant.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSConstant.java @@ -80,4 +80,9 @@ public class IOSConstant { * 主存区编码 */ public final static String SECT_CODE = "ZC01"; + + /** + * 称重位 + */ + public final static String CZW_POINT = "CZW01"; } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSEnum.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSEnum.java index cd2fa9c..c1e7ab4 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSEnum.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/enums/IOSEnum.java @@ -30,11 +30,16 @@ public enum IOSEnum { // 入库业务类型 BILL_TYPE(MapOf.of("生产入库","0001", "手工入库", "0009")), + // 入库任务配置类编码 + IN_CONFIG_CODE(MapOf.of("0001","DetainInTask", "0002", "BackInTask", + "0003", "GeBoxInTask", "0004", "PieceBoxInTask", "0009", "HandInTask" + )), + //入库分配明细状态 INBILL_DIS_STATUS(MapOf.of("未生成", "00", "生成", "01", "执行中", "02", "完成", "99")), //组盘记录状态 - GROUP_PLATE_STATUS(MapOf.of("生成", "00", "组盘", "01", "入库", "02", "出库", "03")), + GROUP_PLATE_STATUS(MapOf.of( "组盘", "1", "入库", "2", "出库", "3")), // 锁类型 LOCK_TYPE(MapOf.of("未锁定", "0", "入库锁", "1", "出库锁", "2" @@ -51,7 +56,7 @@ public enum IOSEnum { , "大料架(长边)", "03")), // 点位状态 - POINT_STATUS(MapOf.of("无货", "1", "有货", "2" )), + POINT_STATUS(MapOf.of("空位", "1", "有箱有料", "2", "空载具", "3" )), // 单据创建类型 CREATE_MODE(MapOf.of("PC产生", "1", "终端产生", "2", "外部接口产生", "3")), diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java index a0f8291..b12ab4d 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IMdPbGroupplateService.java @@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.common.domain.query.PageQuery; +import org.nl.wms.basedata_manage.service.dao.MdCsSupplierbase; +import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; import org.nl.wms.warehouse_management.service.dao.GroupPlate; +import java.util.List; import java.util.Map; import java.util.Set; @@ -15,21 +18,67 @@ import java.util.Set; *

* * @author Liuxy - * @since 2025-05-23 + * @since 2025-08-11 */ public interface IMdPbGroupplateService extends IService { /** * 分页查询 + * * @param whereJson : {查询参数} - * @param page : 分页对象 + * @param page : 分页对象 * @return 返回结果 */ IPage queryAll(Map whereJson, PageQuery page); + /** + * 新增组盘记录 + * + * @param dto 组盘记录实体类 + */ + void create(GroupPlate dto); + + /** + * 修改组盘记录 + * + * @param dto 组盘记录实体类 + */ + void update(GroupPlate dto); + + /** + * 查询物料信息 + * + * @param whereJson { + * material_code + * } + * @return MdMeMaterialbase + */ + MdMeMaterialbase queryMater(JSONObject whereJson); + + /** + * 校验载具 + * + * @param whereJson { + * storagevehicle_code + * } + */ + void checkVehicle(JSONObject whereJson); + + /** + * 获取供应商信息 + * + * @param whereJson { + *

+ * } + * @return List + */ + List querySupp(JSONObject whereJson); + /** * 删除组盘 + * * @param ids 标识集合 */ void delete(Set ids); + } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java index ceca46b..ebfde6b 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java @@ -1,6 +1,5 @@ package org.nl.wms.warehouse_management.service; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -8,17 +7,15 @@ import org.nl.common.domain.query.PageQuery; import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.warehouse_management.service.dao.IOStorInv; -import org.nl.wms.warehouse_management.service.dto.GroupPlateDto; import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto; -import org.springframework.data.domain.Pageable; import java.util.List; import java.util.Map; /** - * @author dsh - * 2025/5/19 + * @author Liuxy + * 2025/8/12 */ public interface IRawAssistIStorService extends IService { /** @@ -30,29 +27,125 @@ public interface IRawAssistIStorService extends IService { */ IPage pageQuery(Map whereJson, PageQuery page); - IPage getBillDtl(Map whereJson, PageQuery page); + /** + * 获取组盘信息 + * + * @param whereJson { + *

+ * } + * @param page 分页条件 + * @return JSONObject + */ + IPage getBillDtl(Map whereJson, PageQuery page); + /** + * 新增入库单 + * + * @param whereJson { + *

+ * } + * @return String + */ String insertDtl(Map whereJson); + /** + * 删除单据 + * + * @param ids 、 + */ void deleteAll(String[] ids); + /** + * 编辑单据 + * + * @param whereJson { + *

+ * } + */ void update(Map whereJson); + /** + * 获取单据明细 + * + * @param whereJson { + *

+ * } + * @return List + */ List getIODtl(Map whereJson); + /** + * 分配仓位 + * + * @param whereJson { + *

+ * } + */ void divStruct(Map whereJson); + /** + * 取消分配 + * + * @param whereJson { + *

+ * } + */ void unDivStruct(Map whereJson); + /** + * 设置站带你 + * + * @param whereJson { + *

+ * } + */ void divPoint(Map whereJson); + /** + * 强制确认 + * + * @param whereJson { + *

+ * } + */ void confirm(Map whereJson); + /** + * 任务确认 + * + * @param task { + *

+ * } + */ void taskFinish(SchBaseTask task); + /** + * 获取分配明细 + * + * @param whereJson { + *

+ * } + * @return List + */ List getDisDtl(Map whereJson); + /** + * 分配规则 + * + * @param whereJson { + *

+ * } + * @return Structattr + */ Structattr autoDis(JSONObject whereJson); + /** + * 查询详细信息 + * + * @param whereJson { + *

+ * } + * @return List + */ List getInBillTaskDtl(Map whereJson); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java new file mode 100644 index 0000000..17f1a56 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleInService.java @@ -0,0 +1,38 @@ +package org.nl.wms.warehouse_management.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; + +import java.util.Map; + +/** + *

+ * 空载具入库 服务类 + *

+ * + * @author Liuxy + * @since 2025-08-13 + */ +public interface VehicleInService { + + /** + * 分页查询 + * + * @param whereJson : {查询参数} + * @param page : 分页对象 + * @return 返回结果 + */ + IPage queryAll(Map whereJson, PageQuery page); + + /** + * 新增载具入库 + * + * @param whereJson { + * storagevehicle_code: 载具编码 + * point_code: 入库点位 + * sect_code: 库区编码 + * } + */ + void create(JSONObject whereJson); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java new file mode 100644 index 0000000..fa21953 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/VehicleOutService.java @@ -0,0 +1,37 @@ +package org.nl.wms.warehouse_management.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; + +import java.util.Map; + +/** + *

+ * 空载具出库 服务类 + *

+ * + * @author Liuxy + * @since 2025-08-13 + */ +public interface VehicleOutService { + + /** + * 分页查询 + * + * @param whereJson : {查询参数} + * @param page : 分页对象 + * @return 返回结果 + */ + IPage queryAll(Map whereJson, PageQuery page); + + /** + * 新增载具出库 + * + * @param whereJson { + * point_code: 出库点位 + * sect_code: 库区编码 + * } + */ + void create(JSONObject whereJson); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java index ecb52aa..09b09c8 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/GroupPlate.java @@ -8,8 +8,8 @@ import java.io.Serializable; import java.math.BigDecimal; /** - * @author dsh - * 2025/5/20 + * @author Liuxy + * 2025/8/11 */ @Data @TableName("md_pb_groupplate") @@ -28,7 +28,7 @@ public class GroupPlate implements Serializable { private String storagevehicle_code; /** - * 物料标识 + * 物料编码 */ private String material_id; @@ -58,10 +58,48 @@ public class GroupPlate implements Serializable { private String remark; /** - * 状态 01组盘 02入库 03出库 + * 状态 + * 1-组盘 2-入库 3-出库 */ private String status; + /** + * 供应商编码 + */ + private String supp_code; + + /** + * 有效日期 + */ + private String quality_time; + + /** + * 生产日期 + */ + private String produce_time; + + /** + * 执行标准 + */ + private String execution_stand; + + /** + * 烘干次数 + */ + private Integer bake_num; + + /** + * 品质类型 + * 1-待检,2-合格,3-不合格 + */ + private String quality_type; + + /** + * 料箱类型 + * 1-大料箱,2-小料箱 + */ + private String box_type; + /** * 组盘人 */ @@ -76,19 +114,4 @@ public class GroupPlate implements Serializable { * 组盘时间 */ private String create_time; - - /** - * 来源单据号 - */ - private String ext_code; - - /** - * 来源单据类型 - */ - private String ext_type; - - /** - * 监区(A1/A2/A3/A4/A5/A6/A7/A9/A10/A11/A12/A14) - */ - private String prison_area; } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java index 11219ec..bf491a6 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.java @@ -1,12 +1,12 @@ package org.nl.wms.warehouse_management.service.dao.mapper; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.nl.wms.warehouse_management.service.dao.IOStorInv; import org.nl.wms.warehouse_management.service.dto.GroupPlateDto; -import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto; import java.util.List; @@ -21,7 +21,7 @@ public interface IOStorInvMapper extends BaseMapper { IPage queryAllByPage (IPage page,@Param("params") Map whereJson); - IPage getGroupPlate (IPage page, @Param("params") Map whereJson); + IPage getGroupPlate (IPage page, @Param("params") Map whereJson); List getIODtl (@Param("params") Map whereJson); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml index e2638da..e9ef918 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IOStorInvMapper.xml @@ -47,26 +47,22 @@ ORDER BY ios.iostorinv_id Desc - SELECT - MAX(group_id) as group_id, - storagevehicle_code, - gp.material_id,pcsn, - MAX(gp.qty_unit_id) as qty_unit_id, - MAX(gp.qty_unit_name) as qty_unit_name, - SUM(qty) as qty, - SUM(qty) as plan_qty, - MAX(remark),MAX(`status`), - MAX(ext_code) as ext_code, - MAX(ext_type) as ext_type, + gp.*, + gp.qty AS plan_qty, + mtl.material_id, mtl.material_code, mtl.material_name, - MAX(gp.prison_area) AS prison_area + mtl.material_spec, + supp.supp_name FROM md_pb_groupplate gp LEFT JOIN md_me_materialbase mtl ON gp.material_id = mtl.material_id + LEFT JOIN md_cs_supplierbase supp ON supp.supp_code = gp.supp_code + - gp.status = '01' + gp.status = '1' AND mtl.material_code LIKE CONCAT('%', #{params.material_code}, '%') @@ -88,7 +84,7 @@ gp.create_time <= #{params.end_time} - GROUP by storagevehicle_code,gp.material_id,pcsn + ORDER BY gp.create_time DESC