Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -16,6 +16,7 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingprodu
|
|||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||||
|
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.common.utils.TaskUtils;
|
import org.nl.common.utils.TaskUtils;
|
||||||
@@ -113,7 +114,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
|
|||||||
@Override
|
@Override
|
||||||
public PdmBiSlittingproductionplan getByContainerName(String containerName) {
|
public PdmBiSlittingproductionplan getByContainerName(String containerName) {
|
||||||
LambdaQueryWrapper<PdmBiSlittingproductionplan> lam = new QueryWrapper<PdmBiSlittingproductionplan>().lambda();
|
LambdaQueryWrapper<PdmBiSlittingproductionplan> lam = new QueryWrapper<PdmBiSlittingproductionplan>().lambda();
|
||||||
lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName);
|
lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"));
|
||||||
return pdmBiSlittingproductionplanMapper.selectOne(lam);
|
return pdmBiSlittingproductionplanMapper.selectOne(lam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,7 @@
|
|||||||
WHERE b.point_status = '3'
|
WHERE b.point_status = '3'
|
||||||
AND b.ivt_status = '3'
|
AND b.ivt_status = '3'
|
||||||
AND a.sale_order_name = #{sale_order_name}
|
AND a.sale_order_name = #{sale_order_name}
|
||||||
|
AND c.is_delete = '0'
|
||||||
ORDER BY box_group
|
ORDER BY box_group
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@@ -755,10 +755,11 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
|||||||
}
|
}
|
||||||
List<PdmBiSubpackagerelation> subList = this.list(new LambdaQueryWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getContainer_name, jo.getString("container_name")));
|
List<PdmBiSubpackagerelation> subList = this.list(new LambdaQueryWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getContainer_name, jo.getString("container_name")));
|
||||||
if (CollectionUtils.isEmpty(subList)) {
|
if (CollectionUtils.isEmpty(subList)) {
|
||||||
PdmBiSlittingproductionplan plan = iPdmBiSlittingproductionplanService.getOne(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName));
|
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||||
if (ObjectUtil.isEmpty(plan)) {
|
if (CollectionUtils.isEmpty(planList)) {
|
||||||
throw new BadRequestException("未查询到可用的分切计划!");
|
throw new BadRequestException("未查询到可用的分切计划!");
|
||||||
}
|
}
|
||||||
|
PdmBiSlittingproductionplan plan = planList.get(0);
|
||||||
PdmBiSubpackagerelation sub = new PdmBiSubpackagerelation();
|
PdmBiSubpackagerelation sub = new PdmBiSubpackagerelation();
|
||||||
sub.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + "");
|
sub.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + "");
|
||||||
sub.setContainer_name(plan.getContainer_name());
|
sub.setContainer_name(plan.getContainer_name());
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ public class AutoSendZxToDjw {
|
|||||||
List<BstIvtPackageinfoivt> zxqPoint = zxqPackageinfoivtList.stream().filter(r -> r.getContainer_name().equals(containerName)).collect(Collectors.toList());
|
List<BstIvtPackageinfoivt> zxqPoint = zxqPackageinfoivtList.stream().filter(r -> r.getContainer_name().equals(containerName)).collect(Collectors.toList());
|
||||||
//装箱区点位上有与该木箱号匹配的子卷
|
//装箱区点位上有与该木箱号匹配的子卷
|
||||||
if (CollectionUtils.isNotEmpty(zxqPoint)) {
|
if (CollectionUtils.isNotEmpty(zxqPoint)) {
|
||||||
List<PdmBiSlittingproductionplan> productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName));
|
List<PdmBiSlittingproductionplan> productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||||
if (productionPlanList.isEmpty()) {
|
if (productionPlanList.isEmpty()) {
|
||||||
log.info("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!");
|
log.info("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!");
|
||||||
throw new BadRequestException("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!");
|
throw new BadRequestException("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!");
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
// 判断起点点位是否存在
|
// 判断起点点位是否存在
|
||||||
JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" +
|
JSONObject jsonPoint = schBasePointService.query("point_code = '" + whereJson.getString("device_code") + "' AND is_delete = '" +
|
||||||
IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" +
|
IOSEnum.IS_NOTANDYES.code("否") + "' AND is_used = '" +
|
||||||
IOSEnum.IS_NOTANDYES.code("是") + "'")
|
IOSEnum.IS_NOTANDYES.code("是") + "'")
|
||||||
.uniqueResult(0);
|
.uniqueResult(0);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(jsonPoint)) {
|
if (ObjectUtil.isEmpty(jsonPoint)) {
|
||||||
@@ -150,11 +150,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 找一个空仓位(空托盘区)
|
* 找一个空仓位(空托盘区)
|
||||||
|
*
|
||||||
* @param jsonParam {
|
* @param jsonParam {
|
||||||
* stor_id: 仓库标识
|
* stor_id: 仓库标识
|
||||||
* sect_id: 库区标识
|
* sect_id: 库区标识
|
||||||
* vehicle_type: 载具类型
|
* vehicle_type: 载具类型
|
||||||
* }
|
* }
|
||||||
* @return JSONObject : 仓位对象
|
* @return JSONObject : 仓位对象
|
||||||
*/
|
*/
|
||||||
private JSONObject getStruct(JSONObject jsonParam) {
|
private JSONObject getStruct(JSONObject jsonParam) {
|
||||||
@@ -167,10 +168,10 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
*/
|
*/
|
||||||
JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " +
|
JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " +
|
||||||
"AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " +
|
"AND is_used = '" + IOSEnum.IS_NOTANDYES.code("是") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("否") + "' " +
|
||||||
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonParam.getString("stor_id")+"' " +
|
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '" + jsonParam.getString("stor_id") + "' " +
|
||||||
"AND storagevehicle_type = '" +jsonParam.getString("vehicle_type")+"'"+
|
"AND storagevehicle_type = '" + jsonParam.getString("vehicle_type") + "'" +
|
||||||
"AND height = '2'" +
|
"AND height = '2'" +
|
||||||
"AND sect_id = '"+jsonParam.getString("sect_id")+"'").getResultJSONArray(0);
|
"AND sect_id = '" + jsonParam.getString("sect_id") + "'").getResultJSONArray(0);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(structArray)) {
|
if (ObjectUtil.isEmpty(structArray)) {
|
||||||
notInRowList.clear();
|
notInRowList.clear();
|
||||||
@@ -182,11 +183,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
String block_num = getMinBlock(jsonParam);
|
String block_num = getMinBlock(jsonParam);
|
||||||
|
|
||||||
// 确定排:查看每排的载具数量,找到数量最小的那排
|
// 确定排:查看每排的载具数量,找到数量最小的那排
|
||||||
jsonParam.put("block_num",block_num);
|
jsonParam.put("block_num", block_num);
|
||||||
String row_num = getMinRow(jsonParam);
|
String row_num = getMinRow(jsonParam);
|
||||||
|
|
||||||
// 确定仓位: 找到相同托盘类型的伸位
|
// 确定仓位: 找到相同托盘类型的伸位
|
||||||
jsonParam.put("row_num",row_num);
|
jsonParam.put("row_num", row_num);
|
||||||
JSONObject jsonAttr = queryStruct(jsonParam);
|
JSONObject jsonAttr = queryStruct(jsonParam);
|
||||||
|
|
||||||
// 为空则新找巷道
|
// 为空则新找巷道
|
||||||
@@ -209,7 +210,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
json.put("vehicle_type", jsonParam.getString("vehicle_type"));
|
json.put("vehicle_type", jsonParam.getString("vehicle_type"));
|
||||||
|
|
||||||
String row_num_2 = getMinRow(json);
|
String row_num_2 = getMinRow(json);
|
||||||
json.put("row_num",row_num_2);
|
json.put("row_num", row_num_2);
|
||||||
JSONObject jsonAttr_2 = queryStruct(json);
|
JSONObject jsonAttr_2 = queryStruct(json);
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
|
if (ObjectUtil.isNotEmpty(jsonAttr_2)) {
|
||||||
@@ -225,10 +226,11 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 确定巷道
|
* 确定巷道
|
||||||
|
*
|
||||||
* @param jsonParam {
|
* @param jsonParam {
|
||||||
* stor_id: 仓库标识
|
* stor_id: 仓库标识
|
||||||
* sect_id: 库区标识
|
* sect_id: 库区标识
|
||||||
* }
|
* }
|
||||||
* @return String 巷道
|
* @return String 巷道
|
||||||
*/
|
*/
|
||||||
private String getMinBlock(JSONObject jsonParam) {
|
private String getMinBlock(JSONObject jsonParam) {
|
||||||
@@ -247,7 +249,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
.collect(Collectors.joining("','"));
|
.collect(Collectors.joining("','"));
|
||||||
|
|
||||||
jsonParam.put("flag", "2");
|
jsonParam.put("flag", "2");
|
||||||
jsonParam.put("block_in", "('"+block_in+"')");
|
jsonParam.put("block_in", "('" + block_in + "')");
|
||||||
|
|
||||||
List<JSONObject> boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam)
|
List<JSONObject> boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam)
|
||||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
@@ -282,11 +284,12 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取最小排
|
* 获取最小排
|
||||||
|
*
|
||||||
* @param jsonParam {
|
* @param jsonParam {
|
||||||
* stor_id: 仓库标识
|
* stor_id: 仓库标识
|
||||||
* sect_id: 库区标识
|
* sect_id: 库区标识
|
||||||
* block_num: 巷道
|
* block_num: 巷道
|
||||||
* }
|
* }
|
||||||
* @return String: 排
|
* @return String: 排
|
||||||
*/
|
*/
|
||||||
private String getMinRow(JSONObject jsonParam) {
|
private String getMinRow(JSONObject jsonParam) {
|
||||||
@@ -305,7 +308,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
.collect(Collectors.joining("','"));
|
.collect(Collectors.joining("','"));
|
||||||
|
|
||||||
jsonParam.put("flag", "2");
|
jsonParam.put("flag", "2");
|
||||||
jsonParam.put("row_in", "('"+row_in+"')");
|
jsonParam.put("row_in", "('" + row_in + "')");
|
||||||
|
|
||||||
List<JSONObject> boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam)
|
List<JSONObject> boxAllList = WQL.getWO("BST_INVEHICLE").addParamMap(jsonParam)
|
||||||
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
.process().getResultJSONArray(0).toJavaList(JSONObject.class);
|
||||||
@@ -346,12 +349,13 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 确定仓位
|
* 确定仓位
|
||||||
|
*
|
||||||
* @param jsonParam {
|
* @param jsonParam {
|
||||||
* stor_id: 仓库标识
|
* stor_id: 仓库标识
|
||||||
* sect_id: 库区标识
|
* sect_id: 库区标识
|
||||||
* block_num: 巷道
|
* block_num: 巷道
|
||||||
* row_num: 排
|
* row_num: 排
|
||||||
* }
|
* }
|
||||||
* @return JSONObject: 仓位
|
* @return JSONObject: 仓位
|
||||||
*/
|
*/
|
||||||
private JSONObject queryStruct(JSONObject jsonParam) {
|
private JSONObject queryStruct(JSONObject jsonParam) {
|
||||||
@@ -371,7 +375,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
// 新的一排
|
// 新的一排
|
||||||
String row_num_new = this.getMinRow(jsonParam);
|
String row_num_new = this.getMinRow(jsonParam);
|
||||||
jsonParam.put("row_num",row_num_new);
|
jsonParam.put("row_num", row_num_new);
|
||||||
|
|
||||||
jsonAttr = this.getStructOne(jsonParam);
|
jsonAttr = this.getStructOne(jsonParam);
|
||||||
}
|
}
|
||||||
@@ -380,12 +384,13 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取一个货位公共方法
|
* 获取一个货位公共方法
|
||||||
|
*
|
||||||
* @param jsonParam {
|
* @param jsonParam {
|
||||||
* sect_id:库区
|
* sect_id:库区
|
||||||
* stor_id:仓库
|
* stor_id:仓库
|
||||||
* block_num: 巷道
|
* block_num: 巷道
|
||||||
* row_num :排
|
* row_num :排
|
||||||
* }
|
* }
|
||||||
* @return JSONObject : 仓位
|
* @return JSONObject : 仓位
|
||||||
*/
|
*/
|
||||||
private JSONObject getStructOne(JSONObject jsonParam) {
|
private JSONObject getStructOne(JSONObject jsonParam) {
|
||||||
|
|||||||
@@ -1921,7 +1921,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
// 创建前先判断是否有已创建相同任务
|
// 创建前先判断是否有已创建相同任务
|
||||||
List<String> taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")));
|
List<String> taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")));
|
||||||
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(taskTypes);
|
List<SchBaseTask> existTaskList1 = taskService.getExistTasks(taskTypes);
|
||||||
existTaskList1 = existTaskList1.stream().filter(r->StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
existTaskList1 = existTaskList1.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isEmpty(existTaskList1)) {
|
if (CollectionUtils.isEmpty(existTaskList1)) {
|
||||||
jo.put("point_code3", pointCode3);
|
jo.put("point_code3", pointCode3);
|
||||||
//终点为输送线点位
|
//终点为输送线点位
|
||||||
@@ -2360,7 +2360,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
String material_barcode = param.getString("material_barcode");
|
String material_barcode = param.getString("material_barcode");
|
||||||
String vehicle_code = param.getString("vehicle_code");
|
String vehicle_code = param.getString("vehicle_code");
|
||||||
//干燥剂模板
|
//干燥剂模板
|
||||||
String desiccantTemplate = "4";
|
String desiccantTemplate = "6";
|
||||||
//是否开盖
|
//是否开盖
|
||||||
String isUncap = "1";
|
String isUncap = "1";
|
||||||
JSONObject vehicle_info = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + material_barcode + "'").uniqueResult(0);
|
JSONObject vehicle_info = WQLObject.getWQLObject("md_pb_storagevehicleext").query("storagevehicle_code = '" + material_barcode + "'").uniqueResult(0);
|
||||||
@@ -2373,6 +2373,18 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
new QueryWrapper<BstIvtBoxinfo>().lambda()
|
||||||
.eq(BstIvtBoxinfo::getBox_no, material_barcode)
|
.eq(BstIvtBoxinfo::getBox_no, material_barcode)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//获取包装关系
|
||||||
|
JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + material_barcode + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(sub_jo)) {
|
||||||
|
String material_type = sub_jo.getString("material_type");
|
||||||
|
if (material_type.equals("FG1")) {
|
||||||
|
desiccantTemplate = "6";
|
||||||
|
}
|
||||||
|
if (material_type.equals("FG2")) {
|
||||||
|
desiccantTemplate = "4";
|
||||||
|
}
|
||||||
|
}
|
||||||
//根据木箱高度,判断入库仓位的高度
|
//根据木箱高度,判断入库仓位的高度
|
||||||
String height = "";
|
String height = "";
|
||||||
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
String heightLevel1 = iSysParamService.findByCode("height_level_1").getValue();
|
||||||
|
|||||||
Reference in New Issue
Block a user