Browse Source

WMS bug HL-5968 增加《隔离转合格-线边》功能 除去导入均已完成

intex
gaojs 1 day ago
parent
commit
3530be2a30
  1. 28
      sql/release_202405/wms_202405.sql
  2. 3
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/serialNumber/RuleCodeEnum.java
  3. 18
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java

28
sql/release_202405/wms_202405.sql

@ -2903,6 +2903,34 @@ INSERT INTO `system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `p
-- 增加配置自动补料针对的库区
INSERT INTO `infra_config` (`id`, `category`, `type`, `name`, `config_key`, `value`, `visible`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `item_type`, `area_type`, `inventory_status`, `location_code`) VALUES (null, '业务取值', 2, '自动补料-库区类型配置(目前超市区)', 'autoRepleinshByArea', 'autoRepleinshByArea', b'1', '', '1', '2024-09-14 10:07:32', '1', '2024-09-14 10:07:32', b'0', NULL, 'SUPPER', NULL, NULL);
-- 增加业务类型配置:隔离转线边
insert into `document_businesstype` ( `code`, `name`, `description`, `item_types`, `item_statuses`, `out_area_types`, `in_area_types`, `out_area_codes`, `in_area_codes`, `out_inventory_statuses`, `in_inventory_statuses`, `out_transaction_type`, `in_transaction_type`, `use_on_the_way`, `on_the_way_area`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) values('HoldToWip','隔离转线边','','YCL,BCP,CCP,WGJ','AC','FAC_HOLD,CUST_HOLD','WIP','','','HOLD','OK','ISS-TR','RCT-TR','FALSE','','TRUE',NULL,NULL,'','2023-08-01 13:49:50','1','2024-08-28 09:34:54','1','2023-08-01 13:49:50','1000000000000000000','','FALSE','','17','','','2');
-- 增加申请类型配置:隔离转线边
insert into `document_requestsetting` ( `code`, `request_mode`, `auto_commit`, `auto_agree`, `auto_execute`, `direct_create_record`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) values('HoldToWipRequest','EXPLICIT','TRUE','TRUE','TRUE','FALSE','TRUE',NULL,NULL,'隔离转线边申请','2023-08-01 10:08:05','1','2024-08-22 14:26:47','1','2023-08-01 10:08:05','1000000000000000000','','FALSE','','4','','','2');
insert into `document_requestsetting` ( `code`, `request_mode`, `auto_commit`, `auto_agree`, `auto_execute`, `direct_create_record`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) values('HoldToWipRequest','EXPLICIT','TRUE','TRUE','TRUE','FALSE','TRUE',NULL,NULL,'隔离转线边申请','2023-08-01 10:08:05','1','2023-12-25 14:13:39','1','2023-08-01 10:08:05','1000000000000000000','','FALSE','','2','','','3');
-- 增加任务类型配置:隔离转线边
INSERT INTO `document_jobsetting`( `code`, `valid_minutes`, `auto_complete`, `allow_modify_location`, `allow_modify_qty`, `allow_bigger_qty`, `allow_smaller_qty`, `allow_modify_inventory_status`, `allow_continuous_scanning`, `allow_partial_complete`, `allow_modify_bach`, `allow_modify_packing_number`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipJob', 480, 'FALSE', 'FALSE', 'TRUE', 'TRUE', 'TRUE', 'FALSE', 'TRUE', 'TRUE', 'FALSE', 'FALSE', 'TRUE', NULL, NULL, '隔离转线边任务', '2023-08-01 10:16:47', '1', '2024-09-05 14:26:03', '1', '2023-08-01 10:16:47', '1000000000000000000', '', 'FALSE', '', 9, '', b'0', 2);
INSERT INTO `document_jobsetting`( `code`, `valid_minutes`, `auto_complete`, `allow_modify_location`, `allow_modify_qty`, `allow_bigger_qty`, `allow_smaller_qty`, `allow_modify_inventory_status`, `allow_continuous_scanning`, `allow_partial_complete`, `allow_modify_bach`, `allow_modify_packing_number`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES (,'HoldToWipJob', 480, 'FALSE', 'FALSE', 'TRUE', 'TRUE', 'TRUE', 'FALSE', 'TRUE', 'TRUE', 'FALSE', 'FALSE', 'TRUE', NULL, NULL, '隔离转线边任务', '2023-08-01 10:16:47', '1', '2024-07-10 12:04:12', '1', '2023-08-01 10:16:47', '1000000000000000000', '', 'FALSE', '', 4, '', b'0', 3);
-- 增加记录类型配置:隔离转线边
INSERT INTO `document_recordsetting`( `code`, `interface_type`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipRecord', 'TRANSFER', 'TRUE', NULL, NULL, '隔离转线边记录', '2023-08-01 10:30:19', '1', '2023-08-01 10:30:19', '1', '2023-08-01 10:30:19', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 2);
INSERT INTO `document_recordsetting`( `code`, `interface_type`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipRecord', 'TRANSFER', 'TRUE', NULL, NULL, '隔离转线边记录', '2023-08-01 10:30:19', '1', '2023-08-01 10:30:19', '1', '2023-08-01 10:30:19', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 3);
-- 增加单据任务设置:隔离转线边
INSERT INTO `document_documentsetting`( `code`, `name`, `description`, `type`, `business_type`, `number_prefix`, `date_format`, `serial_length`, `separator_str`, `reset_period`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ('HoldToWipJob', '隔离转线边任务', '', 'JOB', 'HoldToWip', 'JOB36', 'yyyyMMdd', 4, '', 'DAY', 'TRUE', NULL, NULL, '', '2023-08-01 11:08:53', '1', '2023-08-01 11:08:53', '1', '2023-08-01 11:08:53', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 2);
INSERT INTO `document_documentsetting`( `code`, `name`, `description`, `type`, `business_type`, `number_prefix`, `date_format`, `serial_length`, `separator_str`, `reset_period`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ('HoldToWipJob', '隔离转线边任务', '', 'JOB', 'HoldToWip', 'JOB36', 'yyyyMMdd', 4, '', 'DAY', 'TRUE', NULL, NULL, '', '2023-08-01 11:08:53', '1', '2023-08-01 11:08:53', '1', '2023-08-01 11:08:53', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 3);
-- 增加单据记录设置:隔离转线边
INSERT INTO `document_documentsetting`( `code`, `name`, `description`, `type`, `business_type`, `number_prefix`, `date_format`, `serial_length`, `separator_str`, `reset_period`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipRecord', '隔离转线边记录', '', 'RECORD', 'HoldToWip', 'REC61', 'yyyyMMdd', 4, '', 'DAY', 'TRUE', NULL, NULL, '', '2023-08-01 11:31:48', '1', '2023-08-01 11:31:48', '1', '2023-08-01 11:31:48', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 2);
INSERT INTO `document_documentsetting`( `code`, `name`, `description`, `type`, `business_type`, `number_prefix`, `date_format`, `serial_length`, `separator_str`, `reset_period`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipRecord', '隔离转线边记录', '', 'RECORD', 'HoldToWip', 'REC61', 'yyyyMMdd', 4, '', 'DAY', 'TRUE', NULL, NULL, '', '2023-08-01 11:31:48', '1', '2023-08-01 11:31:48', '1', '2023-08-01 11:31:48', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 3);
-- 增加单据申请设置:隔离转线边
INSERT INTO `document_documentsetting`( `code`, `name`, `description`, `type`, `business_type`, `number_prefix`, `date_format`, `serial_length`, `separator_str`, `reset_period`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipRequest', '隔离转线边申请', '', 'REQUEST', 'HoldToWip', 'REQ56', 'yyyyMMdd', 4, '', 'DAY', 'TRUE', NULL, NULL, '', '2023-08-01 10:57:16', '1', '2023-08-01 10:57:16', '1', '2023-08-01 10:57:16', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 2);
INSERT INTO `document_documentsetting`( `code`, `name`, `description`, `type`, `business_type`, `number_prefix`, `date_format`, `serial_length`, `separator_str`, `reset_period`, `available`, `active_time`, `expire_time`, `remark`, `create_time`, `creator`, `update_time`, `updater`, `deletion_time`, `deleter_id`, `deleter_name`, `is_soft_deleted`, `extra_properties`, `concurrency_stamp`, `site_id`, `deleted`, `tenant_id`) VALUES ( 'HoldToWipRequest', '隔离转线边申请', '', 'REQUEST', 'HoldToWip', 'REQ56', 'yyyyMMdd', 4, '', 'DAY', 'TRUE', NULL, NULL, '', '2023-08-01 10:57:16', '1', '2023-08-01 10:57:16', '1', '2023-08-01 10:57:16', '1000000000000000000', '', 'FALSE', '', 1, '', b'0', 3);
-- 增加单据流水配置:隔离转线边
INSERT INTO `system_serial_number`( `rule_code`, `rule_name`, `prefix`, `pattern`, `length`, `separator`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( 'HoldToWipRecord', '隔离转线边记录', 'REC61', 'yyyyMMdd', 4, '-', NULL, '1', '2024-09-19 15:11:27', '1', '2024-09-19 15:11:27', b'0');
INSERT INTO `system_serial_number`( `rule_code`, `rule_name`, `prefix`, `pattern`, `length`, `separator`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( 'HoldToWipJob', '隔离转线边任务', 'JOB38', 'yyyyMMdd', 4, '-', NULL, '1', '2024-09-19 15:10:08', '1', '2024-09-19 15:10:08', b'0');
INSERT INTO `system_serial_number`( `rule_code`, `rule_name`, `prefix`, `pattern`, `length`, `separator`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES ( 'HoldToWipRequest', '隔离转线边申请', 'REQ58', 'yyyyMMdd', 4, '-', NULL, '1', '2024-09-19 14:32:46', '1', '2024-09-19 15:08:42', b'0');
-- 计划外出库增加目的地字段
ALTER TABLE request_unplannedissue_main add COLUMN destination VARCHAR(255) DEFAULT NULL COMMENT '目的地';
ALTER TABLE job_unplannedissue_main add COLUMN destination VARCHAR(255) DEFAULT NULL COMMENT '目的地';

3
win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/serialNumber/RuleCodeEnum.java

@ -50,6 +50,7 @@ public enum RuleCodeEnum {
OK_TO_HOLD_REQUEST("OkToHoldRequest"), // 合格转隔离申请
NOK_TO_HOLD_REQUEST("NokToHoldRequest"), // 不合格转隔离申请
HOLD_TO_OK_REQUEST("HoldToOkRequest"), // 隔离转合格申请
HOLD_TO_WIP_REQUEST("HoldToWipRequest"), // 隔离转线边申请
HOLD_TO_SCRAP_REQUEST("HoldToScrapRequest"), // 隔离转报废申请
OK_TO_SCRAP_REQUEST("OktoScrapRequest"), // 合格转报废申请
SCRAP_TO_HOLD_REQUEST("ScrapToHoldRequest"), // 报废转隔离申请
@ -81,6 +82,7 @@ public enum RuleCodeEnum {
OK_TO_HOLD_JOB("OkToHoldJob"), // 合格转隔离任务
NOK_TO_HOLD_JOB("NokToHoldJob"), // 不合格转隔离任务
HOLD_TO_OK_JOB("HoldToOkJob"), // 隔离转合格任务
HOLD_TO_WIP_JOB("HoldToWipJob"), // 隔离转线边任务
HOLD_TO_SCRAP_JOB("HoldToScrapJob"), // 隔离转报废任务
OK_TO_SCRAP_JOB("OkToScrapJob"), // 合格转报废任务
SCRAP_TO_HOLD_JOB("ScrapToHoldJob"), // 报废转隔离任务
@ -126,6 +128,7 @@ public enum RuleCodeEnum {
OK_TO_HOLD_RECORD("OkToHoldRecord"), // 合格转隔离记录
NOK_TO_HOLD_RECORD("NokToHoldRecord"), // 不合格转隔离记录
HOLD_TO_OK_RECORD("HoldToOkRecord"), // 隔离转合格记录
HOLD_TO_WIP_RECORD("HoldToWipRecord"), // 隔离转线边记录
HOLD_TO_SCRAP_RECORD("HoldToScrapRecord"), // 隔离转报废记录
OK_TO_SCRAP_RECORD("OktoScrapRecord"), // 合格转报废记录
SCRAP_TO_HOLD_RECORD("ScrapToHoldRecord"), // 报废转隔离记录

18
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventorymoveRequest/InventorymoveRequestMainServiceImpl.java

@ -208,6 +208,8 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_OK_REQUEST.getCode());
}else if("Move".equals(inventorymoveRequestMainDO.getBusinessType())){
number = serialNumberApi.generateCode(RuleCodeEnum.MOVE_REQUEST.getCode());
}else if("HoldToWip".equals(inventorymoveRequestMainDO.getBusinessType())){
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_WIP_REQUEST.getCode());
}
inventorymoveRequestMainDO.setNumber(number);
inventorymoveRequestMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
@ -240,10 +242,14 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest
validatelocation(inventorymoveRequestMainDO, inventorymoveRequestDetailDO);
ItembasicDO itembasicDO = validteitembasic(inventorymoveRequestDetailDO);
// 隔离转合格申请
if ("HOLD".equals(inventorymoveRequestDetailDO.getFromInventoryStatus()) && "OK".equals(inventorymoveRequestDetailDO.getToInventoryStatus())) {
if ("HOLD".equals(inventorymoveRequestDetailDO.getFromInventoryStatus()) && "OK".equals(inventorymoveRequestDetailDO.getToInventoryStatus()) && "HoldToOk".equals(inventorymoveRequestMainDO.getBusinessType())) {
String OkToScrapRequest = "HoldToOk";
CreateBusinessTypeAndRequestSetting(inventorymoveRequestMainDO, inventorymoveRequestDetailDO, itembasicDO, OkToScrapRequest);
}
else if("HOLD".equals(inventorymoveRequestDetailDO.getFromInventoryStatus()) && "OK".equals(inventorymoveRequestDetailDO.getToInventoryStatus()) && "HoldToWip".equals(inventorymoveRequestMainDO.getBusinessType())){
String OkToScrapRequest = "HoldToWip";
CreateBusinessTypeAndRequestSetting(inventorymoveRequestMainDO, inventorymoveRequestDetailDO, itembasicDO, OkToScrapRequest);
}
// // 合格转隔离申请
else if ("HOLD".equals(inventorymoveRequestDetailDO.getToInventoryStatus()) && !inventorymoveRequestDetailDO.getFromInventoryStatus().equals(inventorymoveRequestDetailDO.getToInventoryStatus())) {
String OkToScrapRequest = "OkToHold";
@ -296,6 +302,8 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest
requestsetting = "OkToHoldRequest";
} else if ("HoldToOk".equals(businesstypeCode)) {
requestsetting = "HoldToOkRequest";
} else if ("HoldToWip".equals(businesstypeCode)) {
requestsetting = "HoldToWipRequest";
} else if ("HoldToScrap".equals(businesstypeCode)) {
requestsetting = "HoldToScrapRequest";
} else if ("OkToScrap".equals(businesstypeCode)) {
@ -797,6 +805,10 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_OK_RECORD.getCode());
recordsettingDO = recordsettingService.selectRecordsettingExist("HoldToOkRecord");
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("HoldToOkRecord", "隔离转合格记录");
}else if("HoldToWip".equals(mainDO.getBusinessType())){
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_WIP_RECORD.getCode());
recordsettingDO = recordsettingService.selectRecordsettingExist("HoldToWipRecord");
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("HoldToWipRecord", "隔离转线边记录");
} else if ("OkToHold".equals(mainDO.getBusinessType())) {
number = serialNumberApi.generateCode(RuleCodeEnum.OK_TO_HOLD_RECORD.getCode());
recordsettingDO = recordsettingService.selectRecordsettingExist("OkToHoldRecord");
@ -991,6 +1003,10 @@ public class InventorymoveRequestMainServiceImpl implements InventorymoveRequest
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_OK_JOB.getCode());
jobsettingDO = jobsettingService.selectJobsettingExist("HoldToOkJob");
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("HoldToOkJob", "隔离转合格任务");
} else if("HoldToWip".equals(mainDO.getBusinessType())){
number = serialNumberApi.generateCode(RuleCodeEnum.HOLD_TO_WIP_JOB.getCode());
jobsettingDO = jobsettingService.selectJobsettingExist("HoldToWipJob");
businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("HoldToWipJob", "隔离转线边任务");
} else if ("OkToHold".equals(mainDO.getBusinessType())) {
number = serialNumberApi.generateCode(RuleCodeEnum.OK_TO_HOLD_JOB.getCode());
jobsettingDO = jobsettingService.selectJobsettingExist("OkToHoldJob");

Loading…
Cancel
Save