This commit is contained in:
2022-12-10 14:06:05 +08:00
16 changed files with 419 additions and 54 deletions

View File

@@ -545,7 +545,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
jsonCool.put("io_type", "1");
jsonCool.put("material_id", mater_jo.getString("material_id"));
jsonCool.put("pcsn", parent_container_name);
jsonCool.put("bill_status", "10");
jsonCool.put("bill_status", "50");
jsonCool.put("task_id", task_id);
jsonCool.put("qty_unit_id", "1");
jsonCool.put("start_point_code", cool_ivt.getString("full_point_code"));
@@ -576,7 +576,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
if (ObjectUtil.isEmpty(struct)) {
throw new BadRequestException("该箱子已出库,不在库内!");
}
if (!struct.getString("lock_type").equals("1")) {
if (!struct.getString("lock_type").equals("3")) {
throw new BadRequestException("该木箱正在出库中!");
}
@@ -820,8 +820,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
jo.put("width_standard",width_standard);
jo.put("thickness_request",thickness_request);
jo.put("status", "0");
jo.put("create_id", "1");
jo.put("create_name", "管理员");
jo.put("create_id", "2");
jo.put("create_name", "MES用户");
jo.put("create_time", DateUtil.now());
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SubPackageRelation");
tab.insert(jo);

View File

@@ -0,0 +1,40 @@
package org.nl.wms.pda.mps.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log;
import org.nl.wms.pda.mps.service.CasingService;
import org.nl.wms.pda.mps.service.FeedingService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "分切上料")
@RequestMapping("api/pda/feeding")
@Slf4j
public class FeedingController {
private final FeedingService feedingService;
@PostMapping("/queryMaterialInfo")
@Log("分切计划初始化查询")
@ApiOperation("分切计划初始化查询")
public ResponseEntity<Object> queryMaterialInfo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(feedingService.queryMaterialInfo(whereJson), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("呼叫母卷")
@ApiOperation("呼叫母卷")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(feedingService.confirm(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,21 @@
package org.nl.wms.pda.mps.service;
import com.alibaba.fastjson.JSONObject;
public interface FeedingService {
/**
* 分切计划初始化查询
* @param whereJson /
* @return JSONObject
*/
JSONObject queryMaterialInfo(JSONObject whereJson);
/**
* 套轴确认
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
}

View File

@@ -1,6 +1,7 @@
package org.nl.wms.pda.mps.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -124,7 +125,11 @@ public class CasingServiceImpl implements CasingService {
//调用MES接口通知MES已经套轴完成
JSONObject jo = new JSONObject();
jo.put("container_name",row.getString("container_name"));
lmsToMesService.airSwellWithPaperTubeAssComplete(jo);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'airSwellWithPaperTubeAssComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
lmsToMesService.airSwellWithPaperTubeAssComplete(jo);
}
}

View File

@@ -0,0 +1,216 @@
package org.nl.wms.pda.mps.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.common.utils.SecurityUtils;
import org.nl.modules.system.util.CodeUtil;
import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.ext.mes.service.LmsToMesService;
import org.nl.wms.pda.mps.service.CasingService;
import org.nl.wms.pda.mps.service.FeedingService;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.tasks.CoolCutTask;
import org.nl.wms.st.inbill.service.CheckOutBillService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
@Service
@RequiredArgsConstructor
@Slf4j
public class FeedingServiceImpl implements FeedingService {
private final LmsToMesService lmsToMesService;
private final CheckOutBillService checkOutBillService;
@Override
public JSONObject queryMaterialInfo(JSONObject whereJson) {
String product_area = whereJson.getString("product_area");
String point_code = whereJson.getString("point_code");
String device_code = whereJson.getString("device_code");
String container_name = whereJson.getString("container_name");
HashMap map = new HashMap();
map.put("flag", "2");
if (StrUtil.isNotEmpty(product_area)) {
map.put("product_area", product_area);
}
if (StrUtil.isNotEmpty(point_code)) {
map.put("point_code", point_code);
}
if (StrUtil.isNotEmpty(device_code)) {
map.put("device_code", device_code);
}
if (StrUtil.isNotEmpty(container_name)) {
map.put("container_name", container_name);
}
JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0);
JSONObject jo = new JSONObject();
jo.put("data", rows);
jo.put("message", "查询成功!");
return jo;
}
@Transactional(rollbackFor = Exception.class)
@Override
public JSONObject confirm(JSONObject whereJson) {
String container_name = whereJson.getString("container_name");
if (StrUtil.isEmpty(container_name)) {
throw new BadRequestException("子卷号不能为空!");
}
JSONObject plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("container_name = '" + container_name + "' AND is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isEmpty(plan_jo)) {
throw new BadRequestException("未查询到该子卷号对应的分切计划!");
}
//查询该分切机对应的点位
JSONObject cut_jo = WQLObject.getWQLObject("st_ivt_cutpointivt").query("ext_code = '" + plan_jo.getString("resource_name") + "'").uniqueResult(0);
//创建搬运任务
if (plan_jo.getString("order_type").equals("1")) {
//生成一个半成品出库任务
String parent_container_name = plan_jo.getString("parent_container_name");
//查询该母卷号所在位置
JSONObject cool_ivt = WQLObject.getWQLObject("ST_IVT_CoolPointIvt").query("container_name = '" + parent_container_name + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cool_ivt)) {
throw new BadRequestException("未查询到该母卷的库存信息,!");
}
//查询该母卷号对应的生箔信息
JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + parent_container_name + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(raw_jo)) {
throw new BadRequestException("未查询到母卷:" + parent_container_name + ",对应的生箔信息!");
}
JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + raw_jo.getString("product_name") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(mater_jo)) {
throw new BadRequestException("未查询到物料:" + raw_jo.getString("product_name") + ",信息!");
}
//创建任务,判断目的点是否存在空轴存在创建4个点的任务不存在则创建两个点任务
String task_id = "";
JSONObject jo = new JSONObject();
if (StrUtil.isEmpty(cut_jo.getString("empty_vehicle_code"))) {
jo.put("point_code1", cool_ivt.getString("full_point_code"));
jo.put("point_code2", cut_jo.getString("full_point_code"));
jo.put("vehicle_code", parent_container_name);
jo.put("product_area", cool_ivt.getString("product_area"));
jo.put("task_type", "010302");
} else {
jo.put("point_code1", cool_ivt.getString("full_point_code"));
jo.put("point_code2", cut_jo.getString("full_point_code"));
jo.put("point_code3", cut_jo.getString("empty_point_code"));
jo.put("point_code4", cool_ivt.getString("empty_point_code"));
jo.put("vehicle_code", parent_container_name);
jo.put("vehicle_code2", cut_jo.getString("empty_vehicle_code"));
jo.put("product_area", cool_ivt.getString("product_area"));
jo.put("task_type", "010301");
}
AbstractAcsTask task = new CoolCutTask();
task_id = task.createTask(jo);
//生成半成品出库单据
Long currentUserId = SecurityUtils.getCurrentUserId();
String currentUsername = SecurityUtils.getCurrentUsername();
JSONObject jsonCool = new JSONObject();
jsonCool.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId());
jsonCool.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE"));
jsonCool.put("io_type", "1");
jsonCool.put("material_id", mater_jo.getString("material_id"));
jsonCool.put("pcsn", parent_container_name);
jsonCool.put("bill_status", "50");
jsonCool.put("task_id", task_id);
jsonCool.put("qty_unit_id", "1");
jsonCool.put("start_point_code", cool_ivt.getString("full_point_code"));
jsonCool.put("end_point_code", cut_jo.getString("full_point_code"));
jsonCool.put("create_mode", "03");
jsonCool.put("create_id", "2");
jsonCool.put("create_name", "MES用户");
jsonCool.put("create_time", DateUtil.now());
jsonCool.put("update_optid", currentUserId);
jsonCool.put("update_optname", currentUsername);
jsonCool.put("update_time", DateUtil.now());
jsonCool.put("confirm_optid", currentUserId);
jsonCool.put("confirm_optname", currentUsername);
jsonCool.put("confirm_time", DateUtil.now());
WQLObject.getWQLObject("ST_IVT_CoolRegionIO").insert(jsonCool);
} else {
//生成一个改切出库任务
//查询该箱子所在仓位
String package_box_sn = plan_jo.getString("package_box_sn");
String restruct_container_name = plan_jo.getString("restruct_container_name");
//查询该包装关系
JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("container_name = '" + restruct_container_name + "'").uniqueResult(0);
JSONObject struct = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + package_box_sn + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(struct)) {
throw new BadRequestException("该箱子已出库,不在库内!");
}
if (!struct.getString("lock_type").equals("3")) {
throw new BadRequestException("该木箱正在出库中!");
}
//插入主表、明细、分配
JSONObject mst_jo = new JSONObject();
mst_jo.put("biz_date", DateUtil.now());
mst_jo.put("bill_type", "1003");
mst_jo.put("stor_id", struct.getString("stor_id"));
mst_jo.put("stor_code", struct.getString("stor_code"));
mst_jo.put("stor_name", struct.getString("stor_name"));
mst_jo.put("total_qty", "0");
mst_jo.put("bill_status", "10");
JSONArray rows = new JSONArray();
JSONObject dtl = new JSONObject();
//查询该物料
JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + sub_jo.getString("product_name") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(mater_jo)) {
throw new BadRequestException("未查询到物料:" + sub_jo.getString("product_name") + ",信息!");
}
dtl.put("material_id", mater_jo.getString("material_id"));
dtl.put("pcsn", plan_jo.getString("restruct_container_name"));
dtl.put("box_no", package_box_sn);
JSONObject unit = WQLObject.getWQLObject("md_pb_measureunit").query("measure_unit_id = '" + mater_jo.getString("base_unit_id") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(unit)) {
throw new BadRequestException("未查询到物料计量单位:" + mater_jo.getString("base_unit_id") + ",信息!");
}
dtl.put("qty_unit_id", unit.getString("measure_unit_id"));
dtl.put("qty_unit_name", unit.getString("unit_name"));
dtl.put("plan_qty", sub_jo.getString("net_weight"));
dtl.put("source_billdtl_id", plan_jo.getString("workorder_id"));
rows.add(dtl);
mst_jo.put("tableData", rows);
mst_jo.put("user", "mes");
String iostorinv_id = checkOutBillService.insertDtl(mst_jo);
//调用自动分配
JSONObject out_jo = new JSONObject();
out_jo.put("iostorinv_id", iostorinv_id);
checkOutBillService.allDiv(out_jo);
}
JSONObject jo = new JSONObject();
jo.put("message", "查询成功!");
return jo;
}
}

View File

@@ -140,7 +140,7 @@ public class HandleBakingServiceImpl implements HandleBakingService {
// 更新烘箱区库存状态
JSONObject jsonHotIvt = hosIvtTab.query("point_code = '" + next_point_code + "'").uniqueResult(0);
if (StrUtil.isNotEmpty(jsonHotIvt.getString("container_name"))){
if (StrUtil.isNotEmpty(jsonHotIvt.getString("container_name"))) {
throw new BadRequestException("目的点上存在母卷!");
}
jsonHotIvt.put("point_status", "02");
@@ -153,6 +153,24 @@ public class HandleBakingServiceImpl implements HandleBakingService {
jsonHotIvt.put("update_time", DateUtil.now());
hosIvtTab.update(jsonHotIvt);
// 将入烘箱信息发送给mes
JSONObject param = new JSONObject();
String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue();
String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue();
param.put("iContainerName", container_name);
param.put("iResourceName", jsonHotIvt.getString("ext_code"));
param.put("iMoveInDate", DateUtil.now());
param.put("iPlanBakingTemperature", temperature);
param.put("iPlanBakingTimer", hours);
param.put("UserName", userName);
param.put("PassWord", passWord);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeInBound'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")) {
new LmsToMesServiceImpl().momRollBakeInBound(param);
}
} else if (StrUtil.equals(option, "2")) {
//插入烘箱出入库记录表
@@ -207,7 +225,7 @@ public class HandleBakingServiceImpl implements HandleBakingService {
//更新冷却区库存
JSONObject jsonIvt = coolIvtTab.query("full_point_code ='" + next_point_code + "'").uniqueResult(0);
if (StrUtil.isNotEmpty(jsonIvt.getString("container_name"))){
if (StrUtil.isNotEmpty(jsonIvt.getString("container_name"))) {
throw new BadRequestException("目的点上存在母卷!");
}
jsonIvt.put("full_point_status", "02");
@@ -217,6 +235,23 @@ public class HandleBakingServiceImpl implements HandleBakingService {
jsonIvt.put("workorder_id", jsonRaw.getString("workorder_id"));
jsonIvt.put("ivt_qty", jsonRaw.getString("productin_qty"));
coolIvtTab.update(jsonIvt);
//查询该母卷对应最近的一条入烘箱记录
JSONObject last_hot_mst = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst").query("container_name = '" + container_name + "' AND io_type = '0' order by confirm_time desc").uniqueResult(0);
// 将出烘箱信息发送给mes
JSONObject param = new JSONObject();
param.put("iContainerName", jsonRaw.getString("container_name"));
param.put("iResourceName", jsonHotIvt.getString("ext_code"));
param.put("iMoveOutDate", DateUtil.now());
param.put("iabxActualBakingTemperature", last_hot_mst.getDoubleValue("temperature"));
param.put("iabxActualBakingTimer", last_hot_mst.getDoubleValue("oven_time"));
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeOutBound'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")) {
new LmsToMesServiceImpl().momRollBakeOutBound(param);
}
}
JSONObject result = new JSONObject();
result.put("message", "操作成功!");
@@ -255,7 +290,11 @@ public class HandleBakingServiceImpl implements HandleBakingService {
param.put("UserName", userName);
param.put("PassWord", passWord);
new LmsToMesServiceImpl().momRollSemiFGInboundComplete(param);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
new LmsToMesServiceImpl().momRollSemiFGInboundComplete(param);
}
JSONObject result = new JSONObject();
result.put("message", "操作成功!");
@@ -296,29 +335,4 @@ public class HandleBakingServiceImpl implements HandleBakingService {
return jsonHotMst.getString("iostorinv_id");
}
@Transactional
public void createHotDtl(JSONObject param) {
/*
* 创建烘箱区出入明细表
*/
WQLObject hotDtlTab = WQLObject.getWQLObject("ST_IVT_HotRegionIODtl"); // 烘箱区出入明细表
JSONObject jsonHotDtl = new JSONObject();
jsonHotDtl.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId());
jsonHotDtl.put("bill_code", "");
jsonHotDtl.put("start_point_code", param.getString("start_point_code"));
jsonHotDtl.put("next_point_code", param.getString("next_point_code"));
jsonHotDtl.put("temperature", param.getString("temperature"));
jsonHotDtl.put("oven_time", param.getString("oven_time"));
jsonHotDtl.put("task_type", "1");
jsonHotDtl.put("task_id", param.getString("task_id"));
jsonHotDtl.put("create_id", 2);
jsonHotDtl.put("create_name", "mes用户");
jsonHotDtl.put("create_time", DateUtil.now());
jsonHotDtl.put("dtl_status", "10");
hotDtlTab.insert(jsonHotDtl);
}
}

View File

@@ -81,7 +81,11 @@ public class PointStatusServiceImpl implements PointStatusService {
JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name",container_name);
mom_jo.put("warehouse","1");
lmsToMesService.cutPlanMomRollDeliveryComplete(mom_jo);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
lmsToMesService.cutPlanMomRollDeliveryComplete(mom_jo);
}
}
}
//2-解绑

View File

@@ -308,6 +308,40 @@
ENDQUERY
ENDIF
IF 输入.flag = "11"
QUERY
SELECT
plan.*,
ivt.point_code,
ivt.sort_seq,
ivt.product_area,
ivt.point_location
FROM
PDM_BI_SlittingProductionPlan plan
LEFT JOIN st_ivt_cutpointivt ivt ON ivt.ext_code = plan.resource_name
WHERE
plan.STATUS < 09
AND
is_child_tz_ok = 0
AND
is_child_ps_ok = 0
AND
is_parent_ok = 0
AND
is_delete = '0'
OPTION 输入.product_area <> ""
ivt.product_area = 输入.product_area
ENDOPTION
OPTION 输入.container_name <> ""
plan.container_name = 输入.container_name
ENDOPTION
OPTION 输入.device_code <> ""
ivt.point_code = 输入.device_code
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -209,6 +209,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan
JSONObject json = data.getJSONObject(i);
JSONObject jsonObject = tab.query("workorder_id = '" + json.getString("workorder_id") + "'").uniqueResult(0);
jsonObject.put("is_child_ps_ok","1");
jsonObject.put("status","03");
jsonObject.put("update_optid",currentUserId);
jsonObject.put("update_optname",currentUsername);
jsonObject.put("update_time",DateUtil.now());
@@ -228,10 +229,10 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan
for (int i = 0; i < data.size(); i++) {
JSONObject json = data.getJSONObject(i);
JSONObject jsonObject = tab.query("workorder_id = '" + json.getString("workorder_id") + "'").uniqueResult(0);
if (StrUtil.equals(jsonObject.getString("status"), "2")) {
if (StrUtil.equals(jsonObject.getString("status"), "09")) {
throw new BadRequestException("此单号:"+jsonObject.getString("mfg_order_name")+"已完成");
}
jsonObject.put("status","2");
jsonObject.put("status","09");
jsonObject.put("end_time",DateUtil.now());
jsonObject.put("update_optid",currentUserId);
jsonObject.put("update_optname",currentUsername);

View File

@@ -83,6 +83,8 @@ public class CoolCutTask extends AbstractAcsTask {
if (StrUtil.equals(status, "0")) {
// 取消删除任务
taskTab.delete("task_id = '" + task_id + "'");
ivtTab.delete("task_id = '" + task_id + "'");
}
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
@@ -91,11 +93,6 @@ public class CoolCutTask extends AbstractAcsTask {
jsonTask.put("update_time", DateUtil.now());
taskTab.update(jsonTask);
// 更新主表状态
JSONObject coolMst = ivtTab.query("task_id = '" + task_id + "'").uniqueResult(0);
coolMst.put("bill_status", "40");
ivtTab.update(coolMst);
}
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
@@ -170,7 +167,11 @@ public class CoolCutTask extends AbstractAcsTask {
JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name",container_name);
mom_jo.put("warehouse","1");
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
}
}
if (jsonTask.getString("task_type").equals("010302")) {
@@ -212,7 +213,11 @@ public class CoolCutTask extends AbstractAcsTask {
JSONObject mom_jo = new JSONObject();
mom_jo.put("contain_name",container_name);
mom_jo.put("warehouse","1");
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'cutPlanMomRollDeliveryComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mom_jo);
}
}
if (jsonTask.getString("task_type").equals("010303")) {

View File

@@ -131,7 +131,11 @@ public class CutConveyorTask extends AbstractAcsTask {
String ContainerName = row.getString("container_name");
JSONObject jo = new JSONObject();
jo.put("ContainerName", ContainerName);
lmsToMesService.airSwellWithPaperTubeAssArrival(row);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
lmsToMesService.airSwellWithPaperTubeAssArrival(row);
}
}
}

View File

@@ -134,7 +134,11 @@ public class InCoolIvtTask extends AbstractAcsTask {
param.put("UserName", userName);
param.put("PassWord", passWord);
JSONObject result = new LmsToMesServiceImpl().momRollSemiFGInboundComplete(param);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollSemiFGInboundComplete'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
new LmsToMesServiceImpl().momRollSemiFGInboundComplete(param);
}
}
}

View File

@@ -72,6 +72,10 @@ public class InHotTask extends AbstractAcsTask {
if (StrUtil.equals(status, "0")) {
// 取消删除任务
taskTab.delete("task_id = '" + task_id + "'");
coolIoTab.delete("task_id = '" + task_id + "'");
hotMstTab.delete("task_id = '" + task_id + "'");
}
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
@@ -119,7 +123,7 @@ public class InHotTask extends AbstractAcsTask {
jsonPoint.put("material_code", "");
pointTab.update(jsonPoint);
hot_point_code = jsonHotIvt.getString("point_code");
hot_point_code = jsonHotIvt.getString("ext_code");
} else {
/*
* 冷却区入烘箱任务
@@ -158,7 +162,7 @@ public class InHotTask extends AbstractAcsTask {
jsonHotIvt.put("update_time", DateUtil.now());
hotIvtTab.update(jsonHotIvt);
hot_point_code = jsonHotIvt.getString("point_code");
hot_point_code = jsonHotIvt.getString("ext_code");
}
// 将入烘箱信息发送给mes
@@ -173,7 +177,11 @@ public class InHotTask extends AbstractAcsTask {
param.put("UserName", userName);
param.put("PassWord", passWord);
JSONObject result = new LmsToMesServiceImpl().momRollBakeInBound(param);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeInBound'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
new LmsToMesServiceImpl().momRollBakeInBound(param);
}
}
}

View File

@@ -3,6 +3,7 @@ package org.nl.wms.sch.tasks;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -117,12 +118,17 @@ public class OutHotTask extends AbstractAcsTask {
// 将出烘箱信息发送给mes
JSONObject param = new JSONObject();
param.put("iContainerName", jsonHotMst.getString("container_name"));
param.put("iResourceName", jsonHotIvt.getString("point_code"));
param.put("iResourceName", jsonHotIvt.getString("ext_code"));
param.put("iMoveOutDate", DateUtil.now());
param.put("iabxActualBakingTemperature", jsonHotMst.getDoubleValue("temperature"));
param.put("iabxActualBakingTimer", jsonHotMst.getDoubleValue("oven_time"));
JSONObject result = new LmsToMesServiceImpl().momRollBakeOutBound(param);
//判断该接口是否需要回传
JSONObject back_jo = WQLObject.getWQLObject("MD_PB_InterfaceBack").query("interface_name = 'momRollBakeOutBound'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(back_jo) && back_jo.getString("is_back").equals("1")){
new LmsToMesServiceImpl().momRollBakeOutBound(param);
}
}
}

View File

@@ -144,6 +144,8 @@
package_box_sn
FROM
pdm_bi_subpackagerelation
where
status = '0'
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -97,10 +97,11 @@
<el-table-column prop="task_code" label="任务编码" min-width="100" show-overflow-tooltip />
<el-table-column prop="task_type_name" label="任务类型" min-width="120" show-overflow-tooltip />
<el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" />
<el-table-column prop="point_code1" label="点1" width="100" show-overflow-tooltip />
<el-table-column prop="point_code2" label="点位2" width="100" show-overflow-tooltip />
<el-table-column prop="point_code3" label="点位3" width="100" show-overflow-tooltip />
<el-table-column prop="point_code4" label="点位4" width="100" show-overflow-tooltip />
<el-table-column prop="point_code1" label="取货点1" width="100" show-overflow-tooltip />
<el-table-column prop="point_code2" label="放货点1" width="100" show-overflow-tooltip />
<el-table-column prop="point_code3" label="取货点2" width="100" show-overflow-tooltip />
<el-table-column prop="point_code4" label="放货点2" width="100" show-overflow-tooltip />
<el-table-column prop="car_no" label="车号" width="100" show-overflow-tooltip />
<el-table-column prop="material_code" label="物料编码" width="100" show-overflow-tooltip />
<el-table-column prop="vehicle_code" label="载具编码1" width="100" show-overflow-tooltip />
<el-table-column prop="vehicle_code2" label="载具编码2" width="100" show-overflow-tooltip />