This commit is contained in:
2022-07-11 10:03:20 +08:00
parent b60b9d0d73
commit d10adccd83

View File

@@ -164,7 +164,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
throw new PdaRequestException("点位:" + point_code + "锁定!");
}
if (out_point.getString("is_used").equals("0")){
if (out_point.getString("is_used").equals("0")) {
throw new PdaRequestException("点位:" + point_code + "未启用!");
}
@@ -174,7 +174,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
throw new PdaRequestException("点位:" + next_point_code + "锁定或点位上存在载具!");
}
if (next_point.getString("is_used").equals("0")){
if (next_point.getString("is_used").equals("0")) {
throw new PdaRequestException("点位:" + next_point_code + "未启用!");
}
@@ -228,7 +228,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
String button_name = jo.getString("button_name");
JSONObject work_task = WQLObject.getWQLObject("PDM_BI_WorkTask").query("worktask_id = '" + worktask_id + "'").uniqueResult(0);
JSONObject work_order = WQLObject.getWQLObject("PDM_BI_WorkOrder").query("workorder_id = '"+work_task.getString("workorder_id")+"'").uniqueResult(0);
JSONObject work_order = WQLObject.getWQLObject("PDM_BI_WorkOrder").query("workorder_id = '" + work_task.getString("workorder_id") + "'").uniqueResult(0);
String now_status = work_task.getString("status");
String currentUserId = SecurityUtils.getCurrentUserId() + "";
@@ -264,15 +264,19 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
throw new PdaRequestException("当前工令工序任务状态不为检查确认!");
}
// JSONObject device = WQLObject.getWQLObject("em_bi_deviceinfo").query("device_code = '"+device_code+"'").uniqueResult(0);
JSONObject device = WQLObject.getWQLObject("em_bi_deviceinfo").query("device_code = '" + device_code + "'").uniqueResult(0);
if (!work_task.getString("workprocedure_code").equals(device.getString("workprocedure_code"))) {
throw new PdaRequestException("当前工序设备选择错误!");
}
work_task.put("status", "30");
work_task.put("start_id", currentUserId);
work_task.put("start_name", nickName);
work_task.put("start_time", now);
work_order.put("workprocedure_id",work_task.getString("workprocedure_id"));
work_order.put("workprocedure_code",work_task.getString("workprocedure_code"));
work_order.put("workprocedure_name",work_task.getString("workprocedure_name"));
work_order.put("workprocedure_id", work_task.getString("workprocedure_id"));
work_order.put("workprocedure_code", work_task.getString("workprocedure_code"));
work_order.put("workprocedure_name", work_task.getString("workprocedure_name"));
//如果是配粉工序的开始,修改配方的状态
@@ -292,11 +296,15 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
}
}
if (work_task.getString("workprocedure_code").equals("GX002")||work_task.getString("workprocedure_code").equals("GX003")) {
if (!work_task.getString("workprocedure_code").equals("GX003")) {
//判断该设备是否存在未完成的工序任务
JSONObject device_task = WQLObject.getWQLObject("PDM_BI_WorkTask").query("device_id = '"+device.getString("device_id")+"' AND status = '30'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(device_task)){
throw new PdaRequestException("该设备已经存在生产中的工序任务!");
}
}
//更新工令表实际开始时间
if (topDtl.getString("workprocedure_code").equals(work_task.getString("workprocedure_code"))){
if (topDtl.getString("workprocedure_code").equals(work_task.getString("workprocedure_code"))) {
work_order.put("realstart_time", now);
}
WQLObject.getWQLObject("PDM_BI_WorkOrder").update(work_order);
@@ -307,14 +315,14 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
}
if (work_task.getString("workprocedure_code").equals("GX001")) {
//判断该配方是否完成
JSONObject form_mst = WQLObject.getWQLObject("PDM_BI_Formula").query("workorder_code = '"+work_task.getString("workorder_code")+"' AND status < '99' AND is_delete ='0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(form_mst)){
JSONObject form_mst = WQLObject.getWQLObject("PDM_BI_Formula").query("workorder_code = '" + work_task.getString("workorder_code") + "' AND status < '99' AND is_delete ='0'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(form_mst)) {
throw new PdaRequestException("存在未完成的配方,无法结束!");
}
}
//更新工令表实际结束时间
if (lastDtl.getString("workprocedure_code").equals(work_task.getString("workprocedure_code"))){
if (lastDtl.getString("workprocedure_code").equals(work_task.getString("workprocedure_code"))) {
work_order.put("realend_time", now);
}
WQLObject.getWQLObject("PDM_BI_WorkOrder").update(work_order);
@@ -371,23 +379,23 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
//查询配方
JSONObject from_jo = WQLObject.getWQLObject("PDM_BI_Formula").query("formula_code = '" + formula_code + "'").uniqueResult(0);
if (from_jo.getString("status").equals("99")){
if (from_jo.getString("status").equals("99")) {
throw new PdaRequestException("已经完成的配方无法绑定载具!");
}
JSONObject vehicle = WQLObject.getWQLObject("md_pb_storagevehicleinfo").query("storagevehicle_code = '" + vehicle_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(vehicle)){
if (ObjectUtil.isEmpty(vehicle)) {
throw new PdaRequestException("查询不到该载具!");
}
//判断是否为副桶,如果为副桶判断主桶是否完成
String bucket_type = from_jo.getString("bucket_type");
if (bucket_type.equals("02")){
JSONObject first_form = WQLObject.getWQLObject("PDM_BI_Formula").query("workorder_code = '"+from_jo.getString("workorder_code")+"' AND bucket_type = '01' AND is_delete = '0'").uniqueResult(0);
if (!first_form.getString("status").equals("99")){
if (bucket_type.equals("02")) {
JSONObject first_form = WQLObject.getWQLObject("PDM_BI_Formula").query("workorder_code = '" + from_jo.getString("workorder_code") + "' AND bucket_type = '01' AND is_delete = '0'").uniqueResult(0);
if (!first_form.getString("status").equals("99")) {
throw new PdaRequestException("该工令存在未完成的主桶配方,请先完成主桶!");
}
if (first_form.getString("storagevehicle_id").equals(vehicle.getString("storagevehicle_id"))){
if (first_form.getString("storagevehicle_id").equals(vehicle.getString("storagevehicle_id"))) {
throw new PdaRequestException("该配粉槽已被主桶使用!");
}
}
@@ -442,8 +450,8 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
}
//查询配方
JSONObject form_mst = WQLObject.getWQLObject("PDM_BI_Formula").query("formula_code = '"+formula_code+"'").uniqueResult(0);
if (!form_mst.getString("status").equals("99")){
JSONObject form_mst = WQLObject.getWQLObject("PDM_BI_Formula").query("formula_code = '" + formula_code + "'").uniqueResult(0);
if (!form_mst.getString("status").equals("99")) {
throw new PdaRequestException("该配方未完成,不允许搬出!");
}
@@ -570,7 +578,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
}
JSONObject jo = JSONObject.parseObject(JSON.toJSONString(jsonObject));
String is_second = jo.getString("is_second");
JSONArray rows = WQL.getWO("QPDM_WORK_TASK").addParam("flag", "6").addParam("is_second",is_second).process().getResultJSONArray(0);
JSONArray rows = WQL.getWO("QPDM_WORK_TASK").addParam("flag", "6").addParam("is_second", is_second).process().getResultJSONArray(0);
JSONObject returnjo = new JSONObject();
returnjo.put("code", "1");
returnjo.put("content", rows);
@@ -692,9 +700,9 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
JSONObject work_task = WQLObject.getWQLObject("PDM_BI_WorkTask").query("worktask_id = '" + worktask_id + "'").uniqueResult(0);
JSONObject work_order = WQLObject.getWQLObject("PDM_BI_WorkOrder").query("workorder_code = '" + work_task.getString("workorder_code") + "'").uniqueResult(0);
JSONObject device_jo = WQLObject.getWQLObject("em_bi_deviceinfo").query("device_id = '"+work_task.getString("device_id")+"'").uniqueResult(0);
JSONObject form_jo = WQLObject.getWQLObject("PDM_BI_Formula").query("workorder_code = '"+work_task.getString("workorder_code")+"' AND bucket_type = '01'").uniqueResult(0);
JSONObject material_ext = WQLObject.getWQLObject("MD_ME_ProducMaterialExt").query("material_id = '"+work_order.getString("material_id")+"'").uniqueResult(0);
JSONObject device_jo = WQLObject.getWQLObject("em_bi_deviceinfo").query("device_id = '" + work_task.getString("device_id") + "'").uniqueResult(0);
JSONObject form_jo = WQLObject.getWQLObject("PDM_BI_Formula").query("workorder_code = '" + work_task.getString("workorder_code") + "' AND bucket_type = '01'").uniqueResult(0);
JSONObject material_ext = WQLObject.getWQLObject("MD_ME_ProducMaterialExt").query("material_id = '" + work_order.getString("material_id") + "'").uniqueResult(0);
if (StrUtil.isEmpty(work_task.getString("device_id"))) {
throw new PdaRequestException("当前工序任务还未绑定设备!");
@@ -708,7 +716,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
String workprocedure_id = work_task.getString("workprocedure_id");
JSONArray work_para = WQLObject.getWQLObject("PDM_BI_WorkProcedureParaProduct").query("material_id = '" + material_id + "' AND workprocedure_id = '" + workprocedure_id + "'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(work_para)){
if (ObjectUtil.isEmpty(work_para)) {
throw new PdaRequestException("该产品未设置球磨参数!");
}
@@ -719,22 +727,22 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
JSONObject data2 = new JSONObject();
data2.put("device_code", device_jo.getString("device_code"));
//查询对应的字段
JSONObject para = WQLObject.getWQLObject("pdm_bi_workprocedurepara").query("para_id = '"+row.getString("para_id")+"'").uniqueResult(0);
if(ObjectUtil.isEmpty(para)){
JSONObject para = WQLObject.getWQLObject("pdm_bi_workprocedurepara").query("para_id = '" + row.getString("para_id") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(para)) {
throw new PdaRequestException("球磨工艺参数查询不到!");
}
if (StrUtil.isEmpty(para.getString("ext_name"))){
if (StrUtil.isEmpty(para.getString("ext_name"))) {
throw new PdaRequestException("球磨工艺参数未维护!");
}
data2.put("code", para.getString("ext_name"));
data2.put("value", row.getString("value"));
//球磨时间从配方表主桶配方中获取
if (para.getString("para_code").equals("QM008")){
if (para.getString("para_code").equals("QM008")) {
data2.put("value", form_jo.getString("ball_time"));
}
//工艺酒精加量设定值:工令重量*液料比,液料比从扩展属性中取;
if (para.getString("para_code").equals("QM009")){
data2.put("value", NumberUtil.mul(work_order.getDouble("workorder_qty"),material_ext.getDouble("liquid_rate")));
if (para.getString("para_code").equals("QM009")) {
data2.put("value", NumberUtil.mul(work_order.getDouble("workorder_qty"), material_ext.getDouble("liquid_rate")));
}
array.add(data2);
}
@@ -997,7 +1005,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
}
JSONObject work_task = WQLObject.getWQLObject("PDM_BI_WorkTask").query("worktask_id = '" + worktask_id + "'").uniqueResult(0);
JSONObject device_jo = WQLObject.getWQLObject("em_bi_deviceinfo").query("device_id = '"+work_task.getString("device_id")+"'").uniqueResult(0);
JSONObject device_jo = WQLObject.getWQLObject("em_bi_deviceinfo").query("device_id = '" + work_task.getString("device_id") + "'").uniqueResult(0);
if (StrUtil.isEmpty(work_task.getString("device_id"))) {
throw new PdaRequestException("当前工序任务还未绑定设备!");
@@ -1012,7 +1020,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
JSONArray work_para = WQLObject.getWQLObject("PDM_BI_WorkProcedureParaProduct").query("material_id = '" + material_id + "' AND workprocedure_id = '" + workprocedure_id + "'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(work_para)){
if (ObjectUtil.isEmpty(work_para)) {
throw new PdaRequestException("该产品未设置工艺参数!");
}
@@ -1023,11 +1031,11 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
JSONObject data2 = new JSONObject();
data2.put("device_code", device_jo.getString("device_code"));
//查询对应的字段
JSONObject para = WQLObject.getWQLObject("pdm_bi_workprocedurepara").query("para_id = '"+row.getString("para_id")+"'").uniqueResult(0);
if(ObjectUtil.isEmpty(para)){
JSONObject para = WQLObject.getWQLObject("pdm_bi_workprocedurepara").query("para_id = '" + row.getString("para_id") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(para)) {
throw new PdaRequestException("喷雾工艺参数查询不到!");
}
if (StrUtil.isEmpty(para.getString("ext_name"))){
if (StrUtil.isEmpty(para.getString("ext_name"))) {
throw new PdaRequestException("喷雾工艺参数未维护!");
}
data2.put("code", para.getString("ext_name"));
@@ -1085,7 +1093,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
JSONObject point = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + next_device.getString("point_code") + "'").uniqueResult(0);
String vehicle_code = point.getString("vehicle_code");
if (StrUtil.isEmpty(vehicle_code)){
if (StrUtil.isEmpty(vehicle_code)) {
throw new PdaRequestException("当前喷雾塔上料位不存在载具!");
}
@@ -1143,8 +1151,8 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
}
//判断该工序是否是最后一道工序
JSONObject work_task = WQLObject.getWQLObject("pdm_bi_worktask").query("worktask_id = '"+worktask_id+"'").uniqueResult(0);
if (work_task.getString("workprocedure_id").equals(work_task.getString("nextworkprocedure_id"))){
JSONObject work_task = WQLObject.getWQLObject("pdm_bi_worktask").query("worktask_id = '" + worktask_id + "'").uniqueResult(0);
if (work_task.getString("workprocedure_id").equals(work_task.getString("nextworkprocedure_id"))) {
throw new PdaRequestException("当前工序为最后一道工序!");
}
//查询混料设备的上料位
@@ -1315,7 +1323,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
throw new PdaRequestException("未查询到生产中的配方明细!");
}
JSONObject bucket_job = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").query("status < '99' AND formula_code = '"+formula_code+"'").uniqueResult(0);
JSONObject bucket_job = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").query("status < '99' AND formula_code = '" + formula_code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(bucket_job)) {
throw new PdaRequestException("桶存在未完成的作业!");
}
@@ -1338,7 +1346,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
boolean is_child = false;
if (dtl_jo.getString("material_type").equals("02")) {
String bucket_class = bucket_mater.getString("material_type_id");
String dtl_class = "('"+dtl_jo.getString("material_id")+"')";
String dtl_class = "('" + dtl_jo.getString("material_id") + "')";
String class_ids = classstandardService.getAllChildIdStr(dtl_class);
if (class_ids.contains(bucket_class)) {
is_child = true;
@@ -1348,7 +1356,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
if ((dtl_jo.getString("material_type").equals("01") && bucket_jo.getString("material_id").equals(dtl_jo.getString("material_id")))
|| (dtl_jo.getString("material_type").equals("02") && is_child)) {
JSONObject min_bucket = WQLObject.getWQLObject("md_pb_bucketrecord").query("material_id = '" + bucket_jo.getString("material_id") + "' AND storagevehicle_code = '" + bucket_jo.getString("vehicle_code") + "' order by storage_qty asc").uniqueResult(0);
if (ObjectUtil.isNotEmpty(min_bucket) && min_bucket.getDoubleValue("storage_qty")<bucket_jo.getDoubleValue("storage_qty")) {
if (ObjectUtil.isNotEmpty(min_bucket) && min_bucket.getDoubleValue("storage_qty") < bucket_jo.getDoubleValue("storage_qty")) {
desc = "桶错误!请选择重量更小的桶!";
flag = "4";
} else {
@@ -1357,23 +1365,23 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
String quality_scode = dtl_jo.getString("quality_scode");
String ivt_level = dtl_jo.getString("ivt_level");
String is_active = dtl_jo.getString("is_active");
if (StrUtil.isNotEmpty(pcsn)){
if (!bucket_jo.getString("pcsn").equals(pcsn)){
if (StrUtil.isNotEmpty(pcsn)) {
if (!bucket_jo.getString("pcsn").equals(pcsn)) {
throw new PdaRequestException("桶物料批次和当前配方明细批次不一致!");
}
}
if (StrUtil.isNotEmpty(quality_scode)){
if (!bucket_jo.getString("quality_scode").equals(quality_scode)){
if (StrUtil.isNotEmpty(quality_scode)) {
if (!bucket_jo.getString("quality_scode").equals(quality_scode)) {
throw new PdaRequestException("桶物料品质类型和当前配方明细品质类型不一致!");
}
}
if (StrUtil.isNotEmpty(ivt_level)){
if (!bucket_jo.getString("ivt_level").equals(ivt_level)){
if (StrUtil.isNotEmpty(ivt_level)) {
if (!bucket_jo.getString("ivt_level").equals(ivt_level)) {
throw new PdaRequestException("桶物料库存等级和当前配方明细库存等级不一致!");
}
}
if (StrUtil.isNotEmpty(is_active)){
if (!bucket_jo.getString("is_active").equals(is_active)){
if (StrUtil.isNotEmpty(is_active)) {
if (!bucket_jo.getString("is_active").equals(is_active)) {
throw new PdaRequestException("桶物料是否可用和当前配方明细是否可用不一致!");
}
}
@@ -1413,7 +1421,7 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
JSONObject row = JSONObject.parseObject(JSON.toJSONString(jsonObject));
JSONObject jo = row.getJSONObject("row");
String formula_code = jo.getString("formula_code");
JSONObject bucket_job = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").query("status < '99' AND formula_code = '"+formula_code+"'").uniqueResult(0);
JSONObject bucket_job = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").query("status < '99' AND formula_code = '" + formula_code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(bucket_job)) {
throw new PdaRequestException("桶存在未完成的作业!");
}
@@ -1426,8 +1434,8 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
jo.put("create_name", nickName);
jo.put("create_time", now);
jo.put("is_abnormal", "0");
JSONArray job_rows = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").query("formuladtl_id = '"+jo.getString("formuladtl_id")+"'").getResultJSONArray(0);
jo.put("jobseq_no", job_rows.size()+1);
JSONArray job_rows = WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").query("formuladtl_id = '" + jo.getString("formuladtl_id") + "'").getResultJSONArray(0);
jo.put("jobseq_no", job_rows.size() + 1);
jo.put("is_process", "0");
if (jo.getString("flag").equals("1")) {
jo.put("out_type", "01");
@@ -1438,9 +1446,9 @@ public class PdmWorkTaskServiceImpl implements PdmWorkTaskService {
double need_qty = jo.getDoubleValue("need_qty");
double storage_qty = jo.getDoubleValue("storage_qty");
if (need_qty > storage_qty) {
jo.put("needout_qty", NumberUtil.roundStr(storage_qty,4));
jo.put("needout_qty", NumberUtil.roundStr(storage_qty, 4));
} else {
jo.put("needout_qty", NumberUtil.roundStr(need_qty,4));
jo.put("needout_qty", NumberUtil.roundStr(need_qty, 4));
}
WQLObject.getWQLObject("PDM_BI_FormulaDtlJob").insert(jo);