diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java index cd0676e..685ef36 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/WmsToAcsService.java @@ -36,6 +36,7 @@ public interface WmsToAcsService { * @param whereJson { * task_type: 1-取货确认 2- 放货确认 * task_code: 任务号 + * point_code: 点位编码 * } * @return AcsResponse */ 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 d704591..f56948a 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 @@ -130,6 +130,11 @@ public class SchBaseTask implements Serializable { private String contact_task; + /** + * 是否需要等待 + */ + private String is_wait; + @TableField(exist = false) private String config_name; diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java index 07a93bb..453892c 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/impl/SchBasePointServiceImpl.java @@ -17,9 +17,12 @@ import org.nl.common.utils.SecurityUtils; import org.nl.wms.ext.service.WmsToAcsService; import org.nl.wms.ext.service.util.AcsResponse; import org.nl.wms.sch_manage.enums.PointStatusEnum; +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.SchBaseRegion; +import org.nl.wms.sch_manage.service.dao.SchBaseTask; import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch_manage.service.dao.mapper.SchBaseRegionMapper; import org.nl.wms.sch_manage.service.dto.SchBasePointQuery; @@ -53,6 +56,9 @@ public class SchBasePointServiceImpl extends ServiceImpl queryAll(SchBasePointQuery whereJson, PageQuery page) { IPage pages = new Page<>(page.getPage() + 1, page.getSize()); @@ -213,10 +219,21 @@ public class SchBasePointServiceImpl extends ServiceImpl().lambda() + .eq(IOStorInvDis::getTask_id, taskObj.getTask_id())); + JSONObject jsonTask = new JSONObject(); jsonTask.put("point_code1", IOSConstant.CZW_POINT); jsonTask.put("point_code2", taskObj.getPoint_code3()); + jsonTask.put("point_code3", IOSConstant.CZW_POINT); jsonTask.put("vehicle_code", taskObj.getVehicle_code()); jsonTask.put("task_type", TaskEnum.TASK_TYPE.code("料箱")); jsonTask.put("material_id", taskObj.getMaterial_id()); jsonTask.put("material_qty", taskObj.getMaterial_qty()); - jsonTask.put("contact_task", taskObj.getTask_id()); - pdaPointTask.create(jsonTask); + jsonTask.put("ext_group_data", ioStorInvDis.getSect_code()); + threePointTask.create(jsonTask); } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckBackMoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckBackMoveTask.java index 0ef4522..ab081df 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckBackMoveTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckBackMoveTask.java @@ -16,6 +16,7 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; @@ -84,6 +85,7 @@ public class CheckBackMoveTask extends AbstractTask { task.setGroup_id(json.getString("group_id")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -95,6 +97,7 @@ public class CheckBackMoveTask extends AbstractTask { } @Override + @Transactional public AcsTaskDto sendAcsParam(String taskId) { SchBaseTask taskDao = taskService.getById(taskId); @@ -104,13 +107,22 @@ public class CheckBackMoveTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -136,6 +148,7 @@ public class CheckBackMoveTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -145,6 +158,7 @@ public class CheckBackMoveTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckMoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckMoveTask.java index c5b5352..2d4fd47 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckMoveTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CheckMoveTask.java @@ -16,9 +16,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.*; import org.nl.wms.warehouse_management.service.dao.StIvtCheckdtl; @@ -82,6 +84,7 @@ public class CheckMoveTask extends AbstractTask { task.setGroup_id(json.getString("group_id")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -104,11 +107,21 @@ public class CheckMoveTask extends AbstractTask { acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ONE); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -134,6 +147,7 @@ public class CheckMoveTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -143,6 +157,7 @@ public class CheckMoveTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxInTask.java index a46ddd0..9fec764 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxInTask.java @@ -17,9 +17,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.IStIvtCombinedBoxService; @@ -79,6 +81,7 @@ public class CombinedBoxInTask extends AbstractTask { private IOStorInvDtlMapper ioStorInvDtlMapper; @Override + @Transactional public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); task.setTask_id(IdUtil.getStringId()); @@ -94,6 +97,7 @@ public class CombinedBoxInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -114,14 +118,22 @@ public class CombinedBoxInTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -147,6 +159,7 @@ public class CombinedBoxInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -156,6 +169,7 @@ public class CombinedBoxInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxMoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxMoveTask.java index 9c68a52..44f961c 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxMoveTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/CombinedBoxMoveTask.java @@ -18,9 +18,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; import org.nl.wms.warehouse_management.service.IStIvtCombinedBoxService; @@ -81,12 +83,6 @@ public class CombinedBoxMoveTask extends AbstractTask { @Autowired private ISchBasePointService iSchBasePointService; - /** - * 库存记录服务 - */ - @Autowired - private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; - /** * 组盘记录服务 */ @@ -106,6 +102,7 @@ public class CombinedBoxMoveTask extends AbstractTask { task.setGroup_id(json.getString("group_id")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -126,13 +123,22 @@ public class CombinedBoxMoveTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ONE); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -159,6 +165,7 @@ public class CombinedBoxMoveTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -168,6 +175,7 @@ public class CombinedBoxMoveTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -244,14 +252,6 @@ public class CombinedBoxMoveTask extends AbstractTask { boxDao.setStatus(IOSEnum.COMBINED_BOX_STATUS.code("移库完成")); iStIvtCombinedBoxService.updateById(boxDao); - // 删除库存记录 - iMdPbStoragevehicleextService.remove( - new QueryWrapper().lambda() - .eq(MdPbStoragevehicleext::getStoragevehicle_code, dtlDao.getStoragevehicle_code()) - .eq(MdPbStoragevehicleext::getPcsn, dtlDao.getPcsn()) - .eq(MdPbStoragevehicleext::getMaterial_id, boxDao.getMaterial_id()) - ); - // 更新组盘记录为组盘 iMdPbGroupplateService.update( new UpdateWrapper().lambda() diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/DetainInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/DetainInTask.java index bc84897..a26b4eb 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/DetainInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/DetainInTask.java @@ -17,9 +17,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; @@ -57,6 +59,7 @@ public class DetainInTask extends AbstractTask { private ISchBasePointService iSchBasePointService; @Override + @Transactional public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); task.setTask_id(IdUtil.getStringId()); @@ -72,6 +75,7 @@ public class DetainInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -92,14 +96,22 @@ public class DetainInTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -125,6 +137,7 @@ public class DetainInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -137,6 +150,7 @@ public class DetainInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { 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 89c647a..432ccea 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 @@ -17,6 +17,7 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; @@ -79,6 +80,7 @@ public class EmpVehicleInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setTask_type(TaskEnum.TASK_TYPE.code("载具")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -99,13 +101,22 @@ public class EmpVehicleInTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -131,6 +142,7 @@ public class EmpVehicleInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -140,6 +152,7 @@ public class EmpVehicleInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { 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 f8fa749..226ae75 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 @@ -16,6 +16,7 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; @@ -77,6 +78,7 @@ public class EmpVehicleOutTask extends AbstractTask { task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setTask_type(TaskEnum.TASK_TYPE.code("载具")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -97,13 +99,22 @@ public class EmpVehicleOutTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -129,6 +140,7 @@ public class EmpVehicleOutTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -138,6 +150,7 @@ public class EmpVehicleOutTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandInTask.java index 330416c..910f93e 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandInTask.java @@ -16,9 +16,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; @@ -71,6 +73,7 @@ public class HandInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -91,14 +94,22 @@ public class HandInTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -124,6 +135,7 @@ public class HandInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -136,6 +148,7 @@ public class HandInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java index 5b676c5..efba986 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HandOutTask.java @@ -16,9 +16,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.dao.GroupPlate; @@ -89,6 +91,7 @@ public class HandOutTask extends AbstractTask { task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -111,12 +114,21 @@ public class HandOutTask extends AbstractTask { acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(taskDao.getIs_wait()); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -141,6 +153,7 @@ public class HandOutTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -150,6 +163,7 @@ public class HandOutTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java index bd2fc31..90ee925 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/HotOutTask.java @@ -15,9 +15,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; @@ -80,6 +82,7 @@ public class HotOutTask extends AbstractTask { task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -100,14 +103,22 @@ public class HotOutTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(taskDao.getIs_wait()); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -132,6 +143,7 @@ public class HotOutTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -141,6 +153,7 @@ public class HotOutTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/InsideMoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/InsideMoveTask.java index c6c0120..93ed02a 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/InsideMoveTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/InsideMoveTask.java @@ -11,9 +11,11 @@ import org.nl.config.IdUtil; import org.nl.wms.sch_manage.enums.TaskStatus; import org.nl.wms.sch_manage.service.ISchBaseTaskService; import org.nl.wms.sch_manage.service.dao.SchBaseTask; +import org.nl.wms.sch_manage.service.util.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.service.IStIvtMoveinvService; import org.nl.wms.warehouse_management.service.IStIvtMoveinvdtlService; import org.nl.wms.warehouse_management.service.dao.StIvtMoveinvdtl; @@ -65,6 +67,7 @@ public class InsideMoveTask extends AbstractTask { task.setGroup_id(json.getString("group_id")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -85,13 +88,22 @@ public class InsideMoveTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -118,6 +130,7 @@ public class InsideMoveTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -127,6 +140,7 @@ public class InsideMoveTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/KwzdInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/KwzdInTask.java index c2cf0eb..b8fcbfd 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/KwzdInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/KwzdInTask.java @@ -18,6 +18,7 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; @@ -82,6 +83,7 @@ public class KwzdInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -102,14 +104,22 @@ public class KwzdInTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.AGV_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ONE); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -135,6 +145,7 @@ public class KwzdInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -144,6 +155,7 @@ public class KwzdInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { 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 1523190..6a1158e 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 @@ -16,11 +16,13 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; +import org.nl.wms.warehouse_management.service.VehicleInService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -57,6 +59,12 @@ public class PdaPointTask extends AbstractTask { @Resource private IStructattrService iStructattrService; + /** + * 空载具入库服务 + */ + @Resource + private VehicleInService vehicleInService; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -100,11 +108,32 @@ public class PdaPointTask extends AbstractTask { acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.AGV_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + + // 如果起点是称重位则是0,终点是称重位则是0 + if(taskDao.getPoint_code1().equals(IOSConstant.CZW_POINT)) { + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + } else { + acsTaskDto.setIs_get_pause(IOSConstant.ONE); + } + + if(taskDao.getPoint_code2().equals(IOSConstant.CZW_POINT)) { + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + } else { + acsTaskDto.setIs_put_pause(IOSConstant.ONE); + } + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -131,6 +160,7 @@ public class PdaPointTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -140,6 +170,7 @@ public class PdaPointTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -192,6 +223,11 @@ public class PdaPointTask extends AbstractTask { taskObj.setRemark("已完成"); taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskService.updateById(taskObj); + + if (ObjectUtil.isNotEmpty(taskObj.getExt_group_data())) { + // 创建空载具入库任务 + createEmpIn(taskObj); + } } @Transactional @@ -238,4 +274,12 @@ public class PdaPointTask extends AbstractTask { .set(SchBasePoint::getIng_task_code, taskObj.getTask_id()) ); } + + private void createEmpIn(SchBaseTask taskObj) { + JSONObject jsonParam = new JSONObject(); + jsonParam.put("storagevehicle_code", taskObj.getVehicle_code()); + jsonParam.put("point_code", IOSConstant.CZW_POINT); + jsonParam.put("sect_code", taskObj.getExt_group_data()); + vehicleInService.create(jsonParam); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxInTask.java index 6746682..d07bb70 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxInTask.java @@ -11,15 +11,21 @@ import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; +import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService; +import org.nl.wms.basedata_manage.service.IStructattrService; +import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleext; +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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; @@ -37,7 +43,7 @@ import javax.annotation.Resource; /** *

- * 拼箱入库任务类 + * 拼箱回库任务类 *

* * @author Liuxy @@ -50,16 +56,10 @@ public class PieceBoxInTask extends AbstractTask { private ISchBaseTaskService taskService; /** - * 入库服务 + * 库存服务 */ - @Resource - private IRawAssistIStorService rawAssistIStorService; - - /** - * 分配明细mapper - */ - @Resource - private IOStorInvDisMapper ioStorInvDisMapper; + @Autowired + private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; /** * 点位服务 @@ -85,6 +85,12 @@ public class PieceBoxInTask extends AbstractTask { @Autowired private IStIvtPieceBoxDtlService iStIvtPieceBoxDtlService; + /** + * 仓位服务 + */ + @Autowired + private IStructattrService iStructattrService; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -101,6 +107,7 @@ public class PieceBoxInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -123,12 +130,21 @@ public class PieceBoxInTask extends AbstractTask { acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -154,6 +170,7 @@ public class PieceBoxInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -163,6 +180,7 @@ public class PieceBoxInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -181,7 +199,6 @@ public class PieceBoxInTask extends AbstractTask { taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark("已完成"); taskService.updateById(taskObj); - rawAssistIStorService.taskFinish(taskObj); // 更新起点 iSchBasePointService.update( new UpdateWrapper().lambda() @@ -191,6 +208,14 @@ public class PieceBoxInTask extends AbstractTask { .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) ); + // 更新终点 + iStructattrService.update( + new UpdateWrapper().lambda() + .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) + .set(Structattr::getStoragevehicle_code, taskObj.getVehicle_code()) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + ); + this.taskConfirm(taskObj.getTask_code()); } @@ -203,13 +228,12 @@ public class PieceBoxInTask extends AbstractTask { .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) - .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("未生成")) - .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) + + // 更新终点 + iStructattrService.update( + new UpdateWrapper().lambda() + .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) + .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) ); // 更新任务状态 @@ -221,11 +245,6 @@ public class PieceBoxInTask extends AbstractTask { @Override public void taskConfirm(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); - // 查询分配明细 - IOStorInvDis disDao = ioStorInvDisMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) - ); // 查询拼箱明细记录并更新状态 StIvtPieceBoxDtl boxDtlDao = iStIvtPieceBoxDtlService.getOne( @@ -241,11 +260,20 @@ public class PieceBoxInTask extends AbstractTask { iMdPbGroupplateService.update( new UpdateWrapper().lambda() .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - .set(GroupPlate::getQty, disDao.getPlan_qty()) + .set(GroupPlate::getQty, taskObj.getMaterial_qty()) .eq(GroupPlate::getMaterial_id, boxDtlDao.getMaterial_id()) .eq(GroupPlate::getPcsn, boxDtlDao.getPcsn()) .eq(GroupPlate::getStoragevehicle_code, boxDtlDao.getVehicle_code()) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) ); + + // 更新库存信息 + iMdPbStoragevehicleextService.update( + new UpdateWrapper().lambda() + .set(MdPbStoragevehicleext::getCanuse_qty, taskObj.getMaterial_qty()) + .eq(MdPbStoragevehicleext::getStoragevehicle_code, boxDtlDao.getVehicle_code()) + .eq(MdPbStoragevehicleext::getMaterial_id, boxDtlDao.getMaterial_id()) + .eq(MdPbStoragevehicleext::getPcsn, boxDtlDao.getPcsn()) + ); } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxMoveTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxMoveTask.java index 35df361..e5dd90d 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxMoveTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/PieceBoxMoveTask.java @@ -18,9 +18,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.*; import org.nl.wms.warehouse_management.service.dao.GroupPlate; @@ -72,12 +74,6 @@ public class PieceBoxMoveTask extends AbstractTask { @Autowired private ISchBasePointService iSchBasePointService; - /** - * 库存记录服务 - */ - @Autowired - private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; - /** * 组盘记录服务 */ @@ -109,6 +105,7 @@ public class PieceBoxMoveTask extends AbstractTask { task.setGroup_id(json.getString("group_id")); task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -129,13 +126,22 @@ public class PieceBoxMoveTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ONE); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -162,6 +168,7 @@ public class PieceBoxMoveTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -171,6 +178,7 @@ public class PieceBoxMoveTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -217,6 +225,7 @@ public class PieceBoxMoveTask extends AbstractTask { } @Override + @Transactional public void taskConfirm(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); StIvtMoveinvdtl dtlDao = iStIvtMoveinvdtlService.getOne( @@ -247,13 +256,6 @@ public class PieceBoxMoveTask extends AbstractTask { // 查询拼箱明细 StIvtPieceBoxDtl boxDtlDao = iStIvtPieceBoxDtlService.getById(dtlDao.getSource_bill_code()); - // 删除库存记录 - iMdPbStoragevehicleextService.remove( - new QueryWrapper().lambda() - .eq(MdPbStoragevehicleext::getStoragevehicle_code, dtlDao.getStoragevehicle_code()) - .eq(MdPbStoragevehicleext::getPcsn, dtlDao.getPcsn()) - .eq(MdPbStoragevehicleext::getMaterial_id, boxDtlDao.getMaterial_id()) - ); // 更新组盘记录为出库 iMdPbGroupplateService.update( diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/QualityOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/QualityOutTask.java index 24068db..08ee320 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/QualityOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/QualityOutTask.java @@ -15,9 +15,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; @@ -80,6 +82,7 @@ public class QualityOutTask extends AbstractTask { task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -102,12 +105,21 @@ public class QualityOutTask extends AbstractTask { acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(taskDao.getIs_wait()); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -132,6 +144,7 @@ public class QualityOutTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -141,6 +154,7 @@ public class QualityOutTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ReceiveOutTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ReceiveOutTask.java index c0be6aa..64ed124 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ReceiveOutTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ReceiveOutTask.java @@ -19,9 +19,11 @@ 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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IOutBillService; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; @@ -98,6 +100,7 @@ public class ReceiveOutTask extends AbstractTask { task.setRequest_param(json.toString()); task.setPriority(json.getString("Priority")); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -118,14 +121,22 @@ public class ReceiveOutTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(taskDao.getIs_wait()); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -150,6 +161,7 @@ public class ReceiveOutTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -159,6 +171,7 @@ public class ReceiveOutTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/SelectBackInTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/SelectBackInTask.java index 5e68969..42e0c16 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/SelectBackInTask.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/SelectBackInTask.java @@ -11,15 +11,19 @@ import org.nl.common.utils.CodeUtil; import org.nl.common.utils.SecurityUtils; import org.nl.config.IdUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; +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.ACSTaskTypeEnum; import org.nl.wms.sch_manage.service.util.AbstractTask; import org.nl.wms.sch_manage.service.util.AcsTaskDto; import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; @@ -46,12 +50,6 @@ public class SelectBackInTask extends AbstractTask { @Autowired private ISchBaseTaskService taskService; - @Resource - private IRawAssistIStorService rawAssistIStorService; - - @Resource - private IOStorInvDisMapper ioStorInvDisMapper; - @Resource private IMdPbGroupplateService iMdPbGroupplateService; @@ -61,6 +59,12 @@ public class SelectBackInTask extends AbstractTask { @Autowired private ISchBasePointService iSchBasePointService; + /** + * 仓位服务 + */ + @Autowired + private IStructattrService iStructattrService; + @Override public String create(JSONObject json) { SchBaseTask task = new SchBaseTask(); @@ -77,6 +81,7 @@ public class SelectBackInTask extends AbstractTask { task.setRequest_param(json.toString()); task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); task.setPriority(json.getString("Priority")); + task.setIs_wait(json.getString("is_wait")); task.setCreate_id(SecurityUtils.getCurrentUserId()); task.setCreate_name(SecurityUtils.getCurrentNickName()); task.setCreate_time(DateUtil.now()); @@ -97,14 +102,22 @@ public class SelectBackInTask extends AbstractTask { acsTaskDto.setTask_code(taskDao.getTask_code()); acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); - acsTaskDto.setPriority(taskDao.getPriority()); acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); - acsTaskDto.setTask_type("1"); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ZERO); + acsTaskDto.setTask_type(ACSTaskTypeEnum.CTU_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); return acsTaskDto; } @Override + @Transactional protected void updateStatus(String task_code, TaskStatus status) { // 校验任务 SchBaseTask taskObj = taskService.getByCode(task_code); @@ -130,12 +143,12 @@ public class SelectBackInTask extends AbstractTask { } @Override + @Transactional public void forceFinish(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { throw new BadRequestException("该任务不存在"); } - rawAssistIStorService.taskFinish(taskObj); taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark("已完成"); taskService.updateById(taskObj); @@ -143,6 +156,7 @@ public class SelectBackInTask extends AbstractTask { } @Override + @Transactional public void cancel(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); if (ObjectUtil.isEmpty(taskObj)) { @@ -160,7 +174,6 @@ public class SelectBackInTask extends AbstractTask { taskObj.setTask_status(TaskStatus.FINISHED.getCode()); taskObj.setRemark("已完成"); taskService.updateById(taskObj); - rawAssistIStorService.taskFinish(taskObj); this.taskConfirm(taskObj.getTask_code()); } @@ -173,14 +186,11 @@ public class SelectBackInTask extends AbstractTask { .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) - .set(IOStorInvDis::getWork_status, IOSEnum.INBILL_DIS_STATUS.code("未生成")) - .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) - ); + + // 更新终点 + Structattr attrDao = iStructattrService.getByCode(taskObj.getPoint_code2()); + attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定")); + iStructattrService.updateById(attrDao); // 更新任务状态 taskObj.setTask_status(TaskStatus.CANCELED.getCode()); @@ -192,19 +202,13 @@ public class SelectBackInTask extends AbstractTask { public void taskConfirm(String task_code) { SchBaseTask taskObj = taskService.getByCode(task_code); - IOStorInvDis disDao = ioStorInvDisMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDis::getTask_id, taskObj.getTask_id()) - ); // 更新组盘信息 iMdPbGroupplateService.update( new UpdateWrapper().lambda() - .set(GroupPlate::getQty, disDao.getPlan_qty()) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - .eq(GroupPlate::getStoragevehicle_code, disDao.getStoragevehicle_code()) - .eq(GroupPlate::getPcsn, disDao.getPcsn()) - .eq(GroupPlate::getMaterial_id, disDao.getMaterial_id()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) + .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + .eq(GroupPlate::getStoragevehicle_code, taskObj.getVehicle_code()) + .eq(GroupPlate::getMaterial_id, taskObj.getMaterial_id()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) ); // 更新起点 iSchBasePointService.update( @@ -214,5 +218,12 @@ public class SelectBackInTask extends AbstractTask { .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) .set(SchBasePoint::getIng_task_code, "") ); + // 更新终点 + Structattr attrDao = iStructattrService.getByCode(taskObj.getPoint_code2()); + attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定")); + attrDao.setStoragevehicle_code(taskObj.getVehicle_code()); + attrDao.setIs_emptyvehicle(IOSConstant.ZERO); + iStructattrService.updateById(attrDao); + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ThreePointTask.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ThreePointTask.java new file mode 100644 index 0000000..47d1797 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/ThreePointTask.java @@ -0,0 +1,242 @@ +package org.nl.wms.sch_manage.service.util.tasks; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.CodeUtil; +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.ACSTaskTypeEnum; +import org.nl.wms.sch_manage.service.util.AbstractTask; +import org.nl.wms.sch_manage.service.util.AcsTaskDto; +import org.nl.wms.sch_manage.service.util.TaskType; +import org.nl.wms.warehouse_management.enums.IOSConstant; +import org.nl.wms.warehouse_management.enums.IOSEnum; +import org.nl.wms.warehouse_management.service.VehicleInService; +import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; +import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +/** + *

+ * 三点AGV任务类 + *

+ * + * @author Liuxy + * @since 2025-08-21 + */ +@Component(value = "ThreePointTask") +@TaskType("ThreePointTask") +public class ThreePointTask extends AbstractTask { + + /** + * 任务服务类 + */ + @Autowired + private ISchBaseTaskService taskService; + + /** + * 点位服务 + */ + @Resource + private ISchBasePointService iSchBasePointService; + + /** + * 空载具入库服务 + */ + @Resource + private VehicleInService vehicleInService; + + /** + * 分配明细mapper + */ + @Resource + private IOStorInvDisMapper ioStorInvDisMapper; + + + @Override + public String create(JSONObject json) { + SchBaseTask task = new SchBaseTask(); + task.setTask_id(IdUtil.getStringId()); + task.setTask_code(CodeUtil.getNewCode("TASK_CODE")); + task.setTask_status(TaskStatus.CREATE.getCode()); + task.setConfig_code(ThreePointTask.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.setMaterial_id(json.getString("material_id")); + task.setMaterial_qty(json.getBigDecimal("material_qty")); + task.setTask_type(TaskEnum.TASK_TYPE.code("料箱")); + task.setExt_group_data(json.getString("ext_group_data")); + task.setRequest_param(json.toString()); + task.setPriority(json.getString("Priority")); + task.setContact_task(json.getString("contact_task")); + task.setCreate_id(SecurityUtils.getCurrentUserId()); + task.setCreate_name(SecurityUtils.getCurrentNickName()); + task.setCreate_time(DateUtil.now()); + taskService.save(task); + + // 下发任务 + this.sendTaskOne(task.getTask_id()); + return task.getTask_id(); + } + + @Override + public AcsTaskDto sendAcsParam(String taskId) { + SchBaseTask taskDao = taskService.getById(taskId); + + // 组织下发给acs的数据 + AcsTaskDto acsTaskDto = new AcsTaskDto(); + acsTaskDto.setExt_task_id(taskDao.getTask_id()); + acsTaskDto.setTask_code(taskDao.getTask_code()); + acsTaskDto.setStart_device_code(taskDao.getPoint_code1()); + acsTaskDto.setNext_device_code(taskDao.getPoint_code2()); + acsTaskDto.setVehicle_code(taskDao.getVehicle_code()); + + acsTaskDto.setVehicle_type(IOSConstant.ONE); + acsTaskDto.setIs_wait(IOSConstant.ONE); + acsTaskDto.setTask_type(ACSTaskTypeEnum.AGV_TASK.getCode()); + + acsTaskDto.setPriority(IOSConstant.ONE); + acsTaskDto.setAgv_system_type(IOSConstant.THREE); + acsTaskDto.setIs_get_pause(IOSConstant.ZERO); + acsTaskDto.setIs_put_pause(IOSConstant.ZERO); + return acsTaskDto; + } + + @Override + @Transactional + protected void updateStatus(String task_code, TaskStatus status) { + // 校验任务 + SchBaseTask taskObj = taskService.getByCode(task_code); + if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { + throw new BadRequestException("该任务已完成!"); + } + if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { + throw new BadRequestException("该任务已取消!"); + } + // 根据传来的类型去对任务进行操作 + if (status.equals(TaskStatus.EXECUTING)) { + // 更新明细状态 + this.executing(taskObj); + taskObj.setTask_status(TaskStatus.EXECUTING.getCode()); + taskObj.setRemark("执行中"); + taskService.updateById(taskObj); + } + if (status.equals(TaskStatus.FINISHED)) { + this.finishTask(taskObj); + } + if (status.equals(TaskStatus.CANCELED)) { + this.cancelTask(taskObj); + } + } + + @Override + @Transactional + public void forceFinish(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + if (ObjectUtil.isEmpty(taskObj)) { + throw new BadRequestException("该任务不存在"); + } + this.finishTask(taskObj); + } + + @Override + @Transactional + public void cancel(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + if (ObjectUtil.isEmpty(taskObj)) { + throw new BadRequestException("该任务不存在"); + } + if (Integer.parseInt(taskObj.getTask_status()) > Integer.parseInt(TaskStatus.CREATE.getCode())) { + throw new BadRequestException("只能取消生成中的任务!"); + } + this.cancelTask(taskObj); + } + + @Override + public void taskConfirm(String task_code) { + } + + @Transactional + public void finishTask(SchBaseTask taskObj) { + // 更新point_code2 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) + .set(SchBasePoint::getVehicle_code, "") + .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空位")) + .set(SchBasePoint::getIng_task_code, "") + ); + // 更新更新point_code1 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) + .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) + .set(SchBasePoint::getIng_task_code, taskObj.getTask_id()) + .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("空载具")) + ); + // 更新任务 + taskObj.setRemark("已完成"); + taskObj.setTask_status(TaskStatus.FINISHED.getCode()); + taskService.updateById(taskObj); + + // 创建空载具入库 + createEmpIn(taskObj); + } + + @Transactional + public void cancelTask(SchBaseTask taskObj) { + // 更新point_code2 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) + .set(SchBasePoint::getIng_task_code, "") + ); + // 更新任务 + taskObj.setRemark("已取消"); + taskObj.setTask_status(TaskStatus.CANCELED.getCode()); + taskService.updateById(taskObj); + } + + private void createEmpIn(SchBaseTask taskObj) { + + JSONObject jsonParam = new JSONObject(); + jsonParam.put("storagevehicle_code", taskObj.getVehicle_code()); + jsonParam.put("point_code", IOSConstant.CZW_POINT); + jsonParam.put("sect_code", taskObj.getExt_group_data()); + vehicleInService.create(jsonParam); + } + + + private void executing(SchBaseTask taskObj) { + // 更新起点 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) + .set(SchBasePoint::getIng_task_code, taskObj.getTask_id()) + ); + // 更新终点 + iSchBasePointService.update( + new UpdateWrapper().lambda() + .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) + .set(SchBasePoint::getIng_task_code, taskObj.getTask_id()) + ); + } +} 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 9fb8455..6e2a75d 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 @@ -70,7 +70,7 @@ public enum IOSEnum { // 锁类型 LOCK_TYPE(MapOf.of("未锁定", "0", "入库锁", "1", "出库锁", "2" , "移入锁", "3", "移出锁", "4", "空托盘入库锁", "5", "空托盘出库锁", "6", - "库存锁","7", "其他锁","9" + "库存锁","7", "回库锁","8", "其他锁","99" )), // 库区编码 diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/IOStorInvDis.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/IOStorInvDis.java index 18a6c6b..f8592d9 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/IOStorInvDis.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/IOStorInvDis.java @@ -122,4 +122,14 @@ public class IOStorInvDis implements Serializable { */ private String point_code; + /** + * 是否拣选 + */ + private String is_check; + + /** + * 拣选前重量 + */ + private BigDecimal check_qty; + } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IStIvtCombinedBoxService.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IStIvtCombinedBoxService.xml index 64bde30..415ac5f 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IStIvtCombinedBoxService.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/IStIvtCombinedBoxService.xml @@ -68,7 +68,7 @@ LEFT JOIN sch_base_task task ON task.task_id = dis.task_id LEFT JOIN sch_base_point point ON point.point_code = dis.point_code - 1 = 1 + dis.is_check = '1' AND diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java index 6235f17..aa43d3e 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java @@ -2,6 +2,7 @@ package org.nl.wms.warehouse_management.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; @@ -432,8 +433,19 @@ public class OutBillServiceImpl extends ServiceImpl int seq_no = 1; double allocation_canuse_qty = 0; for (MdPbStoragevehicleextDto outAllocation : outAllocationList) { - //分配明细 IOStorInvDis ioStorInvDis = new IOStorInvDis(); + + double play_qty = outAllocation.getCanuse_qty().doubleValue(); + + unassign_qty = unassign_qty - outAllocation.getCanuse_qty().doubleValue(); + if (unassign_qty < 0) { + ioStorInvDis.setIs_check(IOSConstant.ONE); + ioStorInvDis.setCheck_qty(outAllocation.getCanuse_qty()); + play_qty = NumberUtil.add(play_qty,unassign_qty); + unassign_qty = 0; + } + + //分配明细 ioStorInvDis.setIostorinvdis_id(IdUtil.getStringId()); ioStorInvDis.setIostorinv_id(dtl.getIostorinv_id()); ioStorInvDis.setIostorinvdtl_id(dtl.getIostorinvdtl_id()); @@ -452,12 +464,8 @@ public class OutBillServiceImpl extends ServiceImpl ioStorInvDis.setQty_unit_name(outAllocation.getQty_unit_name()); ioStorInvDis.setWork_status(IOSEnum.INBILL_DIS_STATUS.code("未生成")); - unassign_qty = unassign_qty - outAllocation.getCanuse_qty().doubleValue(); - if (unassign_qty < 0) { - unassign_qty = 0; - } - allocation_canuse_qty = allocation_canuse_qty + outAllocation.getCanuse_qty().doubleValue(); - ioStorInvDis.setPlan_qty(outAllocation.getCanuse_qty()); + allocation_canuse_qty = allocation_canuse_qty + play_qty; + ioStorInvDis.setPlan_qty(BigDecimal.valueOf(play_qty)); //锁定货位 JSONObject lock_map = new JSONObject(); @@ -656,8 +664,18 @@ public class OutBillServiceImpl extends ServiceImpl int seq_no = 1; double allocation_canuse_qty = 0; for (MdPbStoragevehicleextDto outAllocation : outAllocationList) { - //分配明细 IOStorInvDis ioStorInvDis = new IOStorInvDis(); + + double play_qty = outAllocation.getCanuse_qty().doubleValue(); + + unassign_qty = unassign_qty - outAllocation.getCanuse_qty().doubleValue(); + if (unassign_qty < 0) { + ioStorInvDis.setIs_check(IOSConstant.ONE); + ioStorInvDis.setCheck_qty(outAllocation.getCanuse_qty()); + play_qty = NumberUtil.add(play_qty,unassign_qty); + unassign_qty = 0; + } + //分配明细 ioStorInvDis.setIostorinvdis_id(IdUtil.getStringId()); ioStorInvDis.setIostorinv_id(dtl.getIostorinv_id()); ioStorInvDis.setIostorinvdtl_id(dtl.getIostorinvdtl_id()); @@ -676,20 +694,8 @@ public class OutBillServiceImpl extends ServiceImpl ioStorInvDis.setQty_unit_name(outAllocation.getQty_unit_name()); ioStorInvDis.setWork_status(IOSEnum.INBILL_DIS_STATUS.code("未生成")); - // 未分配数量 - 该库位上的可用数量 < 0 目前做整出 -// double canuse_qty = outAllocation.getCanuse_qty().doubleValue(); -// if (unassign_qty-canuse_qty>=0){ -// ioStorInvDis.setPlan_qty(BigDecimal.valueOf(canuse_qty)); -// }else { -// ioStorInvDis.setPlan_qty(BigDecimal.valueOf(unassign_qty)); -// } -// unassign_qty = unassign_qty-canuse_qty; - unassign_qty = unassign_qty - outAllocation.getCanuse_qty().doubleValue(); - if (unassign_qty < 0) { - unassign_qty = 0; - } - allocation_canuse_qty = allocation_canuse_qty + outAllocation.getCanuse_qty().doubleValue(); - ioStorInvDis.setPlan_qty(outAllocation.getCanuse_qty()); + allocation_canuse_qty = allocation_canuse_qty + play_qty; + ioStorInvDis.setPlan_qty(BigDecimal.valueOf(play_qty)); //锁定货位 JSONObject lock_map = new JSONObject(); @@ -874,14 +880,25 @@ public class OutBillServiceImpl extends ServiceImpl } for (IOStorInvDtlDto dtl : dtls) { + IOStorInvDis ioStorInvDis = new IOStorInvDis(); + double unassign_qty = dtl.getUnassign_qty().doubleValue(); //分配数量 double allocation_canuse_qty = 0; for (int i = 0; i < rows.size(); i++) { JSONObject ivt = rows.getJSONObject(i); - double canuse_qty = ivt.getDoubleValue("canuse_qty"); + + double play_qty = ivt.getDoubleValue("canuse_qty"); + + unassign_qty = unassign_qty - ivt.getDoubleValue("canuse_qty"); + if (unassign_qty < 0) { + ioStorInvDis.setIs_check(IOSConstant.ONE); + ioStorInvDis.setCheck_qty(ivt.getBigDecimal("canuse_qty")); + play_qty = NumberUtil.add(play_qty,unassign_qty); + unassign_qty = 0; + } + //分配明细 - IOStorInvDis ioStorInvDis = new IOStorInvDis(); ioStorInvDis.setIostorinvdis_id(IdUtil.getStringId()); ioStorInvDis.setIostorinv_id(dtl.getIostorinv_id()); ioStorInvDis.setIostorinvdtl_id(dtl.getIostorinvdtl_id()); @@ -900,26 +917,8 @@ public class OutBillServiceImpl extends ServiceImpl ioStorInvDis.setQty_unit_name(dtl.getQty_unit_name()); ioStorInvDis.setWork_status(IOSEnum.INBILL_DIS_STATUS.code("未生成")); - // 未分配数量 - 该库位上的可用数量 < 0 目前做整出 -// double canuse_qty = outAllocation.getCanuse_qty().doubleValue(); -// if (unassign_qty-canuse_qty>=0){ -// ioStorInvDis.setPlan_qty(BigDecimal.valueOf(canuse_qty)); -// }else { -// ioStorInvDis.setPlan_qty(BigDecimal.valueOf(unassign_qty)); -// } -// unassign_qty = unassign_qty-canuse_qty; -// if (unassign_qty<0){ -// unassign_qty=0; -// } - if (unassign_qty <= 0) { - throw new BadRequestException("已全部分配完,未分配数量为0"); - } - unassign_qty = unassign_qty - canuse_qty; - if (unassign_qty < 0) { - unassign_qty = 0; - } - allocation_canuse_qty = allocation_canuse_qty + canuse_qty; - ioStorInvDis.setPlan_qty(BigDecimal.valueOf(canuse_qty)); + allocation_canuse_qty = allocation_canuse_qty + play_qty; + ioStorInvDis.setPlan_qty(BigDecimal.valueOf(play_qty)); //锁定货位 JSONObject lock_map = new JSONObject(); @@ -1087,6 +1086,8 @@ public class OutBillServiceImpl extends ServiceImpl .eq(IOStorInvDis::getIostorinv_id, iostorinv_id) .eq(IOStorInvDis::getIs_issued, BaseDataEnum.IS_YES_NOT.code("否")) .and(wrapper -> wrapper.isNotNull(IOStorInvDis::getStruct_code).ne(IOStorInvDis::getStruct_code, "")) + .orderByAsc(IOStorInvDis::getIs_check) + ); if (ObjectUtil.isEmpty(ioStorInvDisList)) { throw new BadRequestException("当前没有可设置的分配明细"); @@ -1104,6 +1105,12 @@ public class OutBillServiceImpl extends ServiceImpl task_form.put("vehicle_code", ioStorInvDis.getStoragevehicle_code()); task_form.put("material_id", ioStorInvDis.getMaterial_id()); task_form.put("material_qty", ioStorInvDis.getPlan_qty()); + if (ioStorInvDis.getIs_check().equals(IOSConstant.ONE)) { + task_form.put("is_wait", IOSConstant.ONE); + } else { + task_form.put("is_wait", IOSConstant.ZERO); + } + AbstractTask task = taskFactory.getTask(IOSEnum.OUT_CONFIG_CODE.code(iosMstDao.getBill_type())); String task_id = task.create(task_form); @@ -1203,14 +1210,29 @@ public class OutBillServiceImpl extends ServiceImpl IOStorInvDtl ioStorInvDtl = ioStorInvDtlMapper.selectById(ioStorInvDis.getIostorinvdtl_id()); // 更新组盘信息为出库 - groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) + /* groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + );*/ + + GroupPlate groupPlate = groupPlateMapper.selectOne( + new QueryWrapper().lambda() + .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) + .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) + .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) ); + double sub_qty = NumberUtil.sub(groupPlate.getQty(), ioStorInvDis.getPlan_qty()).doubleValue(); + if (sub_qty != 0) { + groupPlate.setQty(BigDecimal.valueOf(sub_qty)); + } + groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("出库")); + groupPlateMapper.updateById(groupPlate); + } //更新出库明细单状态 @@ -1287,14 +1309,28 @@ public class OutBillServiceImpl extends ServiceImpl iMdPbStoragevehicleextService.updateIvt(updateIvtList); // 更新组盘信息为出库 - groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) + /* groupPlateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) + );*/ + GroupPlate groupPlate = groupPlateMapper.selectOne( + new QueryWrapper().lambda() + .eq(GroupPlate::getPcsn, ioStorInvDis.getPcsn()) + .eq(GroupPlate::getStoragevehicle_code, ioStorInvDis.getStoragevehicle_code()) + .eq(GroupPlate::getMaterial_id, ioStorInvDis.getMaterial_id()) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) ); + double sub_qty = NumberUtil.sub(groupPlate.getQty(), ioStorInvDis.getPlan_qty()).doubleValue(); + if (sub_qty != 0) { + groupPlate.setQty(BigDecimal.valueOf(sub_qty)); + } + groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("出库")); + groupPlateMapper.updateById(groupPlate); + // 查询该明细下是否还有未完成的分配明细 int countDis = ioStorInvDisMapper.selectCount(new LambdaQueryWrapper<>(IOStorInvDis.class) .eq(IOStorInvDis::getIostorinvdtl_id, ioStorInvDis.getIostorinvdtl_id()) diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java index 951f371..463fdd1 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/SelectOutServiceImpl.java @@ -1,6 +1,5 @@ package org.nl.wms.warehouse_management.service.impl; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; @@ -11,36 +10,33 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; -import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; -import org.nl.wms.basedata_manage.service.ISectattrService; -import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; +import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; -import org.nl.wms.basedata_manage.service.dao.Sectattr; +import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.ext.service.WmsToAcsService; import org.nl.wms.ext.service.util.AcsResponse; import org.nl.wms.pdm_manage.service.IPdmBomCallMaterialDtlService; import org.nl.wms.pdm_manage.service.dao.PdmBomCallMaterialDtl; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; +import org.nl.wms.sch_manage.service.util.tasks.SelectBackInTask; import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; -import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.SelectOutService; import org.nl.wms.warehouse_management.service.dao.GroupPlate; -import org.nl.wms.warehouse_management.service.dao.IOStorInv; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; -import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_management.service.dto.SelectOutDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.List; +import java.util.Map; /** *

@@ -65,17 +61,6 @@ public class SelectOutServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { @@ -176,12 +161,8 @@ public class SelectOutServiceImpl extends ServiceImpl().lambda() @@ -191,18 +172,15 @@ public class SelectOutServiceImpl extends ServiceImpl().lambda() @@ -235,160 +213,32 @@ public class SelectOutServiceImpl extends ServiceImpl().lambda() - .set(PdmBomCallMaterialDtl::getVehicle_code,dto.getNew_vehicle()) - .eq(PdmBomCallMaterialDtl::getOut_dis_id, disDao.getIostorinvdis_id()) - ); } - /*// 删除其他组盘信息 - List deleteGroupDisList = ioStorInvDisMapper.selectList( - new QueryWrapper().lambda() - .eq(IOStorInvDis::getIostorinvdtl_id, dto.getIostorinvdtl_id()) - .ne(IOStorInvDis::getIostorinvdis_id, disDao.getIostorinvdis_id()) - ); - - // 需删除的组盘信息 - Set deleteGroupSet = new HashSet<>(); - for (IOStorInvDis deleteDisGroup : deleteGroupDisList) { - GroupPlate groupDao = iMdPbGroupplateService.getOne( - new QueryWrapper().lambda() - .eq(GroupPlate::getStoragevehicle_code, deleteDisGroup.getStoragevehicle_code()) - .eq(GroupPlate::getMaterial_id, deleteDisGroup.getMaterial_id()) - .eq(GroupPlate::getPcsn, deleteDisGroup.getPcsn()) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - ); - deleteGroupSet.add(groupDao.getGroup_id()); - } - if (ObjectUtil.isNotEmpty(deleteGroupSet)) { - iMdPbGroupplateService.delete(deleteGroupSet); - }*/ - - // 组织主表数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("stor_id", mstDao.getStor_id()); - jsonMst.put("bill_status", IOSEnum.BILL_STATUS.code("生成")); - jsonMst.put("total_qty", dto.getWeigh_qty()); - jsonMst.put("detail_count", 1); - jsonMst.put("bill_type", IOSEnum.IN_BILL_TYPE.code("拣选回库")); - jsonMst.put("biz_date", DateUtil.now()); - - // 组织明细数据 - ArrayList tableData = new ArrayList<>(); - HashMap dtl = new HashMap<>(); - dtl.put("storagevehicle_code", disDao.getStoragevehicle_code()); - dtl.put("pcsn", disDao.getPcsn()); - dtl.put("qty_unit_id", disDao.getQty_unit_id()); - dtl.put("qty_unit_name", disDao.getQty_unit_name()); - dtl.put("qty", dtlDao.getWeigh_qty().toString()); - MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(disDao.getMaterial_id()); - dtl.put("material_code", materDao.getMaterial_code()); - dtl.put("material_name", materDao.getMaterial_name()); - dtl.put("material_id", materDao.getMaterial_id()); - dtl.put("plan_qty", dtlDao.getWeigh_qty().toString()); - // 调用新增 - tableData.add(dtl); - jsonMst.put("tableData", tableData); - String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst); - - // 更新原出库明细实际出库数量: 计划重量 - 称重重量 - double real_qty = NumberUtil.sub(disDao.getPlan_qty(), dtlDao.getWeigh_qty()).doubleValue(); - if (real_qty <= 0) { - throw new BadRequestException("实际出库重量不能为负数或为0!"); - } - disDao.setReal_qty(NumberUtil.round(real_qty, 3)); - ioStorInvDisMapper.updateById(disDao); - - // 更新叫料明细实际出库重量 + // 更新叫料明细载具信息,际出库重量 iPdmBomCallMaterialDtlService.update( new UpdateWrapper().lambda() + .set(PdmBomCallMaterialDtl::getVehicle_code, dto.getNew_vehicle()) .set(PdmBomCallMaterialDtl::getOut_qty, disDao.getReal_qty()) .eq(PdmBomCallMaterialDtl::getOut_dis_id, disDao.getIostorinvdis_id()) ); - JSONObject result = new JSONObject(); - result.put("sect_id", disDao.getSect_id()); - result.put("iostorinv_id", iostorinv_id); - return result; - } + // 锁定终点 + Structattr attrDao = iStructattrService.getByCode(disDao.getStruct_code()); + if (!attrDao.getLock_type().equals(IOSEnum.LOCK_TYPE.code("未锁定"))) { + throw new BadRequestException("当前仓位被锁定【" + disDao.getStruct_code() + "】"); + } + attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("回库锁")); + iStructattrService.updateById(attrDao); - /** - * 组织分配数据 - * - * @param whereJson { - * iostorinv_id - * sect_id - * } - * @return JSONObject - */ - private JSONObject organizeDivData(JSONObject whereJson) { - // 查询库区 - Sectattr sectDao = iSectattrService.getById(whereJson.getString("sect_id")); - // 组织主数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("checked", true); - jsonMst.put("sect_id", sectDao.getSect_id()); - jsonMst.put("stor_id", sectDao.getStor_id()); - // 组织明细数据 - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, whereJson.getString("iostorinv_id")) - ); - // 查找分配明细 - Map map = new HashMap<>(); - map.put("iostorinvdtl_id", dtlDao.getIostorinvdtl_id()); - List disDtl = iRawAssistIStorService.getDisDtl(map); - // 类型转换 - ArrayList tableMater = new ArrayList<>(); - disDtl.forEach(item -> { - tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)); - }); - jsonMst.put("tableMater", tableMater); - // 调用分配 - iRawAssistIStorService.divStruct(jsonMst); - - JSONObject result = new JSONObject(); - result.put("storagevehicle_code", disDtl.get(0).getStoragevehicle_code()); - result.put("point_code", IOSConstant.CZW_POINT); - result.put("sect_id", disDtl.get(0).getSect_id()); - result.put("iostorinv_id", disDtl.get(0).getIostorinv_id()); - return result; - } - - - /** - * 下发任务 - * - * @param whereJson { - * storagevehicle_code:载具编码 - * point_code:点位编码 - * sect_id:库区 - * iostorinv_id: id - * } - */ - private void sendTask(JSONObject whereJson) { - // 组织主数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("point_code", whereJson.getString("point_code")); - // 组织明细数据 - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, whereJson.getString("iostorinv_id")) - ); - // 查找分配明细 - Map map = new HashMap<>(); - map.put("iostorinvdtl_id", dtlDao.getIostorinvdtl_id()); - List disDtl = iRawAssistIStorService.getDisDtl(map); - // 类型转换 - ArrayList tableMater = new ArrayList<>(); - disDtl.forEach(item -> { - tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)); - }); - jsonMst.put("tableMater", tableMater); - - iRawAssistIStorService.divPoint(jsonMst); + // 生成回库任务 + JSONObject jsonTask = new JSONObject(); + jsonTask.put("point_code1", IOSConstant.CZW_POINT); + jsonTask.put("point_code2", disDao.getStruct_code()); + jsonTask.put("vehicle_code", disDao.getStoragevehicle_code()); + jsonTask.put("material_id", disDao.getMaterial_id()); + jsonTask.put("material_qty", NumberUtil.sub(disDao.getCheck_qty(), disDao.getReal_qty())); + selectBackInTask.create(jsonTask); } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/StIvtCombinedBoxServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/StIvtCombinedBoxServiceImpl.java index 48de20c..e704796 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/StIvtCombinedBoxServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/StIvtCombinedBoxServiceImpl.java @@ -20,6 +20,7 @@ import org.nl.wms.ext.service.WmsToAcsService; import org.nl.wms.ext.service.util.AcsResponse; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; +import org.nl.wms.sch_manage.service.util.tasks.CombinedBoxInTask; import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.*; @@ -126,6 +127,12 @@ public class StIvtCombinedBoxServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()), @@ -322,7 +329,7 @@ public class StIvtCombinedBoxServiceImpl extends ServiceImpl jsonMst = new HashMap<>(); jsonMst.put("stor_id", moveMstDao.getStor_id()); jsonMst.put("bill_status", IOSEnum.BILL_STATUS.code("生成")); - jsonMst.put("total_qty", dto.getWeight_qty()); + jsonMst.put("total_qty", dto.getMaterial_qty()); jsonMst.put("detail_count", 1); jsonMst.put("bill_type", IOSEnum.IN_BILL_TYPE.code("合箱入库")); jsonMst.put("biz_date", DateUtil.now()); @@ -334,12 +341,12 @@ public class StIvtCombinedBoxServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page) { return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()), @@ -174,7 +182,7 @@ public class StIvtPieceBoxMstServiceImpl extends ServiceImpl().lambda() - .in(StIvtPieceBoxDtl::getPiece_id, ids) + .in(StIvtPieceBoxDtl::getPiece_id, ids) ); } @@ -270,7 +278,7 @@ public class StIvtPieceBoxMstServiceImpl extends ServiceImpl row.getIs_get().equals(IOSConstant.ZERO)) .count(); if (count == 1) { - // 下发拼箱入库任务 + // 下发拼箱回库任务 String task_id = createPieceBoxIn(dao); // 更新明细 dao.setIn_task_id(task_id); @@ -284,6 +292,14 @@ public class StIvtPieceBoxMstServiceImpl extends ServiceImpl().lambda() + .eq(MdPbStoragevehicleext::getStoragevehicle_code, dao.getVehicle_code()) + .eq(MdPbStoragevehicleext::getMaterial_id, dao.getMaterial_id()) + .eq(MdPbStoragevehicleext::getPcsn, dao.getPcsn()) + ); + // 删除组盘记录 iMdPbGroupplateService.remove( new QueryWrapper().lambda() @@ -306,6 +322,7 @@ public class StIvtPieceBoxMstServiceImpl extends ServiceImpl jsonMst = new HashMap<>(); - jsonMst.put("stor_id", boxMstDao.getStor_id()); - jsonMst.put("bill_status", IOSEnum.BILL_STATUS.code("生成")); - jsonMst.put("total_qty", boxMstDao.getTotal_qty()); - jsonMst.put("detail_count", 1); - jsonMst.put("bill_type", IOSEnum.IN_BILL_TYPE.code("拼箱入库")); - jsonMst.put("biz_date", DateUtil.now()); - - // 组织明细数据 - ArrayList tableData = new ArrayList<>(); - HashMap dtl = new HashMap<>(); - dtl.put("storagevehicle_code", dao.getVehicle_code()); - dtl.put("pcsn", dao.getPcsn()); - dtl.put("qty_unit_id", boxMstDao.getQty_unit_id()); - dtl.put("qty_unit_name", boxMstDao.getQty_unit_name()); - dtl.put("qty", boxMstDao.getTotal_qty().toString()); - MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(dao.getMaterial_id()); - dtl.put("material_code", materDao.getMaterial_code()); - dtl.put("material_name", materDao.getMaterial_name()); - dtl.put("material_id", materDao.getMaterial_id()); - dtl.put("plan_qty",boxMstDao.getTotal_qty().toString()); - dtl.put("ext_code", dao.getId()); - // 调用新增 - tableData.add(dtl); - jsonMst.put("tableData", tableData); - String iostorinv_id = iRawAssistIStorService.insertDtl(jsonMst); - - // 调用分配 - // 组织主数据iv - Map jsonDivMst = new HashMap<>(); - jsonDivMst.put("checked", false); - // 组织明细数据 - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, iostorinv_id) - ); - // 查找分配明细 - Map map = new HashMap<>(); - map.put("iostorinvdtl_id", dtlDao.getIostorinvdtl_id()); - List disDtl = iRawAssistIStorService.getDisDtl(map); // 查询仓位 Structattr attrDao = iStructattrService.getByCode(dao.getStruct_code()); + // 锁定仓位 + attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("回库锁")); + iStructattrService.updateById(attrDao); - // 类型转换 - ArrayList tableMater = new ArrayList<>(); - disDtl.forEach(item -> { - item.setSect_id(attrDao.getSect_id()); - item.setSect_code(attrDao.getSect_code()); - item.setSect_name(attrDao.getSect_name()); - item.setStruct_id(attrDao.getStruct_id()); - item.setStruct_code(attrDao.getStruct_code()); - item.setStruct_name(attrDao.getStruct_name()); - tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)); - }); - jsonDivMst.put("tableMater", tableMater); - // 调用分配 - iRawAssistIStorService.divStruct(jsonDivMst); - - // 返回数据 - JSONObject result = new JSONObject(); - result.put("storagevehicle_code", disDtl.get(0).getStoragevehicle_code()); - result.put("point_code", IOSConstant.CZW_POINT); - result.put("sect_id", disDtl.get(0).getSect_id()); - result.put("iostorinv_id", disDtl.get(0).getIostorinv_id()); - // 下发拼箱入库任务 - String task_id = sendTask(result); - return task_id; - } - - /** - * 下发拼箱入库任务 - * - * @param whereJson { - * storagevehicle_code:载具编码 - * point_code:点位编码 - * sect_id:库区 - * iostorinv_id: id - * } - */ - private String sendTask(JSONObject whereJson) { - // 组织主数据 - Map jsonMst = new HashMap<>(); - jsonMst.put("point_code", whereJson.getString("point_code")); - // 组织明细数据 - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( - new QueryWrapper().lambda() - .eq(IOStorInvDtl::getIostorinv_id, whereJson.getString("iostorinv_id")) - ); - // 查找分配明细 - Map map = new HashMap<>(); - map.put("iostorinvdtl_id", dtlDao.getIostorinvdtl_id()); - List disDtl = iRawAssistIStorService.getDisDtl(map); - // 类型转换 - ArrayList tableMater = new ArrayList<>(); - disDtl.forEach(item -> { - tableMater.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)); - }); - jsonMst.put("tableMater", tableMater); - - String task_id = iRawAssistIStorService.divPoint(jsonMst); + JSONObject jsonTask = new JSONObject(); + jsonTask.put("point_code1", IOSConstant.CZW_POINT); + jsonTask.put("point_code2", dao.getStruct_code()); + jsonTask.put("vehicle_code", dao.getVehicle_code()); + jsonTask.put("material_id", dao.getMaterial_id()); + jsonTask.put("material_qty", boxMstDao.getTotal_qty()); + String task_id = pieceBoxInTask.create(jsonTask); return task_id; } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/util/UpdateIvtUtils.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/util/UpdateIvtUtils.java index beb5c1d..40a162a 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/util/UpdateIvtUtils.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/util/UpdateIvtUtils.java @@ -108,7 +108,7 @@ public class UpdateIvtUtils { /** - * 加可用(插入数据) + * 加可用(为空插入数据) * @param where 输入参数 */ private void updateAddCanuseInsertIvt(JSONObject where) { @@ -116,22 +116,28 @@ public class UpdateIvtUtils { MdPbStoragevehicleext extDao = iMdPbStoragevehicleextService.getOne( new QueryWrapper().lambda() .eq(MdPbStoragevehicleext::getStoragevehicle_code, where.getString("storagevehicle_code")) + .eq(MdPbStoragevehicleext::getMaterial_id, where.getString("material_id")) + .eq(MdPbStoragevehicleext::getPcsn, where.getString("pcsn")) ); if (ObjectUtil.isNotEmpty(extDao)) { - throw new BadRequestException("当前载具【"+extDao.getStoragevehicle_code()+"】已存在库存物料,请检查数据!"); + // 更新库存 + extDao.setCanuse_qty(NumberUtil.add(extDao.getCanuse_qty(), where.getBigDecimal("change_qty"))); + iMdPbStoragevehicleextService.updateById(extDao); + } else { + // 插入数据 + MdPbStoragevehicleext extParamDao = JSONObject.parseObject(JSONObject.toJSONString(where), MdPbStoragevehicleext.class); + extParamDao.setStoragevehicleext_id(IdUtil.getStringId()); + extParamDao.setCanuse_qty(where.getBigDecimal("change_qty")); + extParamDao.setFrozen_qty(BigDecimal.valueOf(0)); + extParamDao.setInsert_time(DateUtil.now()); + extParamDao.setUpdate_optid(SecurityUtils.getCurrentUserId()); + extParamDao.setUpdate_optname(SecurityUtils.getCurrentNickName()); + extParamDao.setUpdate_time(DateUtil.now()); + extParamDao.setRemark(where.getString("remark")); + iMdPbStoragevehicleextService.save(extParamDao); } - // 插入数据 - MdPbStoragevehicleext extParamDao = JSONObject.parseObject(JSONObject.toJSONString(where), MdPbStoragevehicleext.class); - extParamDao.setStoragevehicleext_id(IdUtil.getStringId()); - extParamDao.setCanuse_qty(where.getBigDecimal("change_qty")); - extParamDao.setFrozen_qty(BigDecimal.valueOf(0)); - extParamDao.setInsert_time(DateUtil.now()); - extParamDao.setUpdate_optid(SecurityUtils.getCurrentUserId()); - extParamDao.setUpdate_optname(SecurityUtils.getCurrentNickName()); - extParamDao.setUpdate_time(DateUtil.now()); - extParamDao.setRemark(where.getString("remark")); - iMdPbStoragevehicleextService.save(extParamDao); + } /** diff --git a/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue b/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue index 943fdbe..2723598 100644 --- a/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue +++ b/wms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue @@ -435,6 +435,9 @@ export default { this.crud.notify('取消分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS) }) }) + }, + disabledType(value) { + } } } diff --git a/wms/nladmin-ui/src/views/wms/st/selectout/ViewDialog.vue b/wms/nladmin-ui/src/views/wms/st/selectout/ViewDialog.vue index 7ea7ef9..c3adacd 100644 --- a/wms/nladmin-ui/src/views/wms/st/selectout/ViewDialog.vue +++ b/wms/nladmin-ui/src/views/wms/st/selectout/ViewDialog.vue @@ -45,7 +45,7 @@ - + @@ -96,7 +96,8 @@ - + + diff --git a/wms/nladmin-ui/src/views/wms/st/selectout/WeighDialog.vue b/wms/nladmin-ui/src/views/wms/st/selectout/WeighDialog.vue index e69107e..48cc5cb 100644 --- a/wms/nladmin-ui/src/views/wms/st/selectout/WeighDialog.vue +++ b/wms/nladmin-ui/src/views/wms/st/selectout/WeighDialog.vue @@ -49,7 +49,7 @@ - + @@ -106,7 +106,8 @@ - + + @@ -203,7 +204,7 @@ export default { } }, changeQty(row) { - this.formMst.select_qty = parseFloat(this.current.plan_qty) - parseFloat(row) + this.formMst.select_qty = parseFloat(this.current.check_qty) - parseFloat(row) }, getWeigh() { if (!this.formMst.select_pcsn) {