rev:如果是返检出库或者改切出库则不捆扎

This commit is contained in:
2024-07-25 15:51:51 +08:00
parent 4f267d6e33
commit d4cf8d09d6
4 changed files with 66 additions and 22 deletions

View File

@@ -9,19 +9,12 @@ import com.alibaba.fastjson.JSON;
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 lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
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.IBstIvtBoxinfoService;
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxlashboundService;
import org.nl.b_lms.storage_manage.database.service.IMdpbBoxtypeService;
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.database.service.dao.MdpbBoxtype;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvOutMapper;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
@@ -31,7 +24,6 @@ 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.stereotype.Component;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -62,6 +54,12 @@ public class TwoLashTask extends AbstractAcsTask {
@Autowired
private IMdpbBoxtypeService iMdpbBoxtypeService;
/*
* 出入库主表mapper
*/
@Autowired
private StIvtIostorinvOutMapper stIvtIostorinvOutMapper;
@Override
public List<AcsTaskDto> addTask() {
/*
@@ -116,11 +114,21 @@ public class TwoLashTask extends AbstractAcsTask {
}
interaction_json.put("bindingTimes", boxTypeDao.getLash_num_tow());
// 是否二次捆扎
// 是否二次捆扎: 如果是返检或者反切的则不需要捆扎(找最近的木箱出库单据)
if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_two())) {
throw new BadRequestException("是否第二次捆扎不能为空!");
}
interaction_json.put("isBinding", boxTypeDao.getNeed_lash_two());
String isBinding = boxTypeDao.getNeed_lash_two();
JSONObject jsonMst = stIvtIostorinvOutMapper.queryBoxOutInfo(json.getString("vehicle_code"));
if (ObjectUtil.isNotEmpty(jsonMst)) {
if (jsonMst.getString("bill_type").equals(IOSEnum.OUT_TYPE.code("改切出库"))
|| jsonMst.getString("bill_type").equals(IOSEnum.OUT_TYPE.code("返检出库"))) {
isBinding = IOSEnum.IS_NOTANDYES.code("");
}
}
interaction_json.put("isBinding", isBinding);
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"))

View File

@@ -1,6 +1,7 @@
package org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv;
import org.springframework.data.domain.Pageable;
@@ -18,4 +19,10 @@ import java.util.Map;
*/
public interface StIvtIostorinvOutMapper extends BaseMapper<StIvtIostorinv> {
/**
* 根据木箱号查找最近出库的木箱
* @param box_no: 木箱号
* @return JSONObject
*/
JSONObject queryBoxOutInfo(String box_no);
}

View File

@@ -1,5 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvOutMapper">
<select id="queryBoxOutInfo" resultType="com.alibaba.fastjson.JSONObject">
SELECT
mst.bill_code,
mst.bill_type,
dis.box_no
FROM
st_ivt_iostorinvdis dis
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
WHERE
dis.box_no = #{box_no}
AND mst.io_type = '1'
AND mst.is_delete = '0'
ORDER BY mst.input_time DESC
LIMIT 1
</select>
</mapper>

View File

@@ -7,12 +7,8 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import org.hibernate.annotations.Source;
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.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper;
import org.nl.b_lms.sch.tasks.TwoLashTask;
import org.nl.b_lms.sch.tasks.TwoOutHeapTask;
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
@@ -22,19 +18,20 @@ 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.database.service.dao.MdpbBoxtype;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.mapper.StIvtIostorinvOutMapper;
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.nl.modules.wql.util.SpringContextHolder;
import org.nl.system.service.param.impl.SysParamServiceImpl;
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 javax.annotation.Resource;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -74,6 +71,11 @@ public class LashManageServiceImpl implements LashManageService {
*/
private final IMdpbBoxtypeService iMdpbBoxtypeService;
/**
* 出入库主表服务
*/
private final StIvtIostorinvOutMapper stIvtIostorinvOutMapper;
@Override
@Transactional
public void createLashTask(JSONObject whereJson) {
@@ -274,6 +276,8 @@ public class LashManageServiceImpl implements LashManageService {
public JSONObject applyTab(JSONObject whereJson) {
// 载具扩展属性表
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
// 任务表
WQLObject taskTab = WQLObject.getWQLObject("sch_base_task");
// TODO 贴标流程
JSONObject result = new JSONObject();
@@ -305,11 +309,22 @@ public class LashManageServiceImpl implements LashManageService {
result.put("width", boxDao.getBox_width());
result.put("height", boxDao.getBox_high());
result.put("case", boxDao.getMaterial_code());
// 是否捆扎
// 是否捆扎: 如果是返检或者反切的则不需要捆扎(找最近的木箱出库单据)
if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_one())) {
throw new BadRequestException("第一次是否捆扎不能为空!");
}
result.put("isBinding", boxTypeDao.getNeed_lash_one());
String isBinding = boxTypeDao.getNeed_lash_one();
JSONObject jsonMst = stIvtIostorinvOutMapper.queryBoxOutInfo(boxDao.getBox_no());
if (ObjectUtil.isNotEmpty(jsonMst)) {
if (jsonMst.getString("bill_type").equals(IOSEnum.OUT_TYPE.code("改切出库"))
|| jsonMst.getString("bill_type").equals(IOSEnum.OUT_TYPE.code("返检出库"))) {
isBinding = IOSEnum.IS_NOTANDYES.code("");
}
}
result.put("isBinding", isBinding);
// TODO 是否贴标
result.put("isLabeling", IOSEnum.IS_SEND.code(""));
// TODO 贴标模版