Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -68,19 +68,19 @@
|
||||
resultType="org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt">
|
||||
SELECT *
|
||||
FROM `bst_ivt_shafttubeivt` b
|
||||
WHERE b.have_qzz = '1'
|
||||
WHERE b.have_qzz = '0'
|
||||
AND b.point_type = '6'
|
||||
AND b.qzz_size = #{size}
|
||||
<if test="qzz_size != 6">
|
||||
<if test="size != 6">
|
||||
AND b.qzz_generation = #{qzz_generation}
|
||||
</if>
|
||||
AND b.point_location = #{location}
|
||||
AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status <![CDATA[ < ]]> '07' AND t.point_code2 = b.point_code)
|
||||
AND 0 = (SELECT COUNT(*) FROM bst_ivt_shafttubeivt bb WHERE bb.have_qzz ='1' AND bb.point_type = '6'
|
||||
<if test="qzz_size != 6">
|
||||
<if test="size != 6">
|
||||
AND bb.qzz_generation = #{qzz_generation}
|
||||
</if>
|
||||
AND bb.qzz_size = #{qzz_size} AND bb.point_location = #{location} AND bb.sort_seq > b.sort_seq)
|
||||
AND bb.qzz_size = #{size} AND bb.point_location = #{location} AND bb.sort_seq > b.sort_seq)
|
||||
ORDER BY b.sort_seq ASC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -181,6 +181,7 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
}
|
||||
//获取纸管长度
|
||||
Integer maxNum = SlitterTaskUtil.getPaperLengthInt(productionPlanList.get(0));
|
||||
String paperSize = SlitterTaskUtil.getPaperSize(productionPlanList.get(0));
|
||||
|
||||
//扩展参数
|
||||
JSONObject param = new JSONObject();
|
||||
@@ -209,18 +210,22 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
param.put("containerType", bstIvtBoxinfo.getVehicle_type());
|
||||
//查询是否为最后一个子卷,相同木箱号且状态为生成
|
||||
List<PdmBiSubpackagerelation> packagerelationList = subpackageRelationService.list(new LambdaQueryWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getPackage_box_sn, schBaseTask.getVehicle_code2()).eq(PdmBiSubpackagerelation::getStatus, "0"));
|
||||
if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) {
|
||||
PdmBiSubpackagerelation oneSub = packagerelationList.get(0);
|
||||
String containerName = oneSub.getContainer_name();
|
||||
if (packagerelationList.size() == 1 && containerName.equals(schBaseTask.getVehicle_code())) {
|
||||
//最后子卷
|
||||
param.put("lastOne", "1");
|
||||
} else {
|
||||
param.put("lastOne", "0");
|
||||
}
|
||||
|
||||
//木箱放入子卷数量
|
||||
param.put("boxNo", pdmBiSubpackagerelation.getQuanlity_in_box());
|
||||
//子卷号
|
||||
param.put("barcode", schBaseTask.getVehicle_code());
|
||||
//子卷长度
|
||||
param.put("len", maxNum);
|
||||
param.put("frpModel", paperSize);
|
||||
jo.put("request_param", param.toString());
|
||||
zxDjwTask.createTask(jo);
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||
import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.ZxDjwTask;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
|
||||
import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapper;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
@@ -110,8 +111,8 @@ public class AutoSendZxToDjw extends Prun{
|
||||
//获取木箱信息,未包装的木箱
|
||||
BstIvtBoxinfo bstIvtBoxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper<BstIvtBoxinfo>().eq(BstIvtBoxinfo::getBox_no, boxNo).ne(BstIvtBoxinfo::getIs_packing, "1"));
|
||||
if (bstIvtBoxinfo == null) {
|
||||
log.info("请检查木箱号:" + boxNo + "是否存在或者状态为已装箱!");
|
||||
throw new BadRequestException("请检查木箱号:" + boxNo + "是否存在或者状态为已装箱!");
|
||||
log.warn("请检查木箱号:" + boxNo + "是否存在或者状态为已装箱!");
|
||||
return;
|
||||
}
|
||||
//检查木箱信息
|
||||
checkBoxParams(boxNo, bstIvtBoxinfo);
|
||||
@@ -121,8 +122,8 @@ public class AutoSendZxToDjw extends Prun{
|
||||
.eq(PdmBiSubpackagerelation::getPackage_box_sn, boxNo)
|
||||
.eq(PdmBiSubpackagerelation::getStatus, "0"));
|
||||
if (ObjectUtils.isEmpty(relationList)) {
|
||||
log.info("装箱位的木箱号" + boxNo + "对应的子卷包装关系为空,请检查子卷包装关系状态是否为0!");
|
||||
throw new BadRequestException("装箱位的木箱号" + boxNo + "对应的子卷包装关系异常,请检查子卷包装关系状态是否为0!");
|
||||
log.warn("装箱位的木箱号" + boxNo + "对应的子卷包装关系为空,请检查子卷包装关系状态是否为0!");
|
||||
return;
|
||||
}
|
||||
//装箱区有子卷且没有正在进行的装箱任务
|
||||
List<BstIvtPackageinfoivt> zxqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("装箱区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品"), "", "", "");
|
||||
@@ -166,6 +167,7 @@ public class AutoSendZxToDjw extends Prun{
|
||||
} else {
|
||||
param.put("lastOne", IOSEnum.IS_NOTANDYES.code("否"));
|
||||
}
|
||||
String paperSize = SlitterTaskUtil.getPaperSize(productionPlanList.get(0));
|
||||
//获取木箱高度等级
|
||||
param.put("heightLevel", getHeightLevel(bstIvtBoxinfo));
|
||||
//获取子卷长度
|
||||
@@ -177,14 +179,10 @@ public class AutoSendZxToDjw extends Prun{
|
||||
//木箱需放入子卷数量
|
||||
param.put("boxNo", relationList.get(0).getQuanlity_in_box());
|
||||
//子卷号
|
||||
param.put("frpModel", paperSize);
|
||||
param.put("barcode", containerName);
|
||||
jo.put("request_param", param.toString());
|
||||
zxDjwTask.createTask(jo);
|
||||
// try {
|
||||
// transferBoxPackageToMes(relationList, bstIvtBoxinfo);
|
||||
// } catch (Exception ex) {
|
||||
// log.error("子卷装箱异常,传输子卷包装关系至MES接口捕获异常信息:" + ex);
|
||||
// }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -110,7 +110,7 @@ public class ReturnShaftAgvTask extends AbstractAcsTask {
|
||||
if (ObjectUtil.isEmpty(putWaitPoint)) {
|
||||
throw new BadRequestException("未找到可存放气涨轴规格「" + endPoint + "」的等待点位");
|
||||
}
|
||||
|
||||
log.info("点位信息:{}", endPointObj);
|
||||
|
||||
// 创建行架任务
|
||||
if (ObjectUtil.isNotEmpty(endPointObj.getQzz_no1())){
|
||||
@@ -126,7 +126,7 @@ public class ReturnShaftAgvTask extends AbstractAcsTask {
|
||||
param.put("point_code1", endPointObj.getTruss_point_code1());
|
||||
param.put("point_code2", putWaitPoint.getPoint_code());
|
||||
// hint: 当前分切计划的气涨轴尺寸
|
||||
param.put("qzz_size", endPointObj.getQzz_no1());
|
||||
param.put("qzz_size", size);
|
||||
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
param.put("task_type", SlitterEnum.TASK_TYPE.code("穿拔轴缓存<>气胀轴缓存位"));
|
||||
param.put("is_bushing", "0");
|
||||
@@ -145,7 +145,7 @@ public class ReturnShaftAgvTask extends AbstractAcsTask {
|
||||
param.put("point_code1", endPointObj.getTruss_point_code2());
|
||||
param.put("point_code2", putWaitPoint.getPoint_code());
|
||||
// hint: 当前分切计划的气涨轴尺寸
|
||||
param.put("qzz_size", endPointObj.getQzz_no2());
|
||||
param.put("qzz_size", size);
|
||||
param.put("task_type", SlitterEnum.TASK_TYPE.code("穿拔轴缓存<>气胀轴缓存位"));
|
||||
param.put("product_area", SlitterConstant.SLITTER_TASK_AREA);
|
||||
param.put("is_bushing", "0");
|
||||
|
||||
@@ -359,6 +359,17 @@ public class SlitterTaskUtil {
|
||||
String[] split = paperStr.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|");
|
||||
return split[split.length - 1];
|
||||
}
|
||||
public static String getPaperSize(PdmBiSlittingproductionplan plan) {
|
||||
// String s = "玻璃纤维及其制品|FRP管|6英寸|15|1700";
|
||||
String paperStr = "";
|
||||
if (plan.getPaper_tube_or_FRP().equals(SlitterConstant.SLITTER_TYPE_PAPER)) {
|
||||
paperStr = plan.getPaper_tube_model();
|
||||
} else {
|
||||
paperStr = plan.getFRP_model();
|
||||
}
|
||||
String[] split = paperStr.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|");
|
||||
return split[2].replaceAll("英寸","");
|
||||
}
|
||||
|
||||
public static Integer getPaperLengthInt(PdmBiSlittingproductionplan plan) {
|
||||
return Integer.valueOf(getPaperLength(plan));
|
||||
|
||||
@@ -1895,34 +1895,40 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
//创建输送线四个点任务
|
||||
return createTask(containerName, jo, kzjPointList.get(0).getPoint_code(), whereJson.getString("device_code"));
|
||||
} else {
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "空轴位缓存位无载具");
|
||||
return result;
|
||||
//创建输送线->满轴缓存位两个点任务
|
||||
return createTask2(containerName, jo);
|
||||
// return createTask2(containerName, jo);
|
||||
}
|
||||
} else {
|
||||
//如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
List<String> taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")));
|
||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
||||
//如果有就不创建,没有就创建
|
||||
if (ObjectUtils.isEmpty(existTaskList)) {
|
||||
//只确定起点NBJ1002
|
||||
JSONObject jo2 = new JSONObject();
|
||||
jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
jo2.put("point_code1", "NBJ1002");
|
||||
jo2.put("vehicle_code", containerName);
|
||||
jo2.put("task_status", TaskStatusEnum.SURE_START.getCode());
|
||||
jo2.put("is_send", false);
|
||||
mzhcwTask.createTask(jo2);
|
||||
PdmProductSpecServiceImpl.doRecord(SpecEnum.XX,null,Boolean.TRUE,null,containerName);
|
||||
//不确定起点的空载具缓存位->输送线任务
|
||||
createTask3(containerName);
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "反馈成功!");
|
||||
} else {
|
||||
log.info("已存在未完成的且已分配的补空载具或桁架任务,任务编号为:" + existTaskList.get(0).getTask_code() + ",请检查!");
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "已存在未完成的且已分配的补空载具或桁架任务,任务编号为:" + existTaskList.get(0).getTask_code() + ",请检查!");
|
||||
}
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
result.put("message", "满轴缓存位无可用位置");
|
||||
return result;
|
||||
// //如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
|
||||
// List<String> taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"), PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")));
|
||||
// List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
||||
// //如果有就不创建,没有就创建
|
||||
// if (ObjectUtils.isEmpty(existTaskList)) {
|
||||
// //只确定起点NBJ1002
|
||||
// JSONObject jo2 = new JSONObject();
|
||||
// jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||
// jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
|
||||
// jo2.put("point_code1", "NBJ1002");
|
||||
// jo2.put("vehicle_code", containerName);
|
||||
// jo2.put("task_status", TaskStatusEnum.SURE_START.getCode());
|
||||
// jo2.put("is_send", false);
|
||||
// mzhcwTask.createTask(jo2);
|
||||
// PdmProductSpecServiceImpl.doRecord(SpecEnum.XX,null,Boolean.TRUE,null,containerName);
|
||||
// //不确定起点的空载具缓存位->输送线任务
|
||||
// createTask3(containerName);
|
||||
// result.put("status", HttpStatus.OK.value());
|
||||
// result.put("message", "反馈成功!");
|
||||
// } else {
|
||||
// log.info("已存在未完成的且已分配的补空载具或桁架任务,任务编号为:" + existTaskList.get(0).getTask_code() + ",请检查!");
|
||||
// result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
// result.put("message", "已存在未完成的且已分配的补空载具或桁架任务,任务编号为:" + existTaskList.get(0).getTask_code() + ",请检查!");
|
||||
// }
|
||||
}
|
||||
} else {
|
||||
log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。");
|
||||
|
||||
Reference in New Issue
Block a user