diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java index 47a819c52..5ea3e6993 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java @@ -194,7 +194,7 @@ public class PointServiceImpl implements PointService { @Override public JSONArray getPoint(Map wherJson) { String area_type = (String) wherJson.get("area_type"); - JSONArray point_rows = WQLObject.getWQLObject("sch_base_point").query("area_type IN (" + area_type + ") AND is_used = '1' AND is_delete = '0' order by point_code").getResultJSONArray(0); + JSONArray point_rows = WQLObject.getWQLObject("sch_base_point").query("region_id IN (" + area_type + ") AND is_used = '1' AND is_delete = '0' order by point_code").getResultJSONArray(0); return point_rows; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java index 34e644426..ec5156f24 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/rest/RawAssistIStorController.java @@ -91,15 +91,6 @@ public class RawAssistIStorController { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } - @PostMapping("/confirmvehicle") - @Log("组盘确认") - @ApiOperation("组盘确认") - //@PreAuthorize("@el.check('materialtype:list')") - public ResponseEntity confirmvehicle(@RequestBody Map whereJson) { - rawAssistIStorService.confirmvehicle(whereJson); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - @PostMapping("/deleteDisDtl") @Log("删除一行") @ApiOperation("删除一行") diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/RawAssistIStorService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/RawAssistIStorService.java index 599676729..bfeae6916 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/RawAssistIStorService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/RawAssistIStorService.java @@ -30,8 +30,6 @@ public interface RawAssistIStorService { JSONArray getIODtl(Map whereJson); - void confirmvehicle(Map whereJson); - void deleteDisDtl(Map whereJson); void divStruct(Map whereJson); 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 b07bd4285..034630ea1 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 @@ -64,58 +64,6 @@ public class InbillServiceImpl { dis.insert(dis_jo); } - //插入分配明细表 - public void insertDisDtl(JSONObject jo) { - WQLObject dis_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl"); - JSONObject disdtl_jo = new JSONObject(); - disdtl_jo.put("iostorinvdisdtl_id", IdUtil.getSnowflake(1, 1).nextId()); - disdtl_jo.put("iostorinvdis_id", jo.getString("iostorinvdis_id")); - disdtl_jo.put("iostorinv_id", jo.getString("iostorinv_id")); - disdtl_jo.put("iostorinvdtl_id", jo.getString("iostorinvdtl_id")); - disdtl_jo.put("seq_no", jo.getString("seq_no")); - disdtl_jo.put("sect_id", jo.getString("sect_id")); - disdtl_jo.put("sect_code", jo.getString("sect_code")); - disdtl_jo.put("sect_name", jo.getString("sect_name")); - disdtl_jo.put("struct_id", jo.getString("struct_id")); - disdtl_jo.put("struct_code", jo.getString("struct_code")); - disdtl_jo.put("struct_name", jo.getString("struct_name")); - disdtl_jo.put("material_id", jo.getString("material_id")); - disdtl_jo.put("pcsn", jo.getString("pcsn")); - disdtl_jo.put("quality_scode", jo.getString("quality_scode")); - disdtl_jo.put("ivt_level", jo.getString("ivt_level")); - disdtl_jo.put("is_active", jo.getString("is_active")); - disdtl_jo.put("storagevehicle_id", jo.getString("storagevehicle_id")); - disdtl_jo.put("storagevehicle_code", jo.getString("storagevehicle_code")); - disdtl_jo.put("storagevehicle_type", jo.getString("storagevehicle_type")); - disdtl_jo.put("bucketunique", jo.getString("bucketunique")); - disdtl_jo.put("qty_unit_id", jo.getString("qty_unit_id")); - disdtl_jo.put("qty_unit_name", jo.getString("qty_unit_name")); - disdtl_jo.put("real_qty", jo.getString("storage_qty")); - dis_dtl.insert(disdtl_jo); - - //回写分配表数量 - double real_qty = disdtl_jo.getDoubleValue("real_qty"); - JSONObject dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdis_id ='" + jo.getString("iostorinvdis_id") + "'").uniqueResult(0); - dis.put("plan_qty", dis.getDoubleValue("plan_qty") + real_qty); - WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis); - - //回写明细表数量 - JSONObject dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id ='" + jo.getString("iostorinvdtl_id") + "'").uniqueResult(0); - dtl.put("assign_qty", dtl.getDoubleValue("assign_qty") + real_qty); - double unassign_qty = dtl.getDoubleValue("unassign_qty") - real_qty; - if (unassign_qty < 0) { - unassign_qty = 0; - } - dtl.put("unassign_qty", unassign_qty); - dtl.put("bill_status", "30"); - WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl); - - //更新主表状态 - JSONObject mst = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id ='" + jo.getString("iostorinv_id") + "'").uniqueResult(0); - JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + jo.getString("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0); - mst.put("bill_status", "30"); - WQLObject.getWQLObject("ST_IVT_IOStorInv").update(mst); - } public void operatePoint(String operate, JSONObject form) { WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point"); 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 9b1353f53..c80dd1975 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 @@ -30,6 +30,7 @@ import org.nl.wms.sch.service.dto.PointDto; import org.nl.wms.sch.service.dto.TaskDto; import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.StorPublicService; +import org.nl.wms.st.task.InTask; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -60,6 +61,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { private final PointService pointService; + @Override public Map pageQuery(Map whereJson, Pageable page) { HashMap map = new HashMap<>(); @@ -301,141 +303,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { return ja; } - @Override - @Transactional(rollbackFor = Exception.class) - public void confirmvehicle(Map whereJson) { - WQLObject change = WQLObject.getWQLObject("MD_PB_BucketChangeFlow"); - String storagevehicle_code = (String) whereJson.get("storagevehicle_code"); - if (StrUtil.isEmpty(storagevehicle_code)) { - throw new BadRequestException("载具号不能为空!"); - } - - //判断该载具是否已经分配货位或者起点 - JSONArray dis_rows = WQLObject.getWQLObject("st_ivt_iostorinvdis").query("storagevehicle_code = '" + storagevehicle_code + "' AND work_status < '99' AND ((struct_id <> '' AND struct_id is not null) OR (point_id <> '' AND point_code is not null))").getResultJSONArray(0); - if (dis_rows.size() > 0) { - throw new BadRequestException("该载具已经分配货位或起点,无法继续组盘!"); - } - - - HashMap dtl = (HashMap) whereJson.get("dtl_row"); - ArrayList rows = (ArrayList) whereJson.get("tableMater"); - - Long currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - //插入入库分配表 - StoragevehicleinfoDto vehicle = null; - String iostorinvdis_id = ""; - - //判断该明细是否存在分配 - JSONObject dis_row = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dtl.get("iostorinvdtl_id") + "' AND storagevehicle_code = '" + vehicle.getStoragevehicle_code() + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(dis_row)) { - iostorinvdis_id = IdUtil.getSnowflake(1, 1).nextId() + ""; - dtl.put("iostorinvdis_id", iostorinvdis_id); - dtl.put("storagevehicle_id", vehicle.getStoragevehicle_id() + ""); - dtl.put("storagevehicle_code", vehicle.getStoragevehicle_code()); - dtl.put("storagevehicle_type", vehicle.getStoragevehicle_type()); - - - /*//判断入库点是否冲突 - JSONObject point_row = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + dtl.get("iostorinv_id") + "' AND storagevehicle_code = '" + vehicle.getStoragevehicle_code() + "'").uniqueResult(0); - if (!ObjectUtil.isEmpty(point_row) && !point_row.getString("point_code").equals((String) whereJson.get("point_code"))) { - throw new BadRequestException("该载具入库点冲突,请重新选择"); - } - PointDto pointDto = pointService.findByCode((String) whereJson.get("point_code")); - dtl.put("point_code", pointDto.getPoint_code()); - dtl.put("point_id", pointDto.getPoint_id() + ""); - dtl.put("point_name", pointDto.getPoint_name());*/ - inbillService.insertDis(JSONObject.parseObject(JSON.toJSONString(dtl))); - } else { - iostorinvdis_id = dis_row.getString("iostorinvdis_id"); - } - //组盘校验 - //判断该桶是否已经被操作 - for (int i = 0; i < rows.size(); i++) { - HashMap row = rows.get(i); - if (StrUtil.isEmpty(row.get("bucket_record_id"))) { - continue; - } - JSONObject bucket_jo = WQLObject.getWQLObject("MD_PB_BucketRecord").query("bucket_record_id = '" + row.get("bucket_record_id") + "'").uniqueResult(0); - if (bucket_jo == null) { - throw new BadRequestException("桶号:" + row.get("bucketunique") + "不存在,请重新选择!"); - } else { - if (!bucket_jo.getString("status").equals("01")) { - throw new BadRequestException("桶号:" + row.get("bucketunique") + "已经被操作,请重新选择!"); - } - } - - //原来页面可以修改放入重量,经过讨论不修改,不需要动桶变动记录表 - - //判断是否为工序返工入库 - JSONObject mst_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '" + dtl.get("iostorinv_id") + "'").uniqueResult(0); - //更新桶记录表 - HashMap bucket_map = new HashMap<>(); - bucket_map.put("status", "02"); - bucket_map.put("makeup_optid", currentUserId + ""); - bucket_map.put("makeup_optname", nickName); - bucket_map.put("makeup_time", now); - bucket_map.put("storagevehicle_id", vehicle.getStoragevehicle_id() + ""); - bucket_map.put("storagevehicle_code", vehicle.getStoragevehicle_code()); - if (mst_jo.getString("bill_type").equals("000302")) { - bucket_map.put("quality_scode", "02"); - row.put("quality_scode", "02"); - } - WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucket_record_id = '" + row.get("bucket_record_id") + "'"); - - //插入分配明细表 - row.put("iostorinvdis_id", iostorinvdis_id); - row.put("iostorinv_id", dtl.get("iostorinv_id")); - row.put("iostorinvdtl_id", dtl.get("iostorinvdtl_id")); - row.put("storagevehicle_id", vehicle.getStoragevehicle_id() + ""); - row.put("storagevehicle_code", vehicle.getStoragevehicle_code()); - row.put("storagevehicle_type", vehicle.getStoragevehicle_type()); - row.put("seq_no", (i + 1) + ""); - inbillService.insertDisDtl(JSONObject.parseObject(JSON.toJSONString(row))); - - JSONObject bucket_now = WQLObject.getWQLObject("MD_PB_BucketRecord").query("bucketunique = '" + row.get("bucketunique") + "' AND status = '02'").uniqueResult(0); - if (mst_jo.getString("bill_type").equals("000302")) { - //插入桶物料变动记录表,减待检 - JSONObject change_jo = new JSONObject(); - change_jo.put("change_id", IdUtil.getSnowflake(1, 1).nextId()); - change_jo.put("bucket_code", bucket_now.get("bucketunique")); - change_jo.put("material_id", bucket_now.get("material_id")); - change_jo.put("pcsn", bucket_now.get("pcsn")); - change_jo.put("ivt_level", bucket_now.get("ivt_level")); - change_jo.put("is_active", bucket_now.get("is_active")); - change_jo.put("quality_scode", "00"); - change_jo.put("qty_unit_id", bucket_now.get("qty_unit_id")); - change_jo.put("qty_unit_name", bucket_now.get("qty_unit_name")); - change_jo.put("change_type_scode", "02"); - change_jo.put("change_time", now); - change_jo.put("rec_person", currentUserId); - change_jo.put("change_qty", bucket_now.get("storage_qty")); - change_jo.put("result_qty", "0"); - change.insert(change_jo); - - //插入桶物料变动记录表,加不良 - JSONObject change_jo2 = new JSONObject(); - change_jo2.put("change_id", IdUtil.getSnowflake(1, 1).nextId()); - change_jo2.put("bucket_code", bucket_now.get("bucketunique")); - change_jo2.put("material_id", bucket_now.get("material_id")); - change_jo2.put("pcsn", bucket_now.get("pcsn")); - change_jo2.put("ivt_level", bucket_now.get("ivt_level")); - change_jo2.put("is_active", bucket_now.get("is_active")); - change_jo2.put("quality_scode", "02"); - change_jo2.put("qty_unit_id", bucket_now.get("qty_unit_id")); - change_jo2.put("qty_unit_name", bucket_now.get("qty_unit_name")); - change_jo2.put("change_type_scode", "01"); - change_jo2.put("change_time", now); - change_jo2.put("rec_person", currentUserId); - change_jo2.put("change_qty", bucket_now.get("storage_qty")); - change_jo2.put("result_qty", bucket_now.get("storage_qty")); - change.insert(change_jo2); - } - } - } - @Override @Transactional(rollbackFor = Exception.class) public void deleteDisDtl(Map row) { @@ -459,7 +326,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { bucket_map.put("storagevehicle_id", ""); bucket_map.put("storagevehicle_code", ""); if (mst.getString("bill_type").equals("000302")) { - bucket_map.put("quality_scode", "00"); + bucket_map.put("quality_scode", "01"); } WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucketunique = '" + row.get("bucketunique") + "' AND status = '02'"); @@ -472,8 +339,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { change_jo.put("material_id", bucket_now.get("material_id")); change_jo.put("pcsn", bucket_now.get("pcsn")); change_jo.put("ivt_level", bucket_now.get("ivt_level")); - change_jo.put("is_active", bucket_now.get("is_active")); - change_jo.put("quality_scode", "00"); + change_jo.put("quality_scode", "01"); change_jo.put("qty_unit_id", bucket_now.get("qty_unit_id")); change_jo.put("qty_unit_name", bucket_now.get("qty_unit_name")); change_jo.put("change_type_scode", "01"); @@ -489,9 +355,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { change_jo2.put("bucket_code", bucket_now.get("bucketunique")); change_jo2.put("material_id", bucket_now.get("material_id")); change_jo2.put("pcsn", bucket_now.get("pcsn")); - change_jo2.put("ivt_level", bucket_now.get("ivt_level")); - change_jo2.put("is_active", bucket_now.get("is_active")); - change_jo2.put("quality_scode", "02"); + change_jo2.put("quality_scode", "01"); change_jo2.put("qty_unit_id", bucket_now.get("qty_unit_id")); change_jo2.put("qty_unit_name", bucket_now.get("qty_unit_name")); change_jo2.put("change_type_scode", "02"); @@ -582,11 +446,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { String point_code = map.get("point_code"); if (StrUtil.isNotEmpty(point_code)) { HashMap point_map = new HashMap<>(); - PointDto pointDto = null; + PointDto pointDto = pointService.findByCode(point_code); point_map.put("point_code", pointDto.getPoint_code()); point_map.put("point_id", pointDto.getPoint_id() + ""); point_map.put("point_name", pointDto.getPoint_name()); - WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'"); } Boolean checked = whereJson2.getBoolean("checked"); @@ -648,8 +512,8 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { inbillService.operatePoint("0", lock_map); //判断起点是否不为空 - JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'").uniqueResult(0); - if (StrUtil.isNotEmpty(ios_dis.getString("point_code"))) { + 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"))) { // Boolean transfer = whereJson2.getBoolean("transfer",false); Boolean transfer = whereJson2.getBoolean("transfer"); if (ObjectUtil.isEmpty(transfer)) { @@ -658,7 +522,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { if (transfer) { //创建任务 - AbstractAcsTask task = null; + AbstractAcsTask task = new InTask(); JSONObject task_form = new JSONObject(); task_form.put("task_type", "03"); task_form.put("taskdtl_type", "04"); @@ -673,18 +537,17 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { dis_map.put("work_status", "01"); } else { //创建任务 - AbstractAcsTask task = null; + AbstractAcsTask task = new InTask(); JSONObject task_form = new JSONObject(); task_form.put("task_type", "01"); task_form.put("taskdtl_type", "01"); task_form.put("start_device_code", map.get("point_code")); task_form.put("next_device_code", struct_code); - task_form.put("storagevehicle_id", map.get("storagevehicle_id")); - task_form.put("vehicle_code", map.get("storagevehicle_code")); + task_form.put("vehicle_code", map.get("box_no")); task_form.put("storagevehicle_type", map.get("storagevehicle_type")); String task_id = task.createTask(task_form); if (whereJson.containsKey("auto_issue")) { - AbstractAcsTask intask = null; + AbstractAcsTask intask = new InTask(); //调用ACS接受任务接口 JSONObject result = null; if (ObjectUtil.isNotEmpty(result)) { @@ -703,12 +566,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { } } - WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'"); - WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'"); //修改库存 //直接取出入库分配表的库存 - JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'").getResultJSONArray(0); + JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'").getResultJSONArray(0); JSONObject mst_jo = WQLObject.getWQLObject("ST_IVT_IOStorInv").query("iostorinv_id = '" + map.get("iostorinv_id") + "'").uniqueResult(0); for (int i = 0; i < dis_rows.size(); i++) { JSONObject dis_jo = dis_rows.getJSONObject(i); @@ -717,8 +579,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { 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("ivt_level", dis_jo.getString("ivt_level")); - i_form.put("is_active", dis_jo.getString("is_active")); i_form.put("change_qty", dis_jo.getString("plan_qty")); i_form.put("bill_type_scode", mst_jo.getString("bill_type")); i_form.put("inv_id", mst_jo.getString("iostorinv_id")); @@ -728,12 +588,12 @@ 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_code"))) { + if (StrUtil.isNotEmpty(ios_dis.getString("point_id"))) { //更新明细表状态 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) { //判断该明细下是否还存在未分配货位的分配明细 - JSONArray disdiv_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "' AND (struct_id = '' OR struct_id is null) AND (point_code = '' OR point_code is null)").getResultJSONArray(0); + JSONArray disdiv_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinvdtl_id = '" + dis_jo.getString("iostorinvdtl_id") + "' AND (struct_id = '' OR struct_id is null) AND (point_id = '' OR point_id is null)").getResultJSONArray(0); if (disdiv_rows.size() == 0) { dtl_jo.put("bill_status", "40"); WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl_jo); @@ -789,7 +649,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { 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("is_active", dis_row.getString("is_active")); 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")); @@ -799,50 +658,24 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { i_form.put("qty_unit_name", dis_row.getString("qty_unit_name")); storPublicService.IOStor(i_form, "32"); - //对分配明细进行循环 - JSONArray disdtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl").query("iostorinvdis_id = '" + dis_row.getString("iostorinvdis_id") + "'").getResultJSONArray(0); - for (int j = 0; j < disdtl_rows.size(); j++) { - JSONObject disdtl_row = disdtl_rows.getJSONObject(j); - WQLObject dis_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl"); - dis_dtl.delete("iostorinvdisdtl_id = '" + (String) disdtl_row.get("iostorinvdisdtl_id") + "'"); - //更新桶记录表,判断单据是否为立库返工入库,如果是则删除桶记录,并还原立库出库确认表 - if (mst_jo.getString("bill_type").equals("000301")) { - WQLObject.getWQLObject("MD_PB_BucketRecord").delete("bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'"); - HashMap out_map = new HashMap<>(); - out_map.put("status", "0"); - WQLObject.getWQLObject("PDM_LK_OutPalletMateril").update(out_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '1'"); - } else { - HashMap bucket_map = new HashMap<>(); - bucket_map.put("status", "01"); - bucket_map.put("makeup_optid", ""); - bucket_map.put("makeup_optname", ""); - bucket_map.put("makeup_time", ""); - bucket_map.put("storagevehicle_id", ""); - bucket_map.put("storagevehicle_code", ""); - WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'"); - } - } - //回写明细表数量 - double real_qty = -Double.parseDouble((String) dis_row.get("plan_qty")); - JSONObject dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id ='" + dis_row.get("iostorinvdtl_id") + "'").uniqueResult(0); - double assign_qty = NumberUtil.add(dtl.getDoubleValue("assign_qty"), real_qty); - dtl.put("assign_qty", assign_qty); - double unassign_qty = NumberUtil.sub(dtl.getDoubleValue("plan_qty"), assign_qty); - - if (unassign_qty < 0) { - unassign_qty = 0; - } - dtl.put("unassign_qty", unassign_qty); - if (assign_qty > 0) { - dtl.put("bill_status", "30"); - } else { - dtl.put("bill_status", "10"); - } - WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl); - - //删除该分配 - dis_wql.delete(dis_row); } + + //更新分配状态 + HashMap map = new HashMap<>(); + map.put("point_id", ""); + map.put("sect_id", ""); + map.put("sect_code", ""); + map.put("sect_name", ""); + map.put("struct_id", ""); + map.put("struct_code", ""); + map.put("struct_name", ""); + WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); + + //修改明细状态 + HashMap dtl_map = new HashMap<>(); + map.put("bill_status", "30"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); + //更新主表状态 JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0); if (dtl_rows.size() > 0) { @@ -871,10 +704,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { point_map.put("point_name", pointDto.getPoint_name()); //判断起点终点是否不为空 - JSONObject ios_dis = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'").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("struct_code"))) { //创建任务 - AbstractAcsTask task = null; + AbstractAcsTask task = new InTask(); JSONObject task_form = new JSONObject(); task_form.put("task_type", "01"); task_form.put("taskdtl_type", "01"); @@ -892,7 +725,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { point_map.put("task_id", task_id); point_map.put("work_status", "01"); } - WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND storagevehicle_code = '" + map.get("storagevehicle_code") + "'"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(point_map, "iostorinv_id = '" + map.get("iostorinv_id") + "' AND box_no = '" + map.get("box_no") + "'"); if (StrUtil.isNotEmpty(ios_dis.getString("struct_code"))) { //修改库存 @@ -1023,7 +856,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { 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("is_active", dis_row.getString("is_active")); 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")); @@ -1046,12 +878,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { WQLObject task_wql = WQLObject.getWQLObject("SCH_BASE_Task"); WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point"); WQLObject struct_table = WQLObject.getWQLObject("ST_IVT_StructAttr"); - WQLObject change = WQLObject.getWQLObject("MD_PB_BucketChangeFlow"); //判断指令状态,只能修改生成状态的任务 - String taskdtl_id = (String) whereJson.get("taskdtl_id"); - TaskDto taskDto = taskService.findByDtlId(taskdtl_id); + String task_id = (String) whereJson.get("task_id"); + TaskDto taskDto = taskService.findByDtlId(task_id); if (ObjectUtil.isEmpty(taskDto)) { throw new BadRequestException("请输入正确的任务号!"); } @@ -1070,7 +901,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { task_map.put("update_optname", nickName); task_map.put("update_time", now); //修改分配表起点,任务表起点 - task_wql.update(task_map, "taskdtl_id = '" + taskDto.getTaskdtl_id() + "'"); + task_wql.update(task_map, "task_id = '" + task_id + "'"); //解锁原货位点位 HashMap unlock_map = new HashMap(); @@ -1098,8 +929,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { 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("is_active", dis_row.getString("is_active")); 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")); @@ -1109,92 +938,24 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { i_form.put("qty_unit_name", dis_row.getString("qty_unit_name")); storPublicService.IOStor(i_form, "32"); - //对分配明细进行循环 - JSONArray disdtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl").query("iostorinvdis_id = '" + dis_row.getString("iostorinvdis_id") + "'").getResultJSONArray(0); - for (int j = 0; j < disdtl_rows.size(); j++) { - JSONObject disdtl_row = disdtl_rows.getJSONObject(j); - WQLObject dis_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDisDtl"); - dis_dtl.delete("iostorinvdisdtl_id = '" + (String) disdtl_row.get("iostorinvdisdtl_id") + "'"); - //更新桶记录表,判断单据是否为立库返工入库,如果是则删除桶记录,并还原立库出库确认表 - if (mst_jo.getString("bill_type").equals("000301")) { - WQLObject.getWQLObject("MD_PB_BucketRecord").delete("bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'"); - HashMap out_map = new HashMap<>(); - out_map.put("status", "0"); - WQLObject.getWQLObject("PDM_LK_OutPalletMateril").update(out_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '1'"); - } else { - HashMap bucket_map = new HashMap<>(); - bucket_map.put("status", "01"); - bucket_map.put("makeup_optid", ""); - bucket_map.put("makeup_optname", ""); - bucket_map.put("makeup_time", ""); - bucket_map.put("storagevehicle_id", ""); - bucket_map.put("storagevehicle_code", ""); - if (mst_jo.getString("bill_type").equals("000302")) { - bucket_map.put("quality_scode", "00"); - } - WQLObject.getWQLObject("MD_PB_BucketRecord").update(bucket_map, "bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '02'"); - - JSONObject bucket_now = WQLObject.getWQLObject("MD_PB_BucketRecord").query("bucketunique = '" + disdtl_row.get("bucketunique") + "' AND status = '01'").uniqueResult(0); - if (mst_jo.getString("bill_type").equals("000302")) { - //插入桶物料变动记录表,加待检 - JSONObject change_jo = new JSONObject(); - change_jo.put("change_id", IdUtil.getSnowflake(1, 1).nextId()); - change_jo.put("bucket_code", bucket_now.get("bucketunique")); - change_jo.put("material_id", bucket_now.get("material_id")); - change_jo.put("pcsn", bucket_now.get("pcsn")); - change_jo.put("ivt_level", bucket_now.get("ivt_level")); - change_jo.put("is_active", bucket_now.get("is_active")); - change_jo.put("quality_scode", "00"); - change_jo.put("qty_unit_id", bucket_now.get("qty_unit_id")); - change_jo.put("qty_unit_name", bucket_now.get("qty_unit_name")); - change_jo.put("change_type_scode", "01"); - change_jo.put("change_time", now); - change_jo.put("rec_person", currentUserId); - change_jo.put("change_qty", bucket_now.get("storage_qty")); - change_jo.put("result_qty", bucket_now.get("storage_qty")); - change.insert(change_jo); - - //插入桶物料变动记录表,减不良 - JSONObject change_jo2 = new JSONObject(); - change_jo2.put("change_id", IdUtil.getSnowflake(1, 1).nextId()); - change_jo2.put("bucket_code", bucket_now.get("bucketunique")); - change_jo2.put("material_id", bucket_now.get("material_id")); - change_jo2.put("pcsn", bucket_now.get("pcsn")); - change_jo2.put("ivt_level", bucket_now.get("ivt_level")); - change_jo2.put("is_active", bucket_now.get("is_active")); - change_jo2.put("quality_scode", "02"); - change_jo2.put("qty_unit_id", bucket_now.get("qty_unit_id")); - change_jo2.put("qty_unit_name", bucket_now.get("qty_unit_name")); - change_jo2.put("change_type_scode", "02"); - change_jo2.put("change_time", now); - change_jo2.put("rec_person", currentUserId); - change_jo2.put("change_qty", bucket_now.get("storage_qty")); - change_jo2.put("result_qty", "0"); - change.insert(change_jo2); - } - } - } - //回写明细表数量 - double real_qty = -Double.parseDouble((String) dis_row.get("plan_qty")); - JSONObject dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinvdtl_id ='" + dis_row.get("iostorinvdtl_id") + "'").uniqueResult(0); - double assign_qty = NumberUtil.add(dtl.getDoubleValue("assign_qty"), real_qty); - dtl.put("assign_qty", assign_qty); - double unassign_qty = NumberUtil.sub(dtl.getDoubleValue("plan_qty"), assign_qty); - - if (unassign_qty < 0) { - unassign_qty = 0; - } - dtl.put("unassign_qty", unassign_qty); - if (assign_qty > 0) { - dtl.put("bill_status", "30"); - } else { - dtl.put("bill_status", "10"); - } - WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(dtl); - - //删除该分配 - dis_wql.delete(dis_row); } + //更新分配状态 + HashMap map = new HashMap<>(); + map.put("point_id", ""); + map.put("sect_id", ""); + map.put("sect_code", ""); + map.put("sect_name", ""); + map.put("struct_id", ""); + map.put("struct_code", ""); + map.put("struct_name", ""); + map.put("task_id", ""); + WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); + + //修改明细状态 + HashMap dtl_map = new HashMap<>(); + map.put("bill_status", "30"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").update(map, "iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND box_no = '" + whereJson.get("box_no") + "'"); + //更新主表状态 JSONArray dtl_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl").query("iostorinv_id = '" + mst_jo.get("iostorinv_id") + "' AND bill_status IN ('20','30')").getResultJSONArray(0); if (dtl_rows.size() > 0) { @@ -1223,7 +984,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { if (!taskDto.getTask_status().equals("01")) { throw new BadRequestException("只能修改任务状态为生成的任务!"); } - AbstractAcsTask task = null; + AbstractAcsTask task = new InTask(); //调用ACS接受任务接口 JSONObject result = null; if (ObjectUtil.isNotEmpty(result)) { 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 730fd1d4a..9d3579444 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 @@ -89,16 +89,12 @@ public class StorPublicServiceImpl implements StorPublicService { String sql_where = "stor_id = '" + from.getString("stor_id") + "' and sect_date = '" + sect_date + "' and material_id = '" + from.getString("material_id") + - "' and ivt_level = '" + from.getString("ivt_level") + - "' and is_active = '" + from.getString("is_active") + "' and pcsn = '" + from.getString("pcsn") + "' and quality_scode = '" + from.getString("quality_scode") + "'"; JSONObject jo = wql_IOSectDaily.query(sql_where).uniqueResult(0); if (jo == null) {// 新增 String sql_where_before = "stor_id = '" + from.getString("stor_id") + "' and material_id = '" + from.getString("material_id") + - "' and ivt_level = '" + from.getString("ivt_level") + - "' and is_active = '" + from.getString("is_active") + "' and pcsn = '" + from.getString("pcsn") + "' and quality_scode = '" + from.getString("quality_scode") + "'"; JSONObject jo_before = wql_IOSectDaily.query(sql_where_before, "sect_date desc").uniqueResult(0); @@ -164,9 +160,7 @@ public class StorPublicServiceImpl implements StorPublicService { String struct_id_In = ""; String material_id_In = ""; String pcsn_In = ""; - String ivt_level_In = ""; String quality_scode_In = ""; - String is_active_In = ""; double change_qty = 0; if (ObjectUtil.isEmpty(from)) { throw new BadRequestException("输入from异常,请检查"); @@ -187,18 +181,10 @@ public class StorPublicServiceImpl implements StorPublicService { if (StrUtil.isBlank(pcsn_In)) { throw new BadRequestException("物料批次不能为空"); } - ivt_level_In = from.getString("ivt_level"); - if (StrUtil.isBlank(ivt_level_In)) { - throw new BadRequestException("库存等级不能为空"); - } quality_scode_In = from.getString("quality_scode"); if (StrUtil.isBlank(quality_scode_In)) { throw new BadRequestException("品质类型不能为空"); } - is_active_In = from.getString("is_active"); - if (StrUtil.isBlank(is_active_In)) { - throw new BadRequestException("是否可用不能为空"); - } change_qty = from.getDoubleValue("change_qty"); if (change_qty <= 0) { throw new BadRequestException("变动数异常,请检查"); @@ -206,8 +192,6 @@ public class StorPublicServiceImpl implements StorPublicService { /*"struct_id = '" + struct_id_In + "' and material_id = '" + material_id_In + "' and pcsn = '" + pcsn_In + - "' and ivt_level = '" + ivt_level_In + - "' and is_active = '" + is_active_In + "' and quality_scode = '" + quality_scode_In + "'";*/ // 查询条件 StringBuffer sql_where = new StringBuffer("struct_id = '"); @@ -216,10 +200,6 @@ public class StorPublicServiceImpl implements StorPublicService { sql_where.append(material_id_In); sql_where.append("' and pcsn = '"); sql_where.append(pcsn_In); - sql_where.append("' and ivt_level = '"); - sql_where.append(ivt_level_In); - sql_where.append("' and is_active = '"); - sql_where.append(is_active_In); sql_where.append("' and quality_scode = '"); sql_where.append(quality_scode_In); sql_where.append("'"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 87df87a33..914b89150 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -25,6 +25,7 @@ 输入.container_name TYPEAS s_string 输入.package_box_sn TYPEAS s_string 输入.iostorinv_id TYPEAS s_string + 输入.iostorinvdtl_id TYPEAS s_string [临时表] @@ -154,10 +155,13 @@ SELECT dis.*, mb.material_code, - mb.material_name + mb.material_name, + po.point_code, + po.point_name FROM st_ivt_iostorinvdis dis INNER JOIN md_me_materialbase mb ON mb.material_id = dis.material_id + LEFT JOIN SCH_BASE_POINT po ON po.point_id = dis.point_id where dis.box_no = 输入.package_box_sn AND @@ -170,35 +174,32 @@ QUERY SELECT dis.iostorinv_id, - dis.material_id, - mb.material_code, - mb.material_name, - dis.pcsn, - dis.seq_no, - dis.storagevehicle_code, - (case when dtl.bucket_num is null then 0 else dtl.bucket_num end) AS bucket_num, - dis.plan_qty, - dis.struct_code, - dis.struct_code AS new_struct_code, - task.task_status AS work_status, - task.task_code, - dis.point_code, - dis.point_code AS new_point_code, - dis.point_name, - dis.iostorinvdis_id, - dis.task_id, - task.taskdtl_id + dis.material_id, + mb.material_code, + mb.material_name, + dis.pcsn, + dis.seq_no, + dis.storagevehicle_code, + dis.plan_qty, + dis.struct_code, + dis.struct_code AS new_struct_code, + task.task_status AS work_status, + task.task_code, + po.point_code, + po.point_code AS new_point_code, + po.point_name, + dis.iostorinvdis_id, + dis.task_id, + dis.box_no FROM - st_ivt_iostorinvdis dis + st_ivt_iostorinvdis dis INNER JOIN md_me_materialbase mb ON mb.material_id = dis.material_id - LEFT JOIN ( - SELECT COUNT(disdtl.iostorinvdisdtl_id) AS bucket_num,iostorinvdis_id from st_ivt_iostorinvdisdtl disdtl GROUP BY disdtl.iostorinvdis_id - ) dtl ON dtl.iostorinvdis_id = dis.iostorinvdis_id + LEFT JOIN sch_base_point po ON po.point_id = dis.point_id LEFT JOIN sch_base_task task ON task.task_id = dis.task_id AND task.is_delete = '0' WHERE - dis.task_id <> '' + dis.task_id <> '' AND - dis.task_id is not null + dis.task_id is not null AND dis.iostorinvdtl_id = 输入.iostorinvdtl_id OPTION 输入.is_finish = "1" diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/task/InTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/task/InTask.java new file mode 100644 index 000000000..72aa2632f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/task/InTask.java @@ -0,0 +1,163 @@ +package org.nl.wms.st.task; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.sch.manage.AbstractAcsTask; +import org.nl.wms.sch.manage.TaskStatusEnum; +import org.nl.wms.sch.service.TaskService; +import org.nl.wms.sch.service.dto.TaskDto; +import org.nl.wms.st.inbill.service.RawAssistIStorService; +import org.nl.wms.st.inbill.service.impl.InbillServiceImpl; +import org.nl.wms.st.inbill.service.impl.RawAssistIStorServiceImpl; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by ZZ on 2021/12/22. + */ +public class InTask extends AbstractAcsTask { + @Override + @Transactional(rollbackFor = Exception.class) + public void updateTaskStatus(JSONObject taskObj, String status) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + HashMap map = new HashMap(); + //1:执行中,2:完成 ,3:acs取消 + if(status.equals("1")){ + map.put("task_status","03"); + //更新入库单分配任务状态 + HashMap dis_map = new HashMap(); + dis_map.put("work_status","02"); + dis_map.put("is_issued","1"); + WQLObject.getWQLObject("ST_IVT_IOStorInvDis").update(dis_map,"task_id = '"+taskObj.getString("task_id")+"'"); + } + if(status.equals("2")){ + map.put("task_status", TaskStatusEnum.FINISHED.getCode()); + //调用入库分配确认方法 + InbillServiceImpl inbillService = SpringContextHolder.getBean(InbillServiceImpl.class); + JSONObject dis_form = new JSONObject(); + dis_form.put("task_id",taskObj.getString("task_id")); + inbillService.confirmDis(dis_form); + } + map.put("update_optid",currentUserId); + map.put("update_optname",nickName); + map.put("update_time",now); + WQLObject.getWQLObject("SCH_BASE_Task").update(map,"taskdtl_id = '"+taskObj.getString("taskdtl_id")+"'"); + } + + @Override + public void findStartPoint() { + + } + + @Override + public void findNextPoint() { + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String createTask(JSONObject form) { + + TaskService taskService = SpringContextHolder.getBean(TaskService.class); + String task_type = form.getString("task_type"); + if (StrUtil.isBlank(task_type)) { + throw new BadRequestException("业务类型不能为空"); + } + String start_device_code = form.getString("start_device_code"); + if (StrUtil.isBlank(start_device_code)) { + throw new BadRequestException("起点不能为空"); + } + String next_device_code = form.getString("next_device_code"); + if (StrUtil.isBlank(next_device_code)) { + throw new BadRequestException("下一点不能为空"); + } + String vehicle_code = form.getString("vehicle_code"); + if (StrUtil.isBlank(vehicle_code)) { + throw new BadRequestException("载具号不能为空"); + } + String taskdtl_type = form.getString("taskdtl_type"); + if (StrUtil.isBlank(taskdtl_type)) { + throw new BadRequestException("任务类型不能为空"); + } + + Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + + /*JSONObject jo = new JSONObject(); + jo.put("end_point",next_device_code); + jo.put("vehicle_code",vehicle_code); + jo.put("storagevehicle_type",form.getString("storagevehicle_type")); + jo.put("storagevehicle_id",form.getString("storagevehicle_id")); + String task_code = CodeUtil.getNewCode("TASK_CODE"); + String priority = "0";*/ + /*TaskDto taskDto = new TaskDto(); + taskDto.setTask_code(task_code); + taskDto.setTask_type(task_type); + taskDto.setTaskdtl_type(task_type); + taskDto.setStart_point_code(start_device_code); + taskDto.setNext_point_code(next_device_code); + taskDto.setVehicle_code(vehicle_code); + taskDto.setTaskdtl_type(taskdtl_type); + taskDto.setHandle_class(this.getClass().getName()); + taskDto.setFinished_type("00"); + taskDto.setTask_status("01"); + taskService.create(taskDto); + TaskDto taskDto1 = taskService.findByCode(task_code);*/ + + + JSONObject json = new JSONObject(); + json.put("task_id", IdUtil.getSnowflake(1,1).nextId()); + json.put("task_code", CodeUtil.getNewCode("TASK_CODE")); + json.put("task_type", form.getString("task_type")); + json.put("vehicle_code", form.getString("vehicle_code")); + json.put("task_status", "01"); + json.put("point_code1", start_device_code); + json.put("point_code2", next_device_code); + json.put("handle_class", this.getClass().getName()); + json.put("create_id", currentUserId); + json.put("create_name", currentUsername); + json.put("create_time", DateUtil.now()); + json.put("priority","1" ); + json.put("acs_task_type","5" ); + WQLObject.getWQLObject("SCH_BASE_Task").insert(json); + + return json.getString("task_id"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void forceFinish(String taskdtl_id) { + //任务表 + WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); + JSONObject task = wo_Task.query("task_status<>'99' and taskdtl_id='"+taskdtl_id+"'").uniqueResult(0); + if(task==null){ + throw new BadRequestException("查询不到操作的任务记录!"); + } + Map whereJson = new HashMap(); + whereJson.put("task_code",task.getString("task_code")); + RawAssistIStorServiceImpl inbillService = SpringContextHolder.getBean(RawAssistIStorServiceImpl.class); + inbillService.confirmTask(whereJson); + } + + @Override + public void pullBack(String taskdtl_id) { + + } + + @Override + public void cancel(String taskdtl_id) { + + } +} diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue index 682464303..5d286e5b8 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/DivDialog.vue @@ -227,7 +227,7 @@ import CRUD, { crud } from '@crud/crud' import crudSectattr from '@/views/wms/basedata/st/sect/sectattr' import StructDiv from '@/views/wms/pub/StructDialog' import crudRawAssist from '@/views/wms/st/inbill/rawassist' -import crudPoint from '@/views/wms/sch/point' +import crudPoint from '@/views/wms/sch/point/point' export default { name: 'DivDialog', @@ -288,29 +288,15 @@ export default { }, methods: { open() { + debugger crudSectattr.getSect({ 'is_materialstore': '1', 'sect_type_attr': '00' }).then(res => { this.sects = res.content }) - let area_type = '' - if (this.billType === '000101' || this.billType === '000102' || this.billType === '000201' || this.billType === '000202' || this.billType === '000305') { - area_type = '\'21\'' - } - if (this.billType === '000301' || this.billType === '000303' || this.billType === '000304') { - area_type = '\'37\'' - } - if (this.billType === '000302') { - area_type = '\'26\',\'32\',\'33\',\'34\'' - } - if (this.billType === '000601') { - area_type = '\'29\'' - } - if (this.billType === '000401') { - area_type = '\'21\',\'26\',\'29\',\'31\',\'35\',\'32\',\'33\',\'34\'' - } - /* crudPoint.getPoint({ 'area_type': area_type }).then(res => { + const area_type = '1585164789083148288' + + crudPoint.getPoint({ 'area_type': area_type }).then(res => { this.pointlist = res - })*/ - this.pointlist = [{ 'point_code': 'RK01', 'point_name': '一楼入库点' }] + }) }, toDelete(data) { data.pop = true