diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/controller/coderule/SysCodeRuleController.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/controller/coderule/SysCodeRuleController.java new file mode 100644 index 00000000..bb9868b6 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/controller/coderule/SysCodeRuleController.java @@ -0,0 +1,78 @@ +package org.nl.system.controller.coderule; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.anno.Log; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.coderule.ISysCodeRuleService; +import org.nl.system.service.coderule.dao.SysCodeRule; +import org.nl.system.service.coderule.dto.CodeRuleQuery; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 编码规则表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@RestController +@Api(tags = "系统:编码生成") +@RequiredArgsConstructor +@RequestMapping("/api/genCode") +public class SysCodeRuleController { + private final ISysCodeRuleService codeRuleService; + + @ApiOperation("查询编码") + @GetMapping +// @SaCheckPermission("genCode:list") + public ResponseEntity queryAll(CodeRuleQuery form, PageQuery pageable) { + return new ResponseEntity<>(TableDataInfo.build(codeRuleService.queryAll(form, pageable)), HttpStatus.OK); + } + + @Log("新增编码") + @ApiOperation("新增编码") + @PostMapping +// @SaCheckPermission("genCode:add") + public ResponseEntity create(@Validated @RequestBody SysCodeRule codeRule) { + codeRuleService.create(codeRule); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @Log("删除编码") + @ApiOperation("删除编码") + @DeleteMapping +// @SaCheckPermission("genCode:del") + public ResponseEntity delete(@RequestBody Set ids) { + codeRuleService.deleteCodeRule(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("修改编码") + @ApiOperation("修改编码") + @PutMapping +// @SaCheckPermission("genCode:edit") + public ResponseEntity update(@RequestBody SysCodeRule codeRule) { + codeRuleService.updateCodeRule(codeRule); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @ApiOperation("导出任务数据") + @GetMapping(value = "/codeDemo") +// @SaCheckPermission("genCode:list") + public ResponseEntity CodeDemo(@RequestParam Map form) throws IOException { + return new ResponseEntity<>(codeRuleService.codeDemo(form), HttpStatus.OK); + } +} + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/controller/coderule/SysCodeRuleDetailController.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/controller/coderule/SysCodeRuleDetailController.java new file mode 100644 index 00000000..9c5f04d9 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/controller/coderule/SysCodeRuleDetailController.java @@ -0,0 +1,67 @@ +package org.nl.system.controller.coderule; + + +import cn.dev33.satoken.annotation.SaCheckPermission; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.anno.Log; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.coderule.ISysCodeRuleDetailService; +import org.nl.system.service.coderule.dao.SysCodeRuleDetail; +import org.nl.system.service.coderule.dto.CodeRuleDetailQuery; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +/** + *

+ * 编码规则明细表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-20 + */ +@Api(tags = "系统:编码详情管理") +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/codeDetail") +public class SysCodeRuleDetailController { + private final ISysCodeRuleDetailService codeDetailService; + + @ApiOperation("查询编码明细") + @GetMapping +// @SaCheckPermission("genCode:list") + public ResponseEntity queryAll(CodeRuleDetailQuery form, PageQuery pageable){ + return new ResponseEntity<>(TableDataInfo.build(codeDetailService.queryAll(form,pageable)), HttpStatus.OK); + } + + @Log("新增编码明细") + @ApiOperation("新增编码明细") + @PostMapping +// @SaCheckPermission("genCode:add") + public ResponseEntity create(@RequestBody SysCodeRuleDetail codeRuleDetail){ + codeDetailService.create(codeRuleDetail); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @Log("删除编码明细") + @ApiOperation("删除编码明细") + @DeleteMapping(value = "/{id}") +// @SaCheckPermission("genCode:del") + public ResponseEntity delete(@PathVariable String id){ + codeDetailService.delete(id); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("修改编码明细") + @ApiOperation("修改编码明细") + @PutMapping +// @SaCheckPermission("genCode:edit") + public ResponseEntity update(@RequestBody SysCodeRuleDetail json){ + codeDetailService.update(json); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } +} + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/ISysCodeRuleDetailService.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/ISysCodeRuleDetailService.java new file mode 100644 index 00000000..5ba06ff8 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/ISysCodeRuleDetailService.java @@ -0,0 +1,34 @@ +package org.nl.system.service.coderule; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.coderule.dao.SysCodeRuleDetail; +import org.nl.system.service.coderule.dto.CodeRuleDetailQuery; + +/** + *

+ * 编码规则明细表 服务类 + *

+ * + * @author generator + * @since 2022-12-20 + */ +public interface ISysCodeRuleDetailService extends IService { + + IPage queryAll(CodeRuleDetailQuery form, PageQuery pageable); + + void create(SysCodeRuleDetail codeRuleDetail); + + /** + * 根据id删除 + * @param id + */ + void delete(String id); + + /** + * 修改明细 + * @param json + */ + void update(SysCodeRuleDetail json); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/ISysCodeRuleService.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/ISysCodeRuleService.java new file mode 100644 index 00000000..8b5b8eb7 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/ISysCodeRuleService.java @@ -0,0 +1,54 @@ +package org.nl.system.service.coderule; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.coderule.dao.SysCodeRule; +import org.nl.system.service.coderule.dto.CodeRuleQuery; + +import java.util.Map; +import java.util.Set; + +/** + *

+ * 编码规则表 服务类 + *

+ * + * @author generator + * @since 2022-12-19 + */ +public interface ISysCodeRuleService extends IService { + + /** + * 分页查询 + * @param form + * @param pageable + * @return + */ + IPage queryAll(CodeRuleQuery form, PageQuery pageable); + + /** + * 创建编码 + * @param form + * @return + */ + String codeDemo(Map form); + + /** + * 添加 + * @param codeRule + */ + void create(SysCodeRule codeRule); + + /** + * 删除编码 + * @param ids + */ + void deleteCodeRule(Set ids); + + /** + * 修改编码 + * @param codeRule + */ + void updateCodeRule(SysCodeRule codeRule); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/SysCodeRule.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/SysCodeRule.java new file mode 100644 index 00000000..6b5cf78b --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/SysCodeRule.java @@ -0,0 +1,94 @@ +package org.nl.system.service.coderule.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 编码规则表 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_code_rule") +public class SysCodeRule implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 标识 + */ + @TableId + private String id; + + /** + * 编码 + */ + private String code; + + /** + * 名称 + */ + private String name; + + /** + * 当前值 + */ + private String currentValue; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String isActive; + + /** + * 是否删除 + */ + private String isDelete; + + /** + * 创建id + */ + private String createId; + + /** + * 创建者 + */ + private String createName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 修改id + */ + private String updateId; + + /** + * 修改者 + */ + private String updateName; + + /** + * 修改时间 + */ + private String updateTime; + + @TableField(exist = false) + private String demo; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/SysCodeRuleDetail.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/SysCodeRuleDetail.java new file mode 100644 index 00000000..eb76582c --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/SysCodeRuleDetail.java @@ -0,0 +1,132 @@ +package org.nl.system.service.coderule.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 编码规则明细表 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_code_rule_detail") +public class SysCodeRuleDetail implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 明细标识 + */ + @TableId + private String id; + + /** + * 编码规则类型 + */ + private String type; + + /** + * 初始值 + */ + private String initValue; + + /** + * 当前值 + */ + private String currentValue; + + /** + * 允许最大值 + */ + private String maxValue; + + /** + * 步长 + */ + private String step; + + /** + * 填充值 + */ + private String fillchar; + + /** + * 格式 + */ + private String format; + + /** + * 长度 + */ + private Integer length; + + /** + * 排序号 + */ + private BigDecimal sortNum; + + /** + * 备注 + */ + private String remark; + + /** + * 编码规则标识 + */ + private String codeRuleId; + + /** + * 是否启用 + */ + private String isActive; + + /** + * 是否删除 + */ + private String isDelete; + + /** + * 创建id + */ + private String createId; + + /** + * 创建者 + */ + private String createName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 修改id + */ + private String updateId; + + /** + * 修改者 + */ + private String updateName; + + /** + * 修改时间 + */ + private String updateTime; + + @TableField(exist = false) + private String dictName; + + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleDetailMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleDetailMapper.java new file mode 100644 index 00000000..cf208db6 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleDetailMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.coderule.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.coderule.dao.SysCodeRuleDetail; + +/** + *

+ * 编码规则明细表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-19 + */ +public interface SysCodeRuleDetailMapper extends BaseMapper { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleDetailMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleDetailMapper.xml new file mode 100644 index 00000000..d6301b10 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleDetailMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleMapper.java new file mode 100644 index 00000000..ca0be0b0 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.coderule.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.coderule.dao.SysCodeRule; + +/** + *

+ * 编码规则表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-19 + */ +public interface SysCodeRuleMapper extends BaseMapper { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleMapper.xml new file mode 100644 index 00000000..75142bce --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dao/mapper/SysCodeRuleMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dto/CodeRuleDetailQuery.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dto/CodeRuleDetailQuery.java new file mode 100644 index 00000000..0aabcf24 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dto/CodeRuleDetailQuery.java @@ -0,0 +1,22 @@ +package org.nl.system.service.coderule.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.system.service.coderule.dao.SysCodeRuleDetail; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/20 + */ +@Data +public class CodeRuleDetailQuery extends BaseQuery { + String id; + + @Override + public void paramMapping() { + this.doP.put("id", QParam.builder().k(new String[]{"code_rule_id"}).type(QueryTEnum.EQ).build()); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dto/CodeRuleQuery.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dto/CodeRuleQuery.java new file mode 100644 index 00000000..421f6f2e --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/dto/CodeRuleQuery.java @@ -0,0 +1,19 @@ +package org.nl.system.service.coderule.dto; + +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.system.service.coderule.dao.SysCodeRule; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/19 + */ +public class CodeRuleQuery extends BaseQuery { + + @Override + public void paramMapping() { + this.doP.put("blurry", QParam.builder().k(new String[]{"code", "name"}).type(QueryTEnum.LK).build()); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleDetailServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleDetailServiceImpl.java new file mode 100644 index 00000000..ce8f82c2 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleDetailServiceImpl.java @@ -0,0 +1,80 @@ +package org.nl.system.service.coderule.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.system.service.coderule.ISysCodeRuleDetailService; +import org.nl.system.service.coderule.dao.SysCodeRuleDetail; +import org.nl.system.service.coderule.dao.mapper.SysCodeRuleDetailMapper; +import org.nl.system.service.coderule.dto.CodeRuleDetailQuery; +import org.nl.system.service.coderule.utils.CodeRuleTypeEnum; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; + +/** + *

+ * 编码规则明细表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-20 + */ +@Service +@RequiredArgsConstructor +public class SysCodeRuleDetailServiceImpl extends ServiceImpl implements ISysCodeRuleDetailService { + + private final SysCodeRuleDetailMapper codeRuleDetailMapper; + @Override + public IPage queryAll(CodeRuleDetailQuery form, PageQuery page) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(SysCodeRuleDetail::getCodeRuleId, form.getId()) + .orderByAsc(SysCodeRuleDetail::getSortNum); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + codeRuleDetailMapper.selectPage(pages, lam); + return pages; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(SysCodeRuleDetail codeRuleDetail) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentNickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + codeRuleDetail.setId(IdUtil.getSnowflake(1,1).nextIdStr()); + codeRuleDetail.setCurrentValue(codeRuleDetail.getInitValue()); + codeRuleDetail.setCreateId(currentUserId); + codeRuleDetail.setCreateName(currentNickName); + codeRuleDetail.setCreateTime(now); + codeRuleDetail.setUpdateId(currentUserId); + codeRuleDetail.setUpdateName(currentNickName); + codeRuleDetail.setUpdateTime(now); + if (codeRuleDetail.getType().equals(CodeRuleTypeEnum.DATE.getType())) { + Date date = DateUtil.date(); + String format = codeRuleDetail.getFormat(); + String nowDate = DateUtil.format(date, format); + codeRuleDetail.setInitValue(nowDate); + codeRuleDetail.setCurrentValue(nowDate); + } + codeRuleDetailMapper.insert(codeRuleDetail); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String id) { + codeRuleDetailMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(SysCodeRuleDetail json) { + codeRuleDetailMapper.updateById(json); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleServiceImpl.java new file mode 100644 index 00000000..bd6809b4 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/impl/SysCodeRuleServiceImpl.java @@ -0,0 +1,168 @@ +package org.nl.system.service.coderule.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.MapOf; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.coderule.ISysCodeRuleService; +import org.nl.system.service.coderule.dao.SysCodeRule; +import org.nl.system.service.coderule.dao.SysCodeRuleDetail; +import org.nl.system.service.coderule.dao.mapper.SysCodeRuleDetailMapper; +import org.nl.system.service.coderule.dao.mapper.SysCodeRuleMapper; +import org.nl.system.service.coderule.dto.CodeRuleQuery; +import org.nl.system.service.coderule.utils.CodeRuleTypeEnum; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 编码规则表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@Service +@RequiredArgsConstructor +public class SysCodeRuleServiceImpl extends ServiceImpl implements ISysCodeRuleService { + + private final SysCodeRuleMapper codeRuleMapper; + private final SysCodeRuleDetailMapper codeRuleDetailMapper; + + @Override + public IPage queryAll(CodeRuleQuery form, PageQuery pageable) { + IPage page = this.page(pageable.build(SysCodeRule.class), form.build()); + page.getRecords().forEach(sysCodeRule -> sysCodeRule.setDemo(codeDemo(MapOf.of("flag", "0", "code", sysCodeRule.getCode())))); + return page; + } + + @Override + public synchronized String codeDemo(Map form) { + String code = (String) form.get("code"); + String id = codeRuleMapper.selectOne(new LambdaQueryWrapper().eq(SysCodeRule::getCode, code)).getId(); + // 如果flag = 1就执行更新数据库的操作 + String flag = (String) form.get("flag"); + List ruleDetails = codeRuleDetailMapper.selectList(new LambdaQueryWrapper().eq(SysCodeRuleDetail::getCodeRuleId, id)); + String demo = ""; + boolean isSame = true; + for(SysCodeRuleDetail detail : ruleDetails) { + String value = ""; + String type = detail.getType(); + //固定直接取值 + if (type.equals(CodeRuleTypeEnum.FIXED.getType())) { + value = detail.getInitValue(); + } + //日期判断数据库的值与当前值是否相同来决定顺序的值 + if (type.equals(CodeRuleTypeEnum.DATE.getType())) { + String currentValue = detail.getCurrentValue(); + Date date = DateUtil.date(); + String format = detail.getFormat(); + String nowDate = DateUtil.format(date, format); + if (!nowDate.equals(currentValue)) { + isSame = false; + } + if (flag.equals("1")) { + detail.setInitValue(nowDate); + detail.setCurrentValue(nowDate); + } + value = nowDate; + } + //顺序的值:如果日期一样就+步长,等于最大值就归为初始值;日期不一样就归为初始值 + if (type.equals(CodeRuleTypeEnum.ORDER.getType())) { + String numValue = ""; + int step = Integer.parseInt(detail.getStep()); + Long maxValue = Long.valueOf(detail.getMaxValue()); + if (!isSame && (Long.valueOf(detail.getCurrentValue()) + step) > maxValue) { + numValue = detail.getInitValue(); + } else { + numValue = Integer.parseInt(detail.getCurrentValue()) + step + ""; + } + int size = numValue.length(); + int length = detail.getLength(); + String fillchar = detail.getFillchar(); + for (int m = 0; m < (length - size); m++) { + value += fillchar; + } + value += numValue; + if (flag.equals("1")) { + if (!isSame) { + int initValue = Integer.parseInt(detail.getInitValue()); + if (StrUtil.isEmpty((initValue + ""))) { + throw new BadRequestException("请完善编码数值的初始值!"); + } + detail.setCurrentValue(String.valueOf(initValue)); + } else { + int numCurr = Integer.parseInt(detail.getCurrentValue()); + if (numCurr >= maxValue) { + numCurr = Integer.parseInt(detail.getInitValue()); + detail.setCurrentValue(String.valueOf(numCurr)); + }else{ + detail.setCurrentValue(String.valueOf(numCurr + step)); + } + } + } + } + demo += value; + if (flag.equals("1")) { + codeRuleDetailMapper.updateById(detail); + } + } + return demo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(SysCodeRule codeRule) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + String now = DateUtil.now(); + List sysCodeRules = codeRuleMapper.selectList(new LambdaQueryWrapper().eq(SysCodeRule::getCode, codeRule.getCode())); + if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException("编号[" + sysCodeRules.get(0).getCode() + "]已存在"); + codeRule.setId(IdUtil.getSnowflake(1,1).nextIdStr()); + codeRule.setCreateId(currentUserId); + codeRule.setCreateName(currentUsername); + codeRule.setCreateTime(now); + codeRule.setUpdateId(currentUserId); + codeRule.setUpdateName(currentUsername); + codeRule.setUpdateTime(now); + codeRuleMapper.insert(codeRule); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteCodeRule(Set ids) { + ids.forEach(id -> { + codeRuleMapper.deleteById(id); + codeRuleDetailMapper.delete(new LambdaQueryWrapper().eq(SysCodeRuleDetail::getCodeRuleId, id)); + }); + } + + @Override + public void updateCodeRule(SysCodeRule codeRule) { + List sysCodeRules = codeRuleMapper.selectList(new LambdaQueryWrapper() + .eq(SysCodeRule::getCode, codeRule.getCode()) + .ne(SysCodeRule::getId, codeRule.getId())); + if (ObjectUtil.isNotEmpty(sysCodeRules)) throw new BadRequestException("该编码code已存在,请校验!"); + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + String now = DateUtil.now(); + codeRule.setUpdateId(currentUserId); + codeRule.setUpdateName(currentUsername); + codeRule.setUpdateTime(now); + codeRuleMapper.updateById(codeRule); + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/utils/CodeRuleTypeEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/utils/CodeRuleTypeEnum.java new file mode 100644 index 00000000..939d2eae --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/system/service/coderule/utils/CodeRuleTypeEnum.java @@ -0,0 +1,20 @@ +package org.nl.system.service.coderule.utils; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @Author: lyd + * @Description: 编码类型枚举 + * @Date: 2022/12/19 + */ +@Getter +@AllArgsConstructor +public enum CodeRuleTypeEnum { + FIXED("01", "固定"), + DATE("02", "日期"), + ORDER("03", "顺序"); + + private final String type; + private final String description; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/utils/sys.xls b/mes/hd/nladmin-system/src/main/java/org/nl/utils/sys.xls new file mode 100644 index 00000000..2f6967a2 Binary files /dev/null and b/mes/hd/nladmin-system/src/main/java/org/nl/utils/sys.xls differ diff --git a/mes/qd/src/views/tools/codeGen/codeDetail.vue b/mes/qd/src/views/tools/codeGen/codeDetail.vue index bf35eb48..14f831f5 100644 --- a/mes/qd/src/views/tools/codeGen/codeDetail.vue +++ b/mes/qd/src/views/tools/codeGen/codeDetail.vue @@ -11,7 +11,7 @@ - +
- +
@@ -61,12 +61,12 @@ - +
- - + + - + @@ -23,7 +23,7 @@
- +
@@ -31,10 +31,10 @@ - - - - + + + +