From 362dfdd63912552114f89c731ec650a1af3909b4 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期三, 19 三月 2025 13:41:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- db/数据库产品化设计.pdma.json | 436 +++++++++++++++++++++++++++++++-- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysBusinessCodeSeqMapper.java | 14 + lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysBusinessCodeRuleController.java | 3 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java | 9 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeRuleService.java | 7 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeRule.java | 8 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeSeq.java | 71 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java | 11 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeRuleServiceImpl.java | 111 ++++++++ lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysBusinessCodeSeqMapper.xml | 5 lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeSeqService.java | 23 + lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeSeqServiceImpl.java | 58 ++++ 12 files changed, 714 insertions(+), 42 deletions(-) diff --git "a/db/\346\225\260\346\215\256\345\272\223\344\272\247\345\223\201\345\214\226\350\256\276\350\256\241.pdma.json" "b/db/\346\225\260\346\215\256\345\272\223\344\272\247\345\223\201\345\214\226\350\256\276\350\256\241.pdma.json" index af1f06a..1b39343 100644 --- "a/db/\346\225\260\346\215\256\345\272\223\344\272\247\345\223\201\345\214\226\350\256\276\350\256\241.pdma.json" +++ "b/db/\346\225\260\346\215\256\345\272\223\344\272\247\345\223\201\345\214\226\350\256\276\350\256\241.pdma.json" @@ -4,7 +4,7 @@ "avatar": "", "version": "4.9.2", "createdTime": "2025-3-10 16:38:19", - "updatedTime": "2025-3-14 17:48:33", + "updatedTime": "2025-3-19 13:16:28", "dbConns": [], "profile": { "default": { @@ -620,7 +620,7 @@ "freeze": false } ], - "modelType": "modalAll", + "modelType": "modalGroup", "recentColors": [ "#d148d1", "#ce4bce", @@ -2810,6 +2810,24 @@ "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", "id": "66A13E43-E49B-42F5-B3E2-3AF22E0A3D07", "uiHint": null + }, + { + "defKey": "parameter_category", + "defName": "鍙傛暟鍒嗙被", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", + "id": "D724F162-FAB5-448E-B0A1-14AD0C5A8CE9" } ], "correlations": [], @@ -14782,12 +14800,12 @@ "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, - "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", "id": "8E2E374D-26D3-43F7-B21D-9F426E598DAA" }, { "defKey": "file_name", - "defName": "鏂囦欢鍘熷鍚嶇О", + "defName": "鏂囦欢鍚嶇О", "comment": "", "type": "", "len": "", @@ -14820,24 +14838,6 @@ "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "7DD92935-AF34-4DCF-8AF7-310BF043C96C" - }, - { - "defKey": "full_path", - "defName": "鏂囦欢鍏ㄨ矾寰�", - "comment": "", - "type": "", - "len": "", - "scale": "", - "primaryKey": false, - "notNull": false, - "autoIncrement": false, - "defaultValue": "", - "hideInGraph": false, - "refDict": "", - "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", - "extProps": {}, - "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", - "id": "13A5EDE6-6902-4DFE-95E6-7D853D1CE808" }, { "defKey": "file_suffix", @@ -15248,7 +15248,7 @@ }, { "defKey": "day_format", - "defName": "澶� 缂栫爜鏍煎紡", + "defName": "澶╃紪鐮佹牸寮�", "comment": "", "type": "", "len": "", @@ -15281,10 +15281,355 @@ "extProps": {}, "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "id": "81BF4261-D1BC-494E-981B-7B069AAFAD6A" + } + ], + "correlations": [], + "indexes": [], + "type": "P" + }, + { + "id": "C0BBEF88-3FC1-443D-AC9D-EC780080BC93", + "env": { + "base": { + "nameSpace": "", + "codeRoot": "" + } + }, + "defKey": "sys_business_code_seq", + "defName": "涓氬姟缂栫爜鐢熸垚搴忓垪", + "comment": "", + "properties": { + "partitioned by": "(date string)", + "row format delimited": "", + "fields terminated by ','": "", + "collection items terminated by '-'": "", + "map keys terminated by ':'": "", + "store as textfile;": "" + }, + "sysProps": { + "nameTemplate": "{defKey}[{defName}]" + }, + "notes": {}, + "headers": [ + { + "refKey": "hideInGraph", + "hideInGraph": true }, { - "defKey": "current_num", - "defName": "褰撳墠搴忓彿", + "refKey": "defKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "defName", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "primaryKey", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "notNull", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "autoIncrement", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "domain", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "type", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "len", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "scale", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "comment", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "refDict", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "defaultValue", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "isStandard", + "freeze": false, + "hideInGraph": false + }, + { + "refKey": "uiHint", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "extProps", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr1", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr2", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr3", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr4", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr5", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr6", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr7", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr8", + "freeze": false, + "hideInGraph": true + }, + { + "refKey": "attr9", + "freeze": false, + "hideInGraph": true + } + ], + "fields": [ + { + "defKey": "id", + "defName": "涓婚敭", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": true, + "notNull": true, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "9DD983C4-9AB5-4A9F-B7CA-0203B1E580AD" + }, + { + "defKey": "create_by", + "defName": "鍒涘缓浜�", + "comment": "", + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "8FD1D5E4-2A2B-4052-828A-C1C0AB1BD31E", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "create_time", + "defName": "鍒涘缓鏃堕棿", + "comment": "", + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "D59D8049-B400-4650-AF75-67EF1B60B5AC", + "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" + }, + { + "defKey": "update_by", + "defName": "鏇存柊浜�", + "comment": "", + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "refDict": "", + "uiHint": "", + "id": "56CA7F2E-C1D6-47B9-BB08-2A3E442D3778", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" + }, + { + "defKey": "update_time", + "defName": "鏇存柊鏃堕棿", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": true, + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "refDict": "", + "extProps": {}, + "notes": {}, + "attr1": "", + "attr2": "", + "attr3": "", + "attr4": "", + "attr5": "", + "attr6": "", + "attr7": "", + "attr8": "", + "attr9": "", + "id": "B415329C-1A9B-4992-9164-138B6BC194F4", + "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" + }, + { + "defKey": "rule_id", + "defName": "瑙勫垯缂栫爜", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "1361B964-C35F-4FBF-808F-7FFD289A133E" + }, + { + "defKey": "prefix", + "defName": "鍓嶇紑", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "223B017A-F289-4FE4-AF2B-BC9847ECF977" + }, + { + "defKey": "current_year", + "defName": "褰撳墠骞翠唤", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "F103D770-A2A4-4E1F-9D80-6768C7431AD7" + }, + { + "defKey": "current_month", + "defName": "褰撳墠鏈堜唤", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "ABF01002-A024-417D-8765-75FD12826579" + }, + { + "defKey": "current_day", + "defName": "褰撳墠澶�", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "35896231-A3CC-44D7-8B39-06DB21B05DC7" + }, + { + "defKey": "current_seq", + "defName": "褰撳墠搴忓垪鍊�", "comment": "", "type": "", "len": "", @@ -15298,7 +15643,7 @@ "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", "extProps": {}, "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", - "id": "C65F1569-4D7D-4400-A25D-492661AD94B4" + "id": "20C01EF4-19BC-40DE-8BB6-CC1915FD8AC2" } ], "correlations": [], @@ -15938,6 +16283,39 @@ "id": "6C803912-BF5E-404E-8ABB-6CB5C8C42BA9" } ] + }, + { + "defKey": "process_parameters_category", + "defName": "宸ヨ壓鍙傛暟鍒嗙被", + "sort": "", + "intro": "", + "id": "3AA9C9FB-86F2-4836-83EB-E2F8B2E540E7", + "items": [ + { + "defKey": "1", + "defName": "鍔犲伐鑼冨洿", + "sort": "", + "parentKey": "", + "intro": "", + "enabled": true, + "attr1": "", + "attr2": "", + "attr3": "", + "id": "81046783-462D-4D8E-995A-9BA2106B8476" + }, + { + "defKey": "2", + "defName": "褰綅鍏樊", + "sort": "", + "parentKey": "", + "intro": "", + "enabled": true, + "attr1": "", + "attr2": "", + "attr3": "", + "id": "6D24525A-2701-47DB-976C-424B244268D0" + } + ] } ], "viewGroups": [ @@ -15980,7 +16358,8 @@ "804A08AE-C5BE-49C9-BCA3-B6521C236EE1", "918CE0CD-78C7-4BEF-95F3-BAE2C4F828ED", "378CF92C-B63B-4D7F-84DF-5D2F84CE4753", - "DD05C32B-EF6C-40DB-A6BB-3A9E3AD75E65" + "DD05C32B-EF6C-40DB-A6BB-3A9E3AD75E65", + "C0BBEF88-3FC1-443D-AC9D-EC780080BC93" ], "refViews": [], "refDiagrams": [], @@ -15993,7 +16372,8 @@ "7C1D42A1-3178-484D-800D-AF47EC1B2836", "26337992-3648-404E-AB89-521D93C6F5DB", "401E137A-715C-4AF4-A54C-4EDCB8EB44A6", - "9F5E1ECC-9826-4C0B-BC55-725E0ADCA2F6" + "9F5E1ECC-9826-4C0B-BC55-725E0ADCA2F6", + "3AA9C9FB-86F2-4836-83EB-E2F8B2E540E7" ], "id": "8270D4EA-5A4E-46A2-B341-B84890AD8F5F" } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java index d5aefc7..42b8a38 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.util.oConvertUtils; @@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -48,6 +50,9 @@ public class EamProcessParametersController extends JeecgController<EamProcessParameters, IEamProcessParametersService> { @Autowired private IEamProcessParametersService eamProcessParametersService; + + @Autowired + private ISysBusinessCodeRuleService businessCodeRuleService; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -66,6 +71,7 @@ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamProcessParameters> queryWrapper = QueryGenerator.initQueryWrapper(eamProcessParameters, req.getParameterMap()); + queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0); Page<EamProcessParameters> page = new Page<EamProcessParameters>(pageNo, pageSize); IPage<EamProcessParameters> pageList = eamProcessParametersService.page(page, queryWrapper); return Result.OK(pageList); @@ -81,6 +87,9 @@ @ApiOperation(value="宸ュ簭鍙傛暟缁存姢-娣诲姞", notes="宸ュ簭鍙傛暟缁存姢-娣诲姞") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamProcessParameters eamProcessParameters) { + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq("ProcessParametersRule"); + eamProcessParameters.setParameterCode(codeSeq); + eamProcessParameters.setDelFlag(CommonConstant.DEL_FLAG_0); eamProcessParametersService.save(eamProcessParameters); return Result.OK("娣诲姞鎴愬姛锛�"); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java index c817b17..f313c9f 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; @@ -30,34 +31,32 @@ @ApiModelProperty(value = "涓婚敭") private String id; /**鍒涘缓浜�*/ - @Excel(name = "鍒涘缓浜�", width = 15) @ApiModelProperty(value = "鍒涘缓浜�") private String createBy; /**鍒涘缓鏃堕棿*/ @ApiModelProperty(value = "鍒涘缓鏃堕棿") private Date createTime; /**鏇存柊浜�*/ - @Excel(name = "鏇存柊浜�", width = 15) @ApiModelProperty(value = "鏇存柊浜�") private String updateBy; /**鏇存柊鏃堕棿*/ @ApiModelProperty(value = "鏇存柊鏃堕棿") private Date updateTime; /**鍒犻櫎鏍囪*/ - @Excel(name = "鍒犻櫎鏍囪", width = 15) @ApiModelProperty(value = "鍒犻櫎鏍囪") private Integer delFlag; /**鍙傛暟缂栫爜*/ - @Excel(name = "鍙傛暟缂栫爜", width = 15) + @Excel(name = "鍙傛暟缂栫爜", width = 25) @ApiModelProperty(value = "鍙傛暟缂栫爜") private String parameterCode; /**鍙傛暟鍚嶇О*/ - @Excel(name = "鍙傛暟鍚嶇О", width = 15) + @Excel(name = "鍙傛暟鍚嶇О", width = 25) @ApiModelProperty(value = "鍙傛暟鍚嶇О") private String parameterName; /**鍙傛暟鍒嗙被*/ - @Excel(name = "鍙傛暟鍒嗙被", width = 15) + @Excel(name = "鍙傛暟鍒嗙被", width = 15, dicCode = "process_parameters_category") @ApiModelProperty(value = "鍙傛暟鍒嗙被") + @Dict(dicCode = "process_parameters_category") private String parameterCategory; /**璁¢噺鍗曚綅*/ @Excel(name = "璁¢噺鍗曚綅", width = 15) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysBusinessCodeRuleController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysBusinessCodeRuleController.java index c662045..32a4845 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysBusinessCodeRuleController.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysBusinessCodeRuleController.java @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.system.entity.SysBusinessCodeRule; @@ -48,6 +49,7 @@ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<SysBusinessCodeRule> queryWrapper = QueryGenerator.initQueryWrapper(sysBusinessCodeRule, req.getParameterMap()); + queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0); Page<SysBusinessCodeRule> page = new Page<SysBusinessCodeRule>(pageNo, pageSize); IPage<SysBusinessCodeRule> pageList = sysBusinessCodeRuleService.page(page, queryWrapper); return Result.OK(pageList); @@ -63,6 +65,7 @@ @ApiOperation(value="涓氬姟缂栫爜瑙勫垯-娣诲姞", notes="涓氬姟缂栫爜瑙勫垯-娣诲姞") @PostMapping(value = "/add") public Result<?> add(@RequestBody SysBusinessCodeRule sysBusinessCodeRule) { + sysBusinessCodeRule.setDelFlag(CommonConstant.DEL_FLAG_0); sysBusinessCodeRuleService.save(sysBusinessCodeRule); return Result.OK("娣诲姞鎴愬姛锛�"); } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeRule.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeRule.java index d87f243..4e1806d 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeRule.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeRule.java @@ -69,15 +69,11 @@ @ApiModelProperty(value = "鏈堜唤缂栫爜鏍煎紡") private String monthFormat; /**澶� 缂栫爜鏍煎紡*/ - @Excel(name = "澶� 缂栫爜鏍煎紡", width = 15) - @ApiModelProperty(value = "澶� 缂栫爜鏍煎紡") + @Excel(name = "澶╃紪鐮佹牸寮�", width = 15) + @ApiModelProperty(value = "澶╃紪鐮佹牸寮�") private String dayFormat; /**搴忓彿闀垮害*/ @Excel(name = "搴忓彿闀垮害", width = 15) @ApiModelProperty(value = "搴忓彿闀垮害") private Integer seqLength; - /**褰撳墠搴忓彿*/ - @Excel(name = "褰撳墠搴忓彿", width = 15) - @ApiModelProperty(value = "褰撳墠搴忓彿") - private Integer currentNum; } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeSeq.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeSeq.java new file mode 100644 index 0000000..0217956 --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/SysBusinessCodeSeq.java @@ -0,0 +1,71 @@ +package org.jeecg.modules.system.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 涓氬姟缂栫爜鐢熸垚搴忓垪 + * @Author: jeecg-boot + * @Date: 2025-03-19 + * @Version: V1.0 + */ +@Data +@TableName("sys_business_code_seq") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="sys_business_code_seq瀵硅薄", description="涓氬姟缂栫爜鐢熸垚搴忓垪") +public class SysBusinessCodeSeq implements Serializable { + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @Excel(name = "鍒涘缓浜�", width = 15) + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃堕棿*/ + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + /**鏇存柊浜�*/ + @Excel(name = "鏇存柊浜�", width = 15) + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃堕棿*/ + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date updateTime; + /**瑙勫垯缂栫爜*/ + @Excel(name = "瑙勫垯缂栫爜", width = 15) + @ApiModelProperty(value = "瑙勫垯缂栫爜") + private String ruleId; + /**鍓嶇紑*/ + @Excel(name = "鍓嶇紑", width = 15) + @ApiModelProperty(value = "鍓嶇紑") + private String prefix; + /**褰撳墠骞翠唤*/ + @Excel(name = "褰撳墠骞翠唤", width = 15) + @ApiModelProperty(value = "褰撳墠骞翠唤") + private String currentYear; + /**褰撳墠鏈堜唤*/ + @Excel(name = "褰撳墠鏈堜唤", width = 15) + @ApiModelProperty(value = "褰撳墠鏈堜唤") + private String currentMonth; + /**褰撳墠澶�*/ + @Excel(name = "褰撳墠澶�", width = 15) + @ApiModelProperty(value = "褰撳墠澶�") + private String currentDay; + /**褰撳墠搴忓垪鍊�*/ + @Excel(name = "褰撳墠搴忓垪鍊�", width = 15) + @ApiModelProperty(value = "褰撳墠搴忓垪鍊�") + private Integer currentSeq; +} diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysBusinessCodeSeqMapper.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysBusinessCodeSeqMapper.java new file mode 100644 index 0000000..eed233e --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysBusinessCodeSeqMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.system.entity.SysBusinessCodeSeq; + +/** + * @Description: 涓氬姟缂栫爜鐢熸垚搴忓垪 + * @Author: jeecg-boot + * @Date: 2025-03-19 + * @Version: V1.0 + */ +public interface SysBusinessCodeSeqMapper extends BaseMapper<SysBusinessCodeSeq> { + +} diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysBusinessCodeSeqMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysBusinessCodeSeqMapper.xml new file mode 100644 index 0000000..e7feff9 --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysBusinessCodeSeqMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.system.mapper.SysBusinessCodeSeqMapper"> + +</mapper> \ No newline at end of file diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeRuleService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeRuleService.java index f1179ee..7e2ab06 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeRuleService.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeRuleService.java @@ -10,5 +10,10 @@ * @Version: V1.0 */ public interface ISysBusinessCodeRuleService extends IService<SysBusinessCodeRule> { - + /** + * 鐢熸垚涓氬姟缂栫爜瀵瑰簲鐨勬祦姘村彿 + * @param businessCode 涓氬姟缂栫爜 + * @return + */ + String generateBusinessCodeSeq(String businessCode); } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeSeqService.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeSeqService.java new file mode 100644 index 0000000..5c26ba4 --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysBusinessCodeSeqService.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.system.service; + +import org.jeecg.modules.system.entity.SysBusinessCodeSeq; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 涓氬姟缂栫爜鐢熸垚搴忓垪 + * @Author: jeecg-boot + * @Date: 2025-03-19 + * @Version: V1.0 + */ +public interface ISysBusinessCodeSeqService extends IService<SysBusinessCodeSeq> { + /** + * 鑾峰彇褰撳墠搴忓垪鐢熸垚璁板綍 + * @param ruleId 瑙勫垯Id + * @param prefix 鍓嶇紑 + * @param yearValue 骞翠唤 + * @param monthValue 鏈堜唤 + * @param dayValue 澶� + * @return + */ + SysBusinessCodeSeq queryByParams(String ruleId, String prefix, String yearValue, String monthValue, String dayValue); +} diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeRuleServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeRuleServiceImpl.java index 3a3505e..ea9e380 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeRuleServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeRuleServiceImpl.java @@ -1,19 +1,128 @@ package org.jeecg.modules.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.system.entity.SysBusinessCodeRule; +import org.jeecg.modules.system.entity.SysBusinessCodeSeq; import org.jeecg.modules.system.mapper.SysBusinessCodeRuleMapper; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; +import org.jeecg.modules.system.service.ISysBusinessCodeSeqService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; /** * @Description: 涓氬姟缂栫爜瑙勫垯 * @Author: jeecg-boot - * @Date: 2025-03-17 + * @Date: 2025-03-17 * @Version: V1.0 */ @Service public class SysBusinessCodeRuleServiceImpl extends ServiceImpl<SysBusinessCodeRuleMapper, SysBusinessCodeRule> implements ISysBusinessCodeRuleService { + @Resource + private SysBusinessCodeRuleMapper businessCodeRuleMapper; + + @Autowired + private ISysBusinessCodeSeqService businessCodeSeqService; + + @Override + @Transactional(rollbackFor = Exception.class) + public String generateBusinessCodeSeq(String businessCode) { + //鏌ヨ鐢熸垚瑙勫垯 + LambdaQueryWrapper<SysBusinessCodeRule> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysBusinessCodeRule::getBusinessCode, businessCode); + queryWrapper.eq(SysBusinessCodeRule::getDelFlag, CommonConstant.DEL_FLAG_0); + List<SysBusinessCodeRule> list = businessCodeRuleMapper.selectList(queryWrapper); + if (CollectionUtil.isEmpty(list)) { + throw new JeecgBootException("鏈煡璇㈠埌閰嶇疆鐨勪笟鍔$紪鐮佺敓鎴愯鍒欙紝璇疯仈绯荤鐞嗗憳妫�鏌ワ紒"); + } + if (list.size() > 1) { + throw new JeecgBootException("鏌ヨ鍒板涓厤缃殑涓氬姟缂栫爜鐢熸垚瑙勫垯锛岃鑱旂郴绠$悊鍛樻鏌ワ紒"); + } + SysBusinessCodeRule businessCodeRule = list.get(0); + String prefix = businessCodeRule.getPrefix(); + String yearFormat = businessCodeRule.getYearFormat() == null ? "" : businessCodeRule.getYearFormat().trim(); + String monthFormat = businessCodeRule.getMonthFormat() == null ? "" : businessCodeRule.getMonthFormat().trim(); + String dayFormat = businessCodeRule.getDayFormat() == null ? "" : businessCodeRule.getDayFormat().trim(); + Integer seqLength = businessCodeRule.getSeqLength(); + String formatter = yearFormat + "-" + monthFormat + "-" + dayFormat; + //杞崲褰撳墠鏃ユ湡瀵瑰簲鐨勭敓鎴愬簭鍒� + String[] currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern(formatter)).split("-"); + int i = 0; + if (StringUtils.isNotBlank(yearFormat)) { + yearFormat = currentDate[i]; + i++; + }else { + yearFormat = null; + } + if (StringUtils.isNotBlank(monthFormat)) { + monthFormat = currentDate[i]; + i++; + }else { + monthFormat = null; + } + if (StringUtils.isNotBlank(dayFormat)) { + dayFormat = currentDate[i]; + }else { + dayFormat = null; + } + //鏌ヨ鐢熸垚搴忓垪 + SysBusinessCodeSeq sysBusinessCodeSeq = businessCodeSeqService.queryByParams(businessCodeRule.getId(), prefix, yearFormat, monthFormat, dayFormat); + if(sysBusinessCodeSeq == null){ + //鏂板鐢熸垚搴忓垪 + sysBusinessCodeSeq = new SysBusinessCodeSeq(); + sysBusinessCodeSeq.setRuleId(businessCodeRule.getId()); + sysBusinessCodeSeq.setPrefix(prefix); + sysBusinessCodeSeq.setCurrentYear(yearFormat); + sysBusinessCodeSeq.setCurrentMonth(monthFormat); + sysBusinessCodeSeq.setCurrentDay(dayFormat); + sysBusinessCodeSeq.setCurrentSeq(1); + businessCodeSeqService.save(sysBusinessCodeSeq); + }else { + //鏇存柊鐢熸垚搴忓垪 + sysBusinessCodeSeq.setCurrentSeq(sysBusinessCodeSeq.getCurrentSeq() + 1); + businessCodeSeqService.updateById(sysBusinessCodeSeq); + } + //杩斿洖鐢熸垚鐨勫簭鍒� + return appendPrefix(prefix, yearFormat, monthFormat, dayFormat, seqLength, sysBusinessCodeSeq.getCurrentSeq()); + } + + /** + * 鎷兼帴涓氬姟娴佹按鍙� + * @param prefix 鍓嶇紑 + * @param yearFormat 骞翠唤 + * @param monthFormat 鏈堜唤 + * @param dayFormat 澶� + * @param seqLength 搴忓彿闀垮害 + * @param currentSeq 褰撳墠搴忓彿 + * @return + */ + private String appendPrefix(String prefix, String yearFormat, String monthFormat, String dayFormat, Integer seqLength, Integer currentSeq) { + StringBuilder sb = new StringBuilder(); + if(StringUtils.isNotBlank(prefix)){ + sb.append(prefix); + } + if(StringUtils.isNotBlank(yearFormat)){ + sb.append(yearFormat); + } + if(StringUtils.isNotBlank(monthFormat)){ + sb.append(monthFormat); + } + if(StringUtils.isNotBlank(dayFormat)){ + sb.append(dayFormat); + } + sb.append(StringUtils.leftPad(currentSeq.toString(), seqLength, '0')); + return sb.toString(); + } } diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeSeqServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeSeqServiceImpl.java new file mode 100644 index 0000000..26c1e8b --- /dev/null +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBusinessCodeSeqServiceImpl.java @@ -0,0 +1,58 @@ +package org.jeecg.modules.system.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.commons.lang3.StringUtils; +import org.jeecg.modules.system.entity.SysBusinessCodeSeq; +import org.jeecg.modules.system.mapper.SysBusinessCodeSeqMapper; +import org.jeecg.modules.system.service.ISysBusinessCodeSeqService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.List; + +/** + * @Description: 涓氬姟缂栫爜鐢熸垚搴忓垪 + * @Author: jeecg-boot + * @Date: 2025-03-19 + * @Version: V1.0 + */ +@Service +public class SysBusinessCodeSeqServiceImpl extends ServiceImpl<SysBusinessCodeSeqMapper, SysBusinessCodeSeq> implements ISysBusinessCodeSeqService { + + @Override + public SysBusinessCodeSeq queryByParams(String ruleId, String prefix, String yearValue, String monthValue, String dayValue) { + LambdaQueryWrapper<SysBusinessCodeSeq> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysBusinessCodeSeq::getRuleId, ruleId); + queryWrapper.orderByDesc(SysBusinessCodeSeq::getCreateTime); + if(StringUtils.isNotBlank(prefix)){ + queryWrapper.eq(SysBusinessCodeSeq::getPrefix, prefix); + }else { + queryWrapper.isNull(SysBusinessCodeSeq::getPrefix); + } + + if(StringUtils.isNotBlank(yearValue)){ + queryWrapper.eq(SysBusinessCodeSeq::getCurrentYear, yearValue); + }else { + queryWrapper.isNull(SysBusinessCodeSeq::getCurrentYear); + } + + if(StringUtils.isNotBlank(monthValue)){ + queryWrapper.eq(SysBusinessCodeSeq::getCurrentMonth, monthValue); + }else { + queryWrapper.isNull(SysBusinessCodeSeq::getCurrentMonth); + } + + if(StringUtils.isNotBlank(dayValue)){ + queryWrapper.eq(SysBusinessCodeSeq::getCurrentDay, dayValue); + }else { + queryWrapper.isNull(SysBusinessCodeSeq::getCurrentDay); + } + List<SysBusinessCodeSeq> list = super.list(queryWrapper); + if(CollectionUtil.isEmpty(list)){ + return null; + } + return list.get(0); + } +} -- Gitblit v1.9.3