add 提交
This commit is contained in:
@@ -422,16 +422,19 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
if (subList.get(0).getQuanlity_in_box().intValue() != split.length) {
|
||||
throw new BadRequestException("当前木箱" + subList.get(0).getQuanlity_in_box() + "要装箱的子卷" + split.length + "未装完");
|
||||
}
|
||||
String boxSn = subList.get(0).getPackage_box_sn();
|
||||
PdmBiContainerinbound pdmBiContainerinbound = new PdmBiContainerinbound();
|
||||
pdmBiContainerinbound.setId(org.nl.common.utils.IdUtil.getStringId());
|
||||
pdmBiContainerinbound.setContainer_name(containerName);
|
||||
pdmBiContainerinbound.setBox(boxSn);
|
||||
Boolean inbound = param.getBoolean("inbound");
|
||||
if (inbound != null) {
|
||||
pdmBiContainerinbound.setInbound(inbound);
|
||||
|
||||
//查找包装关系,获取子卷组号,子卷号校验
|
||||
PdmBiContainerinbound pdmBiContainerinbound = iPdmBiContainerinboundService.getOne(new QueryWrapper<PdmBiContainerinbound>().eq("box", subList.get(0).getPackage_box_sn()));
|
||||
String containerNameStr = pdmBiContainerinbound.getContainer_name();
|
||||
if (StrUtil.isEmpty(containerNameStr)){
|
||||
throw new BadRequestException("当前木箱关联的子卷为空");
|
||||
}
|
||||
List<String> containerBiList = Arrays.asList(containerNameStr.split(","));
|
||||
HashSet<String> containerSet = new HashSet<>(containerList);
|
||||
HashSet<String> containerBiSet = new HashSet<>(containerBiList);
|
||||
if (!containerSet.containsAll(containerBiSet) || !containerBiSet.containsAll(containerSet)){
|
||||
throw new BadRequestException("手持扫描子卷和木箱出库子卷不属于同一组" + containerBiList);
|
||||
}
|
||||
iPdmBiContainerinboundService.save(pdmBiContainerinbound);
|
||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.ZXRK, null, Boolean.TRUE, null, containerList);
|
||||
|
||||
}
|
||||
|
||||
@@ -11,8 +11,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import org.nl.b_lms.bst.ivt.boxstack.service.dao.BstIvtBoxstack;
|
||||
import org.nl.b_lms.bst.ivt.boxstack.service.dao.mapper.BstIvtBoxstackMapper;
|
||||
import org.nl.b_lms.pdm.info.dao.PdmBiContainerinbound;
|
||||
import org.nl.b_lms.pdm.info.service.IPdmBiContainerinboundService;
|
||||
import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext;
|
||||
import org.nl.b_lms.pdm.storagevehicleext.dao.mapper.MdPbStoragevehicleextMapper;
|
||||
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
|
||||
import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
@@ -25,12 +29,14 @@ 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.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.nl.wms.util.TaskUtil.getRoutePlanCode;
|
||||
|
||||
@@ -58,7 +64,12 @@ public class BoxSSXTask extends AbstractAcsTask {
|
||||
|
||||
@Resource
|
||||
private MdStorageVehicleInfoMapper mdStorageVehicleInfoMapper;
|
||||
@Autowired
|
||||
private PdmBiSubpackagerelationMapper pdmBiSubpackagerelationMapper;
|
||||
|
||||
|
||||
@Autowired
|
||||
private IPdmBiContainerinboundService iPdmBiContainerinboundService;
|
||||
@Override
|
||||
public List<AcsTaskDto> addTask() {
|
||||
/*
|
||||
@@ -142,6 +153,23 @@ public class BoxSSXTask extends AbstractAcsTask {
|
||||
mdPbStoragevehicleext.setUpdate_time( DateUtil.now());
|
||||
mdPbStoragevehicleextMapper.updateById(mdPbStoragevehicleext);
|
||||
}
|
||||
//子卷和木箱组盘
|
||||
String containerName = "";
|
||||
List<PdmBiSubpackagerelation> pdmBiSubpackagerelations = pdmBiSubpackagerelationMapper.selectList(new QueryWrapper<PdmBiSubpackagerelation>().eq("package_box_sn", taskObj.getString("vehicle_code")));
|
||||
if (!pdmBiSubpackagerelations.isEmpty() && pdmBiSubpackagerelations.size()>1){
|
||||
containerName = pdmBiSubpackagerelations.stream()
|
||||
.map(item -> item.getContainer_name() != null ? item.getContainer_name() : "")
|
||||
.filter(name -> !name.isEmpty()) // 过滤掉空字符串
|
||||
.collect(Collectors.joining(","));
|
||||
}else {
|
||||
containerName = pdmBiSubpackagerelations.get(0).getContainer_name();
|
||||
}
|
||||
|
||||
PdmBiContainerinbound pdmBiContainerinbound = new PdmBiContainerinbound();
|
||||
pdmBiContainerinbound.setId(org.nl.common.utils.IdUtil.getStringId());
|
||||
pdmBiContainerinbound.setContainer_name(containerName);
|
||||
pdmBiContainerinbound.setBox( taskObj.getString("vehicle_code"));
|
||||
iPdmBiContainerinboundService.save(pdmBiContainerinbound);
|
||||
}
|
||||
|
||||
// 取消
|
||||
|
||||
@@ -649,9 +649,45 @@
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM ST_IVT_IOStorInv ios_sub
|
||||
WHERE ios_sub.iostorinv_id = dtl.iostorinv_id
|
||||
AND ios_sub.is_delete = '0'
|
||||
AND ios_sub.io_type = '0'
|
||||
<if test="paramMap.in_stor_id != null and !paramMap.in_stor_id.isEmpty()">
|
||||
AND ios_sub.stor_id IN
|
||||
<foreach collection="paramMap.in_stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.stor_id != null and paramMap.stor_id != ''">
|
||||
AND ios_sub.stor_id = #{paramMap.stor_id}
|
||||
</if>
|
||||
<if test="paramMap.bill_type != null and paramMap.bill_type != ''">
|
||||
AND ios_sub.bill_type = #{paramMap.bill_type}
|
||||
</if>
|
||||
<if test="paramMap.bill_code != null and paramMap.bill_code != ''">
|
||||
AND ios_sub.bill_code LIKE '%${paramMap.bill_code}%'
|
||||
</if>
|
||||
<if test="paramMap.create_mode != null and paramMap.create_mode != ''">
|
||||
AND ios_sub.create_mode = #{paramMap.create_mode}
|
||||
</if>
|
||||
<if test="paramMap.bill_status != null and paramMap.bill_status != ''">
|
||||
AND ios_sub.bill_status = #{paramMap.bill_status}
|
||||
</if>
|
||||
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND ios_sub.input_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND ios_sub.input_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
)
|
||||
GROUP BY
|
||||
dtl.iostorinv_id
|
||||
) dtl2 ON ios2.iostorinv_id = dtl2.iostorinv_id
|
||||
order BY
|
||||
ios2.input_time DESC
|
||||
</select>
|
||||
<select id="outBillPage" resultType="org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinv">
|
||||
SELECT
|
||||
@@ -799,6 +835,26 @@
|
||||
<if test="paramMap.width != null and paramMap.width != ''">
|
||||
AND dtl.width LIKE '%${paramMap.width}%'
|
||||
</if>
|
||||
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM st_ivt_iostorinv mst_sub
|
||||
WHERE mst_sub.iostorinv_id = dtl.iostorinv_id
|
||||
AND mst_sub.io_type = '1'
|
||||
AND mst_sub.is_delete = '0'
|
||||
-- 复用主表核心筛选条件,缩小范围
|
||||
<if test="paramMap.in_stor_id != null and !paramMap.in_stor_id.isEmpty()">
|
||||
AND mst_sub.stor_id IN
|
||||
<foreach collection="paramMap.in_stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst_sub.input_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst_sub.input_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
)
|
||||
GROUP BY
|
||||
dtl.iostorinv_id,
|
||||
dtl.vbeln
|
||||
@@ -841,6 +897,24 @@
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM st_ivt_iostorinv mst_sub
|
||||
WHERE mst_sub.iostorinv_id = dis.iostorinv_id
|
||||
AND mst_sub.io_type = '1'
|
||||
AND mst_sub.is_delete = '0'
|
||||
<if test="paramMap.in_stor_id != null and !paramMap.in_stor_id.isEmpty()">
|
||||
AND mst_sub.stor_id IN
|
||||
<foreach collection="paramMap.in_stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst_sub.input_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst_sub.input_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
)
|
||||
GROUP BY
|
||||
dis.iostorinv_id
|
||||
) b ON b.iostorinv_id = ios.iostorinv_id
|
||||
@@ -857,6 +931,24 @@
|
||||
b.io_type = '1'
|
||||
and b.is_delete='0'
|
||||
and b.is_overdue = '0'
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM st_ivt_iostorinv mst_sub
|
||||
WHERE mst_sub.iostorinv_id = a.iostorinv_id
|
||||
AND mst_sub.io_type = '1'
|
||||
AND mst_sub.is_delete = '0'
|
||||
<if test="paramMap.in_stor_id != null and !paramMap.in_stor_id.isEmpty()">
|
||||
AND mst_sub.stor_id IN
|
||||
<foreach collection="paramMap.in_stor_id" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="paramMap.begin_time != null and paramMap.begin_time != ''">
|
||||
AND mst_sub.input_time <![CDATA[ >= ]]> #{paramMap.begin_time}
|
||||
</if>
|
||||
<if test="paramMap.end_time != null and paramMap.end_time != ''">
|
||||
AND mst_sub.input_time <![CDATA[ <= ]]> #{paramMap.end_time}
|
||||
</if>
|
||||
)
|
||||
GROUP BY a.iostorinv_id
|
||||
) a ON a.iostorinv_id = ios.iostorinv_id
|
||||
ORDER BY iostorinv_id DESC
|
||||
|
||||
@@ -373,8 +373,8 @@ public class OutChargeServiceImpl implements OutChargeService {
|
||||
String msg = String.join(",", ivtList);
|
||||
throw new BadRequestException("此子卷已存在库存:" + msg);
|
||||
}
|
||||
iostorinvdtlService.updateBatchById(needSaveDtlList);
|
||||
iostorinvdisService.updateBatchById(needSaveDisList);
|
||||
iostorinvdtlService.saveBatch(needSaveDtlList);
|
||||
iostorinvdisService.saveBatch(needSaveDisList);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -152,4 +152,7 @@ public class OutBillTaskVo implements Serializable {
|
||||
private String sap_pcsn;
|
||||
private String width_standard;
|
||||
private String task_type_name;
|
||||
|
||||
private String material_code;
|
||||
private String material_name;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user