|
|
|
|
@@ -39,6 +39,7 @@ import org.nl.modules.common.exception.BadRequestException;
|
|
|
|
|
import org.nl.common.utils.CodeUtil;
|
|
|
|
|
import org.nl.modules.wql.core.bean.WQLObject;
|
|
|
|
|
import org.nl.modules.wql.util.SpringContextHolder;
|
|
|
|
|
import org.nl.system.service.param.ISysParamService;
|
|
|
|
|
import org.nl.wms.basedata.st.service.StorattrService;
|
|
|
|
|
import org.nl.wms.basedata.st.service.dto.StorattrDto;
|
|
|
|
|
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
|
|
|
|
|
@@ -77,7 +78,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
* 木箱信息服务
|
|
|
|
|
*/
|
|
|
|
|
@Autowired
|
|
|
|
|
private IBstIvtBoxinfoService iBstIvtBoxinfoService;
|
|
|
|
|
private IBstIvtBoxinfoService iBstIvtBoxinfoService;
|
|
|
|
|
/**
|
|
|
|
|
* 仓库服务
|
|
|
|
|
*/
|
|
|
|
|
@@ -113,10 +114,14 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
*/
|
|
|
|
|
@Autowired
|
|
|
|
|
private PointService pointService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISysParamService iSysParamService;
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
|
|
private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object pageQuery(Map query, Pageable pageQuery) {
|
|
|
|
|
Page<Object> page = PageHelper.startPage(pageQuery.getPageNumber() + 1, pageQuery.getPageSize());
|
|
|
|
|
@@ -296,6 +301,25 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
attrParam.put("sect_id", jsonObject.getString("sect_id"));
|
|
|
|
|
attrParam.put("material_id", disDao.getMaterial_id());
|
|
|
|
|
attrParam.put("box_no", disDao.getBox_no());
|
|
|
|
|
// 查询木箱信息
|
|
|
|
|
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
|
|
|
|
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
|
|
|
|
.eq(BstIvtBoxinfo::getBox_no, disDao.getBox_no())
|
|
|
|
|
);
|
|
|
|
|
attrParam.put("vehicle_type", boxDao.getVehicle_type());
|
|
|
|
|
//根据木箱高度,判断入库仓位的高度
|
|
|
|
|
String height = "";
|
|
|
|
|
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
|
|
|
|
String heightLevel2 = iSysParamService.findByCode("height_level_2").getValue();
|
|
|
|
|
String box_high = boxDao.getBox_high();
|
|
|
|
|
if (Integer.parseInt(box_high) <= Integer.parseInt(heightLevel1)) {
|
|
|
|
|
height = "1";
|
|
|
|
|
} else if (Integer.parseInt(box_high) > Integer.parseInt(heightLevel1) && Integer.parseInt(box_high) <= Integer.parseInt(heightLevel2)) {
|
|
|
|
|
height = "2";
|
|
|
|
|
} else {
|
|
|
|
|
height = "3";
|
|
|
|
|
}
|
|
|
|
|
attrParam.put("height", height);
|
|
|
|
|
|
|
|
|
|
JSONObject jsonSect = sectTab.query("sect_id = '" + jsonObject.getString("sect_id") + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
@@ -340,12 +364,12 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
// 更新分配明细
|
|
|
|
|
iStIvtIostorinvdisService.update(
|
|
|
|
|
new UpdateWrapper<StIvtIostorinvdis>().lambda()
|
|
|
|
|
.set(StIvtIostorinvdis::getStruct_id,jsonAttr.getString("struct_id"))
|
|
|
|
|
.set(StIvtIostorinvdis::getStruct_code,jsonAttr.getString("struct_code"))
|
|
|
|
|
.set(StIvtIostorinvdis::getStruct_name,jsonAttr.getString("struct_name"))
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_id,jsonAttr.getString("sect_id"))
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_code,jsonAttr.getString("sect_code"))
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_name,jsonAttr.getString("sect_name"))
|
|
|
|
|
.set(StIvtIostorinvdis::getStruct_id, jsonAttr.getString("struct_id"))
|
|
|
|
|
.set(StIvtIostorinvdis::getStruct_code, jsonAttr.getString("struct_code"))
|
|
|
|
|
.set(StIvtIostorinvdis::getStruct_name, jsonAttr.getString("struct_name"))
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_id, jsonAttr.getString("sect_id"))
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_code, jsonAttr.getString("sect_code"))
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_name, jsonAttr.getString("sect_name"))
|
|
|
|
|
.set(StIvtIostorinvdis::getWork_status, work_status)
|
|
|
|
|
.set(StIvtIostorinvdis::getTask_id, task_id)
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, disDao.getIostorinv_id())
|
|
|
|
|
@@ -358,7 +382,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, disDao.getIostorinv_id())
|
|
|
|
|
.eq(StIvtIostorinvdis::getBox_no, disDao.getBox_no())
|
|
|
|
|
);
|
|
|
|
|
upateIvt(disDaoList, mstDao,IOSEnum.IVT_CHANGE.code("加待入"));
|
|
|
|
|
upateIvt(disDaoList, mstDao, IOSEnum.IVT_CHANGE.code("加待入"));
|
|
|
|
|
|
|
|
|
|
// 更新明细状态
|
|
|
|
|
iStIvtIostorinvdtlService.updateStatus(disDao.getIostorinvdtl_id());
|
|
|
|
|
@@ -380,25 +404,25 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
).get(0);
|
|
|
|
|
|
|
|
|
|
List<LinkedHashMap> disList = iStIvtIostorinvdisService.list(
|
|
|
|
|
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, mst.getIostorinv_id())
|
|
|
|
|
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
|
|
|
|
new QueryWrapper<StIvtIostorinvdis>().lambda()
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, mst.getIostorinv_id())
|
|
|
|
|
).stream().map(row -> JSONObject.parseObject(JSON.toJSONString(row), LinkedHashMap.class))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
//查询木箱码
|
|
|
|
|
PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper<PdmBiSubpackagerelation>()
|
|
|
|
|
.eq(PdmBiSubpackagerelation::getContainer_name,whereJson.get("material_barcode")));
|
|
|
|
|
PdmBiSubpackagerelation pdmBiSubpackagerelation = ipdmBiSubpackagerelationService.getOne(new LambdaQueryWrapper<PdmBiSubpackagerelation>()
|
|
|
|
|
.eq(PdmBiSubpackagerelation::getContainer_name, whereJson.get("material_barcode")));
|
|
|
|
|
// 查询木箱信息
|
|
|
|
|
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
|
|
|
|
|
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
|
|
|
|
.eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn())
|
|
|
|
|
.eq(BstIvtBoxinfo::getBox_no, pdmBiSubpackagerelation.getPackage_box_sn())
|
|
|
|
|
);
|
|
|
|
|
jsonSend.put("dtl_row",JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
|
|
|
|
jsonSend.put("dtl_row", JSONObject.parseObject(JSON.toJSONString(dtlDao)));
|
|
|
|
|
jsonSend.put("tableMater", disList);
|
|
|
|
|
jsonSend.put("point_code", jsonObject.getString("point_code"));
|
|
|
|
|
jsonSend.put("stor_id", mst.getStor_id());
|
|
|
|
|
//成品入库托盘类型
|
|
|
|
|
jsonSend.put("vehicle_code",jsonObject.getString("box_no"));
|
|
|
|
|
jsonSend.put("vehicle_code2",jsonObject.getString("vehicle_code"));
|
|
|
|
|
jsonSend.put("vehicle_code", jsonObject.getString("box_no"));
|
|
|
|
|
jsonSend.put("vehicle_code2", jsonObject.getString("vehicle_code"));
|
|
|
|
|
JSONObject param = new JSONObject();
|
|
|
|
|
param.put("containerType", boxDao.getVehicle_type());
|
|
|
|
|
jsonSend.put("request_param", param.toString());
|
|
|
|
|
@@ -406,7 +430,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
|
|
|
|
|
// 下发任务
|
|
|
|
|
JSONObject sendJson = new JSONObject();
|
|
|
|
|
sendJson.put("task_id",task_id1);
|
|
|
|
|
sendJson.put("task_id", task_id1);
|
|
|
|
|
this.reIssueTask(sendJson);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -450,15 +474,15 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
.eq(StIvtIostorinvdis::getBox_no, jsonDis.getString("box_no"))
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
upateIvt(disDaoList,mstDao,IOSEnum.IVT_CHANGE.code("减待入"));
|
|
|
|
|
upateIvt(disDaoList, mstDao, IOSEnum.IVT_CHANGE.code("减待入"));
|
|
|
|
|
|
|
|
|
|
// 更新分配明细状态
|
|
|
|
|
iStIvtIostorinvdisService.update(
|
|
|
|
|
new UpdateWrapper<StIvtIostorinvdis>().lambda()
|
|
|
|
|
.eq(StIvtIostorinvdis::getStruct_code, jsonDis.getString("struct_code"))
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, jsonDis.getString("iostorinv_id"))
|
|
|
|
|
.eq(StIvtIostorinvdis::getBox_no, jsonDis.getString("box_no"))
|
|
|
|
|
.set(StIvtIostorinvdis::getPoint_id, null)
|
|
|
|
|
.eq(StIvtIostorinvdis::getStruct_code, jsonDis.getString("struct_code"))
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, jsonDis.getString("iostorinv_id"))
|
|
|
|
|
.eq(StIvtIostorinvdis::getBox_no, jsonDis.getString("box_no"))
|
|
|
|
|
.set(StIvtIostorinvdis::getPoint_id, null)
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_id, null)
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_code, "")
|
|
|
|
|
.set(StIvtIostorinvdis::getSect_name, "")
|
|
|
|
|
@@ -571,7 +595,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
JSONObject jsonTask = WQLObject.getWQLObject("sch_base_task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
AbstractAcsTask taskClass = new TwoInTask();
|
|
|
|
|
taskClass.updateTaskStatus(jsonTask,IOSEnum.IS_NOTANDYES.code("否"));
|
|
|
|
|
taskClass.updateTaskStatus(jsonTask, IOSEnum.IS_NOTANDYES.code("否"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@@ -582,7 +606,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
JSONObject jsonTask = WQLObject.getWQLObject("sch_base_task").query("task_id = '" + task_id + "'").uniqueResult(0);
|
|
|
|
|
|
|
|
|
|
AbstractAcsTask taskClass = new TwoInTask();
|
|
|
|
|
taskClass.updateTaskStatus(jsonTask,TaskStatusEnum.FINISHED.getCode());
|
|
|
|
|
taskClass.updateTaskStatus(jsonTask, TaskStatusEnum.FINISHED.getCode());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@@ -695,6 +719,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新主表状态
|
|
|
|
|
*
|
|
|
|
|
* @param iostorinv_id 主表标识
|
|
|
|
|
*/
|
|
|
|
|
public StIvtIostorinv updateMstStatus(Long iostorinv_id) {
|
|
|
|
|
@@ -759,6 +784,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 完成单据:更新主表、明细表、分配明细表、更新库存、更新仓位、更新任务
|
|
|
|
|
*
|
|
|
|
|
* @param mstDao :主表实体类
|
|
|
|
|
*/
|
|
|
|
|
private void confirmMst(StIvtIostorinv mstDao) {
|
|
|
|
|
@@ -781,7 +807,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
.eq(StIvtIostorinvdis::getIostorinv_id, mstDao.getIostorinv_id())
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
upateIvt(disDaoList,mstDao,IOSEnum.IVT_CHANGE.code("加库存"));
|
|
|
|
|
upateIvt(disDaoList, mstDao, IOSEnum.IVT_CHANGE.code("加库存"));
|
|
|
|
|
|
|
|
|
|
// 更新仓位:解锁仓位、加载具、清除锁定信息
|
|
|
|
|
String struct_code_in = disDaoList.stream()
|
|
|
|
|
@@ -810,7 +836,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
if (ObjectUtil.isEmpty(jsonAttrList)) {
|
|
|
|
|
throw new BadRequestException("仓位信息错误,请检查!"+jsonObject.getString("struct_code"));
|
|
|
|
|
throw new BadRequestException("仓位信息错误,请检查!" + jsonObject.getString("struct_code"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
JSONObject jsonAttr = jsonAttrList.get(0);
|
|
|
|
|
@@ -859,7 +885,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
taskService.update(jsonTaskParam,"task_id IN ('"+String.join("','", needUpdateTaskList)+"') AND task_status <> '"+TaskStatusEnum.FINISHED.getCode()+"'");
|
|
|
|
|
taskService.update(jsonTaskParam, "task_id IN ('" + String.join("','", needUpdateTaskList) + "') AND task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'");
|
|
|
|
|
|
|
|
|
|
// 更新子卷包装关系
|
|
|
|
|
String pcsn_in = disDaoList.stream()
|
|
|
|
|
@@ -869,7 +895,7 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvMapper,
|
|
|
|
|
JSONObject jsonSubParam = new JSONObject();
|
|
|
|
|
jsonSubParam.put("status", SUBEnum.STATUS.code("入库"));
|
|
|
|
|
|
|
|
|
|
subTab.update(jsonSubParam,"container_name IN ('"+pcsn_in+"')");
|
|
|
|
|
subTab.update(jsonSubParam, "container_name IN ('" + pcsn_in + "')");
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* 插入子卷包装关系出入记录
|
|
|
|
|
|