This commit is contained in:
2022-11-01 17:12:04 +08:00
parent 9560826128
commit 53e0732d73
19 changed files with 401 additions and 101 deletions

View File

@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "空管入库") @Api(tags = "空管入库")
@RequestMapping("api/pda/empty") @RequestMapping("api/pda/empty")
@Slf4j @Slf4j
public class EmptyTubeController { public class EmptyTubeController {

View File

@@ -0,0 +1,48 @@
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.InService;
import org.nl.wms.pda.mps.service.OutService;
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/in")
@Slf4j
public class InController {
private final InService inService;
@PostMapping("/queryMaterialInfo")
@Log("分切计划初始化查询")
@ApiOperation("分切计划初始化查询")
public ResponseEntity<Object> queryMaterialInfo(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(inService.queryMaterialInfo(whereJson), HttpStatus.OK);
}
@PostMapping("/confirm")
@Log("子卷出站")
@ApiOperation("子卷入站")
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(inService.confirm(whereJson), HttpStatus.OK);
}
@PostMapping("/devicePointQuery")
@Log("设备点位查询")
@ApiOperation("设备点位查询")
public ResponseEntity<Object> devicePointQuery(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(inService.devicePointQuery(whereJson), HttpStatus.OK);
}
}

View File

@@ -0,0 +1,28 @@
package org.nl.wms.pda.mps.service;
import com.alibaba.fastjson.JSONObject;
public interface InService {
/**
* 分切计划初始化查询
* @param whereJson /
* @return JSONObject
*/
JSONObject queryMaterialInfo(JSONObject whereJson);
/**
* 出站确认
* @param whereJson /
* @return JSONObject
*/
JSONObject confirm(JSONObject whereJson);
/**
* 设备点位查询
* @param whereJson /
* @return JSONObject
*/
JSONObject devicePointQuery(JSONObject whereJson);
}

View File

@@ -28,12 +28,24 @@ public class CasingServiceImpl implements CasingService {
@Override @Override
public JSONObject queryMaterialInfo(JSONObject whereJson) { public JSONObject queryMaterialInfo(JSONObject whereJson) {
String product_area = whereJson.getString("product_area"); 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(); HashMap map = new HashMap();
map.put("flag", "2"); map.put("flag", "2");
if (StrUtil.isNotEmpty(product_area)) { if (StrUtil.isNotEmpty(product_area)) {
map.put("product_area", 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); JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0);
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
jo.put("data",rows); jo.put("data",rows);

View File

@@ -0,0 +1,83 @@
package org.nl.wms.pda.mps.service.impl;
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.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.pda.mps.service.InService;
import org.nl.wms.pda.mps.service.OutService;
import org.nl.wms.sch.tasks.CutTrussTask;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
@Service
@RequiredArgsConstructor
@Slf4j
public class InServiceImpl implements InService {
private final CutTrussTask cutTrussTask;
@Override
public JSONObject queryMaterialInfo(JSONObject whereJson) {
String product_area = whereJson.getString("product_area");
String device_code = whereJson.getString("device_code");
HashMap map = new HashMap();
map.put("flag", "7");
if (StrUtil.isNotEmpty(product_area)) {
map.put("product_area", product_area);
}
if (StrUtil.isNotEmpty(device_code)) {
map.put("device_code", device_code);
}
JSONArray rows = WQL.getWO("PDA_02").addParamMap(map).process().getResultJSONArray(0);
JSONObject jo = new JSONObject();
jo.put("data", rows);
jo.put("message", "查询成功!");
return jo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject confirm(JSONObject whereJson) {
String point_code = whereJson.getString("point_code");
JSONObject cut_row = whereJson.getJSONObject("cut_row");
//查询该点位对应的机台编号
JSONObject cut_ivt = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code ='" + point_code + "' OR down_point_code ='" + point_code + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(cut_ivt)) {
throw new BadRequestException("未查询到对应的分切机!");
}
JSONObject jo = new JSONObject();
jo.put("point_code1",cut_row.getString("point_code"));
jo.put("point_code2","point_code");
jo.put("vehicle_code",cut_row.getString("qzzno"));
jo.put("task_type","010405");
cutTrussTask.createTask(jo);
JSONObject result = new JSONObject();
result.put("message", "操作成功!");
return result;
}
@Override
public JSONObject devicePointQuery(JSONObject whereJson) {
return null;
}
}

View File

@@ -47,6 +47,7 @@ public class OutServiceImpl implements OutService {
public JSONObject confirm(JSONObject whereJson) { public JSONObject confirm(JSONObject whereJson) {
String point_code = whereJson.getString("point_code"); String point_code = whereJson.getString("point_code");
String is_last = whereJson.getString("is_last");
JSONArray rows = whereJson.getJSONArray("cut_rows"); JSONArray rows = whereJson.getJSONArray("cut_rows");
@@ -93,7 +94,6 @@ public class OutServiceImpl implements OutService {
} }
} }
String cut_qzzno = rows.getJSONObject(0).getString("qzzno");
//查询该点位对应的机台编号 //查询该点位对应的机台编号
JSONObject cut_ivt = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code ='"+point_code+"' OR down_point_code ='"+point_code+"'").uniqueResult(0); JSONObject cut_ivt = WQLObject.getWQLObject("ST_IVT_CutPointIvt").query("up_point_code ='"+point_code+"' OR down_point_code ='"+point_code+"'").uniqueResult(0);
@@ -101,33 +101,60 @@ public class OutServiceImpl implements OutService {
throw new BadRequestException("未查询到对应的分切机!"); throw new BadRequestException("未查询到对应的分切机!");
} }
String ext_code = cut_ivt.getString("ext_code"); String cut_qzzno = rows.getJSONObject(0).getString("qzzno");
//查询该机台编号已经配送完成,套轴完成但是未完成的分切计划 //判断是否末次下卷
JSONObject slitting = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("resource_name = '"+ext_code+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND status = '03'").uniqueResult(0); if (is_last.equals("1")){
//查询该分切机邻近位置的空载具的输送线点位
JSONObject empty_vehicle = WQL.getWO("PDA_02")
.addParam("sort_seq", cut_ivt.getString("sort_seq"))
.addParam("sql_str", " ORDER BY abs("+cut_ivt.getString("sort_seq")+"-sort_seq),point_code")
.addParam("product_area", cut_ivt.getString("product_area"))
.addParam("point_location", cut_ivt.getString("point_location"))
.addParam("flag", "3").process().uniqueResult(0);
if (ObjectUtil.isEmpty(empty_vehicle)) {
throw new BadRequestException("未查询到可用的空载具!");
}
if (ObjectUtil.isEmpty(slitting)){ JSONObject jo = new JSONObject();
throw new BadRequestException("该分切机没有对应完成配送完成的气涨轴!"); jo.put("point_code1","");
jo.put("point_code2","");
jo.put("point_code3",point_code);
jo.put("point_code4",empty_vehicle.getString("point_code"));
jo.put("vehicle_code","");
jo.put("vehicle_code2",cut_qzzno);
jo.put("task_type","010404");
cutTrussTask.createTask(jo);
}else {
String ext_code = cut_ivt.getString("ext_code");
//查询该机台编号已经配送完成,套轴完成但是未完成的分切计划
JSONObject slitting = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("resource_name = '"+ext_code+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND status = '03'").uniqueResult(0);
if (ObjectUtil.isEmpty(slitting)){
throw new BadRequestException("该分切机没有对应完成配送完成的气涨轴!");
}
String qzzno = slitting.getString("qzzno");
//查询该气涨轴所在输送线位置
JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("qzzno = '"+qzzno+"' AND point_status = '03'").uniqueResult(0);
if (ObjectUtil.isEmpty(delivery_point)){
throw new BadRequestException("未查询到对应的输送线点位!");
}
JSONObject jo = new JSONObject();
jo.put("point_code1",delivery_point.getString("point_code"));
jo.put("point_code2",point_code);
jo.put("point_code3",point_code);
jo.put("point_code4",delivery_point.getString("point_code"));
jo.put("vehicle_code",delivery_point.getString("qzzno"));
jo.put("vehicle_code2",cut_qzzno);
jo.put("task_type","010403");
cutTrussTask.createTask(jo);
} }
String qzzno = slitting.getString("qzzno");
//查询该气涨轴所在输送线位置
JSONObject delivery_point = WQLObject.getWQLObject("ST_IVT_DeliveryPointIvt").query("qzzno = '"+qzzno+"' AND point_status = '03'").uniqueResult(0);
if (ObjectUtil.isEmpty(delivery_point)){
throw new BadRequestException("未查询到对应的输送线点位!");
}
JSONObject jo = new JSONObject();
jo.put("point_code1",delivery_point.getString("point_code"));
jo.put("point_code2",point_code);
jo.put("point_code3",point_code);
jo.put("point_code4",delivery_point.getString("point_code"));
jo.put("vehicle_code",delivery_point.getString("qzzno"));
jo.put("vehicle_code2",cut_qzzno);
jo.put("task_type","010403");
cutTrussTask.createTask(jo);
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("message","操作成功!"); result.put("message","操作成功!");
return result; return result;

View File

@@ -20,7 +20,8 @@
输入.qzzno TYPEAS s_string 输入.qzzno TYPEAS s_string
输入.sort_seq TYPEAS s_string 输入.sort_seq TYPEAS s_string
输入.point_location TYPEAS s_string 输入.point_location TYPEAS s_string
输入.sql_str TYPEAS f_string 输入.sql_str TYPEAS f_string
输入.device_code TYPEAS f_string
[临时表] [临时表]
@@ -192,3 +193,32 @@
ENDQUERY ENDQUERY
ENDIF ENDIF
IF 输入.flag = "7"
QUERY
SELECT
plan.mfg_order_name,
plan.container_name,
cut.point_code,
plan.split_group,
plan.manufacture_sort,
plan.manufacture_date,
(case when plan.is_child_ps_ok = '1' then '是' else '否' end) AS is_child_ps_ok,
del.point_code AS delivery_code
FROM
st_ivt_deliverypointivt del
LEFT JOIN pdm_bi_slittingproductionplan plan ON plan.qzzno = del.qzzno
LEFT JOIN st_ivt_cutpointivt cut ON cut.ext_code = plan.resource_name
WHERE
del.point_status = '03'
AND
plan.is_child_ps_ok = '1'
OPTION 输入.product_area <> ""
del.product_area = 输入.product_area
ENDOPTION
OPTION 输入.product_area <> ""
cut.point_code = 输入.device_code
ENDOPTION
ENDSELECT
ENDQUERY
ENDIF

View File

@@ -9,10 +9,14 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.modules.wql.WQL; import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.modules.wql.util.WqlUtil; import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.pda.st.service.CoolInService; import org.nl.wms.pda.st.service.CoolInService;
import org.nl.wms.pda.st.service.ProductInstorService; import org.nl.wms.pda.st.service.ProductInstorService;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.tasks.InTask;
import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.RawAssistIStorService;
import org.nl.wms.st.inbill.service.impl.InbillServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
@@ -26,6 +30,9 @@ import java.util.HashMap;
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class ProductInstorServiceImpl implements ProductInstorService { public class ProductInstorServiceImpl implements ProductInstorService {
private final InbillServiceImpl inbillService;
private final RawAssistIStorService rawAssistIStorService; private final RawAssistIStorService rawAssistIStorService;
@Override @Override
@@ -35,21 +42,21 @@ public class ProductInstorServiceImpl implements ProductInstorService {
String option = whereJson.getString("option"); String option = whereJson.getString("option");
JSONArray rows = new JSONArray(); JSONArray rows = new JSONArray();
HashMap<String,String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("box_no",box_no); map.put("box_no", box_no);
if (option.equals("1")){ if (option.equals("1")) {
map.put("flag","1"); map.put("flag", "1");
//如果是报废入库要查询对应的报废出库 //如果是报废入库要查询对应的报废出库
rows = WQL.getWO("PDA_ST_01").addParamMap(map).process().getResultJSONArray(0); rows = WQL.getWO("PDA_ST_01").addParamMap(map).process().getResultJSONArray(0);
}else { } else {
map.put("flag","2"); map.put("flag", "2");
//查询状态为生成的子卷包装关系对应表 //查询状态为生成的子卷包装关系对应表
rows = WQL.getWO("PDA_ST_01").addParamMap(map).process().getResultJSONArray(0); rows = WQL.getWO("PDA_ST_01").addParamMap(map).process().getResultJSONArray(0);
} }
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
jo.put("data",rows); jo.put("data", rows);
jo.put("message","查询成功!"); jo.put("message", "查询成功!");
return jo; return jo;
} }
@@ -63,42 +70,64 @@ public class ProductInstorServiceImpl implements ProductInstorService {
JSONArray box_rows = whereJson.getJSONArray("box_rows"); JSONArray box_rows = whereJson.getJSONArray("box_rows");
HashMap<String,String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("box_no",box_no); map.put("box_no", box_no);
if (option.equals("1")){ if (option.equals("1")) {
HashMap<String,String> sub_map = new HashMap<>(); HashMap<String, String> sub_map = new HashMap<>();
sub_map.put("box_type",material_code); sub_map.put("box_type", material_code);
//如果是退货入库要更新子卷包装关系的木箱料号 //如果是退货入库要更新子卷包装关系的木箱料号
WQLObject.getWQLObject("pdm_bi_subpackagerelation").update(sub_map,"package_box_SN = '"+box_no+"'"); WQLObject.getWQLObject("pdm_bi_subpackagerelation").update(sub_map, "package_box_SN = '" + box_no + "'");
} }
//如果是入虚拟库直接入库并确认,如果是入成品库则生成入库单,生成一个二楼去一楼的任务 //如果是入虚拟库直接入库并确认,如果是入成品库则生成入库单,生成一个二楼去一楼的任务
JSONObject mst_jo = new JSONObject(); JSONObject mst_jo = new JSONObject();
mst_jo.put("tableData",box_rows); mst_jo.put("tableData", box_rows);
mst_jo.put("biz_date", DateUtil.now()); mst_jo.put("biz_date", DateUtil.now());
if (option.equals("1")){ if (option.equals("1")) {
mst_jo.put("bill_type","0003"); mst_jo.put("bill_type", "0003");
} }
if (option.equals("2")){ if (option.equals("2")) {
mst_jo.put("bill_type","0001"); mst_jo.put("bill_type", "0001");
} }
if (option.equals("3")){ if (option.equals("3")) {
mst_jo.put("bill_type","0002"); mst_jo.put("bill_type", "0002");
} }
//查询成品库仓库 //查询成品库仓库
JSONObject stor = WQLObject.getWQLObject("st_ivt_bsrealstorattr").query("is_delete = '0' AND is_used = '1' AND is_productstore = '1'").uniqueResult(0); JSONObject stor = WQLObject.getWQLObject("st_ivt_bsrealstorattr").query("is_delete = '0' AND is_used = '1' AND is_productstore = '1'").uniqueResult(0);
mst_jo.put("stor_id",stor.getString("stor_id")); mst_jo.put("stor_id", stor.getString("stor_id"));
mst_jo.put("detail_count",box_rows.size()); mst_jo.put("detail_count", box_rows.size());
mst_jo.put("total_qty","0"); mst_jo.put("total_qty", "0");
mst_jo.put("bill_status","10"); mst_jo.put("bill_status", "10");
rawAssistIStorService.insertDtl(mst_jo); String iostorinv_id = rawAssistIStorService.insertDtl(mst_jo);
//判断是否虚拟 //判断是否虚拟
if (!is_virtual.equals("1")){ if (!is_virtual.equals("1")) {
//创建二楼去一楼的任务 //创建二楼去一楼的任务
} else {
//直接分配虚拟区货位,并确认
JSONObject struct = WQL.getWO("PDA_ST_01").addParam("flag", "3").process().uniqueResult(0);
HashMap<String, String> dis_map = new HashMap();
dis_map.put("sect_id", struct.getString("sect_id"));
dis_map.put("sect_code", struct.getString("sect_code"));
dis_map.put("sect_name", struct.getString("sect_name"));
dis_map.put("struct_id", struct.getString("struct_id"));
dis_map.put("struct_code", struct.getString("struct_code"));
dis_map.put("struct_name", struct.getString("struct_name"));
dis_map.put("work_status", "01");
dis_map.put("task_id", iostorinv_id);
WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "iostorinv_id = '" + iostorinv_id + "'");
//调用入库分配确认方法
InbillServiceImpl inbillService = SpringContextHolder.getBean(InbillServiceImpl.class);
JSONObject dis_form = new JSONObject();
dis_form.put("task_id", iostorinv_id);
inbillService.confirmDis(dis_form);
} }
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
jo.put("message","确认成功!"); jo.put("message", "确认成功!");
return jo; return jo;
} }
} }

View File

@@ -184,30 +184,53 @@ public class CutTrussTask extends AbstractAcsTask {
json.put("acs_task_type","5" ); json.put("acs_task_type","5" );
tab.insert(json); tab.insert(json);
//更新入站气涨轴的分切计划状态 if (form.getString("task_type").equals("010403")){
JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '03'").getResultJSONArray(0); //更新入站气涨轴的分切计划状态
if (ObjectUtil.isEmpty(plan_jo)){ JSONArray plan_jo = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '03'").getResultJSONArray(0);
throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code")+"对应的分切计划!"); if (ObjectUtil.isEmpty(plan_jo)){
} throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code")+"对应的分切计划!");
for (int i = 0; i < plan_jo.size(); i++) { }
JSONObject plan_row = plan_jo.getJSONObject(i); for (int i = 0; i < plan_jo.size(); i++) {
plan_row.put("status","04"); JSONObject plan_row = plan_jo.getJSONObject(i);
plan_row.put("end_time",DateUtil.now()); plan_row.put("status","04");
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row); plan_row.put("end_time",DateUtil.now());
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
}
//更新出站气涨轴的分切计划状态
JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(plan_jo2)){
throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code2")+"对应的分切计划!");
}
for (int i = 0; i < plan_jo2.size(); i++) {
JSONObject plan_row = plan_jo2.getJSONObject(i);
plan_row.put("status","06");
plan_row.put("end_time",DateUtil.now());
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
}
} }
//更新出站气涨轴的分切计划状态 if (form.getString("task_type").equals("010404")){
JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0); //更新出站气涨轴的分切计划状态
if (ObjectUtil.isEmpty(plan_jo2)){ JSONArray plan_jo2 = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").query("qzzno = '"+json.getString("vehicle_code2")+"' AND is_child_tz_ok = '1' AND is_child_ps_ok = '1' AND is_delete = '0' AND status = '05'").getResultJSONArray(0);
throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code2")+"对应的分切计划!"); if (ObjectUtil.isEmpty(plan_jo2)){
throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code2")+"对应的分切计划!");
}
for (int i = 0; i < plan_jo2.size(); i++) {
JSONObject plan_row = plan_jo2.getJSONObject(i);
plan_row.put("status","06");
plan_row.put("end_time",DateUtil.now());
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
}
} }
for (int i = 0; i < plan_jo2.size(); i++) {
JSONObject plan_row = plan_jo2.getJSONObject(i); if (form.getString("task_type").equals("010405")){
plan_row.put("status","06");
plan_row.put("end_time",DateUtil.now());
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
} }
return json.getString("task_id"); return json.getString("task_id");
} }

View File

@@ -20,7 +20,7 @@ public interface RawAssistIStorService {
Map<String, Object> getBillDtl(Map whereJson,Pageable page); Map<String, Object> getBillDtl(Map whereJson,Pageable page);
void insertDtl (Map whereJson); String insertDtl (Map whereJson);
void deleteAll(Long[] ids); void deleteAll(Long[] ids);

View File

@@ -38,7 +38,7 @@ public class InbillServiceImpl {
case "0": case "0":
//锁定终点 //锁定终点
//锁定单据信息 //锁定单据信息
map.put("lock_type", "01"); map.put("lock_type", "2");
map.put("inv_type", form.getString("inv_type")); map.put("inv_type", form.getString("inv_type"));
map.put("inv_id", form.getString("inv_id")); map.put("inv_id", form.getString("inv_id"));
map.put("inv_code", form.getString("inv_code")); map.put("inv_code", form.getString("inv_code"));
@@ -50,7 +50,7 @@ public class InbillServiceImpl {
case "2": case "2":
//解锁终点,绑定载具 //解锁终点,绑定载具
String vehicle_code = form.getString("box_no"); String vehicle_code = form.getString("box_no");
map.put("lock_type", "00"); map.put("lock_type", "1");
map.put("point_status", "02"); map.put("point_status", "02");
map.put("vehicle_code", vehicle_code); map.put("vehicle_code", vehicle_code);
map.put("taskdtl_type", ""); map.put("taskdtl_type", "");
@@ -61,7 +61,7 @@ public class InbillServiceImpl {
map.put("inv_code", ""); map.put("inv_code", "");
point_table.update(map, "point_code = '" + end_point + "'"); point_table.update(map, "point_code = '" + end_point + "'");
HashMap<String, String> struct_map = new HashMap<>(); HashMap<String, String> struct_map = new HashMap<>();
struct_map.put("lock_type", "00"); struct_map.put("lock_type", "1");
struct_map.put("storagevehicle_code", vehicle_code); struct_map.put("storagevehicle_code", vehicle_code);
struct_map.put("taskdtl_type", ""); struct_map.put("taskdtl_type", "");
struct_map.put("taskdtl_id", ""); struct_map.put("taskdtl_id", "");

View File

@@ -125,7 +125,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void insertDtl(Map whereJson) { public String insertDtl(Map whereJson) {
ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("tableData"); ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("tableData");
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName(); String nickName = SecurityUtils.getCurrentNickName();
@@ -200,6 +200,8 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
WQLObject.getWQLObject("PDM_BI_SubPackageRelation").update(map, "package_box_SN = '" + dis.getString("box_no") + "' AND status = '0'"); WQLObject.getWQLObject("PDM_BI_SubPackageRelation").update(map, "package_box_SN = '" + dis.getString("box_no") + "' AND status = '0'");
} }
WQLObject.getWQLObject("ST_IVT_IOStorInv").insert(io_mst); WQLObject.getWQLObject("ST_IVT_IOStorInv").insert(io_mst);
return iostorinv_id;
} }
@Override @Override
@@ -512,7 +514,15 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
//判断起点是否不为空 //判断起点是否不为空
JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'").uniqueResult(0); JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'").uniqueResult(0);
if (StrUtil.isNotEmpty(ios_dis.getString("point_id"))) {
JSONObject sect_jo = WQLObject.getWQLObject("st_ivt_sectattr").query("sect_id ='"+sect_id+"'").uniqueResult(0);
boolean is_virtual = false;
if (sect_jo.getString("sect_type_attr").equals("09")){
is_virtual = true;
dis_map.put("task_id", map.get("iostorinv_id"));
dis_map.put("work_status", "01");
}
if (StrUtil.isNotEmpty(ios_dis.getString("point_id")) && !is_virtual) {
// Boolean transfer = whereJson2.getBoolean("transfer",false); // Boolean transfer = whereJson2.getBoolean("transfer",false);
Boolean transfer = whereJson2.getBoolean("transfer"); Boolean transfer = whereJson2.getBoolean("transfer");
if (ObjectUtil.isEmpty(transfer)) { if (ObjectUtil.isEmpty(transfer)) {
@@ -576,10 +586,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
JSONObject i_form = new JSONObject(); JSONObject i_form = new JSONObject();
i_form.put("struct_id", dis_jo.getString("struct_id")); i_form.put("struct_id", dis_jo.getString("struct_id"));
i_form.put("material_id", dis_jo.getString("material_id")); i_form.put("material_id", dis_jo.getString("material_id"));
i_form.put("quality_scode", dis_jo.getString("quality_scode"));
i_form.put("pcsn", dis_jo.getString("pcsn")); i_form.put("pcsn", dis_jo.getString("pcsn"));
i_form.put("change_qty", dis_jo.getString("plan_qty")); i_form.put("change_qty", dis_jo.getString("plan_qty"));
i_form.put("bill_type_scode", mst_jo.getString("bill_type")); i_form.put("bill_type_scode", mst_jo.getString("bill_type"));
i_form.put("quality_scode", "01");
i_form.put("inv_id", mst_jo.getString("iostorinv_id")); i_form.put("inv_id", mst_jo.getString("iostorinv_id"));
i_form.put("bill_code", mst_jo.getString("bill_code")); i_form.put("bill_code", mst_jo.getString("bill_code"));
i_form.put("bill_table", "ST_IVT_IOStorInv"); i_form.put("bill_table", "ST_IVT_IOStorInv");
@@ -587,7 +597,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
i_form.put("qty_unit_name", dis_jo.getString("qty_unit_name")); i_form.put("qty_unit_name", dis_jo.getString("qty_unit_name"));
storPublicService.IOStor(i_form, "31"); storPublicService.IOStor(i_form, "31");
if (StrUtil.isNotEmpty(ios_dis.getString("point_id"))) { if (StrUtil.isNotEmpty(ios_dis.getString("point_id")) || is_virtual) {
//更新明细表状态 //更新明细表状态
JSONObject dtl_jo = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "'").uniqueResult(0); JSONObject dtl_jo = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "'").uniqueResult(0);
if (dtl_jo.getDoubleValue("unassign_qty") == 0) { if (dtl_jo.getDoubleValue("unassign_qty") == 0) {
@@ -609,6 +619,12 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
} }
} }
} }
//如果是虚拟区,直接更新完成分配任务
if (is_virtual){
JSONObject dis_form = new JSONObject();
dis_form.put("task_id", map.get("iostorinv_id"));
inbillService.confirmDis(dis_form);
}
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@@ -623,7 +639,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
//解锁原货位点位 //解锁原货位点位
HashMap unlock_map = new HashMap(); HashMap unlock_map = new HashMap();
unlock_map.put("lock_type", "00"); unlock_map.put("lock_type", "1");
unlock_map.put("taskdtl_type", ""); unlock_map.put("taskdtl_type", "");
unlock_map.put("taskdtl_id", ""); unlock_map.put("taskdtl_id", "");
unlock_map.put("task_code", ""); unlock_map.put("task_code", "");
@@ -828,12 +844,12 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
//原货位解锁,新货位加锁 //原货位解锁,新货位加锁
HashMap unlock_map = new HashMap(); HashMap unlock_map = new HashMap();
unlock_map.put("lock_type", "00"); unlock_map.put("lock_type", "1");
point_table.update(unlock_map, "point_code = '" + whereJson.get("struct_code") + "'"); point_table.update(unlock_map, "point_code = '" + whereJson.get("struct_code") + "'");
struct_table.update(unlock_map, "struct_code = '" + whereJson.get("struct_code") + "'"); struct_table.update(unlock_map, "struct_code = '" + whereJson.get("struct_code") + "'");
HashMap lock_map = new HashMap(); HashMap lock_map = new HashMap();
lock_map.put("lock_type", "01"); lock_map.put("lock_type", "2");
point_table.update(lock_map, "point_code = '" + whereJson.get("new_struct_code") + "'"); point_table.update(lock_map, "point_code = '" + whereJson.get("new_struct_code") + "'");
struct_table.update(lock_map, "struct_code = '" + whereJson.get("new_struct_code") + "'"); struct_table.update(lock_map, "struct_code = '" + whereJson.get("new_struct_code") + "'");
@@ -902,7 +918,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
//解锁原货位点位 //解锁原货位点位
HashMap unlock_map = new HashMap(); HashMap unlock_map = new HashMap();
unlock_map.put("lock_type", "00"); unlock_map.put("lock_type", "1");
unlock_map.put("taskdtl_type", ""); unlock_map.put("taskdtl_type", "");
unlock_map.put("taskdtl_id", ""); unlock_map.put("taskdtl_id", "");
unlock_map.put("task_code", ""); unlock_map.put("task_code", "");
@@ -1003,18 +1019,17 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void confirmTask(Map whereJson) { public void confirmTask(Map whereJson) {
//判断指令状态,只能下发生成、执行中状态的任务 //判断指令状态,只能下发生成、执行中状态的任务
/* String task_code = (String) whereJson.get("task_code"); String task_code = (String) whereJson.get("task_code");
TaskDto taskDto = taskService.findByCode(task_code); JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_code = '"+task_code+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(taskDto)) { if (ObjectUtil.isEmpty(task_jo)) {
throw new BadRequestException("请输入正确的任务号!"); throw new BadRequestException("请输入正确的任务号!");
}*/ }
/*if (!taskDto.getTask_status().equals("03")) { /*if (!task_jo.getString("task_status").equals("03")) {
throw new BadRequestException("只能修改任务状态为执行中的任务!"); throw new BadRequestException("只能修改任务状态为执行中的任务!");
}*/ }*/
/*JSONObject task_jo = JSONObject.parseObject(JSON.toJSONString(taskDto));
AbstractAcsTask task = new InTask(); AbstractAcsTask task = new InTask();
task.updateTaskStatus(task_jo, "2");*/ task.updateTaskStatus(task_jo, "2");
} }
@Override @Override

View File

@@ -452,7 +452,7 @@ public class StorPublicServiceImpl implements StorPublicService {
throw new BadRequestException("点位仓位更新未查询到符合条件的点位仓位!"); throw new BadRequestException("点位仓位更新未查询到符合条件的点位仓位!");
} }
HashMap<String,String> map = new HashMap<>(); HashMap<String,String> map = new HashMap<>();
if(lock_type.equals("00")){//解锁 if(lock_type.equals("1")){//解锁
map.put("lock_type",lock_type); map.put("lock_type",lock_type);
map.put("task_code",""); map.put("task_code","");
map.put("inv_type",""); map.put("inv_type","");

View File

@@ -38,7 +38,7 @@
<el-table-column prop="label" label="字典标签" align="center" width="100" /> <el-table-column prop="label" label="字典标签" align="center" width="100" />
<el-table-column prop="value" label="字典值" align="center" width="60" /> <el-table-column prop="value" label="字典值" align="center" width="60" />
<el-table-column prop="dictSort" label="排序" align="center" width="65" /> <el-table-column prop="dictSort" label="排序" align="center" width="65" />
<el-table-column v-permission="['admin','dict:edit','dict:del']" label="操作" align="center" width="115px" fixed="right"> <el-table-column v-permission="['admin','dict:edit','dict:del']" label="操作" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<udOperation <udOperation
:data="scope.row" :data="scope.row"

View File

@@ -151,14 +151,14 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="高度类型" prop="material_height_type"> <el-form-item label="放置类型" prop="placement_type">
<el-select <el-select
v-model="form.material_height_type" v-model="form.placement_type"
placeholder="" placeholder=""
style="width: 200px" style="width: 200px"
> >
<el-option <el-option
v-for="item in dict.ST_HEIGHT_TYPE" v-for="item in dict.placement_type"
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -213,6 +213,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="sect_name" label="库区名称" /> <el-table-column prop="sect_name" label="库区名称" />
<el-table-column prop="placement_type" label="放置类型" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
{{ dict.label.placement_type[scope.row.placement_type] }}
</template>
</el-table-column>
<el-table-column label="是否启用" align="center" prop="is_used"> <el-table-column label="是否启用" align="center" prop="is_used">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch
@@ -306,7 +311,7 @@ const defaultForm = {
} }
export default { export default {
name: 'Structattr', name: 'Structattr',
dicts: ['ST_HEIGHT_TYPE', 'is_used', 'd_lock_type', 'SCH_TASK_TYPE_DTL'], dicts: ['ST_HEIGHT_TYPE', 'is_used', 'd_lock_type', 'SCH_TASK_TYPE_DTL','placement_type'],
components: { pagination, crudOperation, rrOperation, udOperation }, components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() { cruds() {

View File

@@ -125,7 +125,7 @@ export default {
*/ */
getMsg(msg) { getMsg(msg) {
this.dialogDis = msg this.dialogDis = msg
this.lock = '00' this.lock = '1'
}, },
[CRUD.HOOK.beforeRefresh]() { [CRUD.HOOK.beforeRefresh]() {
this.query.lock_type = this.lock this.query.lock_type = this.lock

View File

@@ -362,7 +362,7 @@ export default {
} }
}) })
if (same_mater) { if (same_mater) {
item.quality_scode = '00' item.quality_scode = '01'
item.ivt_level = '01' item.ivt_level = '01'
item.is_active = '1' item.is_active = '1'
item.plan_qty = item.need_qty item.plan_qty = item.need_qty

View File

@@ -187,7 +187,7 @@ export default {
}, },
methods: { methods: {
[CRUD.HOOK.beforeRefresh]() { [CRUD.HOOK.beforeRefresh]() {
this.crud.query.lock_type = '00' this.crud.query.lock_type = '1'
}, },
open() { open() {
crudSectattr.getSect({ 'is_materialstore': '1', 'sect_type_attr': '00' }).then(res => { crudSectattr.getSect({ 'is_materialstore': '1', 'sect_type_attr': '00' }).then(res => {