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.GzqTask;
|
||||
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.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
@@ -92,6 +93,9 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
@Autowired
|
||||
private IpdmBiSubpackagerelationService subpackagerelationService;
|
||||
|
||||
@Autowired
|
||||
private SlitterService slitterService;
|
||||
|
||||
|
||||
/**
|
||||
* 生箔烘箱:
|
||||
@@ -527,8 +531,10 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
String SplitBreadth = param.getString("SplitBreadth"); // 子卷幅宽
|
||||
String SplitHeight = param.getString("SplitHeight"); // 子卷理论长度
|
||||
String SplitWeight = param.getString("SplitWeight"); // 子卷理论重量
|
||||
String Attribute2 = param.getString("Attribute2"); // 上下轴
|
||||
String Attribute3 = param.getString("Attribute3"); // 位置左右
|
||||
String Attribute2 = param.getString("Attribute2"); // 销售订单及行号
|
||||
String Attribute3 = param.getString("Attribute3"); // 上下轴
|
||||
String Attribute4 = param.getString("Attribute3"); // 位置左右
|
||||
String Attribute5 = param.getString("Attribute3"); // 是否套轴
|
||||
|
||||
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan");
|
||||
|
||||
@@ -667,13 +673,13 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
json.put("split_breadth", SplitBreadth);
|
||||
json.put("split_height", SplitHeight);
|
||||
json.put("split_weight", SplitWeight);
|
||||
// json.put("up_or_down", Attribute2);
|
||||
json.put("left_or_right", Attribute3);
|
||||
json.put("up_or_down", Attribute3);
|
||||
json.put("left_or_right", Attribute4);
|
||||
json.put("qzz_size", qzz_size);
|
||||
if (ResourceName.startsWith("B5") || ResourceName.startsWith("B6")) {
|
||||
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("status", "01");
|
||||
json.put("qzz_generation", qzz_generation);
|
||||
@@ -969,145 +975,171 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
}
|
||||
//如果入站的分切计划气涨轴为空,则虚拟一个气a涨轴编号
|
||||
if (StrUtil.isEmpty(plan_jo.getString("qzzno"))) {
|
||||
if (i == 0 || i == 2) {
|
||||
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "A");
|
||||
}
|
||||
if (i == 1 || i == 3) {
|
||||
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "B");
|
||||
String container_name = plan_jo.getString("container_name");
|
||||
if (container_name.startsWith("A")) {
|
||||
if (i == 0 || i == 2) {
|
||||
plan_jo.put("qzzno", "XN-" + plan_jo.getString("resource_name") + "A");
|
||||
}
|
||||
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("is_parent_ok", "1");
|
||||
plan_jo.put("is_child_tz_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);
|
||||
}
|
||||
}
|
||||
|
||||
if ("2".equals(Status)) {
|
||||
String up_point_code = cut_jo.getString("up_point_code");
|
||||
String down_point_code = cut_jo.getString("down_point_code");
|
||||
JSONObject jsonObject = param.getJSONObject(0);
|
||||
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 down_rows = new JSONArray();
|
||||
String up_qzz = "";
|
||||
String down_qzz = "";
|
||||
for (int i = 0; i < param.size(); 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);
|
||||
if (ObjectUtil.isEmpty(plan_jo)) {
|
||||
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);
|
||||
}
|
||||
JSONArray up_rows = new JSONArray();
|
||||
JSONArray down_rows = new JSONArray();
|
||||
String up_qzz = "";
|
||||
String down_qzz = "";
|
||||
for (int i = 0; i < param.size(); 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);
|
||||
if (ObjectUtil.isEmpty(plan_jo)) {
|
||||
throw new BadRequestException("未查询到分切计划:" + row.getString("ContainerGroup"));
|
||||
}
|
||||
}
|
||||
if ("2".equals(row.getString("ContainerPosition"))) {
|
||||
if (StrUtil.isEmpty(down_qzz)) {
|
||||
if (StrUtil.isEmpty(up_qzz)) {
|
||||
down_qzz = qzzno;
|
||||
down_rows.add(plan_jo);
|
||||
} else {
|
||||
if (StrUtil.equals(up_qzz, qzzno)) {
|
||||
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 {
|
||||
down_qzz = qzzno;
|
||||
down_rows.add(plan_jo);
|
||||
if (!StrUtil.equals(qzzno, up_qzz)) {
|
||||
down_qzz = qzzno;
|
||||
down_rows.add(plan_jo);
|
||||
} else {
|
||||
up_rows.add(plan_jo);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (StrUtil.equals(down_qzz, qzzno)) {
|
||||
down_rows.add(plan_jo);
|
||||
} else {
|
||||
up_rows.add(plan_jo);
|
||||
if ("2".equals(row.getString("ContainerPosition"))) {
|
||||
if (StrUtil.isEmpty(down_qzz)) {
|
||||
if (StrUtil.isEmpty(up_qzz)) {
|
||||
down_qzz = qzzno;
|
||||
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)) {
|
||||
result.put("RTYPE", "S");
|
||||
result.put("RTMSG", "该设备不需要下轴!");
|
||||
result.put("RTOAL", 1);
|
||||
result.put("RTDAT", null);
|
||||
return result;
|
||||
}
|
||||
if (ObjectUtil.isEmpty(up_rows) && ObjectUtil.isEmpty(down_rows)) {
|
||||
result.put("RTYPE", "S");
|
||||
result.put("RTMSG", "该设备不需要下轴!");
|
||||
result.put("RTOAL", 1);
|
||||
result.put("RTDAT", null);
|
||||
return result;
|
||||
}
|
||||
|
||||
//查询输送线上该分切机下一分切组可用的气涨轴
|
||||
JSONObject group_jo = WQL.getWO("PDA_02").addParam("flag", "14").addParam("resource_name", ResourceName).process().uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(group_jo)) {
|
||||
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);
|
||||
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) {
|
||||
//查询输送线上该分切机下一分切组可用的气涨轴
|
||||
JSONObject group_jo = WQL.getWO("PDA_02").addParam("flag", "14").addParam("resource_name", ResourceName).process().uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(group_jo)) {
|
||||
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);
|
||||
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");
|
||||
} else {
|
||||
jo.put("is_last", "1");
|
||||
}
|
||||
} else {
|
||||
jo.put("is_last", "0");
|
||||
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 (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) {
|
||||
String point_code = "";
|
||||
//分切机上只存在一个气涨轴,下一分切组存在两个气涨轴,执行一个进站
|
||||
if (ObjectUtil.isEmpty(up_rows)) {
|
||||
point_code = up_point_code;
|
||||
if ((ObjectUtil.isEmpty(up_rows) || ObjectUtil.isEmpty(down_rows)) && del_rows.size() == 2) {
|
||||
String point_code = "";
|
||||
//分切机上只存在一个气涨轴,下一分切组存在两个气涨轴,执行一个进站
|
||||
if (ObjectUtil.isEmpty(up_rows)) {
|
||||
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 { // 返回成功
|
||||
slitterService.slitterSpliceOperation(param);
|
||||
result.put("RTYPE", "S");
|
||||
result.put("RTMSG", "操作成功!");
|
||||
result.put("RTOAL", 1);
|
||||
@@ -2033,6 +2066,14 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
dto.setWidth_standard(WidthPlan);
|
||||
dto.setThickness_request(ThicknessPlan);
|
||||
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);
|
||||
|
||||
// 返回成功
|
||||
|
||||
Reference in New Issue
Block a user