From 7b6d5a8ae0927c5abab2c3ff7d43aa0d3a796487 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期三, 26 三月 2025 15:46:41 +0800
Subject: [PATCH] fix: 修改测试最大号表接口
---
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java | 6 +
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java | 3
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/JcMaxSizeService.java | 15 ++
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/JcMaxSizeMapper.java | 2
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/JcMaxSizeServiceImpl.java | 77 ++++++++++++
platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/MaxSize.java | 5
platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml | 1
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java | 10 +
platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/JcMaxSizeController.java | 167 +++++++++++++++++++++++++++
platformx-device-biz/src/main/resources/mapper/JcMaxSizeMapper.xml | 26 ++++
10 files changed, 309 insertions(+), 3 deletions(-)
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java
index 3936224..08f9085 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandSub.java
@@ -36,6 +36,9 @@
@Schema(description = "寤鸿鍘傚")
@Column(columnDefinition="VARCHAR(64) comment '寤鸿鍘傚'")
private String manu;
+ @Schema(description = "骞村害")
+ @Column(columnDefinition="int comment '骞村害'")
+ private Integer year;
@Schema(description = "鎶曡祫蹇呰鎬�")
@Column(columnDefinition="VARCHAR(64) comment '鎶曡祫蹇呰鎬�'")
private String necessity;
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java
index 9c066b8..381e122 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/DeviceDemandTotal.java
@@ -28,9 +28,15 @@
@Schema(description = "鎷熶娇鐢ㄥ湴鐐�")
@Column(columnDefinition="VARCHAR(64) comment '鎷熶娇鐢ㄥ湴鐐�'")
private String place;
+ @Schema(description = "椤圭洰鍚嶇О")
+ @Column(columnDefinition="VARCHAR(64) comment '椤圭洰鍚嶇О'")
+ private String name;
@Schema(description = "鐢宠閮ㄩ棬")
@Column(columnDefinition="long comment '鐢宠閮ㄩ棬'")
private Long deptId;
+ @Schema(description = "鐢宠閮ㄩ棬")
+ @Column(columnDefinition="VARCHAR(64) comment '鐢宠閮ㄩ棬'")
+ private String deptName;
@Schema(description = "寤鸿鍘傚")
@Column(columnDefinition="VARCHAR(64) comment '寤鸿鍘傚'")
private String manu;
diff --git a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/MaxSize.java b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/MaxSize.java
index 9a0b8d7..c468bec 100644
--- a/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/MaxSize.java
+++ b/platformx-device-api/src/main/java/com/by4cloud/platformx/device/entity/MaxSize.java
@@ -50,8 +50,13 @@
@Column(columnDefinition="VARCHAR(32) comment'缁勭粐鍐呯紪鐮�'")
private String innerCode;
+ @Column(columnDefinition="VARCHAR(32) comment'鏃ユ湡'")
+ private String day;
+
@Column(columnDefinition="int comment'缂栧彿闀垮害'")
private Integer length;
+ @Column(columnDefinition="int comment'绫诲瀷'")
+ private Integer type;
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
index 914cdb9..a5d572c 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/DeviceDemandTotalController.java
@@ -86,7 +86,15 @@
QueryWrapper<DeviceDemandTotal> wrapper = new QueryWrapper<>();
wrapper.lambda()
.eq(DeviceDemandTotal::getPlanId,id);
- return R.ok(deviceDemandTotalService.list(wrapper));
+ List<DeviceDemandTotal> list = deviceDemandTotalService.list(wrapper);
+ for (DeviceDemandTotal deviceDemandTotal : list) {
+ QueryWrapper<DeviceDemandSub> wrapper1 = new QueryWrapper<>();
+ wrapper1.lambda()
+ .eq(DeviceDemandSub::getTotalId,deviceDemandTotal.getId());
+ List<DeviceDemandSub> list1 = deviceDemandSubService.list(wrapper1);
+ deviceDemandTotal.setSubList(list1);
+ }
+ return R.ok(list);
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/JcMaxSizeController.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/JcMaxSizeController.java
new file mode 100644
index 0000000..9be4da2
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/controller/JcMaxSizeController.java
@@ -0,0 +1,167 @@
+package com.by4cloud.platformx.device.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.common.security.annotation.Inner;
+import com.by4cloud.platformx.device.constant.MaxSizeContant;
+import com.by4cloud.platformx.device.entity.MaxSize;
+import com.by4cloud.platformx.device.service.JcMaxSizeService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.api.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.Max;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 鏈�澶у彿琛�
+ *
+ * @author kdq
+ * @date 2025-03-25 16:24:34
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/jcMaxSize" )
+@Tag(description = "jcMaxSize" , name = "鏈�澶у彿琛ㄧ鐞�" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class JcMaxSizeController {
+
+ private final JcMaxSizeService jcMaxSizeService;
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param page 鍒嗛〉瀵硅薄
+ * @param jcMaxSize 鏈�澶у彿琛�
+ * @return
+ */
+ @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+ @GetMapping("/page" )
+ @PreAuthorize("@pms.hasPermission('device_jcMaxSize_view')" )
+ public R getJcMaxSizePage(@ParameterObject Page page, @ParameterObject MaxSize jcMaxSize) {
+ LambdaQueryWrapper<MaxSize> wrapper = Wrappers.lambdaQuery();
+ wrapper.like(StringUtils.isNotBlank(jcMaxSize.getBusinessName()),MaxSize::getBusinessName,jcMaxSize.getBusinessName());
+ wrapper.eq(MaxSize::getType,0);
+ return R.ok(jcMaxSizeService.page(page, wrapper));
+ }
+
+ @GetMapping("/getNum" )
+ public R getNum() {
+ String s = jcMaxSizeService.nextNo(MaxSizeContant.DEVICE_NUM);
+ String s1 = jcMaxSizeService.nextNo(MaxSizeContant.DEVICE_CLASS_NUM);
+ String s2 = jcMaxSizeService.nextNo(MaxSizeContant.CONTRACT_NUM);
+ System.out.println(s);
+ System.out.println(s1);
+ System.out.println(s2);
+ return null;
+ }
+
+
+ /**
+ * 閫氳繃id鏌ヨ鏈�澶у彿琛�
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+ @GetMapping("/{id}" )
+ @PreAuthorize("@pms.hasPermission('device_jcMaxSize_view')" )
+ public R getById(@PathVariable("id" ) Long id) {
+ return R.ok(jcMaxSizeService.getById(id));
+ }
+
+ /**
+ * 閫氳繃id鏌ヨ鏈�澶у彿琛�
+ * @param id id
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+ @GetMapping("/getByMasterId/{id}" )
+ public R getByMasterId(@PathVariable("id" ) Long id) {
+ MaxSize byId = jcMaxSizeService.getById(id);
+ LambdaQueryWrapper<MaxSize> wrapper = Wrappers.lambdaQuery();
+ wrapper.eq(MaxSize::getSign,byId.getSign());
+ wrapper.ne(MaxSize::getType,0);
+ wrapper.orderByDesc(MaxSize::getDay);
+ return R.ok(jcMaxSizeService.list(wrapper));
+ }
+
+
+ /**
+ * 鏂板鏈�澶у彿琛�
+ * @param jcMaxSize 鏈�澶у彿琛�
+ * @return R
+ */
+ @Operation(summary = "鏂板鏈�澶у彿琛�" , description = "鏂板鏈�澶у彿琛�" )
+ @SysLog("鏂板鏈�澶у彿琛�" )
+ @PostMapping
+ @PreAuthorize("@pms.hasPermission('device_jcMaxSize_add')" )
+ public R save(@RequestBody MaxSize jcMaxSize) {
+ LambdaQueryWrapper<MaxSize> wrapper = Wrappers.lambdaQuery();
+ wrapper.eq(MaxSize::getSign,jcMaxSize.getSign());
+ wrapper.eq(MaxSize::getType,0);
+ List<MaxSize> list = jcMaxSizeService.list(wrapper);
+ if(list !=null && list.size()>0){
+ return R.failed("涓婚敭鏍囪瘑宸插瓨鍦�");
+ }
+ return R.ok(jcMaxSizeService.save(jcMaxSize));
+ }
+
+ /**
+ * 淇敼鏈�澶у彿琛�
+ * @param jcMaxSize 鏈�澶у彿琛�
+ * @return R
+ */
+ @Operation(summary = "淇敼鏈�澶у彿琛�" , description = "淇敼鏈�澶у彿琛�" )
+ @SysLog("淇敼鏈�澶у彿琛�" )
+ @PutMapping
+ @PreAuthorize("@pms.hasPermission('device_jcMaxSize_edit')" )
+ public R updateById(@RequestBody MaxSize jcMaxSize) {
+ LambdaQueryWrapper<MaxSize> wrapper = Wrappers.lambdaQuery();
+ wrapper.eq(MaxSize::getSign,jcMaxSize.getSign());
+ wrapper.ne(MaxSize::getId,jcMaxSize.getId());
+ List<MaxSize> list = jcMaxSizeService.list(wrapper);
+ if(list !=null && list.size()>0){
+ return R.failed("涓婚敭鏍囪瘑閲嶅");
+ }
+ return R.ok(jcMaxSizeService.updateById(jcMaxSize));
+ }
+
+ /**
+ * 閫氳繃id鍒犻櫎鏈�澶у彿琛�
+ * @param ids id鍒楄〃
+ * @return R
+ */
+ @Operation(summary = "閫氳繃id鍒犻櫎鏈�澶у彿琛�" , description = "閫氳繃id鍒犻櫎鏈�澶у彿琛�" )
+ @SysLog("閫氳繃id鍒犻櫎鏈�澶у彿琛�" )
+ @DeleteMapping
+ @PreAuthorize("@pms.hasPermission('device_jcMaxSize_del')" )
+ public R removeById(@RequestBody Long[] ids) {
+ return R.ok(jcMaxSizeService.removeBatchByIds(CollUtil.toList(ids)));
+ }
+
+
+ /**
+ * 瀵煎嚭excel 琛ㄦ牸
+ * @param jcMaxSize 鏌ヨ鏉′欢
+ * @param ids 瀵煎嚭鎸囧畾ID
+ * @return excel 鏂囦欢娴�
+ */
+ @ResponseExcel
+ @GetMapping("/export")
+ @PreAuthorize("@pms.hasPermission('device_jcMaxSize_export')" )
+ public List<MaxSize> export(MaxSize jcMaxSize,Long[] ids) {
+ return jcMaxSizeService.list(Wrappers.lambdaQuery(jcMaxSize).in(ArrayUtil.isNotEmpty(ids), MaxSize::getId, ids));
+ }
+}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/MaxSizeMapper.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/JcMaxSizeMapper.java
similarity index 76%
rename from platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/MaxSizeMapper.java
rename to platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/JcMaxSizeMapper.java
index 8a34170..0e060a2 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/MaxSizeMapper.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/mapper/JcMaxSizeMapper.java
@@ -5,7 +5,7 @@
import org.apache.ibatis.annotations.Mapper;
@Mapper
-public interface MaxSizeMapper extends PlatformxBaseMapper<MaxSize> {
+public interface JcMaxSizeMapper extends PlatformxBaseMapper<MaxSize> {
}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/JcMaxSizeService.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/JcMaxSizeService.java
new file mode 100644
index 0000000..854ffb7
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/JcMaxSizeService.java
@@ -0,0 +1,15 @@
+package com.by4cloud.platformx.device.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.device.entity.MaxSize;
+
+public interface JcMaxSizeService extends IService<MaxSize> {
+
+ /**
+ *
+ * @param type
+ * @return
+ */
+ String nextNo(String type);
+
+}
diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/JcMaxSizeServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/JcMaxSizeServiceImpl.java
new file mode 100644
index 0000000..26d748b
--- /dev/null
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/JcMaxSizeServiceImpl.java
@@ -0,0 +1,77 @@
+package com.by4cloud.platformx.device.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.by4cloud.platformx.common.security.service.PlatformxUser;
+import com.by4cloud.platformx.common.security.util.SecurityUtils;
+import com.by4cloud.platformx.device.entity.MaxSize;
+import com.by4cloud.platformx.device.mapper.JcMaxSizeMapper;
+import com.by4cloud.platformx.device.service.JcMaxSizeService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.constraints.Max;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Random;
+
+/**
+ * 鏈�澶у彿琛�
+ *
+ * @author kdq
+ * @date 2025-03-25 16:24:34
+ */
+@Service
+@AllArgsConstructor
+@Transactional
+public class JcMaxSizeServiceImpl extends ServiceImpl<JcMaxSizeMapper, MaxSize> implements JcMaxSizeService {
+ private final JcMaxSizeMapper maxSizeMapper;
+ @Override
+ public String nextNo(String type) {
+ synchronized (this) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ String format = sdf.format(new Date());
+ MaxSize maxSize = maxSizeMapper.selectOne(new QueryWrapper<MaxSize>().lambda().eq(MaxSize::getSign, type).eq(MaxSize::getType,0));
+ if (maxSize == null) {
+ return null;
+ }else {
+ MaxSize dayMax = maxSizeMapper.selectOne(new QueryWrapper<MaxSize>().lambda()
+ .eq(MaxSize::getSign, type)
+ .eq(MaxSize::getDay,format));
+ Random random = new Random();
+ int randomNumber = random.nextInt(99);
+ if(dayMax == null){
+ MaxSize maxSize1 = new MaxSize();
+ maxSize1.setSign(type);
+ maxSize1.setDay(format);
+ maxSize1.setType(1);
+ int current = 1;
+ String n = padStart(current, maxSize.getLength());
+ String pre = (maxSize.getUsePrefix() == 0 ? "" : maxSize.getPrefixName());
+ String suf = (maxSize.getUseSuffix() == 0 ? "" : maxSize.getSuffixName());
+ maxSize1.setCurrentNumber(current);
+ save(maxSize1);
+ String s = pre+format+suf+randomNumber+n;
+ return s;
+ }else {
+ Integer currentNumber = dayMax.getCurrentNumber();
+ int current = currentNumber+1;
+ String n = padStart(current, maxSize.getLength());
+ String pre = (maxSize.getUsePrefix() == 0 ? "" : maxSize.getPrefixName());
+ String suf = (maxSize.getUseSuffix() == 0 ? "" : maxSize.getSuffixName());
+ dayMax.setCurrentNumber(current);
+ updateById(dayMax);
+ String s = pre+format+suf+randomNumber+n;
+ return s;
+ }
+ }
+ }
+ }
+
+ private String padStart(int num, int len) {
+ String v = "000000000000000" + num;
+ return v.substring(v.length() - len);
+ }
+}
diff --git a/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml b/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
index 26353cc..ec1d5c8 100644
--- a/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
+++ b/platformx-device-biz/src/main/resources/mapper/DeviceMapper.xml
@@ -15,7 +15,6 @@
<result property="beforeDate" column="before_date"/>
<result property="remindDate" column="remind_date"/>
<result property="num" column="num"/>
- <result property="amount" column="amount"/>
<result property="month" column="month"/>
<result property="releaseDate" column="release_date"/>
<result property="releasePerson" column="release_person"/>
diff --git a/platformx-device-biz/src/main/resources/mapper/JcMaxSizeMapper.xml b/platformx-device-biz/src/main/resources/mapper/JcMaxSizeMapper.xml
new file mode 100644
index 0000000..3b76458
--- /dev/null
+++ b/platformx-device-biz/src/main/resources/mapper/JcMaxSizeMapper.xml
@@ -0,0 +1,26 @@
+<?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="com.by4cloud.platformx.device.mapper.JcMaxSizeMapper">
+
+ <resultMap id="jcMaxSizeMap" type="com.by4cloud.platformx.device.entity.MaxSize">
+ <id property="id" column="id"/>
+ <result property="compId" column="comp_id"/>
+ <result property="businessName" column="business_name"/>
+ <result property="sign" column="sign"/>
+ <result property="currentNumber" column="current_number"/>
+ <result property="cacheSize" column="cache_size"/>
+ <result property="usePrefix" column="use_prefix"/>
+ <result property="useSuffix" column="use_suffix"/>
+ <result property="prefixName" column="prefix_name"/>
+ <result property="suffixName" column="suffix_name"/>
+ <result property="length" column="length"/>
+ <result property="innerCode" column="inner_code"/>
+ <result property="isAll" column="is_all"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+</mapper>
--
Gitblit v1.9.1