From dd2554435b9ced61e2a6a06627145fca3bf2685b Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 04 九月 2023 17:17:17 +0800 Subject: [PATCH] 修改bug --- inspection-server/src/main/resources/mapper/ReportMapper.xml | 2 laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml | 4 framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java | 7 + inspection-server/src/main/resources/mapper/RawMaterialMapper.xml | 2 user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java | 2 inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java | 32 +++++-- inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml | 8 +- inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java | 2 sys/src/main/resources/application-dev.yml | 14 +- inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java | 5 + user-server/src/main/resources/mapper/RoleManangeMapper.xml | 4 + inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java | 2 standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java | 15 +++ user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java | 11 +- inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java | 13 +- framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java | 48 ++++++++++++ inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/RawMaterial.java | 3 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java | 23 +++-- 18 files changed, 149 insertions(+), 48 deletions(-) diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java b/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java new file mode 100644 index 0000000..f4e7a52 --- /dev/null +++ b/framework/src/main/java/com/yuanchu/limslaboratory/exception/ApplicationException.java @@ -0,0 +1,48 @@ +package com.yuanchu.limslaboratory.exception; + +/** + * @Author 寮犲 + * @Date 2023/9/4 + * 涓氬姟寮傚父 + */ +public class ApplicationException extends RuntimeException{ + + + /** + * 涓氬姟缂栫爜瀹氫箟 + * @return 涓氬姟缂栫爜 + */ + private String code; + + /** + * 涓氬姟淇℃伅瀹氫箟 + * @return 涓氬姟淇℃伅瀹氫箟 + */ + private String msg; + + + public ApplicationException(String code, String msg) { + super(msg); + this.code = code; + this.msg = msg; + } + + public ApplicationException() { + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } +} diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java index c9465df..ce92794 100644 --- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java +++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java @@ -11,7 +11,11 @@ import org.springframework.beans.TypeMismatchException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.annotation.Value; +import org.springframework.dao.DataAccessException; +import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DuplicateKeyException; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; import org.springframework.jdbc.BadSqlGrammarException; @@ -25,6 +29,7 @@ import java.io.IOException; import java.net.BindException; import java.sql.SQLException; +import java.sql.SQLIntegrityConstraintViolationException; import java.util.List; import java.util.stream.Collectors; @@ -218,4 +223,6 @@ public Result<?> noAuth(AuthException e){ return Result.fail(Integer.valueOf(e.getCode()),e.getMsg()); } + + } diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java index df826f3..267e7df 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java @@ -73,7 +73,7 @@ }) @PostMapping("/check") @AuthHandler - public Result check(@RequestHeader("X-Token") String token, Integer id, String result) throws Exception { + public Result check(@RequestHeader("X-Token") String token, Integer id, Integer result) throws Exception { Object object = RedisUtil.get(token); Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class); MyUtil.PrintLog(unmarshal + "-------id" + id + "=========" + result); diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java index e170b57..3058689 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/InspectionMaterial.java @@ -57,6 +57,11 @@ private String supplier; /** + * 鍨嬪彿id + */ + private String specificationId; + + /** * 瑙勬牸鍚嶇О-鍨嬪彿鍚嶇О **/ private String specifications; diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/RawMaterial.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/RawMaterial.java index 0c4fbab..a7e53e7 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/RawMaterial.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/pojo/RawMaterial.java @@ -40,6 +40,9 @@ @ApiModelProperty(value = "鏉愭枡鍚嶇О", required = true, example = "鍏夌氦") private String materialName; + @ApiModelProperty(value = "瑙勬牸鍨嬪彿", required = true) + private Integer specificationsId; + @ApiModelProperty(value = "瑙勬牸鍨嬪彿", required = true, example = "GGXH2023") private String specificationsModels; diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java index 72f3bc7..1c6e3bf 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/ReportService.java @@ -40,7 +40,7 @@ * @param id * @return */ - String check(String name, Integer id, String result); + String check(String name, Integer id, Integer result); /** * 鍒犻櫎 diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java index 96d46d3..08ce01b 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/InspectionServiceImpl.java @@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.limslaboratory.exception.ApplicationException; import com.yuanchu.limslaboratory.mapper.*; import com.yuanchu.limslaboratory.pojo.*; import com.yuanchu.limslaboratory.pojo.vo.InsProductVo; @@ -21,6 +22,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; /** @@ -83,14 +85,13 @@ //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈� @Override public List<Integer> chooseVer(String name, String mcode, String specifications) { - Integer specificationId = getSpecificationId(name, mcode, specifications); - return productMapper.chooseVersion(specificationId); + return productMapper.chooseVersion(Integer.parseInt(specifications)); } //鏂板妫�楠屽崟-->閫夋嫨妫�楠岄」鐩増鏈�-->鏌ョ湅璇ョ増鏈笅鎴戜滑瑕佸仛鐨勯」鐩姹� @Override public List<Map<String, Object>> lookProByVer(String name, String mcode, String specifications, Integer version, String experiment) { - Integer specificationId = getSpecificationId(name, mcode, specifications); + Integer specificationId = Integer.parseInt(specifications); /*濡傛灉璇曢獙椤圭洰涓虹┖鍒欐槸鎴愬搧妫�楠屾垨鑰呭師鏉愭枡妫�楠屽垯鏄睍绀鸿鐗堟湰鐨勬墍鏈夐」鐩楠岃姹傚弬鏁�*/ if (ObjectUtils.isEmpty(experiment)) { return productMapper.pageProductInformation(specificationId, version); @@ -119,7 +120,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public Integer addInspect(Integer id, InspectionVo inspectionVo) { + public Integer addInspect(Integer id, InspectionVo inspectionVo) throws ApplicationException { /*鏂板妫�楠岀敵璇疯〃*/ Inspection inspection = Inspection.builder() .startTime(inspectionVo.getStartTime()) @@ -152,6 +153,7 @@ .num(inspectionVo.getNum()) .unit(inspectionVo.getUnit()) .supplier(inspectionVo.getSupplier()) + .specificationId(inspectionVo.getSpecificationId()) .specifications(inspectionVo.getSpecifications()) .formTime(inspectionVo.getFormTime()) .inspectionId(inspection.getId()) @@ -160,12 +162,12 @@ inspectionMaterialMapper.insert(inspectionMaterial); /*鏂板妫�楠岄」鐩〃*/ //鏍规嵁鏍峰搧鍚嶇О缂栧彿浠ュ強鍨嬪彿瑙勬牸鑾峰彇鍨嬪彿id - Integer specificationId = null; - if(ObjectUtils.isNotEmpty(inspectionVo.getSpecificationId())){ - specificationId =Integer.parseInt(inspectionVo.getSpecificationId()); - }else{ - specificationId=getSpecificationId(inspectionVo.getName(), inspectionVo.getMcode(), inspectionVo.getSpecifications()); - } + Integer specificationId = Integer.parseInt(inspectionVo.getSpecificationId()); + //if(ObjectUtils.isNotEmpty(inspectionVo.getSpecificationId())){ + // specificationId =Integer.parseInt(inspectionVo.getSpecificationId()); + //}else{ + // specificationId=getSpecificationId(inspectionVo.getName(), inspectionVo.getMcode(), inspectionVo.getSpecifications()); + //} //濡傛灉璇曢獙椤圭洰瀛楁涓嶄负绌哄垯鎸夎瀛楁鐨勯」鐩繘琛屽尮閰� if (ObjectUtils.isNotEmpty(inspectionVo.getExperiment())) { //鑾峰彇璇曢獙椤圭洰淇℃伅(缁撴瀯,瀵肩嚎澶栧緞) @@ -207,6 +209,16 @@ productMapper.selectList(Wrappers.<Product>query() .eq("specifications_id", specificationId) .eq("version",inspectionVo.getVersion())); + productList.stream().forEach(p->{ + String internal = Optional.ofNullable(p) + .map(Product::getInternal) + .orElse("绌�"); + String required = Optional.ofNullable(p) + .map(Product::getRequired).orElse("绌�"); + if(Objects.equals("绌�",internal)||Objects.equals(required,"绌�")) { + throw new ApplicationException("500","椤圭洰鐗堟湰涓嶅彲鐢�"); + } + }); //灏嗘煡璇㈢殑椤圭洰淇℃伅鏋勫缓鎴愭楠岄」鐩� ArrayList<InspectionProduct> list = new ArrayList<>(); for (Product product : productList) { diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java index f65dcc2..f11d042 100644 --- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java +++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ReportServiceImpl.java @@ -54,16 +54,12 @@ //瀹℃牳 @Override - public String check(String name, Integer id, String result) { + public String check(String name, Integer id, Integer result) { Report report = new Report(); report.setId(id); report.setApprover(name); report.setCheckTime(new Date()); - if (result.equals("閫氳繃")){ - report.setStatus(2); - }else if (result.equals("涓嶉�氳繃")){ - report.setStatus(3); - } + report.setStatus(result); reportMapper.updateById(report); return "瀹℃牳鎴愬姛!"; } @@ -79,7 +75,10 @@ @Override public Map<String, Object> getReportContext(String code) { - return reportMapper.getReportContext(code); + Map<String, Object> reportContext = reportMapper.getReportContext(code); + System.out.println("========================"); + System.out.println(reportContext); + return reportContext; } @Override diff --git a/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml b/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml index a9a3d21..51f01da 100644 --- a/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml +++ b/inspection-server/src/main/resources/mapper/QualificationRateStatisticsMapper.xml @@ -13,7 +13,7 @@ INNER JOIN inspection_material im ON i.id = im.inspection_id where (i.state = 1 and im.state=1) <if test="dto.beginDate!=null and dto.endDate!=null"> - DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + and DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} AND #{dto.endDate} AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} </if> @@ -56,7 +56,7 @@ AND ipr.test_state is not null AND ipr.test_state = 0 <if test="dto.beginDate!=null and dto.endDate!=null"> - DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + and DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} AND #{dto.endDate} AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} </if> @@ -87,7 +87,7 @@ AND im.state = 1 AND ipr.state = 1 <if test="dto.beginDate!=null and dto.endDate!=null"> - DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + and DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} AND #{dto.endDate} AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} </if> @@ -124,7 +124,7 @@ INNER JOIN inspection_material im ON i.id = im.inspection_id where (i.state = 1 and im.state=1) <if test="dto.beginDate!=null and dto.endDate!=null"> - DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} + and DATE_FORMAT( i.end_time, '%Y-%m-%d' ) BETWEEN #{dto.beginDate} AND #{dto.endDate} AND DATE_FORMAT( i.start_time, '%Y-%m-%d' )>= #{dto.beginDate} </if> diff --git a/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml b/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml index 7ca8063..5ea0eef 100644 --- a/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml +++ b/inspection-server/src/main/resources/mapper/RawMaterialMapper.xml @@ -15,7 +15,7 @@ AND r.`type` = #{type} </if> <if test="createTime != null and createTime != ''"> - AND DATE_FORMAT(r.`create_time`,'%Y-%m-%d') = #{createTime} + AND DATE_FORMAT(r.`date_survey`,'%Y-%m-%d') = #{createTime} </if> </select> <select id="selectRawmaAll" resultType="java.util.Map"> diff --git a/inspection-server/src/main/resources/mapper/ReportMapper.xml b/inspection-server/src/main/resources/mapper/ReportMapper.xml index 7cd6cc6..25227c5 100644 --- a/inspection-server/src/main/resources/mapper/ReportMapper.xml +++ b/inspection-server/src/main/resources/mapper/ReportMapper.xml @@ -45,6 +45,7 @@ <result property="createTime" column="create_time"/> <result property="checkTime" column="check_time"/> <result property="inspectionStatus" column="inspection_status"/> + <result property="notes" column="notes"/> <collection property="products" resultMap="products" javaType="java.util.List"/> </resultMap> @@ -55,6 +56,7 @@ <result property="required" column="required"/> <result property="testValue" column="test_value"/> <result property="testState" column="test_state"/> + <result property="ipName" column="ipName"/> </resultMap> <select id="getReportContext" resultMap="report"> diff --git a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml index 87445db..c87bc33 100644 --- a/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml +++ b/laboratory-server/src/main/resources/mapper/MeteringPlanMapper.xml @@ -26,8 +26,8 @@ <if test="dto.name!=null and dto.name!=''"> and i.`equipment_name` like concat('%',#{dto.name},'%') </if> - <if test="dto.name!=null and dto.name!=''"> - and i.measurement_unit like concat('%',#{dto.unit},'%') + <if test="dto.unit!=null and dto.unit!=''"> + and m.measurement_unit like concat('%',#{dto.unit},'%') </if> </select> diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java index 7cc9533..cdb42b3 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/pojo/Product.java @@ -66,5 +66,20 @@ @ApiModelProperty(value = "鍏宠仈 鍨嬪彿id", example = "1", hidden = true) private Integer specifications_id; + public Product() { + } + public Product(Integer id, String name, String father, String unit, String required, String internal, Integer state, Date createTime, Date updateTime, Integer version, Integer specifications_id) { + this.id = id; + this.name = name; + this.father = father; + this.unit = unit; + this.required = required; + this.internal = internal; + this.state = state; + this.createTime = createTime; + this.updateTime = updateTime; + this.version = version; + this.specifications_id = specifications_id; + } } diff --git a/sys/src/main/resources/application-dev.yml b/sys/src/main/resources/application-dev.yml index c1b729a..bb47ed2 100644 --- a/sys/src/main/resources/application-dev.yml +++ b/sys/src/main/resources/application-dev.yml @@ -40,12 +40,12 @@ datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://192.168.110.209:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 +# url: jdbc:mysql://192.168.110.209:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 +# username: user +# password: 123456 + url: jdbc:mysql://192.168.73.113:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 username: user password: 123456 -# url: jdbc:mysql://localhost:3306/lims_laboratory?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 -# username: root -# password: 123456 druid: # Druid鏁版嵁婧愰厤缃� initialSize: 5 # 鍒濆杩炴帴鏁� @@ -68,10 +68,10 @@ # redis鏁版嵁搴撶储寮�(榛樿涓�0)锛屾垜浠娇鐢ㄧ储寮曚负3鐨勬暟鎹簱锛岄伩鍏嶅拰鍏朵粬鏁版嵁搴撳啿绐� database: 0 # redis鏈嶅姟鍣ㄥ湴鍧�锛堥粯璁や负localhost锛� - host: 192.168.110.209 -# host: localhost +# host: 192.168.110.209 + host: 192.168.73.113 # redis绔彛锛堥粯璁や负6379锛� - port: 6380 + port: 6379 # redis璁块棶瀵嗙爜锛堥粯璁や负绌猴級 password: null # redis杩炴帴瓒呮椂鏃堕棿锛堝崟浣嶆绉掞級 diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java index 25eba82..27b1efd 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java @@ -32,6 +32,8 @@ int deleteRoleMenuByRoleId(Long id); + List<RoleMenu>getRoleMenuByRoleId(@Param("roleId")Long roleId); + RoleAndMenuDto selectAllRoleAndMenuByRoleId(Long roleId); List<Map<String, Object>> getUserListRole(); diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java index 90affac..d352830 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java @@ -3,7 +3,7 @@ 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.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.exception.AuthException; @@ -17,6 +17,7 @@ import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto; import com.yuanchu.limslaboratory.pojo.dto.UpdateRoleMenuDto; import com.yuanchu.limslaboratory.service.RoleManagerService; +import com.yuanchu.limslaboratory.utils.ArrayListUtil; import com.yuanchu.limslaboratory.utils.JsonUtil; import com.yuanchu.limslaboratory.utils.MyUtil; import lombok.extern.slf4j.Slf4j; @@ -76,9 +77,7 @@ ,createTime )); }); - if(roleMenuList.size()<1){ - roleMenuList.add(new RoleMenu(null,nextId,39L,true,false,false,false,createTime)); - } + roleMenuList.add(new RoleMenu(null,nextId,39L,true,false,false,false,createTime)); //roleMenuAddList.forEach(System.out::println); int i = roleManageMapper.insertBatchRoleMenu(roleMenuList); return insert>0&&i>0; @@ -127,16 +126,24 @@ .set(RoleInfo::getUpdateTime,DateUtil.toLocalDateTime(DateUtil.date())) .eq(RoleInfo::getId,dto.getRoleId()); int update = roleManageMapper.update(null, updateWrapper); - //鍒犻櫎role_menu淇℃伅 - int deleteRoleMenuByRoleId = roleManageMapper.deleteRoleMenuByRoleId(dto.getRoleId()); + List<RoleMenu> roleMenuByRoleId = roleManageMapper.getRoleMenuByRoleId(dto.getRoleId()); + if (roleMenuByRoleId.size()>1){ + //鍒犻櫎role_menu淇℃伅 + update = roleManageMapper.deleteRoleMenuByRoleId(dto.getRoleId()); + } //娣诲姞鏈�鏂伴�夋嫨銆� dto.getMenuData().forEach(l->{ l.setRoleId(dto.getRoleId()); l.setCreateTime(DateUtil.toLocalDateTime(DateUtil.date())); l.setUpdateTime(DateUtil.toLocalDateTime(DateUtil.date())); }); - int insertBatchRoleMenu = roleManageMapper.insertBatchRoleMenu(dto.getMenuData()); - return update>0&&deleteRoleMenuByRoleId>0&&insertBatchRoleMenu>0; + List<RoleMenu> collect = dto.getMenuData().stream().filter(l -> l.getAdded() == false && l.getDeleted() == false && l.getSelected() == false && l.getUpdated() == false).collect(Collectors.toList()); + List<RoleMenu> roleMenuList = ArrayListUtil.compareNotEqualListBySingleValue(dto.getMenuData(), collect); + if(roleMenuList.size()>0){ + return update>0&&roleManageMapper.insertBatchRoleMenu(roleMenuList)>0; + }else { + return update>0; + } } @Override diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java index ddf91db..47b0741 100644 --- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java +++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java @@ -12,6 +12,7 @@ import com.yuanchu.limslaboratory.service.UserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.utils.JackSonUtil; +import com.yuanchu.limslaboratory.utils.JsonUtil; import com.yuanchu.limslaboratory.utils.MyUtil; import com.yuanchu.limslaboratory.utils.RedisUtil; import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo; @@ -121,13 +122,9 @@ @Override public Integer addNewPersonnel(NewPersonnelVo newPersonnelVo, String enterpriseId) { - try { - User unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(newPersonnelVo), User.class); - unmarshal.setEnterpriseId(Integer.valueOf(enterpriseId)); - return userMapper.insert(unmarshal); - } catch (Exception e) { - throw new RuntimeException(e); - } + User unmarshal = JsonUtil.jsonToPojo(JsonUtil.jsonToString(newPersonnelVo), User.class); + unmarshal.setEnterpriseId(Integer.valueOf(enterpriseId)); + return userMapper.insert(unmarshal); } @Override diff --git a/user-server/src/main/resources/mapper/RoleManangeMapper.xml b/user-server/src/main/resources/mapper/RoleManangeMapper.xml index 267f62f..f11deab 100644 --- a/user-server/src/main/resources/mapper/RoleManangeMapper.xml +++ b/user-server/src/main/resources/mapper/RoleManangeMapper.xml @@ -34,6 +34,7 @@ delete from role_menu where role_id = #{id} + and menu_id !=39 </delete> <select id="getAssertName" resultType="com.yuanchu.limslaboratory.pojo.RoleInfo"> select id @@ -120,6 +121,9 @@ select name, url from interface_info </select> + <select id="getRoleMenuByRoleId" resultType="com.yuanchu.limslaboratory.pojo.RoleMenu"> + select id from role_menu where role_id =#{roleId} + </select> <resultMap id="roleAndMenuById" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto"> <result property="roleName" column="roleName"/> <result property="createTime" column="createTime"/> -- Gitblit v1.9.3