fix:MES相关接口优化
This commit is contained in:
@@ -30,6 +30,7 @@ import org.nl.b_lms.sch.tasks.ProcessTask;
|
|||||||
import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask;
|
import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask;
|
||||||
import org.nl.b_lms.sch.tasks.first_floor_area.GzqTask;
|
import org.nl.b_lms.sch.tasks.first_floor_area.GzqTask;
|
||||||
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant;
|
||||||
|
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
|
||||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
@@ -92,6 +93,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IpdmBiSubpackagerelationService subpackagerelationService;
|
private IpdmBiSubpackagerelationService subpackagerelationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SlitterService slitterService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生箔烘箱:
|
* 生箔烘箱:
|
||||||
@@ -527,8 +531,10 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
|||||||
String SplitBreadth = param.getString("SplitBreadth"); // 子卷幅宽
|
String SplitBreadth = param.getString("SplitBreadth"); // 子卷幅宽
|
||||||
String SplitHeight = param.getString("SplitHeight"); // 子卷理论长度
|
String SplitHeight = param.getString("SplitHeight"); // 子卷理论长度
|
||||||
String SplitWeight = param.getString("SplitWeight"); // 子卷理论重量
|
String SplitWeight = param.getString("SplitWeight"); // 子卷理论重量
|
||||||
String Attribute2 = param.getString("Attribute2"); // 上下轴
|
String Attribute2 = param.getString("Attribute2"); // 销售订单及行号
|
||||||
String Attribute3 = param.getString("Attribute3"); // 位置左右
|
String Attribute3 = param.getString("Attribute3"); // 上下轴
|
||||||
|
String Attribute4 = param.getString("Attribute3"); // 位置左右
|
||||||
|
String Attribute5 = param.getString("Attribute3"); // 是否套轴
|
||||||
|
|
||||||
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan");
|
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan");
|
||||||
|
|
||||||
@@ -667,13 +673,13 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
|||||||
json.put("split_breadth", SplitBreadth);
|
json.put("split_breadth", SplitBreadth);
|
||||||
json.put("split_height", SplitHeight);
|
json.put("split_height", SplitHeight);
|
||||||
json.put("split_weight", SplitWeight);
|
json.put("split_weight", SplitWeight);
|
||||||
// json.put("up_or_down", Attribute2);
|
json.put("up_or_down", Attribute3);
|
||||||
json.put("left_or_right", Attribute3);
|
json.put("left_or_right", Attribute4);
|
||||||
json.put("qzz_size", qzz_size);
|
json.put("qzz_size", qzz_size);
|
||||||
if (ResourceName.startsWith("B5") || ResourceName.startsWith("B6")) {
|
if (ResourceName.startsWith("B5") || ResourceName.startsWith("B6")) {
|
||||||
json.put("is_paper_ok", "1");
|
json.put("is_paper_ok", "1");
|
||||||
}
|
}
|
||||||
json.put("sale_order_name", "");
|
json.put("sale_order_name", Attribute2);
|
||||||
json.put("start_time", DateUtil.now());
|
json.put("start_time", DateUtil.now());
|
||||||
json.put("status", "01");
|
json.put("status", "01");
|
||||||
json.put("qzz_generation", qzz_generation);
|
json.put("qzz_generation", qzz_generation);
|
||||||
@@ -969,145 +975,171 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
|||||||
}
|
}
|
||||||
//如果入站的分切计划气涨轴为空,则虚拟一个气a涨轴编号
|
//如果入站的分切计划气涨轴为空,则虚拟一个气a涨轴编号
|
||||||
if (StrUtil.isEmpty(plan_jo.getString("qzzno"))) {
|
if (StrUtil.isEmpty(plan_jo.getString("qzzno"))) {
|
||||||
if (i == 0 || i == 2) {
|
String container_name = plan_jo.getString("container_name");
|
||||||
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "A");
|
if (container_name.startsWith("A")) {
|
||||||
}
|
if (i == 0 || i == 2) {
|
||||||
if (i == 1 || i == 3) {
|
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "A");
|
||||||
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "B");
|
}
|
||||||
|
if (i == 1 || i == 3) {
|
||||||
|
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "B");
|
||||||
|
}
|
||||||
|
} else if (container_name.startsWith("B")) {
|
||||||
|
String up_or_down = plan_jo.getString("up_or_down");
|
||||||
|
if (up_or_down.equals("1")) {
|
||||||
|
plan_jo.put("qzzno", cut_jo.getString("up_qzzno"));
|
||||||
|
}
|
||||||
|
if (up_or_down.equals("2")) {
|
||||||
|
plan_jo.put("qzzno", cut_jo.getString("down_qzzno"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
plan_jo.put("status", "05");
|
plan_jo.put("status", "05");
|
||||||
plan_jo.put("is_parent_ok", "1");
|
plan_jo.put("is_parent_ok", "1");
|
||||||
plan_jo.put("is_child_tz_ok", "1");
|
plan_jo.put("is_child_tz_ok", "1");
|
||||||
plan_jo.put("is_child_ps_ok", "1");
|
plan_jo.put("is_child_ps_ok", "1");
|
||||||
|
plan_jo.put("is_paper_ok", "2");
|
||||||
WQLObject.getWQLObject("pdm_bi_slittingproductionplan").update(plan_jo);
|
WQLObject.getWQLObject("pdm_bi_slittingproductionplan").update(plan_jo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("2".equals(Status)) {
|
if ("2".equals(Status)) {
|
||||||
String up_point_code = cut_jo.getString("up_point_code");
|
JSONObject jsonObject = param.getJSONObject(0);
|
||||||
String down_point_code = cut_jo.getString("down_point_code");
|
JSONObject plan = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("container_name = '" + jsonObject.getString("ContainerGroup") + "' AND is_delete = '0'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(plan)) {
|
||||||
|
throw new BadRequestException("未查询到分切计划:" + jsonObject.getString("ContainerGroup"));
|
||||||
|
}
|
||||||
|
if (plan.getString("container_name").startsWith("B")) {
|
||||||
|
//如果属于二期的子卷出战调用二期的方法
|
||||||
|
cut_jo.put("device_code", cut_jo.getString("point_code"));
|
||||||
|
slitterService.downRolls(cut_jo);
|
||||||
|
} else {
|
||||||
|
{
|
||||||
|
String up_point_code = cut_jo.getString("up_point_code");
|
||||||
|
String down_point_code = cut_jo.getString("down_point_code");
|
||||||
|
|
||||||
JSONArray up_rows = new JSONArray();
|
JSONArray up_rows = new JSONArray();
|
||||||
JSONArray down_rows = new JSONArray();
|
JSONArray down_rows = new JSONArray();
|
||||||
String up_qzz = "";
|
String up_qzz = "";
|
||||||
String down_qzz = "";
|
String down_qzz = "";
|
||||||
for (int i = 0; i < param.size(); i++) {
|
for (int i = 0; i < param.size(); i++) {
|
||||||
JSONObject row = param.getJSONObject(i);
|
JSONObject row = param.getJSONObject(i);
|
||||||
//查询对应的分切计划
|
//查询对应的分切计划
|
||||||
JSONObject plan_jo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("container_name = '" + row.getString("ContainerGroup") + "' AND is_delete = '0'").uniqueResult(0);
|
JSONObject plan_jo = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("container_name = '" + row.getString("ContainerGroup") + "' AND is_delete = '0'").uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(plan_jo)) {
|
if (ObjectUtil.isEmpty(plan_jo)) {
|
||||||
throw new BadRequestException("未查询到分切计划:" + row.getString("ContainerGroup"));
|
throw new BadRequestException("未查询到分切计划:" + row.getString("ContainerGroup"));
|
||||||
}
|
|
||||||
String qzzno = plan_jo.getString("qzzno");
|
|
||||||
String need_down = row.getString("Attribute1");
|
|
||||||
if (StrUtil.isEmpty(need_down)) {
|
|
||||||
throw new BadRequestException("子卷:" + row.getString("ContainerGroup") + "对应的是否需要下轴字段不能为空!");
|
|
||||||
}
|
|
||||||
if ("0".equals(need_down)) {
|
|
||||||
plan_jo.put("status", "09");
|
|
||||||
WQLObject.getWQLObject("pdm_bi_slittingproductionplan").update(plan_jo);
|
|
||||||
log.info("子卷号:" + row.getString("ContainerGroup") + "MES上选择了不需要下卷,不生成任务!");
|
|
||||||
} else {
|
|
||||||
if ("1".equals(row.getString("ContainerPosition"))) {
|
|
||||||
if (StrUtil.isEmpty(up_qzz)) {
|
|
||||||
up_qzz = qzzno;
|
|
||||||
up_rows.add(plan_jo);
|
|
||||||
} else {
|
|
||||||
if (!StrUtil.equals(qzzno, up_qzz)) {
|
|
||||||
down_qzz = qzzno;
|
|
||||||
down_rows.add(plan_jo);
|
|
||||||
} else {
|
|
||||||
up_rows.add(plan_jo);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
String qzzno = plan_jo.getString("qzzno");
|
||||||
if ("2".equals(row.getString("ContainerPosition"))) {
|
String need_down = row.getString("Attribute1");
|
||||||
if (StrUtil.isEmpty(down_qzz)) {
|
if (StrUtil.isEmpty(need_down)) {
|
||||||
if (StrUtil.isEmpty(up_qzz)) {
|
throw new BadRequestException("子卷:" + row.getString("ContainerGroup") + "对应的是否需要下轴字段不能为空!");
|
||||||
down_qzz = qzzno;
|
}
|
||||||
down_rows.add(plan_jo);
|
if ("0".equals(need_down)) {
|
||||||
} else {
|
plan_jo.put("status", "09");
|
||||||
if (StrUtil.equals(up_qzz, qzzno)) {
|
WQLObject.getWQLObject("pdm_bi_slittingproductionplan").update(plan_jo);
|
||||||
|
log.info("子卷号:" + row.getString("ContainerGroup") + "MES上选择了不需要下卷,不生成任务!");
|
||||||
|
} else {
|
||||||
|
if ("1".equals(row.getString("ContainerPosition"))) {
|
||||||
|
if (StrUtil.isEmpty(up_qzz)) {
|
||||||
|
up_qzz = qzzno;
|
||||||
up_rows.add(plan_jo);
|
up_rows.add(plan_jo);
|
||||||
} else {
|
} else {
|
||||||
down_qzz = qzzno;
|
if (!StrUtil.equals(qzzno, up_qzz)) {
|
||||||
down_rows.add(plan_jo);
|
down_qzz = qzzno;
|
||||||
|
down_rows.add(plan_jo);
|
||||||
|
} else {
|
||||||
|
up_rows.add(plan_jo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
if ("2".equals(row.getString("ContainerPosition"))) {
|
||||||
if (StrUtil.equals(down_qzz, qzzno)) {
|
if (StrUtil.isEmpty(down_qzz)) {
|
||||||
down_rows.add(plan_jo);
|
if (StrUtil.isEmpty(up_qzz)) {
|
||||||
} else {
|
down_qzz = qzzno;
|
||||||
up_rows.add(plan_jo);
|
down_rows.add(plan_jo);
|
||||||
|
} else {
|
||||||
|
if (StrUtil.equals(up_qzz, qzzno)) {
|
||||||
|
up_rows.add(plan_jo);
|
||||||
|
} else {
|
||||||
|
down_qzz = qzzno;
|
||||||
|
down_rows.add(plan_jo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (StrUtil.equals(down_qzz, qzzno)) {
|
||||||
|
down_rows.add(plan_jo);
|
||||||
|
} else {
|
||||||
|
up_rows.add(plan_jo);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(up_rows) && ObjectUtil.isEmpty(down_rows)) {
|
if (ObjectUtil.isEmpty(up_rows) && ObjectUtil.isEmpty(down_rows)) {
|
||||||
result.put("RTYPE", "S");
|
result.put("RTYPE", "S");
|
||||||
result.put("RTMSG", "该设备不需要下轴!");
|
result.put("RTMSG", "该设备不需要下轴!");
|
||||||
result.put("RTOAL", 1);
|
result.put("RTOAL", 1);
|
||||||
result.put("RTDAT", null);
|
result.put("RTDAT", null);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询输送线上该分切机下一分切组可用的气涨轴
|
//查询输送线上该分切机下一分切组可用的气涨轴
|
||||||
JSONObject group_jo = WQL.getWO("PDA_02").addParam("flag", "14").addParam("resource_name", ResourceName).process().uniqueResult(0);
|
JSONObject group_jo = WQL.getWO("PDA_02").addParam("flag", "14").addParam("resource_name", ResourceName).process().uniqueResult(0);
|
||||||
if (ObjectUtil.isEmpty(group_jo)) {
|
if (ObjectUtil.isEmpty(group_jo)) {
|
||||||
group_jo = new JSONObject();
|
group_jo = new JSONObject();
|
||||||
}
|
}
|
||||||
JSONArray del_rows = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("status = '03' AND is_delete = '0' AND resource_name = '" + ResourceName + "' AND split_group = '" + group_jo.getString("split_group") + "' AND (parent_container_name = '" + group_jo.getString("source_container_name") + "' OR parent_container_name = '" + group_jo.getString("source_container_name") + "')").getResultJSONArray(0);
|
JSONArray del_rows = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("status = '03' AND is_delete = '0' AND resource_name = '" + ResourceName + "' AND split_group = '" + group_jo.getString("split_group") + "' AND (parent_container_name = '" + group_jo.getString("source_container_name") + "' OR parent_container_name = '" + group_jo.getString("source_container_name") + "')").getResultJSONArray(0);
|
||||||
if (up_rows.size() > 0) {
|
|
||||||
JSONObject jo = new JSONObject();
|
|
||||||
jo.put("point_code", up_point_code);
|
|
||||||
jo.put("cut_rows", up_rows);
|
|
||||||
if (del_rows.size() > 0) {
|
|
||||||
jo.put("is_last", "0");
|
|
||||||
} else {
|
|
||||||
jo.put("is_last", "1");
|
|
||||||
}
|
|
||||||
outService.confirm(jo);
|
|
||||||
}
|
|
||||||
if (down_rows.size() > 0) {
|
|
||||||
JSONObject jo = new JSONObject();
|
|
||||||
jo.put("point_code", down_point_code);
|
|
||||||
jo.put("cut_rows", down_rows);
|
|
||||||
if (del_rows.size() > 0) {
|
|
||||||
if (up_rows.size() > 0) {
|
if (up_rows.size() > 0) {
|
||||||
if (del_rows.size() >= 2) {
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("point_code", up_point_code);
|
||||||
|
jo.put("cut_rows", up_rows);
|
||||||
|
if (del_rows.size() > 0) {
|
||||||
jo.put("is_last", "0");
|
jo.put("is_last", "0");
|
||||||
} else {
|
} else {
|
||||||
jo.put("is_last", "1");
|
jo.put("is_last", "1");
|
||||||
}
|
}
|
||||||
} else {
|
outService.confirm(jo);
|
||||||
jo.put("is_last", "0");
|
}
|
||||||
|
if (down_rows.size() > 0) {
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("point_code", down_point_code);
|
||||||
|
jo.put("cut_rows", down_rows);
|
||||||
|
if (del_rows.size() > 0) {
|
||||||
|
if (up_rows.size() > 0) {
|
||||||
|
if (del_rows.size() >= 2) {
|
||||||
|
jo.put("is_last", "0");
|
||||||
|
} else {
|
||||||
|
jo.put("is_last", "1");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
jo.put("is_last", "0");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
jo.put("is_last", "1");
|
||||||
|
}
|
||||||
|
outService.confirm(jo);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
jo.put("is_last", "1");
|
|
||||||
}
|
|
||||||
outService.confirm(jo);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((ObjectUtil.isEmpty(up_rows) || ObjectUtil.isEmpty(down_rows)) && del_rows.size() == 2) {
|
if ((ObjectUtil.isEmpty(up_rows) || ObjectUtil.isEmpty(down_rows)) && del_rows.size() == 2) {
|
||||||
String point_code = "";
|
String point_code = "";
|
||||||
//分切机上只存在一个气涨轴,下一分切组存在两个气涨轴,执行一个进站
|
//分切机上只存在一个气涨轴,下一分切组存在两个气涨轴,执行一个进站
|
||||||
if (ObjectUtil.isEmpty(up_rows)) {
|
if (ObjectUtil.isEmpty(up_rows)) {
|
||||||
point_code = up_point_code;
|
point_code = up_point_code;
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(down_rows)) {
|
||||||
|
point_code = down_point_code;
|
||||||
|
}
|
||||||
|
//查询当前输送线上可用的气涨轴
|
||||||
|
JSONObject del_row = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("resource_name = '" + ResourceName + "' AND split_group = '" + group_jo.getString("split_group") + "' AND (parent_container_name = '" + group_jo.getString("source_container_name") + "' OR parent_container_name = '" + group_jo.getString("source_container_name") + "') AND status = '03'").uniqueResult(0);
|
||||||
|
JSONObject del_jo = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("qzzno = '" + del_row.getString("qzzno") + "'").uniqueResult(0);
|
||||||
|
del_row.put("delivery_code", del_jo.getString("point_code"));
|
||||||
|
JSONObject whereJson = new JSONObject();
|
||||||
|
whereJson.put("point_code", point_code);
|
||||||
|
whereJson.put("cut_rows", del_row);
|
||||||
|
inService.confirm(whereJson);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isEmpty(down_rows)) {
|
|
||||||
point_code = down_point_code;
|
|
||||||
}
|
|
||||||
//查询当前输送线上可用的气涨轴
|
|
||||||
JSONObject del_row = WQLObject.getWQLObject("pdm_bi_slittingproductionplan").query("resource_name = '" + ResourceName + "' AND split_group = '" + group_jo.getString("split_group") + "' AND (parent_container_name = '" + group_jo.getString("source_container_name") + "' OR parent_container_name = '" + group_jo.getString("source_container_name") + "') AND status = '03'").uniqueResult(0);
|
|
||||||
JSONObject del_jo = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("qzzno = '" + del_row.getString("qzzno") + "'").uniqueResult(0);
|
|
||||||
del_row.put("delivery_code", del_jo.getString("point_code"));
|
|
||||||
JSONObject whereJson = new JSONObject();
|
|
||||||
whereJson.put("point_code", point_code);
|
|
||||||
whereJson.put("cut_rows", del_row);
|
|
||||||
inService.confirm(whereJson);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1932,6 +1964,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try { // 返回成功
|
try { // 返回成功
|
||||||
|
slitterService.slitterSpliceOperation(param);
|
||||||
result.put("RTYPE", "S");
|
result.put("RTYPE", "S");
|
||||||
result.put("RTMSG", "操作成功!");
|
result.put("RTMSG", "操作成功!");
|
||||||
result.put("RTOAL", 1);
|
result.put("RTOAL", 1);
|
||||||
@@ -2033,6 +2066,14 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
|||||||
dto.setWidth_standard(WidthPlan);
|
dto.setWidth_standard(WidthPlan);
|
||||||
dto.setThickness_request(ThicknessPlan);
|
dto.setThickness_request(ThicknessPlan);
|
||||||
dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + "");
|
dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + "");
|
||||||
|
|
||||||
|
//判断当前子卷所用母卷为锂电还是标箔
|
||||||
|
if (ContainerName.startsWith("BB")) {
|
||||||
|
dto.setQuality_guaran_period("180天");
|
||||||
|
} else {
|
||||||
|
dto.setQuality_guaran_period("90天");
|
||||||
|
}
|
||||||
|
dto.setDate_of_FG_inbound(String.format(DateUtil.now(), "yyyy-MM-dd"));
|
||||||
subpackagerelationService.save(dto);
|
subpackagerelationService.save(dto);
|
||||||
|
|
||||||
// 返回成功
|
// 返回成功
|
||||||
|
|||||||
Reference in New Issue
Block a user