From 53e0732d7311dbbbfd9114c079d381a249e9e632 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Tue, 1 Nov 2022 17:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/pda/mps/rest/EmptyTubeController.java | 2 +- .../org/nl/wms/pda/mps/rest/InController.java | 48 ++++++++++ .../org/nl/wms/pda/mps/service/InService.java | 28 ++++++ .../mps/service/impl/CasingServiceImpl.java | 12 +++ .../pda/mps/service/impl/InServiceImpl.java | 83 +++++++++++++++++ .../pda/mps/service/impl/OutServiceImpl.java | 75 +++++++++++----- .../java/org/nl/wms/pda/mps/wql/PDA_02.wql | 32 ++++++- .../impl/ProductInstorServiceImpl.java | 85 ++++++++++++------ .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 246272 -> 246272 bytes .../org/nl/wms/sch/tasks/CutTrussTask.java | 61 +++++++++---- .../inbill/service/RawAssistIStorService.java | 2 +- .../service/impl/InbillServiceImpl.java | 6 +- .../impl/RawAssistIStorServiceImpl.java | 45 ++++++---- .../service/impl/StorPublicServiceImpl.java | 2 +- .../src/views/system/dict/dictDetail.vue | 2 +- .../views/wms/basedata/st/struct/index.vue | 13 ++- .../src/views/wms/pub/StructDialog.vue | 2 +- .../src/views/wms/st/inbill/AddDialog.vue | 2 +- .../wms/st/inbill/StructUpdateDialog.vue | 2 +- 19 files changed, 401 insertions(+), 101 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/InController.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/InService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/InServiceImpl.java diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java index 0e8d6499c..ae43d83a5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/EmptyTubeController.java @@ -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 { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/InController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/InController.java new file mode 100644 index 000000000..8ccc81182 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/rest/InController.java @@ -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 queryMaterialInfo(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(inService.queryMaterialInfo(whereJson), HttpStatus.OK); + } + + @PostMapping("/confirm") + @Log("子卷出站") + @ApiOperation("子卷入站") + public ResponseEntity confirm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(inService.confirm(whereJson), HttpStatus.OK); + } + + @PostMapping("/devicePointQuery") + @Log("设备点位查询") + @ApiOperation("设备点位查询") + public ResponseEntity devicePointQuery(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(inService.devicePointQuery(whereJson), HttpStatus.OK); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/InService.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/InService.java new file mode 100644 index 000000000..0145ba335 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/InService.java @@ -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); + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java index 74cd18904..0335f9ff0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java @@ -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); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/InServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/InServiceImpl.java new file mode 100644 index 000000000..571c1bdf5 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/InServiceImpl.java @@ -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; + } + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java index 590efbaed..1a241f230 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java @@ -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; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index aa2475fbd..3a876e0da 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -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 + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java index 28952c6ca..56c7cfdfd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java @@ -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 map = new HashMap<>(); - map.put("box_no",box_no); - if (option.equals("1")){ - map.put("flag","1"); + HashMap 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 map = new HashMap<>(); - map.put("box_no",box_no); - if (option.equals("1")){ - HashMap sub_map = new HashMap<>(); - sub_map.put("box_type",material_code); + HashMap map = new HashMap<>(); + map.put("box_no", box_no); + if (option.equals("1")) { + HashMap 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 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; } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index e965fb4e87a848217a9c7f9ed803acc665fcdb6e..c79085aaf4341ab1c05fdfd8e0fdd0953978ff90 100644 GIT binary patch delta 33 ncmZo@;csZ+-;l$?CUE5g|ID||MJ(+_EQ~ getBillDtl(Map whereJson,Pageable page); - void insertDtl (Map whereJson); + String insertDtl (Map whereJson); void deleteAll(Long[] ids); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java index 85dbc0909..759a88854 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java @@ -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 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", ""); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index abff1988e..dadedb7a1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -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 rows = (ArrayList) 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 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java index 2f560f767..92a58f256 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java @@ -452,7 +452,7 @@ public class StorPublicServiceImpl implements StorPublicService { throw new BadRequestException("点位仓位更新未查询到符合条件的点位仓位!"); } HashMap 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",""); diff --git a/lms/nladmin-ui/src/views/system/dict/dictDetail.vue b/lms/nladmin-ui/src/views/system/dict/dictDetail.vue index b6e255406..1c439fd56 100644 --- a/lms/nladmin-ui/src/views/system/dict/dictDetail.vue +++ b/lms/nladmin-ui/src/views/system/dict/dictDetail.vue @@ -38,7 +38,7 @@ - +