车车 8 сар өмнө
parent
commit
1012447a74

+ 9 - 7
ktg-framework/src/main/java/com/ktg/framework/web/service/UserDetailsServiceImpl.java

@@ -45,13 +45,15 @@ public class UserDetailsServiceImpl implements UserDetailsService {
 
         if (!StringUtils.isNotNull(user)) {
             user = userService.selectUserByUserName(username);
-            // 开始放入岗位的权限数据
-            List<Long> userWorkstationIds = userService.getUserWorkstationIds(user.getUserId());
-            if (!userWorkstationIds.isEmpty()) {
-                // 将List<Long>转换为Long[]
-                Long[] array = new Long[userWorkstationIds.size()];
-                Long[] workstationIdsArray = userWorkstationIds.toArray(array);
-                user.setWorkstationIds(workstationIdsArray);
+            if (StringUtils.isNotNull(user)) {
+                // 开始放入岗位的权限数据
+                List<Long> userWorkstationIds = userService.getUserWorkstationIds(user.getUserId());
+                if (!userWorkstationIds.isEmpty()) {
+                    // 将List<Long>转换为Long[]
+                    Long[] array = new Long[userWorkstationIds.size()];
+                    Long[] workstationIdsArray = userWorkstationIds.toArray(array);
+                    user.setWorkstationIds(workstationIdsArray);
+                }
             }
         }
 

+ 1 - 3
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsLotoStationController.java

@@ -8,7 +8,6 @@ import com.ktg.common.annotation.Log;
 import com.ktg.common.core.controller.BaseController;
 import com.ktg.common.enums.BusinessType;
 import com.ktg.common.pojo.CommonResult;
-import com.ktg.common.utils.SecurityUtils;
 import com.ktg.common.utils.poi.ExcelUtil;
 import com.ktg.iscs.domain.IsLotoStation;
 import com.ktg.iscs.domain.dto.point.BindingPointDTO;
@@ -97,8 +96,7 @@ public class IsLotoStationController extends BaseController
     @PostMapping("/insertIsLotoStation")
     public CommonResult<Boolean> insertIsLotoStation(@RequestBody @Parameter(name = "isLotoStation", description = "新增数据类,放到body") IsLotoStation isLotoStation)
     {
-        isLotoStation.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
-        return CommonResult.success(isLotoStationService.save(isLotoStation));
+        return CommonResult.success(isLotoStationService.insertIsLotoStation(isLotoStation));
     }
 
     /**

+ 2 - 2
ktg-iscs/src/main/java/com/ktg/iscs/controller/IsMaterialsController.java

@@ -143,8 +143,8 @@ public class IsMaterialsController extends BaseController {
         ExcelUtil<ImportMaterialsVO> util = new ExcelUtil<>(ImportMaterialsVO.class);
         ImportMaterialsVO importMaterialsVO = new ImportMaterialsVO();
         importMaterialsVO.setCabinetName("一号物资柜");
-        importMaterialsVO.setMaterialsName("实验室白大褂K380");
-        importMaterialsVO.setMaterialsTypeName("白大褂");
+        importMaterialsVO.setMaterialsName("白大褂K380");
+        importMaterialsVO.setMaterialsTypeName("实例白大褂");
         importMaterialsVO.setValueName("s");
         importMaterialsVO.setMaterialsRfid("7418965826");
         importMaterialsVO.setSupplier("零号实验室");

+ 1 - 1
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/statistics/MaterialsChangeStatisticsVO.java

@@ -23,7 +23,7 @@ public class MaterialsChangeStatisticsVO implements Serializable {
     @ApiModelProperty(value = "物资类型名称")
     private String materialsTypeName;
 
-    @ApiModelProperty(value = "累计更换总数")
+    @ApiModelProperty(value = "正常状态下更换次数")
     private Integer allCount;
 
     @ApiModelProperty(value = "过期更换次数")

+ 2 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/IIsLotoStationService.java

@@ -25,4 +25,6 @@ public interface IIsLotoStationService extends IService<IsLotoStation> {
 
     Boolean updateIsLotoStation(IsLotoStation isLotoStation);
 
+    Boolean insertIsLotoStation(IsLotoStation isLotoStation);
+
 }

+ 5 - 4
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/HardwareMaterialApiServiceImpl.java

@@ -50,8 +50,6 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
     private IIsMaterialsCheckRecordService isMaterialsCheckRecordService;
 
 
-
-
     @Override
     public List<ExMaterialTypeVO> selectExMaterialTypeById(Long cabinetId) throws JsonProcessingException {
         Assert.notNull(cabinetId, "物资柜ID不能为空!");
@@ -91,7 +89,8 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
                         // String propertiesValue = propertyVOS.stream().map(PropertyVO::getValueName).collect(Collectors.joining(","));
                         // 目前最多一条
                         if (StringUtils.isNotBlank(record.getProperties())) {
-                            List<PropertyVO> propertyVOS = objectMapper.readValue(record.getProperties(), new TypeReference<List<PropertyVO>>() {});
+                            List<PropertyVO> propertyVOS = objectMapper.readValue(record.getProperties(), new TypeReference<List<PropertyVO>>() {
+                            });
                             record.setPropertiesValueId(propertyVOS.get(0).getRecordId());
                             record.setPropertiesValue(propertyVOS.get(0).getValueName());
                             record.setPropertiesPropertyId(propertyVOS.get(0).getPropertyId());
@@ -162,9 +161,11 @@ public class HardwareMaterialApiServiceImpl implements HardwareMaterialApiServic
             isMaterialsChangeRecord.setNewMaterialsRfid(newMaterial.getMaterialsRfid());
             isMaterialsChangeRecord.setChangeUserId(SecurityUtils.getUserId());
             isMaterialsChangeRecord.setChangeDate(new Date());
-            // 查询物资的最新报异常记录
+            // 查询物资的最新报异常记录
             IsMaterialsCheckRecord checkRecord = isMaterialsCheckRecordService.getOne(Wrappers.<IsMaterialsCheckRecord>lambdaQuery()
                     .eq(IsMaterialsCheckRecord::getMaterialsId, replaceMaterialDTO.getOldMaterialsId())
+                    .eq(IsMaterialsCheckRecord::getStatus, "1")
+                    .orderByDesc(IsMaterialsCheckRecord::getRecordId)
                     .last("limit 1"));
             if (checkRecord != null) {
                 isMaterialsChangeRecord.setCheckRecordId(checkRecord.getRecordId());

+ 15 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsLotoStationServiceImpl.java

@@ -155,6 +155,11 @@ public class IsLotoStationServiceImpl extends ServiceImpl<IsLotoStationMapper, I
     @Override
     public Boolean updateIsLotoStation(IsLotoStation isLotoStation) {
         Assert.notNull(isLotoStation.getLotoId(), "主键id不能为空!");
+        // 判断名称重复
+        List<IsLotoStation> list = list(Wrappers.<IsLotoStation>lambdaQuery()
+                .eq(IsLotoStation::getLotoName, isLotoStation.getLotoName())
+                .ne(IsLotoStation::getLotoId, isLotoStation.getLotoId()));
+        Assert.isTrue(list.isEmpty(), "该名称已被使用,请重新填写!");
         update(Wrappers.<IsLotoStation>lambdaUpdate()
                 .eq(IsLotoStation::getLotoId, isLotoStation.getLotoId())
                 .set(IsLotoStation::getLotoName, isLotoStation.getLotoName())
@@ -162,4 +167,14 @@ public class IsLotoStationServiceImpl extends ServiceImpl<IsLotoStationMapper, I
                 .set(IsLotoStation::getWorkstationId, isLotoStation.getWorkstationId() != null ? isLotoStation.getWorkstationId() : null));
         return true;
     }
+
+    @Override
+    public Boolean insertIsLotoStation(IsLotoStation isLotoStation) {
+        Assert.notBlank(isLotoStation.getLotoName(), "名称不可为空!");
+        // 判断名称重复
+        List<IsLotoStation> list = list(Wrappers.<IsLotoStation>lambdaQuery()
+                .eq(IsLotoStation::getLotoName, isLotoStation.getLotoName()));
+        Assert.isTrue(list.isEmpty(), "该名称已被使用,请重新填写!");
+        return save(isLotoStation);
+    }
 }

+ 9 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMachineryServiceImpl.java

@@ -77,6 +77,10 @@ public class IsMachineryServiceImpl extends ServiceImpl<IsMachineryMapper, IsMac
         // 断言校验
         Assert.isTrue(StringUtils.isNotBlank(isMachinery.getMachineryName()), "名称不可为空!");
         Assert.notNull(isMachinery.getParentId(), "父id不可为空!");
+        // 判断名称重复
+        List<IsMachinery> list = list(Wrappers.<IsMachinery>lambdaQuery()
+                .eq(IsMachinery::getMachineryName, isMachinery.getMachineryName()));
+        Assert.isTrue(list.isEmpty(), "[" + isMachinery.getMachineryName() + "]名称已被工艺/设备使用,请重新填写!");
         IsMachinery one = getById(isMachinery.getParentId());
         String ancestors;
         if (one != null) {
@@ -95,6 +99,11 @@ public class IsMachineryServiceImpl extends ServiceImpl<IsMachineryMapper, IsMac
         Assert.notNull(isMachinery.getMachineryId(), "id不可为空!");
         Assert.isTrue(StringUtils.isNotBlank(isMachinery.getMachineryName()), "名称不可为空!");
         Assert.notNull(isMachinery.getParentId(), "父id不可为空!");
+        // 判断名称重复
+        List<IsMachinery> list = list(Wrappers.<IsMachinery>lambdaQuery()
+                .eq(IsMachinery::getMachineryName, isMachinery.getMachineryName())
+                .ne(IsMachinery::getMachineryId, isMachinery.getMachineryId()));
+        Assert.isTrue(list.isEmpty(), "[" + isMachinery.getMachineryName() + "]名称已被工艺/设备使用,请重新填写!");
         IsMachinery one = getById(isMachinery.getParentId());
         String ancestors;
         if (one != null) {

+ 20 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsCabinetServiceImpl.java

@@ -71,6 +71,15 @@ public class IsMaterialsCabinetServiceImpl extends ServiceImpl<IsMaterialsCabine
     @Override
     public int insertIsMaterialsCabinet(IsMaterialsCabinet isMaterialsCabinet)
     {
+        Assert.notBlank(isMaterialsCabinet.getCabinetCode(), "编码不能为空!");
+        // 判断编码重复
+        List<IsMaterialsCabinet> list = list(Wrappers.<IsMaterialsCabinet>lambdaQuery()
+                .eq(IsMaterialsCabinet::getCabinetCode, isMaterialsCabinet.getCabinetCode()));
+        Assert.isTrue(list.isEmpty(), "该编码已被使用,请重新填写!");
+        // 判断名称重复
+        List<IsMaterialsCabinet> list1 = list(Wrappers.<IsMaterialsCabinet>lambdaQuery()
+                .eq(IsMaterialsCabinet::getCabinetName, isMaterialsCabinet.getCabinetName()));
+        Assert.isTrue(list1.isEmpty(), "该物资柜名称已被使用,请重新填写!");
         isMaterialsCabinet.setCreateTime(DateUtils.getNowDate());
         return isMaterialsCabinetMapper.insertIsMaterialsCabinet(isMaterialsCabinet);
     }
@@ -84,6 +93,17 @@ public class IsMaterialsCabinetServiceImpl extends ServiceImpl<IsMaterialsCabine
     @Override
     public int updateIsMaterialsCabinet(IsMaterialsCabinet isMaterialsCabinet)
     {
+        Assert.notNull(isMaterialsCabinet.getCabinetId(), "主键不能为空!");
+        // 判断编码重复
+        List<IsMaterialsCabinet> list = list(Wrappers.<IsMaterialsCabinet>lambdaQuery()
+                .eq(IsMaterialsCabinet::getCabinetCode, isMaterialsCabinet.getCabinetCode())
+                .ne(IsMaterialsCabinet::getCabinetId, isMaterialsCabinet.getCabinetId()));
+        Assert.isTrue(list.isEmpty(), "该编码已被使用,请重新填写!");
+        // 判断名称重复
+        List<IsMaterialsCabinet> list1 = list(Wrappers.<IsMaterialsCabinet>lambdaQuery()
+                .eq(IsMaterialsCabinet::getCabinetName, isMaterialsCabinet.getCabinetName())
+                .ne(IsMaterialsCabinet::getCabinetId, isMaterialsCabinet.getCabinetId()));
+        Assert.isTrue(list1.isEmpty(), "该物资柜名称已被使用,请重新填写!");
         isMaterialsCabinet.setUpdateTime(DateUtils.getNowDate());
         return isMaterialsCabinetMapper.updateIsMaterialsCabinet(isMaterialsCabinet);
     }

+ 4 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsMaterialsServiceImpl.java

@@ -236,6 +236,10 @@ public class IsMaterialsServiceImpl extends ServiceImpl<IsMaterialsMapper, IsMat
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
         for (ImportMaterialsVO materials : itemList) {
+            // 0.检测第一行示例数据有没有被删除
+            if ("实例白大褂".equals(materials.getMaterialsTypeName()) || "零号实验室".equals(materials.getSupplier())) {
+                continue;
+            }
             // 1.定义一个boolean,记录当前这条数据有没有问题
             boolean result = true;
             // 1.1定义一个物资类型id

+ 5 - 7
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/IsWorkstationServiceImpl.java

@@ -70,10 +70,9 @@ public class IsWorkstationServiceImpl extends ServiceImpl<IsWorkstationMapper, I
         // 断言校验
         Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationName()), "岗位名称不可为空!");
         // Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationCode()), "岗位编号名称不可为空!");
-        /*List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
-                .eq(IsWorkstation::getWorkstationName, isWorkstation.getWorkstationName())
-                .eq(IsWorkstation::getParentId, isWorkstation.getParentId()));
-        Assert.isTrue(list.isEmpty(), "该岗位名称已被使用!");*/
+        List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
+                .eq(IsWorkstation::getWorkstationName, isWorkstation.getWorkstationName()));
+        Assert.isTrue(list.isEmpty(), "该岗位名称已被使用!");
         IsWorkstation one =getById(isWorkstation.getParentId());
         String ancestors;
         if (one != null) {
@@ -98,11 +97,10 @@ public class IsWorkstationServiceImpl extends ServiceImpl<IsWorkstationMapper, I
         Assert.notNull(isWorkstation.getWorkstationId(), "岗位ID不可为空!");
         Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationName()), "岗位名称不可为空!");
         // Assert.isTrue(StringUtils.isNotBlank(isWorkstation.getWorkstationCode()), "岗位编号名称不可为空!");
-        /*List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
+        List<IsWorkstation> list = list(Wrappers.<IsWorkstation>lambdaQuery()
                 .eq(IsWorkstation::getWorkstationName, isWorkstation.getWorkstationName())
-                .eq(IsWorkstation::getParentId, isWorkstation.getParentId())
                 .ne(IsWorkstation::getWorkstationId, isWorkstation.getWorkstationId()));
-        Assert.isTrue(list.isEmpty(), "该岗位名称已被使用!");*/
+        Assert.isTrue(list.isEmpty(), "该岗位名称已被使用!");
         isWorkstation.setUpdateTime(DateUtils.getNowDate());
         return isWorkstationMapper.updateIsWorkstation(isWorkstation);
     }

+ 7 - 5
ktg-iscs/src/main/resources/mapper/StatisticsMapper.xml

@@ -55,13 +55,14 @@
         t.materials_type_name,
         ( CASE WHEN a.all_count IS NULL THEN 0 ELSE a.all_count END ) AS all_count,
         ( CASE WHEN b.will_expire_count IS NULL THEN 0 ELSE b.will_expire_count END ) AS will_expire_count,
-        ( CASE WHEN c.expired_count IS NULL THEN 0 ELSE c.expired_count END ) AS expired_count
+        ( CASE WHEN c.expired_count IS NULL THEN 0 ELSE c.expired_count END ) AS expired_count,
+        ( CASE WHEN d.bad_count IS NULL THEN 0 ELSE d.bad_count END ) AS bad_count
         FROM
         is_materials_type t
-        LEFT JOIN ( SELECT m.materials_type_id, count( m.materials_id ) AS all_count FROM is_materials m GROUP BY m.materials_type_id ) a ON a.materials_type_id = t.materials_type_id
-        LEFT JOIN (SELECT m.materials_type_id, count( m.materials_id ) AS will_expire_count FROM is_materials m WHERE DATE_ADD( NOW(), INTERVAL 30 DAY ) &gt; m.expiration_date AND NOW() &lt; m.expiration_date GROUP BY m.materials_type_id) b ON b.materials_type_id = t.materials_type_id
-        LEFT JOIN (SELECT m.materials_type_id, count( m.materials_id ) AS expired_count FROM is_materials m WHERE m.STATUS = '2' GROUP BY m.materials_type_id ) c ON c.materials_type_id = t.materials_type_id
-        LEFT JOIN (SELECT m.materials_type_id, count( m.materials_id ) AS bad_count FROM is_materials m WHERE m.STATUS = '1' GROUP BY m.materials_type_id) d ON d.materials_type_id = t.materials_type_id
+        LEFT JOIN ( SELECT m.materials_type_id, count( m.materials_id ) AS all_count FROM is_materials m WHERE m.materials_cabinet_id is not null GROUP BY m.materials_type_id ) a ON a.materials_type_id = t.materials_type_id
+        LEFT JOIN (SELECT m.materials_type_id, count( m.materials_id ) AS will_expire_count FROM is_materials m WHERE m.materials_cabinet_id is not null and DATE_ADD( NOW(), INTERVAL 30 DAY ) &gt; m.expiration_date AND NOW() &lt; m.expiration_date GROUP BY m.materials_type_id) b ON b.materials_type_id = t.materials_type_id
+        LEFT JOIN (SELECT m.materials_type_id, count( m.materials_id ) AS expired_count FROM is_materials m WHERE m.materials_cabinet_id is not null and m.STATUS = '2' GROUP BY m.materials_type_id ) c ON c.materials_type_id = t.materials_type_id
+        LEFT JOIN (SELECT m.materials_type_id, count( m.materials_id ) AS bad_count FROM is_materials m WHERE m.materials_cabinet_id is not null and m.STATUS = '1' GROUP BY m.materials_type_id) d ON d.materials_type_id = t.materials_type_id
     </select>
 
     <select id="getMaterialsLoanStatistics"
@@ -140,6 +141,7 @@
                 is_materials_change_record m
                 LEFT JOIN is_materials ma on ma.materials_id = m.old_materials_id
                 <where>
+                    (m.check_record_id = null or m.check_record_id = 0)
                     <if test="startTime != null and startTime.trim != ''">
                         and m.create_time &gt;= #{startTime}
                     </if>