From 83b806c93215e01f82972a34985f2a177d525422 Mon Sep 17 00:00:00 2001 From: "396572590@qq.com" Date: Fri, 1 Jul 2022 14:38:34 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20bug?= =?UTF-8?q?=20#56143=20=E4=BC=81=E6=A0=87=E7=9B=B8=E5=85=B3--=20=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E4=BA=BA=E5=91=98=E5=90=8E=E5=B8=A6=E5=85=A5=E7=9A=84?= =?UTF-8?q?=E8=B5=B7=E8=8D=89=E8=B4=A3=E4=BB=BB=E5=8D=95=E4=BD=8D=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E4=B8=89=E7=BA=A7=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TsInstitutionController.java | 10 ++++- .../sarInstitution/dao/TsInstitutionDao.java | 4 ++ .../sarInstitution/entity/TsInstitution.java | 3 ++ .../slrs/sarInstitution/entity/TsUserVO.java | 11 +++++ .../service/ITsInstitutionService.java | 4 +- .../impl/TsInstitutionServiceImpl.java | 40 ++++++++++++++++++- .../sarInstitution/TsInstitutionMapper.xml | 8 +++- 7 files changed, 74 insertions(+), 6 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java index 48c379de..f6ad667d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java @@ -105,6 +105,12 @@ public class TsInstitutionController extends BaseController { return tsInstitutionService.getNext(institutionId,userName); } + @ApiOperation("topNum 获取人员上几级部门") + @GetMapping("/selectNowInst") + public List selectNowInst(String institutionId,String userName,String topNum){ + return tsInstitutionService.selectNowInst(institutionId,userName,topNum); + } + @GetMapping("/getNextTwo") public List getNextTwo(String userName){ return tsInstitutionService.getNextTwo(userName); @@ -112,8 +118,8 @@ public class TsInstitutionController extends BaseController { @ApiOperation("获得下一级的部门和人员") @GetMapping("/getNextById") - public List getNextById(String ids){ - return tsInstitutionService.getNextById(ids); + public List getNextById(String ids,Integer topNum){ + return tsInstitutionService.getNextById(ids,topNum); } @ApiOperation("获得第一级部门目录") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java index ee5884f0..2bbd36c0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java @@ -7,6 +7,7 @@ import com.adc.da.slrs.sarInstitution.entity.TsUserVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.springframework.stereotype.Repository; import java.util.List; @@ -18,6 +19,7 @@ import java.util.List; * @author zyl * @since 2021-06-22 */ +@Repository public interface TsInstitutionDao extends BaseMapper { /** * 根据部门id查询此部门的子一级部门 @@ -37,6 +39,8 @@ public interface TsInstitutionDao extends BaseMapper { List selectNextUsers(@Param("institutionIds") List institutionIds,@Param("userName") String userName); + List selectNowInst(@Param("institutionId") String institutionId,@Param("topNum") String topNum); + List selectNextUserByIds(@Param("ids") List ids); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java index 208c0c21..8889a405 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java @@ -48,6 +48,9 @@ public class TsInstitution extends BaseEntity { @ApiModelProperty(value = "子机构") private List children; + @TableField(exist = false) + private List topChildren; + @JsonIgnore @TableField(exist = false) @ApiModelProperty(value = "人员") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsUserVO.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsUserVO.java index e33d3e4c..6a0c536c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsUserVO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsUserVO.java @@ -126,4 +126,15 @@ public class TsUserVO { @ApiModelProperty(value = "单位Id") @TableField(exist = false) private String unitId; + + @ApiModelProperty(value = "上级单位 根据规则参数 返回上几级单位") + @TableField(exist = false) + private String topUnit; + + @ApiModelProperty(value = "上级单位Id 根据规则参数 返回上几级单位") + @TableField(exist = false) + private String topUnitId; + + @TableField(exist = false) + private List children; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java index 1e079bd4..5c4f991e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java @@ -39,11 +39,13 @@ public interface ITsInstitutionService extends IService { */ public List getNext(String institutionId,String userName); + public List selectNowInst(String institutionId,String userName,String topNum); + public List getNextTwo(String userName); public List getInstitutionIdToDept(String institutionIds,String userName); - public List getNextById(String ids); + public List getNextById(String ids,Integer topNum); /** * 获得第一级的部门 diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java index 5ae6190b..217f872f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java @@ -14,6 +14,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import io.swagger.models.auth.In; +import org.apache.commons.lang3.StringUtils; +import org.bouncycastle.pqc.math.linearalgebra.IntUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -211,6 +214,10 @@ public class TsInstitutionServiceImpl extends ServiceImpl selectNowInst(String institutionId,String userName,String topNum){ + return tsInstitutionDao.selectNowInst(institutionId, topNum); + } + /** * 通过部门id获得这个部门下的下一级部门 * @return @@ -223,6 +230,7 @@ public class TsInstitutionServiceImpl extends ServiceImpl getNextById(String ids){ + @Override + public List getNextById(String ids,Integer topNum){ List strings=new ArrayList<>(Arrays.asList(ids.split(","))); List tsUsers=tsInstitutionDao.selectNextUserByIds(strings); List res=new ArrayList<>(); + List list = tsInstitutionDao.selectList(new QueryWrapper<>()); + if (null!=tsUsers && tsUsers.size()>0){ Map middle=new HashMap<>(); for (TsUserVO u:tsUsers) { @@ -269,9 +280,36 @@ public class TsInstitutionServiceImpl extends ServiceImpl map = list.stream().collect(Collectors.toMap(TsInstitution::getId, tsInstitution -> tsInstitution)); + for (TsUserVO userVO : res) { + List tsInstitutions = new ArrayList<>(); + List institutions = getTopChild(map,userVO.getInstitutionId(),topNum,tsInstitutions); + if(!institutions.isEmpty()){ + if(institutions.size() >= topNum){ + userVO.setTopUnitId(institutions.get(topNum).getId()); + userVO.setTopUnit(institutions.get(topNum).getName()); + }else { + userVO.setTopUnitId(institutions.get(institutions.size()-1).getId()); + userVO.setTopUnit(institutions.get(institutions.size()-1).getName()); + } + } + } + + } return res; } + public List getTopChild(Map map,String id,int topNum,List institutions){ + TsInstitution institution = map.get(id); + if( institution != null && StringUtils.isNotBlank(institution.getParentId())){ + institutions.add(institution); + getTopChild(map,institution.getParentId(),topNum,institutions); + } + return institutions; + } public List getFirst(){ //查询第一层机构 diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml index dfde8487..4e26835d 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml @@ -81,6 +81,11 @@ order by ts_institution.id + + + From 4131965f6ecdce95082e8696e55a31f6b0cd1d31 Mon Sep 17 00:00:00 2001 From: "396572590@qq.com" Date: Sat, 2 Jul 2022 22:34:04 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20=20?= =?UTF-8?q?=E4=BC=81=E6=A0=87=E9=A1=BA=E5=BA=8F=E5=8F=B7=E5=85=B3=E8=81=94?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SarBussStandSnController.java | 38 ++++++++++ .../sarBussStandSn/dao/SarBussStandSnDao.java | 16 +++++ .../sarBussStandSn/entity/SarBussStandSn.java | 70 +++++++++++++++++++ .../service/ISarBussStandSnService.java | 17 +++++ .../impl/SarBussStandSnServiceImpl.java | 41 +++++++++++ .../SarBussionessStandController.java | 8 ++- .../service/ISarBussionessStandService.java | 2 +- .../impl/SarBussionessStandServiceImpl.java | 65 ++++++++++++++++- .../sarBussStandSn/SarBussStandSnMapper.xml | 5 ++ .../SarBussionessStandMapper.xml | 2 +- 10 files changed, 257 insertions(+), 7 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/dao/SarBussStandSnDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/entity/SarBussStandSn.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandSn/SarBussStandSnMapper.xml diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java new file mode 100644 index 00000000..b62628d6 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java @@ -0,0 +1,38 @@ +package com.adc.da.slrs.sarBussStandSn.controller; + + +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarBussStandSn.service.ISarBussStandSnService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import com.adc.da.base.web.BaseController; + +/** +*

+ * 企业标准信息表 前端控制器 + *

+* +* @author super_liu +* @since 2022-07-01 +*/ +@RestController +@Api(tags = "|SarBussStandSn|") +@RequestMapping("/sarBussStandSn/sar-buss-stand-sn") +public class SarBussStandSnController extends BaseController { + + @Autowired + private ISarBussStandSnService iSarBussStandSnService; + + @ApiOperation(value = "更新企标顺序号状态") + @GetMapping("modSnByProcess") + public ResponseMessage modSnByProcess(@RequestParam("taskId") String taskId){ + return Result.success(iSarBussStandSnService.modSnByProcess(taskId)); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/dao/SarBussStandSnDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/dao/SarBussStandSnDao.java new file mode 100644 index 00000000..97768b99 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/dao/SarBussStandSnDao.java @@ -0,0 +1,16 @@ +package com.adc.da.slrs.sarBussStandSn.dao; + +import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 企业标准信息表 Mapper 接口 + *

+ * + * @author super_liu + * @since 2022-07-01 + */ +public interface SarBussStandSnDao extends BaseMapper { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/entity/SarBussStandSn.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/entity/SarBussStandSn.java new file mode 100644 index 00000000..8cec9fdc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/entity/SarBussStandSn.java @@ -0,0 +1,70 @@ +package com.adc.da.slrs.sarBussStandSn.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + *

+ * 企业标准信息表 + *

+ * + * @author super_liu + * @since 2022-07-01 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarBussStandSn对象", description="企业标准信息表") +public class SarBussStandSn extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + @TableId("ID") + private String id; + + @ApiModelProperty(value = "计划库制定状态 0 默认 buss1_1 技术标准 制定 buss2_1 产品标准 制定 ") + @TableField("REVISE_STATUS") + private String reviseStatus; + + @ApiModelProperty(value = "企标顺序号") + @TableField("STAND_SN") + private String standSn; + + @ApiModelProperty(value = "企标类别") + @TableField("STAND_SORT") + private String standSort; + + @ApiModelProperty(value = "企标编号使用状态 yes 已使用 no 未使用") + @TableField("USE_STATUS") + private String useStatus; + + @ApiModelProperty(value = "是否有效") + @TableField("VALID_FLAG") + private String validFlag; + + @ApiModelProperty(value = "创建时间") + @TableField("CREATION_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + @ApiModelProperty(value = "修改时间") + @TableField("MODIFY_TIME") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date modifyTime; + + @ApiModelProperty(value = "任务ID 不为 null 取当前任务顺序号") + @TableField("TASK_ID") + private String taskId; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java new file mode 100644 index 00000000..e5d0a58e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java @@ -0,0 +1,17 @@ +package com.adc.da.slrs.sarBussStandSn.service; + +import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 企业标准信息表 服务类 + *

+ * + * @author super_liu + * @since 2022-07-01 + */ +public interface ISarBussStandSnService extends IService { + + Boolean modSnByProcess(String taskId); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java new file mode 100644 index 00000000..797770e2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java @@ -0,0 +1,41 @@ +package com.adc.da.slrs.sarBussStandSn.service.impl; + +import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; +import com.adc.da.slrs.sarBussStandSn.dao.SarBussStandSnDao; +import com.adc.da.slrs.sarBussStandSn.service.ISarBussStandSnService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + *

+ * 企业标准信息表 服务实现类 + *

+ * + * @author super_liu + * @since 2022-07-01 + */ +@Service +public class SarBussStandSnServiceImpl extends ServiceImpl implements ISarBussStandSnService { + + @Autowired + private ISarBussStandSnService iSarBussStandSnService; + + @Override + public Boolean modSnByProcess(String taskId){ + QueryWrapper qw = new QueryWrapper(); + qw.eq("TASK_ID",taskId); + int count = iSarBussStandSnService.count(qw); + if(count > 0){ + UpdateWrapper updateWrapper = new UpdateWrapper(); + updateWrapper.set("USE_STATUS","no"); + updateWrapper.set("TASK_ID",null); + updateWrapper.eq("TASK_ID",taskId); + return iSarBussStandSnService.update(updateWrapper); + } + + return false; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java index 376af408..19da6266 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/controller/SarBussionessStandController.java @@ -83,9 +83,11 @@ public class SarBussionessStandController extends BaseController getStandInfoByReviseStatus(String reviseStatus,String standSort) { - SarBussionessStand result = sarBussionessStandEOService.getStandInfoByReviseStatus(reviseStatus,standSort); - return Result.success(result); + public ResponseMessage getStandInfoByReviseStatus(String reviseStatus,String standSort,String taskId) { + synchronized (this){ + SarBussionessStand result = sarBussionessStandEOService.getStandInfoByReviseStatus(reviseStatus,standSort,taskId); + return Result.success(result); + } } @ApiOperation(value = "|SarBussionessStandEO|删除") diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java index 4ab28a1e..516cca3f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/ISarBussionessStandService.java @@ -19,7 +19,7 @@ import java.util.List; */ public interface ISarBussionessStandService extends IService { - SarBussionessStand getStandInfoByReviseStatus(String reviseStatus,String standSort); + SarBussionessStand getStandInfoByReviseStatus(String reviseStatus,String standSort,String taskId); void attrInfoDetails (SarBussionessStand row) throws Exception; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 238195df..68625a7f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -29,6 +29,8 @@ import com.adc.da.slrs.sarBussStandFile.entity.SarBussStandFile; import com.adc.da.slrs.sarBussStandItems.dao.SarBussStandItemsDao; import com.adc.da.slrs.sarBussStandMenu.dao.SarBussStandMenuDao; import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu; +import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; +import com.adc.da.slrs.sarBussStandSn.service.ISarBussStandSnService; import com.adc.da.slrs.sarBussStandVal.dao.SarBussStandValDao; import com.adc.da.slrs.sarBussStandVal.entity.SarBussStandVal; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; @@ -164,9 +166,68 @@ public class SarBussionessStandServiceImpl extends ServiceImpl 0){ + QueryWrapper qw = new QueryWrapper(); + qw.eq("REPLACE(STAND_SORT,' ','')",standSort.replace(" ","")); + qw.eq("TASK_ID",taskId); + qw.eq("USE_STATUS","yes"); + SarBussStandSn sns = iSarBussStandSnService.getOne(qw); + // 1.1 防止不同步撤回 页面未退出 及 防止页面刷新 已锁定的顺序号 被一直叠加 获取当前任务之前生成的顺序号 + if(sns != null && sns.getId() != null){ + // 1.1.1 返回顺序号 + bussionessStand.setNewStandSn(sns.getStandSn()); + }else { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.select("MIN(DISTINCT CAST(STAND_SN AS decimal(9))) AS STAND_SN"); + wrapper.eq("REPLACE(STAND_SORT,' ','')",standSort.replace(" ","")); + qw.isNull("TASK_ID"); + qw.eq("USE_STATUS","no"); + SarBussStandSn standSn = iSarBussStandSnService.getOne(wrapper); + // 1.1.2 查询 被撤回的 任务ID 被重置NULL 及 状态被重置 no 未使用 最小值 。。 "自动带入" "自动获取" 未被使用最小 顺序号 + if(standSn.getId() != null) { + // 1.1.2.1 返回顺序号 + bussionessStand.setNewStandSn(standSn.getStandSn()); + }else { + + QueryWrapper wrapper1 = new QueryWrapper(); + wrapper1.select("MAX(DISTINCT CAST(STAND_SN AS decimal(9)))+1 AS STAND_SN"); + wrapper1.eq("REPLACE(STAND_SORT,' ','')",standSort.replace(" ","")); + SarBussStandSn one = iSarBussStandSnService.getOne(wrapper); + // 1.1.2.2 返回顺序号 + bussionessStand.setNewStandSn(one.getStandSn()); + // 1.1.2.3 获取新的顺序号 存入顺序号表中 + saveBussStandSn(reviseStatus, standSort, one.getStandSn(),taskId); + } + + } + }else { + // 2 获取企标库中 当前类别 最新 顺序号 (前提必须顺序号为正规数据) + bussionessStand = sarBussionessStandEODao.getStandInfoByReviseStatus(reviseStatus,standSort); + saveBussStandSn(reviseStatus, standSort, bussionessStand.getStandSn(),taskId); + } + + return bussionessStand; + } + + private void saveBussStandSn(String reviseStatus, String standSort, String standSn,String taskId) { + SarBussStandSn sn = new SarBussStandSn(); + sn.setId(UUIDUtils.randomUUID20()); + sn.setStandSort(standSort); + sn.setStandSn(standSn); + sn.setModifyTime(new Date()); + sn.setReviseStatus(reviseStatus); + sn.setTaskId(taskId); + iSarBussStandSnService.saveOrUpdate(sn); } public ResponseMessage deleteSarBussionessStand(SarBussionessStandEOPage page) throws Exception { diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandSn/SarBussStandSnMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandSn/SarBussStandSnMapper.xml new file mode 100644 index 00000000..ea4ad1d6 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussStandSn/SarBussStandSnMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index c16b29f9..c79322ba 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -352,7 +352,7 @@ From 8b70a4c80d3238d28411c3948508a1c295c57235 Mon Sep 17 00:00:00 2001 From: "396572590@qq.com" Date: Sun, 3 Jul 2022 18:02:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20There=20is=20no=20way=20the,=20#559?= =?UTF-8?q?69=20#55973=20=E4=BC=81=E6=A0=87=E9=A1=BA=E5=BA=8F=E5=8F=B7?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/adc/da/common/BusProcessNew.java | 5 +++++ .../controller/SarBussStandSnController.java | 10 ++++++++- .../service/ISarBussStandSnService.java | 2 ++ .../impl/SarBussStandSnServiceImpl.java | 22 +++++++++++++++++++ .../impl/SarBussionessStandServiceImpl.java | 10 ++++----- .../SarBussionessStandMapper.xml | 2 +- 6 files changed, 44 insertions(+), 7 deletions(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessNew.java b/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessNew.java index 03303efc..ad7a3939 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessNew.java +++ b/adc-da-activiti/src/main/java/com/adc/da/common/BusProcessNew.java @@ -1,6 +1,8 @@ package com.adc.da.common; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -46,5 +48,8 @@ public class BusProcessNew { private long commitStatus; + @TableField( exist = false) + @ApiModelProperty(value = "当前节点信息") + private String nowTaskInfo; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java index b62628d6..e1a54f66 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/controller/SarBussStandSnController.java @@ -24,12 +24,20 @@ import com.adc.da.base.web.BaseController; */ @RestController @Api(tags = "|SarBussStandSn|") -@RequestMapping("/sarBussStandSn/sar-buss-stand-sn") +@RequestMapping("/${restPath}/sarBussStandSn/sar-buss-stand-sn") public class SarBussStandSnController extends BaseController { @Autowired private ISarBussStandSnService iSarBussStandSnService; + @ApiOperation(value = "效验当前顺序号是否存在") + @GetMapping("verifySnExists") + public ResponseMessage verifySnExists(@RequestParam("taskId") String taskId,@RequestParam("standSn") String standSn,@RequestParam("standSort") String standSort){ + synchronized (this){ + return Result.success(iSarBussStandSnService.verifySnExists(taskId,standSn,standSort)); + } + } + @ApiOperation(value = "更新企标顺序号状态") @GetMapping("modSnByProcess") public ResponseMessage modSnByProcess(@RequestParam("taskId") String taskId){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java index e5d0a58e..76af0a85 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/ISarBussStandSnService.java @@ -13,5 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ISarBussStandSnService extends IService { + Boolean verifySnExists(String taskId,String standSn,String standSort); + Boolean modSnByProcess(String taskId); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java index 797770e2..1ebe3f38 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussStandSn/service/impl/SarBussStandSnServiceImpl.java @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarBussStandSn.service.impl; import com.adc.da.slrs.sarBussStandSn.entity.SarBussStandSn; import com.adc.da.slrs.sarBussStandSn.dao.SarBussStandSnDao; import com.adc.da.slrs.sarBussStandSn.service.ISarBussStandSnService; +import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -23,6 +24,27 @@ public class SarBussStandSnServiceImpl extends ServiceImpl qw = new QueryWrapper(); + qw.eq("STAND_SORT",standSort); + qw.eq("STAND_SN",standSn); + qw.and(wrapper -> wrapper.ne("TASK_ID",taskId).or().isNull("TASK_ID")); + int count = iSarBussStandSnService.count(qw); + QueryWrapper qw2 = new QueryWrapper(); + qw2.eq("STAND_SORT",standSort); + qw2.eq("STAND_NUMBER",standSn); + int count2 = iSarBussionessStandService.count(qw2); + if(count > 0 || count2 > 0){ + return false; + } + + return true; + } + @Override public Boolean modSnByProcess(String taskId){ QueryWrapper qw = new QueryWrapper(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 68625a7f..cf976fb7 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -190,11 +190,11 @@ public class SarBussionessStandServiceImpl extends ServiceImpl