diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.java index 9bf1c28f7..adf1a31ec 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.java @@ -1,8 +1,11 @@ package org.nl.b_lms.sch.point.dao.mapper; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.nl.b_lms.sch.point.dao.SchBasePoint; +import java.util.List; + /** * {@code @Description:} 点位基础表(SchBasePoint)数据持久层 * {@code @Author:} gbx @@ -11,5 +14,9 @@ import org.nl.b_lms.sch.point.dao.SchBasePoint; */ public interface SchBasePointMapper extends BaseMapper { - + /** + * 获取捆扎区域的点位木箱信息 + * @return 点位木箱信息集合 + */ + List queryKZPoint(); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml new file mode 100644 index 000000000..d39f1f697 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/mapper/SchBasePointMapper.xml @@ -0,0 +1,27 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java new file mode 100644 index 000000000..5335da5c6 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java @@ -0,0 +1,196 @@ +package org.nl.b_lms.sch.tasks; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import org.nl.b_lms.sch.point.dao.SchBasePoint; +import org.nl.b_lms.sch.point.service.IschBasePointService; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.sch.AcsTaskDto; +import org.nl.wms.sch.manage.AbstractAcsTask; +import org.nl.wms.sch.manage.TaskStatusEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * 二期捆扎任务类 + * Created by Lxy on 2024/1/19. + */ +public class TwoLashTask extends AbstractAcsTask { + + /** + * 处理类 + */ + private final String THIS_CLASS = TwoLashTask.class.getName(); + + @Override + public List addTask() { + /* + * 下发给ACS时需要特殊处理 + */ + JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0); + + ArrayList resultList = new ArrayList<>(); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + + char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); + AcsTaskDto dto = AcsTaskDto.builder() + .ext_task_id(json.getString("task_id")) + .task_code(json.getString("task_code")) + .task_type(json.getString("acs_task_type")) + .start_device_code(json.getString("point_code1")) + .next_device_code(json.getString("point_code2")) + .vehicle_code(json.getString("vehicle_code")) + .priority(json.getString("priority")) + .class_type(json.getString("task_type")) + .dtl_type(String.valueOf(dtl_type)) + .remark(json.getString("remark")) + .build(); + resultList.add(dto); + } + return resultList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateTaskStatus(JSONObject taskObj, String status) { + // 点位表 + WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); + // 木箱绑定表 + WQLObject boxTab = WQLObject.getWQLObject("bst_ivt_boxlashbound"); + + // 更新任务的参数 + JSONObject map = new JSONObject(); + + /* + * 1-执行中, 2-完成 ,0-acs取消 + */ + // 执行中 + if (status.equals(TaskStatusEnum.EXECUTING.getCode())) { + + map.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + } + + // 完成 + if (status.equals(TaskStatusEnum.FINISHED.getCode())) { + + map.put("task_status", TaskStatusEnum.FINISHED.getCode()); + } + + // 取消 + if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { + + if (taskObj.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) { + throw new BadRequestException("任务已执行不能取消"); + } + + // 更新任务表删除字段 + map.put("is_delete", IOSEnum.IS_NOTANDYES.code("是")); + + // 减去终点点位载具数量 + JSONObject pointDao = pointTab.query("point_code = '" + taskObj.getString("point_code2") + "'").uniqueResult(0); + + pointDao.put("vehicle_qty", NumberUtil.sub(pointDao.getIntValue("vehicle_qty"),1)); + + if (pointDao.getIntValue("vehicle_qty") <= 0) { + // 清空载具号 + pointDao.put("vehicle_code", ""); + pointDao.put("vehicle_qty",0); + } + pointTab.update(pointDao); + + // 删除木箱绑定数据 + boxTab.delete("box_no = '"+taskObj.getString("vehicle_code")+"'"); + + } + map.put("update_optid", SecurityUtils.getCurrentUserId()); + map.put("update_optname", SecurityUtils.getCurrentNickName()); + map.put("update_time", DateUtil.now()); + + WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'"); + } + + @Override + public void findStartPoint() { + + } + + @Override + public void findNextPoint() { + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String createTask(JSONObject form) { + + if (StrUtil.isBlank(form.getString("task_type"))) { + throw new BadRequestException("业务类型不能为空!"); + } + + if (StrUtil.isBlank(form.getString("start_device_code"))) { + throw new BadRequestException("起点不能为空!"); + } + + if (StrUtil.isBlank(form.getString("next_device_code"))) { + throw new BadRequestException("终点不能为空!"); + } + + if (StrUtil.isBlank(form.getString("vehicle_code"))) { + throw new BadRequestException("托盘号不能为空!"); + } + + if (StrUtil.isBlank(form.getString("is_auto_issue"))) { + throw new BadRequestException("是否自动下发不能为空!"); + } + + JSONObject json = new JSONObject(); + json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); + json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); + json.put("task_type", form.getString("task_type")); + json.put("vehicle_code", form.getString("vehicle_code")); + json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + json.put("point_code1", form.getString("start_device_code")); + json.put("point_code2", form.getString("next_device_code")); + json.put("is_auto_issue", form.getString("is_auto_issue")); + json.put("handle_class", this.getClass().getName()); + json.put("create_id", SecurityUtils.getCurrentUserId()); + json.put("create_name", SecurityUtils.getCurrentUsername()); + json.put("create_time", DateUtil.now()); + json.put("priority", "1"); + json.put("acs_task_type", "7"); + + WQLObject.getWQLObject("SCH_BASE_Task").insert(json); + return json.getString("task_id"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void forceFinish(String task_id) { + JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode()); + } + + @Override + public void cancel(String task_id) { + JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + this.updateTaskStatus(taskObj, IOSEnum.ACS_RESULT.code("取消")); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxlashboundController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxlashboundController.java new file mode 100644 index 000000000..c1863126a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/controller/BstIvtBoxlashboundController.java @@ -0,0 +1,19 @@ +package org.nl.b_lms.storage_manage.database.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 前端控制器 + *

+ * + * @author author + * @since 2024-02-06 + */ +@RestController +@RequestMapping("/bst-ivt-boxlashbound") +public class BstIvtBoxlashboundController { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxlashboundService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxlashboundService.java new file mode 100644 index 000000000..ecb201146 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/IBstIvtBoxlashboundService.java @@ -0,0 +1,16 @@ +package org.nl.b_lms.storage_manage.database.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound; + +/** + *

+ * 服务类 + *

+ * + * @author author + * @since 2024-02-06 + */ +public interface IBstIvtBoxlashboundService extends IService { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java index 22e4712ec..4a0d58f36 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxinfo.java @@ -67,6 +67,11 @@ public class BstIvtBoxinfo implements Serializable { */ private String box_high; + /* + * 捆绑数量 + */ + private String lash_num; + /* * 插入时间 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxlashbound.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxlashbound.java new file mode 100644 index 000000000..ddf4e4f1d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/BstIvtBoxlashbound.java @@ -0,0 +1,38 @@ +package org.nl.b_lms.storage_manage.database.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Builder; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author author + * @since 2024-02-06 + */ +@Data +@Builder +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("bst_ivt_boxlashbound") +public class BstIvtBoxlashbound implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId + private Long lash_id; + + private Long bound_id; + + private String box_no; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxlashboundMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxlashboundMapper.java new file mode 100644 index 000000000..68e092ce2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxlashboundMapper.java @@ -0,0 +1,16 @@ +package org.nl.b_lms.storage_manage.database.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound; + +/** + *

+ * Mapper 接口 + *

+ * + * @author author + * @since 2024-02-06 + */ +public interface BstIvtBoxlashboundMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/xml/SchBasePointMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxlashboundMapper.xml similarity index 60% rename from lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/xml/SchBasePointMapper.xml rename to lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxlashboundMapper.xml index 1f63febf6..c9599a51a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/dao/xml/SchBasePointMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/dao/mapper/BstIvtBoxlashboundMapper.xml @@ -1,6 +1,5 @@ - - + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java index 71fe13d02..2d0db4a18 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/database/service/impl/BstIvtBoxinfoServiceImpl.java @@ -34,6 +34,8 @@ public class BstIvtBoxinfoServiceImpl extends ServiceImpl + * 服务实现类 + *

+ * + * @author author + * @since 2024-02-06 + */ +@Service +public class BstIvtBoxlashboundServiceImpl extends ServiceImpl implements IBstIvtBoxlashboundService { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java new file mode 100644 index 000000000..fa6c19424 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java @@ -0,0 +1,196 @@ +package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl; + +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.sch.point.dao.SchBasePoint; +import org.nl.b_lms.sch.point.dao.mapper.SchBasePointMapper; +import org.nl.b_lms.sch.point.service.IschBasePointService; +import org.nl.b_lms.sch.tasks.TwoLashTask; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo; +import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxlashbound; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManageService; +import org.nl.common.utils.IdUtil; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.wql.core.bean.WQLObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 捆扎业务处理 服务实现类 + *

+ * + * @author generator + * @since 2023-11-10 + */ +@Service +@RequiredArgsConstructor +public class LashManageServiceImpl implements LashManageService { + + /** + * 木箱信息服务 + */ + @Autowired + private IBstIvtBoxinfoService iBstIvtBoxinfoService; + + /** + * 点位服务 + */ + @Autowired + private IschBasePointService ischBasePointService; + + /** + * 点位mapper服务 + */ + @Autowired + private SchBasePointMapper schBasePointMapper; + + /** + * 木箱捆扎绑定服务 + */ + @Autowired + private IBstIvtBoxlashboundService iBstIvtBoxlashboundService; + + @Override + @Transactional + public void createLashTask(JSONObject whereJson) { + /* + * 1.判断此木箱是否需要堆叠 + * 2.插入木箱捆扎绑定表 + * 3.生成任务 + */ + // 查询木箱信息 + BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxinfo::getBox_no, whereJson.getString("box_no")) + ); + + if (ObjectUtil.isEmpty(boxDao)) { + throw new BadRequestException("没有此木箱信息:"+whereJson.getString("box_no")); + } + + JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelation") + .query("package_box_sn = '" + boxDao.getBox_no() + "'") + .uniqueResult(0); + + /* + * 查看点位是否为空: + * 为空记当前载具号,载具数量为1, + * 不为空,加载具数量,当点位载具数量与木箱信息捆扎数量相同时下发捆绑 + */ + // 查询捆扎的两个点位及木箱信息 + List pointDaoList = schBasePointMapper.queryKZPoint(); + + if (ObjectUtil.isEmpty(pointDaoList)) { + throw new BadRequestException("点位不存在,或未启用!"); + } + + // 是否要移动至捆扎位 + String is_move = IOSEnum.IS_NOTANDYES.code("否"); + // 桁架任务终点 + String end_point; + + // 判断是否有相同订单号、木箱规格的木箱 + List likeBoxList = pointDaoList.stream() + .filter(row -> ObjectUtil.isNotEmpty(row.getString("box_length")) && + ObjectUtil.isNotEmpty(row.getString("box_width")) && + ObjectUtil.isNotEmpty(row.getString("box_high")) && + ObjectUtil.isNotEmpty(row.getString("sale_order_name")) + + ) + .filter(row -> row.getString("box_length").equals(boxDao.getBox_length()) && + row.getString("box_width").equals(boxDao.getBox_width()) && + row.getString("box_high").equals(boxDao.getBox_high()) && + row.getString("sale_order_name").equals(jsonSub.getString("sale_order_name")) + ) + .collect(Collectors.toList()); + + if (ObjectUtil.isNotEmpty(likeBoxList)) { + // 加载具数量 + JSONObject jsonPoint = likeBoxList.get(0); + + jsonPoint.put("vehicle_qty", NumberUtil.add(jsonPoint.getBigDecimal("vehicle_qty"),1)); + + if (jsonPoint.getIntValue("vehicle_qty") == Integer.parseInt(boxDao.getLash_num())) { + // 相同清空载具以及数量 + jsonPoint.put("vehicle_qty",0); + jsonPoint.put("vehicle_code",""); + is_move = IOSEnum.IS_NOTANDYES.code("是"); + } + + end_point = jsonPoint.getString("point_code"); + ischBasePointService.updateById(JSON.parseObject(jsonPoint.toString(), SchBasePoint.class)); + + // 查询此点位绑定木箱表 + BstIvtBoxlashbound boundDao = iBstIvtBoxlashboundService.getOne( + new QueryWrapper().lambda() + .eq(BstIvtBoxlashbound::getBox_no, jsonPoint.getString("box_no")) + ); + /* + * 插入绑定木箱表 + */ + BstIvtBoxlashbound insertBound = BstIvtBoxlashbound.builder() + .lash_id(IdUtil.getLongId()) + .bound_id(boundDao.getBound_id()) + .box_no(boxDao.getBox_no()) + .build(); + iBstIvtBoxlashboundService.save(insertBound); + + } else { + // 判断是否有载具 + List empPointList = pointDaoList.stream() + .filter(row -> ObjectUtil.isEmpty(row.getString("vehicle_code"))) + .collect(Collectors.toList()); + + if (ObjectUtil.isNotEmpty(empPointList)) { + // 有空位 + JSONObject jsonPoint = empPointList.get(0); + + // 加载具数量、更新载具号 + jsonPoint.put("vehicle_qty", NumberUtil.add(jsonPoint.getBigDecimal("vehicle_qty"),1)); + jsonPoint.put("vehicle_code",boxDao.getBox_no()); + + end_point = jsonPoint.getString("point_code"); + ischBasePointService.updateById(JSON.parseObject(jsonPoint.toString(), SchBasePoint.class)); + /* + * 插入绑定木箱表 + */ + BstIvtBoxlashbound insertBound = BstIvtBoxlashbound.builder() + .lash_id(IdUtil.getLongId()) + .bound_id(IdUtil.getLongId()) + .box_no(boxDao.getBox_no()) + .build(); + iBstIvtBoxlashboundService.save(insertBound); + } else { + // 没有空位 + throw new BadRequestException("没有空位!"); + } + } + /* + * 生成任务并下发 + */ + JSONObject jsonTaskParam = new JSONObject(); + jsonTaskParam.put("task_type", "010504"); + jsonTaskParam.put("start_device_code", whereJson.getString("device_code")); + jsonTaskParam.put("next_device_code", end_point); + jsonTaskParam.put("vehicle_code", whereJson.getString("box_no")); + jsonTaskParam.put("is_auto_issue", is_move); + + TwoLashTask taskBean = new TwoLashTask(); + taskBean.createTask(jsonTaskParam); + taskBean.immediateNotifyAcs(null); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/LashManageService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/LashManageService.java new file mode 100644 index 000000000..a6fbc9723 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/LashManageService.java @@ -0,0 +1,25 @@ +package org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service; + +import com.alibaba.fastjson.JSONObject; + +/** + *

+ * 捆扎业务处理 服务类 + *

+ * + * @author generator + * @since 2023-11-16 + */ +public interface LashManageService { + + /** + * 创建桁架任务 + * @param whereJson { + * device_code:起点 + * box_no: 箱号 + * + * } + */ + void createLashTask(JSONObject whereJson); + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls index 8219246a5..9f5da0576 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java index 0fb1e4e41..38f4ada1c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/eum/RegionTypeEnum.java @@ -22,7 +22,8 @@ public enum RegionTypeEnum { PD01("19", "盘点区", "1645705331612979200"), TWO_ZZ01("20", "二期暂存区", ""), TWO_TTP01("21", "二期空托盘区", "1750471797729529856"), - TWO_MX01("22", "二期木箱区", "1752254266938101760"); + TWO_MX01("22", "二期木箱区", "1752254266938101760"), + TWO_KZ01("23", "二期捆扎区", "1754774130626007040"); private String name; private String code; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java index 88b3c0fe2..6cba3c9bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java @@ -3,12 +3,12 @@ package org.nl.wms.st.outbill.rest; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.sch.point.service.IschBasePointService; +import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.b_lms.storage_manage.ios.service.iostorInv.IStIvtIostorinvOutService; -import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.InBoxManageServiceImpl; -import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.InVehicleManageServiceImpl; -import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.OutBoxManageServiceImpl; -import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.OutVehicleManageServiceImpl; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.impl.*; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.LashManageService; import org.nl.modules.logging.annotation.Log; import org.nl.wms.st.inbill.service.CheckOutBillService; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +38,8 @@ public class CheckOutBillController { @Autowired private IStIvtIostorinvOutService iStIvtIostorinvOutService; + private final LashManageService lashManageService; + @GetMapping @Log("查询出库单") @@ -393,4 +395,11 @@ public class CheckOutBillController { return new ResponseEntity<>(HttpStatus.OK); } + @PostMapping("/testBoxLash") + @Log("木箱捆扎测试") + public ResponseEntity testBoxLash(@RequestBody JSONObject whereJson) { + lashManageService.createLashTask(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + }