fix:子卷维护
This commit is contained in:
@@ -20,14 +20,13 @@ import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService;
|
|||||||
import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService;
|
import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService;
|
||||||
import org.nl.wms.pdm.ivt.bcut.service.IBstIvtCutpointivtService;
|
import org.nl.wms.pdm.ivt.bcut.service.IBstIvtCutpointivtService;
|
||||||
import org.nl.wms.pdm.ivt.bcut.service.dao.BstIvtCutpointivt;
|
import org.nl.wms.pdm.ivt.bcut.service.dao.BstIvtCutpointivt;
|
||||||
import org.nl.wms.pdm.ivt.cut.service.dao.StIvtCutpointivt;
|
|
||||||
import org.nl.wms.pdm.ivt.cut.service.IstIvtCutpointivtService;
|
import org.nl.wms.pdm.ivt.cut.service.IstIvtCutpointivtService;
|
||||||
|
import org.nl.wms.pdm.ivt.cut.service.dao.StIvtCutpointivt;
|
||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||||
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition;
|
||||||
import org.nl.wms.sch.task_manage.tasks.nbj.SendShaftAGVTask;
|
|
||||||
import org.nl.wms.sch.task_manage.tasks.slitter.*;
|
import org.nl.wms.sch.task_manage.tasks.slitter.*;
|
||||||
import org.nl.wms.util.TaskUtils;
|
import org.nl.wms.util.TaskUtils;
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
@@ -76,6 +75,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
|
|||||||
private SlitterInHotAGVTask slitterInHotAGVTask;
|
private SlitterInHotAGVTask slitterInHotAGVTask;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SlitterRebakeAGVTask slitterRebakeAGVTask;
|
private SlitterRebakeAGVTask slitterRebakeAGVTask;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject queryOrderInfo(JSONObject param) {
|
public JSONObject queryOrderInfo(JSONObject param) {
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
@@ -355,29 +355,29 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
|
|||||||
if (ObjectUtil.isEmpty(containerName)) {
|
if (ObjectUtil.isEmpty(containerName)) {
|
||||||
throw new BadRequestException("子卷号不能为空!");
|
throw new BadRequestException("子卷号不能为空!");
|
||||||
}
|
}
|
||||||
List<String> collect = Arrays.stream(containerName.split(",")).collect(Collectors.toList());
|
StIvtCutpointivt slitterDevice = cutpointivtService.getPintByUpOrDownCode(pointCode1, false);
|
||||||
|
String qzzNo;
|
||||||
|
List<String> collect = Arrays.stream(containerName.split("[,,|、/]")).collect(Collectors.toList());
|
||||||
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.getByContainerNames(collect);
|
List<PdmBiSlittingproductionplan> plans = slittingproductionplanService.getByContainerNames(collect);
|
||||||
if (plans.size() == 0) {
|
if (plans.size() == 0) {
|
||||||
throw new BadRequestException("子卷号:[" + containerName + "] 的分切计划没找到,检查是否推送或者子卷号是否正确!");
|
// 生产分切计划
|
||||||
|
qzzNo = doCreatePlan(collect, slitterDevice, pointCode1);
|
||||||
|
// throw new BadRequestException("子卷号:[" + containerName + "] 的分切计划没找到,检查是否推送或者子卷号是否正确!");
|
||||||
|
} else {
|
||||||
|
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
||||||
|
String resourceName = demoPlan.getResource_name();
|
||||||
|
qzzNo = TaskUtils.createVirtualQzzNo(resourceName, "yyMMddHHmmss", demoPlan);
|
||||||
|
if (ObjectUtil.isNotEmpty(demoPlan.getQzzno())) {
|
||||||
|
qzzNo = demoPlan.getQzzno();
|
||||||
|
}
|
||||||
|
for (PdmBiSlittingproductionplan plan : plans) {
|
||||||
|
plan.setQzzno(qzzNo);
|
||||||
|
plan.setStatus("05");
|
||||||
|
TaskUtils.updateOptMessageBySlitterPlan(plan);
|
||||||
|
}
|
||||||
|
slittingproductionplanService.updateBatchById(plans);
|
||||||
}
|
}
|
||||||
PdmBiSlittingproductionplan demoPlan = plans.get(0);
|
|
||||||
String resourceName = demoPlan.getResource_name();
|
|
||||||
String qzzNo = resourceName.substring(0, 2)
|
|
||||||
+ resourceName.substring(resourceName.length() - 2)
|
|
||||||
+ demoPlan.getSplit_group()
|
|
||||||
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-"
|
|
||||||
+ demoPlan.getUp_or_down();
|
|
||||||
if (ObjectUtil.isNotEmpty(demoPlan.getQzzno())) {
|
|
||||||
qzzNo = demoPlan.getQzzno();
|
|
||||||
}
|
|
||||||
for (PdmBiSlittingproductionplan plan : plans) {
|
|
||||||
plan.setQzzno(qzzNo);
|
|
||||||
plan.setStatus("05");
|
|
||||||
TaskUtils.updateOptMessageBySlitterPlan(plan);
|
|
||||||
}
|
|
||||||
slittingproductionplanService.updateBatchById(plans);
|
|
||||||
// 气胀轴编码设置到分切机器上
|
// 气胀轴编码设置到分切机器上
|
||||||
StIvtCutpointivt slitterDevice = cutpointivtService.getPintByUpOrDownCode(pointCode1, false);
|
|
||||||
if (pointCode1.equals(slitterDevice.getUp_point_code())) {
|
if (pointCode1.equals(slitterDevice.getUp_point_code())) {
|
||||||
slitterDevice.setUp_qzzno(qzzNo);
|
slitterDevice.setUp_qzzno(qzzNo);
|
||||||
} else {
|
} else {
|
||||||
@@ -390,6 +390,43 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String doCreatePlan(List<String> collect, StIvtCutpointivt slitterDevice, String point) {
|
||||||
|
List<PdmBiSlittingproductionplan> plans = new ArrayList<>();
|
||||||
|
String upOrDown = "S".equals(point.substring(point.length() - 1)) ? "1" : "2";
|
||||||
|
String qzzno = TaskUtils.createVirtualQzzNo(slitterDevice.getExt_code(),
|
||||||
|
"yyMMddHHmmss",
|
||||||
|
upOrDown);
|
||||||
|
for (int i = 0; i < collect.size(); i++) {
|
||||||
|
String containerName = collect.get(i);
|
||||||
|
PdmBiSlittingproductionplan p = new PdmBiSlittingproductionplan();
|
||||||
|
p.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||||
|
p.setOrder_type("1");
|
||||||
|
p.setContainer_name(containerName);
|
||||||
|
p.setProduct_name("-");
|
||||||
|
p.setResource_name(slitterDevice.getExt_code());
|
||||||
|
p.setSplit_group("A");
|
||||||
|
p.setManufacture_sort("1");
|
||||||
|
p.setMfg_order_name("1");
|
||||||
|
p.setManufacture_date(DateUtil.now());
|
||||||
|
p.setPaper_tube_or_FRP("1");
|
||||||
|
p.setSplit_breadth(BigDecimal.ONE);
|
||||||
|
p.setSplit_height(BigDecimal.ONE);
|
||||||
|
p.setSplit_weight(BigDecimal.ONE);
|
||||||
|
p.setStatus("05");
|
||||||
|
p.setIs_parent_ok("1");
|
||||||
|
p.setIs_child_tz_ok("1");
|
||||||
|
p.setIs_child_ps_ok("1");
|
||||||
|
p.setQzzno(qzzno);
|
||||||
|
p.setSale_order_name("-");
|
||||||
|
p.setIs_call("1");
|
||||||
|
p.setUp_or_down(upOrDown);
|
||||||
|
p.setLeft_or_right(String.valueOf(i + 1));
|
||||||
|
plans.add(p);
|
||||||
|
}
|
||||||
|
slittingproductionplanService.saveBatch(plans);
|
||||||
|
return qzzno;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject requestTubeShaft(JSONObject param) {
|
public JSONObject requestTubeShaft(JSONObject param) {
|
||||||
log.info("请求套轴 - {}", param);
|
log.info("请求套轴 - {}", param);
|
||||||
@@ -407,7 +444,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService {
|
|||||||
for (CallShaftVo callShaftVo : row) {
|
for (CallShaftVo callShaftVo : row) {
|
||||||
// 保存工单
|
// 保存工单
|
||||||
PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan();
|
PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan();
|
||||||
plan.setWorkorder_id(IdUtil.getSnowflake(1,1).nextIdStr());
|
plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||||
plan.setOrder_type("1");
|
plan.setOrder_type("1");
|
||||||
plan.setContainer_name(TaskUtils.createVirtualSubContainer("yyMMddHHmmss", cutDevice.getExt_code(), count++));
|
plan.setContainer_name(TaskUtils.createVirtualSubContainer("yyMMddHHmmss", cutDevice.getExt_code(), count++));
|
||||||
plan.setProduct_name("-");
|
plan.setProduct_name("-");
|
||||||
|
|||||||
@@ -336,6 +336,20 @@ public class TaskUtils {
|
|||||||
+ TaskUtils.getDateTime(format) + "-"
|
+ TaskUtils.getDateTime(format) + "-"
|
||||||
+ demoPlan.getUp_or_down();
|
+ demoPlan.getUp_or_down();
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 创建虚拟气胀轴编码
|
||||||
|
* @param resourceName 分切计划设备号
|
||||||
|
* @param format 格式
|
||||||
|
* @param upOrDown 上下轴
|
||||||
|
* @return 字符串
|
||||||
|
*/
|
||||||
|
public static String createVirtualQzzNo(String resourceName, String format, String upOrDown) {
|
||||||
|
return resourceName.substring(0, 2)
|
||||||
|
+ resourceName.substring(resourceName.length() - 2) + "-"
|
||||||
|
// + demoPlan.getSplit_group()
|
||||||
|
+ TaskUtils.getDateTime(format) + "-"
|
||||||
|
+ upOrDown;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 赋值分切计划的修改时间、人等信息
|
* 赋值分切计划的修改时间、人等信息
|
||||||
|
|||||||
Reference in New Issue
Block a user