修改
This commit is contained in:
Binary file not shown.
@@ -66,5 +66,12 @@ public class AcsToWmsController {
|
||||
return new ResponseEntity<>(acsToWmsService.deviceApply(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/process")
|
||||
@Log("RCS上报密集库任务异常处理")
|
||||
@ApiOperation("RCS上报密集库任务异常处理")
|
||||
public ResponseEntity<Object> process(@RequestBody JSONObject jo) {
|
||||
return new ResponseEntity<>(acsToWmsService.process(jo), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -60,4 +60,13 @@ public interface AcsToWmsService {
|
||||
*/
|
||||
JSONObject deviceApply(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* ACS客户端--->LMS服务端
|
||||
* RCS上报密集库任务异常处理
|
||||
*
|
||||
* @param whereJson 条件
|
||||
* @return JSONObject
|
||||
*/
|
||||
JSONObject process(JSONObject whereJson);
|
||||
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.nl.wms.sch.service.TaskService;
|
||||
import org.nl.wms.sch.tasks.EmptyVehicleTask;
|
||||
import org.nl.wms.sch.tasks.SendOutTask;
|
||||
import org.nl.wms.st.inbill.service.RawAssistIStorService;
|
||||
import org.nl.wms.st.inbill.service.StorPublicService;
|
||||
import org.nl.wms.st.inbill.service.impl.RawAssistIStorServiceImpl;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -39,6 +40,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
private final PrintService printService;
|
||||
|
||||
private final RawAssistIStorService rawAssistIStorService;
|
||||
|
||||
private final StorPublicService storPublicService;
|
||||
|
||||
/**
|
||||
* task_id:任务标识
|
||||
* task_code:任务编码
|
||||
@@ -319,7 +323,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
SendOutTask sendOutTask = new SendOutTask();
|
||||
sendOutTask.createTask(task_jo);
|
||||
}
|
||||
return null;
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "下发成功!");
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -334,6 +341,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
}
|
||||
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "反馈成功!");
|
||||
|
||||
JSONObject sub_jo = WQLObject.getWQLObject("").query("package_box_sn = '" + vehicle_code + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(sub_jo)) {
|
||||
@@ -377,5 +386,69 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject process(JSONObject whereJson) {
|
||||
String vehicle_code = whereJson.getString("vehicle_code");
|
||||
String ext_task_id = whereJson.getString("ext_task_id");
|
||||
String srcLocation = whereJson.getString("srcLocation");
|
||||
String dtl_type = whereJson.getString("dtl_type");
|
||||
log.info("ACS提示原货位:" + srcLocation + "被占用,需要重新分配货位!");
|
||||
|
||||
//锁定原货位
|
||||
HashMap unlock_map = new HashMap();
|
||||
unlock_map.put("lock_type", "99");
|
||||
unlock_map.put("taskdtl_type", "");
|
||||
unlock_map.put("taskdtl_id", "");
|
||||
unlock_map.put("task_code", "");
|
||||
unlock_map.put("inv_type", "");
|
||||
unlock_map.put("inv_id", "");
|
||||
unlock_map.put("inv_code", "");
|
||||
WQLObject.getWQLObject("sch_base_point").update(unlock_map, "point_code = '" + srcLocation + "'");
|
||||
WQLObject.getWQLObject("ST_IVT_StructAttr").update(unlock_map, "struct_code = '" + srcLocation + "'");
|
||||
|
||||
JSONObject old_struct = WQLObject.getWQLObject("ST_IVT_StructAttr").query("struct_code = '" + srcLocation + "'").uniqueResult(0);
|
||||
//根据木箱码和任务号查询对应的分配明细
|
||||
JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("box_no = '" + vehicle_code + "' AND task_id = '" + ext_task_id + "'").getResultJSONArray(0);
|
||||
|
||||
//查询一个新的货位
|
||||
JSONObject str_jo = new JSONObject();
|
||||
str_jo.put("box_no", vehicle_code);
|
||||
str_jo.put("sect_id", "1582991348217286656");
|
||||
JSONObject new_str = rawAssistIStorService.autoDis(str_jo);
|
||||
JSONObject mst_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '" + dis_rows.getJSONObject(0).getString("iostorinv_id") + "'").uniqueResult(0);
|
||||
|
||||
//更新分配数据
|
||||
HashMap dis_map = new HashMap();
|
||||
dis_map.put("struct_id", new_str.getString("struct_id"));
|
||||
dis_map.put("struct_code", new_str.getString("struct_code"));
|
||||
dis_map.put("struct_name", new_str.getString("struct_name"));
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "box_no = '" + vehicle_code + "' AND task_id = '" + ext_task_id + "'");
|
||||
//取消分配之前的货位
|
||||
for (int i = 0; i < dis_rows.size(); i++) {
|
||||
JSONObject i_form = new JSONObject();
|
||||
JSONObject dis_row = dis_rows.getJSONObject(i);
|
||||
i_form.put("struct_id", old_struct.getString("struct_id"));
|
||||
i_form.put("material_id", dis_row.getString("material_id"));
|
||||
i_form.put("quality_scode", dis_row.getString("quality_scode"));
|
||||
i_form.put("pcsn", dis_row.getString("pcsn"));
|
||||
i_form.put("ivt_level", dis_row.getString("ivt_level"));
|
||||
i_form.put("change_qty", dis_row.getString("plan_qty"));
|
||||
i_form.put("bill_type_scode", mst_jo.getString("bill_type"));
|
||||
i_form.put("inv_id", mst_jo.getString("iostorinv_id"));
|
||||
i_form.put("bill_code", mst_jo.getString("bill_code"));
|
||||
i_form.put("bill_table", "ST_IVT_IOStorInv");
|
||||
i_form.put("qty_unit_id", dis_row.getString("qty_unit_id"));
|
||||
i_form.put("qty_unit_name", dis_row.getString("qty_unit_name"));
|
||||
storPublicService.IOStor(i_form, "32");
|
||||
i_form.put("struct_id", new_str.getString("struct_id"));
|
||||
storPublicService.IOStor(i_form, "31");
|
||||
}
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "变更货位成功!");
|
||||
result.put("srcLocation", old_struct.getString("struct_code"));
|
||||
result.put("destLocation", new_str.getString("struct_code"));
|
||||
result.put("dtl_type", "1");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,6 +109,7 @@ public class CrmToLmsServiceImpl implements CrmToLmsService {
|
||||
String dateoffginbound = jo.getString("dateoffginbound");
|
||||
String packageboxsn = jo.getString("packageboxsn");
|
||||
String container_name = jo.getString("container_name");
|
||||
String pcsn = jo.getString("pcsn");
|
||||
|
||||
HashMap map = new HashMap<>();
|
||||
if (StrUtil.isNotEmpty(material_code)) {
|
||||
@@ -150,6 +151,9 @@ public class CrmToLmsServiceImpl implements CrmToLmsService {
|
||||
if (StrUtil.isNotEmpty(container_name)) {
|
||||
map.put("container_name", container_name);
|
||||
}
|
||||
if (StrUtil.isNotEmpty(pcsn)) {
|
||||
map.put("sap_pcsn", pcsn);
|
||||
}
|
||||
//将查询条件带入,查询LMS成品库库存信息
|
||||
JSONArray rows = WQL.getWO("QCRM_001").addParamMap(map).addParam("flag", "1").process().getResultJSONArray(0);
|
||||
|
||||
|
||||
@@ -13,12 +13,14 @@ import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.SecurityUtils;
|
||||
import org.nl.modules.system.service.impl.ParamServiceImpl;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl;
|
||||
import org.nl.wms.ext.mes.service.MesToLmsService;
|
||||
import org.nl.wms.log.LokiLog;
|
||||
import org.nl.wms.log.LokiLogType;
|
||||
import org.nl.wms.pda.mps.service.InService;
|
||||
import org.nl.wms.pda.mps.service.OutService;
|
||||
import org.nl.wms.pda.mps.service.impl.BakingServiceImpl;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -39,6 +41,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
|
||||
private final OutService outService;
|
||||
|
||||
private final InService inService;
|
||||
|
||||
/**
|
||||
* 生箔烘箱:
|
||||
* 母卷批次创建信息发送智能物流(MES生箔工序Move In)
|
||||
@@ -353,6 +357,7 @@ 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"); // 销售订单及行号
|
||||
|
||||
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan");
|
||||
|
||||
@@ -428,6 +433,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
json.put("split_breadth", SplitBreadth);
|
||||
json.put("split_height", SplitHeight);
|
||||
json.put("split_weight", SplitWeight);
|
||||
json.put("sale_order_name", Attribute2);
|
||||
json.put("start_time", DateUtil.now());
|
||||
json.put("status", "01");
|
||||
json.put("is_parent_ok", "0");
|
||||
@@ -700,20 +706,52 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
}
|
||||
}
|
||||
|
||||
if (ObjectUtil.isEmpty(up_rows) && ObjectUtil.isEmpty(down_rows)) {
|
||||
throw new BadRequestException("分切机上轴、下轴不存在一个分切计划!");
|
||||
}
|
||||
//查询输送线上该分切机下一分切组可用的气涨轴
|
||||
|
||||
JSONObject group_jo = WQL.getWO("PDA_02").addParam("flag","14").addParam("resource_name",ResourceName).process().uniqueResult(0);
|
||||
JSONArray del_rows = 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")+"')").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() > 1) {
|
||||
jo.put("is_last", "0");
|
||||
} 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 = down_point_code;
|
||||
}
|
||||
if (ObjectUtil.isEmpty(down_rows)) {
|
||||
point_code = up_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 whereJson = new JSONObject();
|
||||
whereJson.put("point_code",point_code);
|
||||
whereJson.put("cut_rows",del_row);
|
||||
inService.confirm(whereJson);
|
||||
}
|
||||
}
|
||||
}
|
||||
result.put("RTYPE", "S");
|
||||
@@ -902,7 +940,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
change_jo.put("changeinv_id", changeinv_id);
|
||||
change_jo.put("seq_no", detail_count + 1);
|
||||
JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + container_row.getString("product_name") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(mater_jo)) throw new BadRequestException("物料不存在:"+container_row.getString("product_name"));
|
||||
if (ObjectUtil.isEmpty(mater_jo))
|
||||
throw new BadRequestException("物料不存在:" + container_row.getString("product_name"));
|
||||
change_jo.put("material_id", mater_jo.getString("material_id"));
|
||||
change_jo.put("pcsn", container_row.getString("container_name"));
|
||||
change_jo.put("package_box_sn", container_row.getString("package_box_sn"));
|
||||
@@ -917,7 +956,8 @@ public class MesToLmsServiceImpl implements MesToLmsService {
|
||||
change_jo.put("isUnPackBox", isUnPackBox);
|
||||
change_jo.put("UpdatedDateOfProduction", UpdatedDateOfProduction);
|
||||
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"));
|
||||
if (ObjectUtil.isEmpty(unit))
|
||||
throw new BadRequestException("计量单位不存在:" + mater_jo.getString("base_unit_id"));
|
||||
change_jo.put("qty_unit_id", mater_jo.getString("base_unit_id"));
|
||||
change_jo.put("qty_unit_name", unit.getString("unit_name"));
|
||||
change_jo.put("qty", container_row.getString("net_weight"));
|
||||
|
||||
@@ -180,6 +180,7 @@ public class SapToLmsServiceImpl implements SapToLmsService {
|
||||
jsonDtl.put("source_bill_code", json.getString("VGBEL-VGPOS"));
|
||||
jsonDtl.put("vbeln", json.getString("VBELN")); // 来源交货单
|
||||
jsonDtl.put("posnr", json.getString("POSNR")); // 来源交货单行
|
||||
jsonDtl.put("posnr", json.getString("POSNR")); // 幅宽
|
||||
tableData.add(jsonDtl);
|
||||
}
|
||||
if (StrUtil.equals(lfart, "ZLR")) {
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
输入.dateoffginbound TYPEAS s_string
|
||||
输入.warehouse_code TYPEAS s_string
|
||||
输入.customerdescription TYPEAS s_string
|
||||
输入.sap_pcsn TYPEAS s_string
|
||||
输入.container_name TYPEAS s_string
|
||||
输入.width TYPEAS f_string
|
||||
|
||||
@@ -102,6 +103,9 @@
|
||||
ENDOPTION
|
||||
OPTION 输入.container_name <> ""
|
||||
sub.container_name = 输入.container_name
|
||||
ENDOPTION
|
||||
OPTION 输入.sap_pcsn <> ""
|
||||
sub.sap_pcsn = 输入.sap_pcsn
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
输入.device_code TYPEAS s_string
|
||||
输入.container_name TYPEAS s_string
|
||||
输入.source_container_name TYPEAS s_string
|
||||
输入.resource_name TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
@@ -427,6 +428,37 @@
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "14"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
plan.resource_name,
|
||||
plan.split_group,
|
||||
( CASE WHEN plan.order_type = '1' THEN parent_container_name WHEN plan.order_type = '2' THEN restruct_container_name END ) AS source_container_name
|
||||
FROM
|
||||
st_ivt_deliverypointivt ivt
|
||||
INNER JOIN pdm_bi_slittingproductionplan plan ON plan.qzzno = ivt.qzzno
|
||||
LEFT JOIN st_ivt_cutpointivt cut ON cut.ext_code = plan.resource_name
|
||||
WHERE
|
||||
ivt.point_status = '03'
|
||||
AND plan.`status` = '03'
|
||||
AND plan.resource_name = 输入.resource_name
|
||||
ORDER BY
|
||||
plan.manufacture_sort,
|
||||
split_group
|
||||
) a
|
||||
GROUP BY
|
||||
resource_name,
|
||||
split_group,
|
||||
source_container_name
|
||||
LIMIT 1
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ public class CoolPointIvtServiceImpl implements CoolPointIvtService {
|
||||
map.put("is_used", whereJson.get("is_used"));
|
||||
map.put("begin_time", whereJson.get("begin_time"));
|
||||
map.put("end_time", whereJson.get("end_time"));
|
||||
map.put("point_location",whereJson.get("point_location"));
|
||||
JSONObject json = WQL.getWO("ST_IVT_COOLPOINTIVT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "product_area,point_code");
|
||||
return json;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.wms.ext.mes.service.LmsToMesService;
|
||||
import org.nl.wms.pdm.service.SlittingproductionplanService;
|
||||
import org.nl.wms.pdm.service.dto.SlittingproductionplanDto;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -40,6 +41,8 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
@Slf4j
|
||||
public class SlittingproductionplanServiceImpl implements SlittingproductionplanService {
|
||||
|
||||
private final LmsToMesService lmsToMesService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
String order_type = MapUtil.getStr(whereJson, "order_type");
|
||||
@@ -167,6 +170,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan
|
||||
WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan");
|
||||
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
JSONObject mom_jo = new JSONObject();
|
||||
JSONObject json = data.getJSONObject(i);
|
||||
JSONObject jsonObject = tab.query("workorder_id = '" + json.getString("workorder_id") + "'").uniqueResult(0);
|
||||
HashMap map = new HashMap<>();
|
||||
@@ -176,10 +180,20 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan
|
||||
map.put("update_time",DateUtil.now());
|
||||
if (jsonObject.getString("order_type").equals("1")){
|
||||
tab.update(map,"parent_container_name = '"+json.getString("parent_container_name")+"'");
|
||||
mom_jo.put("contain_name",json.getString("contain_name"));
|
||||
mom_jo.put("warehouse","1");
|
||||
}else {
|
||||
tab.update(map,"restruct_container_name = '"+json.getString("restruct_container_name")+"'");
|
||||
mom_jo.put("container_name", json.getString("contain_name"));
|
||||
mom_jo.put("package_box_sn", json.getString("package_box_sn"));
|
||||
mom_jo.put("warehouse", "3");
|
||||
}
|
||||
|
||||
//判断该接口是否需要回传
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,6 +214,16 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan
|
||||
jsonObject.put("update_optname",currentUsername);
|
||||
jsonObject.put("update_time",DateUtil.now());
|
||||
tab.update(jsonObject);
|
||||
|
||||
//调用MES接口,通知MES已经套轴完成
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("container_name", jsonObject.getString("container_name"));
|
||||
//判断该接口是否需要回传
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
输入.pcsn TYPEAS s_string
|
||||
输入.vehicle_code TYPEAS s_string
|
||||
输入.bill_status TYPEAS s_string
|
||||
输入.point_location TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
@@ -80,6 +81,9 @@
|
||||
OPTION 输入.is_used <> ""
|
||||
is_used = 输入.is_used
|
||||
ENDOPTION
|
||||
OPTION 输入.is_used <> ""
|
||||
point_location = 输入.point_location
|
||||
ENDOPTION
|
||||
OPTION 输入.begin_time <> ""
|
||||
instorage_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
@@ -55,6 +55,8 @@ public class CutTrussTask extends AbstractAcsTask {
|
||||
.task_type(json.getString("acs_task_type"))
|
||||
.start_device_code(json.getString("point_code1"))
|
||||
.next_device_code(json.getString("point_code2"))
|
||||
.start_device_code2(json.getString("point_code3"))
|
||||
.next_device_code2(json.getString("point_code4"))
|
||||
.vehicle_code(json.getString("vehicle_code"))
|
||||
.agv_system_type(agv_system_type)
|
||||
.priority(json.getString("priority"))
|
||||
|
||||
@@ -553,22 +553,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
||||
transfer = false;
|
||||
}
|
||||
|
||||
if (transfer) {
|
||||
//创建任务
|
||||
AbstractAcsTask task = new InTask();
|
||||
JSONObject task_form = new JSONObject();
|
||||
task_form.put("task_type", "03");
|
||||
task_form.put("taskdtl_type", "04");
|
||||
task_form.put("start_point_code", map.get("point_code"));
|
||||
task_form.put("next_point_code", struct_code);
|
||||
task_form.put("storagevehicle_id", map.get("storagevehicle_id"));
|
||||
task_form.put("vehicle_code", map.get("storagevehicle_code"));
|
||||
task_form.put("storagevehicle_type", map.get("storagevehicle_type"));
|
||||
task_form.put("task_id", map.get("task_id"));
|
||||
String task_id = task.createTask(task_form);
|
||||
dis_map.put("task_id", map.get("task_id"));
|
||||
dis_map.put("work_status", "01");
|
||||
} else {
|
||||
//创建任务
|
||||
AbstractAcsTask task = new InTask();
|
||||
JSONObject task_form = new JSONObject();
|
||||
@@ -596,7 +580,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
||||
dis_map.put("task_id", task_id);
|
||||
dis_map.put("work_status", "01");
|
||||
}
|
||||
}
|
||||
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'");
|
||||
|
||||
@@ -747,8 +730,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
||||
//创建任务
|
||||
AbstractAcsTask task = new InTask();
|
||||
JSONObject task_form = new JSONObject();
|
||||
task_form.put("task_type", "01");
|
||||
task_form.put("taskdtl_type", "01");
|
||||
task_form.put("task_type", "010501");
|
||||
task_form.put("start_device_code", point_code);
|
||||
task_form.put("next_device_code", ios_dis.getString("struct_code"));
|
||||
task_form.put("vehicle_code", map.get("box_no"));
|
||||
@@ -858,7 +840,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
|
||||
//根据分切计划查询该订单物料大概还有多少未入
|
||||
row_map.put("flag", "12");
|
||||
JSONArray plan_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(row_map).process().getResultJSONArray(0);
|
||||
int box_num = (int) Math.ceil(plan_rows.size() / 3);
|
||||
int box_num = (int) Math.ceil(plan_rows.size() / 2);
|
||||
|
||||
//查询数量与订单物料箱子数量相近的一排
|
||||
JSONObject empty_row = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("sect_id", sect_id).addParam("flag", "13").addParam("sql_str", " ORDER BY abs(" + box_num + "-a.struct_num)").process().uniqueResult(0);
|
||||
|
||||
@@ -459,7 +459,12 @@ public class StorPublicServiceImpl implements StorPublicService {
|
||||
map.put("inv_id","");
|
||||
map.put("inv_code","");
|
||||
map.put("point_status","1");
|
||||
map.put("storagevehicle_code","");
|
||||
if (!from.getString("is_free").equals("1") && StrUtil.isNotEmpty(storagevehicle_code)){
|
||||
map.put("storagevehicle_code",storagevehicle_code);
|
||||
map.put("storagevehicle_qty","1");
|
||||
map.put("vehicle_code",storagevehicle_code);
|
||||
map.put("point_status","01");
|
||||
}
|
||||
wo_Struct.update(map,"struct_id = '"+jo.getString("struct_id")+"'");
|
||||
wo_Point.update(map,"point_id = '"+jo.getString("point_id")+"'");
|
||||
}else{//锁定
|
||||
|
||||
@@ -468,6 +468,9 @@
|
||||
IFNULL( sub.container_name, '' ) = ''
|
||||
AND
|
||||
plan.is_delete = '0'
|
||||
OPTION 输入.sale_order_name <> ""
|
||||
plan.sale_order_name = 输入.sale_order_name
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -17,8 +17,6 @@ import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.basedata.st.service.impl.UserStorServiceImpl;
|
||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||
import org.nl.wms.sch.tasks.OutTask;
|
||||
import org.nl.wms.st.inbill.service.CheckOutBillService;
|
||||
import org.nl.wms.st.inbill.service.StorPublicService;
|
||||
import org.nl.wms.st.instor.service.HandMoveStorService;
|
||||
import org.nl.wms.st.instor.task.HandMoveStorAcsTask;
|
||||
@@ -253,8 +251,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
||||
task.put("taskdtl_id", task_id);
|
||||
task.put("task_id", task_id);
|
||||
task.put("task_code", task_code);
|
||||
task.put("task_type", "05");
|
||||
task.put("taskdtl_type", "07");
|
||||
task.put("task_type", "010505");
|
||||
task.put("task_status", "01");
|
||||
task.put("point_code1", jo.getString("start_point_code"));
|
||||
task.put("point_code2", point.getString("point_code"));
|
||||
@@ -711,7 +708,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
||||
JSONObject jo = ja.getJSONObject(i);
|
||||
//删除任务
|
||||
HashMap<String, String> task_map = new HashMap<>();
|
||||
task_map.put("task_status", "99");
|
||||
task_map.put("task_status", "07");
|
||||
task_map.put("update_optid", currentUserId + "");
|
||||
task_map.put("update_optname", nickName);
|
||||
task_map.put("update_time", now);
|
||||
@@ -978,7 +975,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
||||
for (int i = 0; i < ja.size(); i++) {
|
||||
JSONObject jo = ja.getJSONObject(i);
|
||||
String task_id = jo.getString("task_id");
|
||||
JSONObject result = handMoveStorAcsTask.notifyAcs(task_id);
|
||||
JSONObject result = handMoveStorAcsTask.immediateNotifyAcs(task_id);
|
||||
JSONObject task = wo_Task.query("task_id='" + task_id + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(result)) {
|
||||
String status = result.getString("status");
|
||||
|
||||
@@ -1479,7 +1479,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
|
||||
// 创建任务
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("task_type", "010301");
|
||||
param.put("task_type", "010503");
|
||||
param.put("vehicle_code", dis.getString("box_no"));
|
||||
param.put("task_name", "task_name");
|
||||
param.put("point_code1", jsonPoint1.getString("point_code"));
|
||||
@@ -1620,7 +1620,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
|
||||
// 生成任务
|
||||
JSONObject param2 = new JSONObject();
|
||||
param2.put("task_type", "010301");
|
||||
param2.put("task_type", "010503");
|
||||
param2.put("vehicle_code", json.getString("storagevehicle_code"));
|
||||
param2.put("task_name", "task_name");
|
||||
param2.put("point_code1", json.getString("point_code"));
|
||||
@@ -1739,7 +1739,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
|
||||
|
||||
// 生成任务
|
||||
JSONObject param2 = new JSONObject();
|
||||
param2.put("task_type", "010301");
|
||||
param2.put("task_type", "010503");
|
||||
param2.put("vehicle_code", json.getString("storagevehicle_code"));
|
||||
param2.put("task_name", "task_name");
|
||||
param2.put("point_code1", json.getString("point_code"));
|
||||
|
||||
@@ -142,6 +142,10 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
||||
}
|
||||
param.put("Details", details);
|
||||
new LmsToMesServiceImpl().lmsPackage(param);
|
||||
|
||||
jo_mst.put("upload_mes", "1");
|
||||
jo_mst.put("is_upload", "1");
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||
}
|
||||
|
||||
// 拆分出库:回传mes
|
||||
@@ -162,6 +166,10 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
||||
}
|
||||
param.put("Details", details);
|
||||
new LmsToMesServiceImpl().lmsUnPackage(param);
|
||||
|
||||
jo_mst.put("upload_mes", "1");
|
||||
jo_mst.put("is_upload", "1");
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||
}
|
||||
|
||||
// 销售出库
|
||||
@@ -634,6 +642,10 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
||||
}
|
||||
param.put("Details", details);
|
||||
new LmsToMesServiceImpl().lmsPackage(param);
|
||||
|
||||
jo_mst.put("upload_mes", "1");
|
||||
jo_mst.put("is_upload", "1");
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||
}
|
||||
|
||||
// 拆分出库:回传mes
|
||||
@@ -654,6 +666,10 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
|
||||
}
|
||||
param.put("Details", details);
|
||||
new LmsToMesServiceImpl().lmsUnPackage(param);
|
||||
|
||||
jo_mst.put("upload_mes", "1");
|
||||
jo_mst.put("is_upload", "1");
|
||||
WQLObject.getWQLObject("ST_IVT_IOStorInv").update(jo_mst);
|
||||
}
|
||||
|
||||
// 销售出库
|
||||
|
||||
@@ -82,6 +82,23 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产位置">
|
||||
<el-select
|
||||
v-model="query.point_location"
|
||||
clearable
|
||||
filterable
|
||||
size="mini"
|
||||
class="filter-item"
|
||||
style="width: 185px;"
|
||||
@change="hand"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.point_location"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="库存状态">
|
||||
<el-select
|
||||
v-model="query.cool_ivt_status"
|
||||
@@ -225,7 +242,6 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="container_name" label="母卷号" :min-width="flexWidth('container_name',crud.data,'母卷号')" />
|
||||
<el-table-column prop="full_vehicle_code" label="母卷轴编号" :min-width="flexWidth('full_vehicle_code',crud.data,'母卷轴编号')" />
|
||||
<el-table-column prop="empty_point_code" label="空轴位" :min-width="flexWidth('empty_point_code',crud.data,'空轴位')" />
|
||||
<el-table-column prop="empty_point_status" label="空轴位状态" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
@@ -233,12 +249,6 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="empty_vehicle_code" label="空轴编号" />
|
||||
<el-table-column prop="is_used" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.is_used[scope.row.is_used] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="pcsn" label="批次" :min-width="flexWidth('pcsn',crud.data,'批次')" />
|
||||
<el-table-column prop="ivt_qty" label="库存数" :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="qty_unit_name" label="计量单位" />
|
||||
<el-table-column prop="instorage_time" label="入库时间" min-width="140" show-overflow-tooltip />
|
||||
@@ -252,6 +262,11 @@
|
||||
{{ dict.label.point_location[scope.row.point_location] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="is_used" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.is_used[scope.row.is_used] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" />
|
||||
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
|
||||
@@ -160,18 +160,12 @@
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="point_code" label="点位编码" width="100px" show-overflow-tooltip />
|
||||
<el-table-column prop="full_point_code" label="满轴位" width="110px" show-overflow-tooltip />
|
||||
<el-table-column prop="is_used" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.is_used[scope.row.is_used] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="full_point_status" label="满轴位状态" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.sch_full_point_status[scope.row.full_point_status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="container_name" label="母卷号" width="150px" show-overflow-tooltip />
|
||||
<el-table-column prop="full_vehicle_code" label="母卷轴编号" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="empty_point_code" label="空轴位" width="120px" show-overflow-tooltip />
|
||||
<el-table-column prop="empty_point_status" label="空轴位状态" min-width="100" show-overflow-tooltip>
|
||||
<template slot-scope="scope">
|
||||
@@ -186,6 +180,11 @@
|
||||
{{ dict.label.point_location[scope.row.point_location] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="is_used" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.is_used[scope.row.is_used] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" />
|
||||
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
|
||||
@@ -153,20 +153,13 @@
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="point_code" width="160px" show-overflow-tooltip label="点位编码" />
|
||||
<el-table-column prop="point_code" width="120px" show-overflow-tooltip label="点位编码" />
|
||||
<el-table-column prop="point_status" label="点位状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.sch_hot_point_status[scope.row.point_status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="is_used" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.is_used[scope.row.is_used] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="container_name" label="母卷号" width="150px" show-overflow-tooltip />
|
||||
<el-table-column prop="full_vehicle_code" label="母卷轴编码" min-width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip />
|
||||
<el-table-column prop="ivt_qty" label="库存数" :formatter="crud.formatNum3" />
|
||||
<el-table-column prop="instorage_time" label="入箱时间" width="150px" show-overflow-tooltip />
|
||||
<el-table-column prop="product_area" label="生产区域">
|
||||
@@ -176,12 +169,17 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="temperature" label="温度" />
|
||||
<el-table-column prop="group_name" label="组别" />
|
||||
<el-table-column prop="ext_code" label="外部编码" width="100" />
|
||||
<el-table-column prop="ext_code" label="外部编码" width="130" />
|
||||
<el-table-column prop="point_location" label="位置">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.point_location[scope.row.point_location] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="is_used" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.is_used[scope.row.is_used] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" />
|
||||
<el-table-column prop="update_time" label="修改时间" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
|
||||
Reference in New Issue
Block a user