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
@RequiredArgsConstructor
@Api(tags = "空管入库")
@Api(tags = "空管入库")
@RequestMapping("api/pda/empty")
@Slf4j
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
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);

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) {
String point_code = whereJson.getString("point_code");
String is_last = whereJson.getString("is_last");
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);
@@ -101,33 +101,60 @@ public class OutServiceImpl implements OutService {
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)){
throw new BadRequestException("该分切机没有对应完成配送完成的气涨轴!");
JSONObject jo = new JSONObject();
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();
result.put("message","操作成功!");
return result;

View File

@@ -20,7 +20,8 @@
输入.qzzno TYPEAS s_string
输入.sort_seq 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
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 org.nl.modules.wql.WQL;
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.wms.pda.st.service.CoolInService;
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.impl.InbillServiceImpl;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@@ -26,6 +30,9 @@ import java.util.HashMap;
@RequiredArgsConstructor
@Slf4j
public class ProductInstorServiceImpl implements ProductInstorService {
private final InbillServiceImpl inbillService;
private final RawAssistIStorService rawAssistIStorService;
@Override
@@ -35,21 +42,21 @@ public class ProductInstorServiceImpl implements ProductInstorService {
String option = whereJson.getString("option");
JSONArray rows = new JSONArray();
HashMap<String,String> map = new HashMap<>();
map.put("box_no",box_no);
if (option.equals("1")){
map.put("flag","1");
HashMap<String, String> map = new HashMap<>();
map.put("box_no", box_no);
if (option.equals("1")) {
map.put("flag", "1");
//如果是报废入库要查询对应的报废出库
rows = WQL.getWO("PDA_ST_01").addParamMap(map).process().getResultJSONArray(0);
}else {
map.put("flag","2");
} else {
map.put("flag", "2");
//查询状态为生成的子卷包装关系对应表
rows = WQL.getWO("PDA_ST_01").addParamMap(map).process().getResultJSONArray(0);
}
JSONObject jo = new JSONObject();
jo.put("data",rows);
jo.put("message","查询成功!");
jo.put("data", rows);
jo.put("message", "查询成功!");
return jo;
}
@@ -63,42 +70,64 @@ public class ProductInstorServiceImpl implements ProductInstorService {
JSONArray box_rows = whereJson.getJSONArray("box_rows");
HashMap<String,String> map = new HashMap<>();
map.put("box_no",box_no);
if (option.equals("1")){
HashMap<String,String> sub_map = new HashMap<>();
sub_map.put("box_type",material_code);
HashMap<String, String> map = new HashMap<>();
map.put("box_no", box_no);
if (option.equals("1")) {
HashMap<String, String> sub_map = new HashMap<>();
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();
mst_jo.put("tableData",box_rows);
mst_jo.put("tableData", box_rows);
mst_jo.put("biz_date", DateUtil.now());
if (option.equals("1")){
mst_jo.put("bill_type","0003");
if (option.equals("1")) {
mst_jo.put("bill_type", "0003");
}
if (option.equals("2")){
mst_jo.put("bill_type","0001");
if (option.equals("2")) {
mst_jo.put("bill_type", "0001");
}
if (option.equals("3")){
mst_jo.put("bill_type","0002");
if (option.equals("3")) {
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);
mst_jo.put("stor_id",stor.getString("stor_id"));
mst_jo.put("detail_count",box_rows.size());
mst_jo.put("total_qty","0");
mst_jo.put("bill_status","10");
rawAssistIStorService.insertDtl(mst_jo);
mst_jo.put("stor_id", stor.getString("stor_id"));
mst_jo.put("detail_count", box_rows.size());
mst_jo.put("total_qty", "0");
mst_jo.put("bill_status", "10");
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();
jo.put("message","确认成功!");
jo.put("message", "确认成功!");
return jo;
}
}

View File

@@ -184,30 +184,53 @@ public class CutTrussTask extends AbstractAcsTask {
json.put("acs_task_type","5" );
tab.insert(json);
//更新入站气涨轴的分切计划状态
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)){
throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code")+"对应的分切计划!");
}
for (int i = 0; i < plan_jo.size(); i++) {
JSONObject plan_row = plan_jo.getJSONObject(i);
plan_row.put("status","04");
plan_row.put("end_time",DateUtil.now());
WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan").update(plan_row);
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)){
throw new BadRequestException("未查询到气涨轴:"+json.getString("vehicle_code")+"对应的分切计划!");
}
for (int i = 0; i < plan_jo.size(); i++) {
JSONObject plan_row = plan_jo.getJSONObject(i);
plan_row.put("status","04");
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);
}
}
//更新出站气涨轴的分切计划状态
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")+"对应的分切计划!");
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)){
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);
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("010405")){
}
return json.getString("task_id");
}

View File

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

View File

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

View File

@@ -125,7 +125,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
@Override
@Transactional(rollbackFor = Exception.class)
public void insertDtl(Map whereJson) {
public String insertDtl(Map whereJson) {
ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("tableData");
Long currentUserId = SecurityUtils.getCurrentUserId();
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("ST_IVT_IOStorInv").insert(io_mst);
return iostorinv_id;
}
@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);
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");
if (ObjectUtil.isEmpty(transfer)) {
@@ -576,10 +586,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
JSONObject i_form = new JSONObject();
i_form.put("struct_id", dis_jo.getString("struct_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("change_qty", dis_jo.getString("plan_qty"));
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("bill_code", mst_jo.getString("bill_code"));
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"));
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);
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)
@@ -623,7 +639,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
//解锁原货位点位
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_id", "");
unlock_map.put("task_code", "");
@@ -828,12 +844,12 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
//原货位解锁,新货位加锁
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") + "'");
struct_table.update(unlock_map, "struct_code = '" + whereJson.get("struct_code") + "'");
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") + "'");
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();
unlock_map.put("lock_type", "00");
unlock_map.put("lock_type", "1");
unlock_map.put("taskdtl_type", "");
unlock_map.put("taskdtl_id", "");
unlock_map.put("task_code", "");
@@ -1003,18 +1019,17 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
@Transactional(rollbackFor = Exception.class)
public void confirmTask(Map whereJson) {
//判断指令状态,只能下发生成、执行中状态的任务
/* String task_code = (String) whereJson.get("task_code");
TaskDto taskDto = taskService.findByCode(task_code);
if (ObjectUtil.isEmpty(taskDto)) {
String task_code = (String) whereJson.get("task_code");
JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("task_code = '"+task_code+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(task_jo)) {
throw new BadRequestException("请输入正确的任务号!");
}*/
/*if (!taskDto.getTask_status().equals("03")) {
}
/*if (!task_jo.getString("task_status").equals("03")) {
throw new BadRequestException("只能修改任务状态为执行中的任务!");
}*/
/*JSONObject task_jo = JSONObject.parseObject(JSON.toJSONString(taskDto));
AbstractAcsTask task = new InTask();
task.updateTaskStatus(task_jo, "2");*/
task.updateTaskStatus(task_jo, "2");
}
@Override

View File

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