Forráskód Böngészése

Merge remote-tracking branch 'origin/demo_' into demo_

hfxc226 3 éve
szülő
commit
0069f9d781

+ 6 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/SpareStoreDTO.java

@@ -184,4 +184,10 @@ public class SpareStoreDTO extends BaseDTO implements Serializable {
      */
     private String sbId;
 
+    /**
+     * 是否是维修详情页请求数据
+     * 0 不  1 是
+     */
+    private Integer repairFlag;
+
 }

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/vo/spare/SparePartUsedVO.java

@@ -141,5 +141,7 @@ public class SparePartUsedVO extends BaseVO implements Serializable {
      */
     private String usedSourceName;
 
+    private Integer isSpecial;
+
 
 }

+ 2 - 2
platform-dao/src/main/resources/mapper/sqarepartmanage/SparePartUsedMapper.xml

@@ -48,7 +48,7 @@
         used.repair_id,
         used.repair_no,
         used.remark, used.created_user_id, used.update_user_id, used.created_time, used.update_time,
-        sbInfo.name as sbName,partInfo.name as partName,spareInfo.name as spareName
+        sbInfo.name as sbName,partInfo.name as partName,spareInfo.name as spareName,partInfo.is_special as isSpecial
     </sql>
     <sql id="Left_From">
         left join t_sb_info sbInfo on used.sb_id = sbInfo.id
@@ -101,7 +101,7 @@
     </select>
 
     <select id="selectSparePartUsedListByRepairId" resultType="com.platform.dao.vo.spare.SparePartUsedVO">
-        select used.*, spareInfo.name as spareName
+        select used.*, spareInfo.name as spareName,spareInfo.is_special as isSpecial
         from t_spare_part_used used
         left join t_spare_part_info spareInfo on used.spare_id = spareInfo.id
         where used.repair_id = #{repairId}

+ 3 - 0
platform-dao/src/main/resources/mapper/store/SpareStoreMapper.xml

@@ -212,6 +212,9 @@
             <if test="userId != null and userId != ''">
                 and store.user_id = #{userId}
             </if>
+            <if test="isSpecial != null">
+                and spareinfo.is_special = #{isSpecial}
+            </if>
         </where>
     </select>
     <select id="selectDetail" parameterType="com.platform.dao.dto.store.SpareStoreDTO"

+ 12 - 3
platform-rest/src/main/java/com/platform/rest/controller/sqarepartmanage/SparePartUsedController.java

@@ -67,7 +67,8 @@ public class SparePartUsedController {
     @PostMapping("/batch")
     public R save(@Validated({AddGroup.class}) @RequestBody List<SparePartUsedDTO> sparePartUsedDTOList) throws Exception {
         //sparePartUsedService.saveModelListByDTO(sparePartUsedDTOList);
-        return new R<>(sparePartUsedService.saveBatch(sparePartUsedDTOList));
+        sparePartUsedService.saveBatch(sparePartUsedDTOList);
+        return new R();
     }
 
     /**
@@ -185,9 +186,17 @@ public class SparePartUsedController {
 
     @SysLog("更换备件")
     @PutMapping("/update/spare")
-    public R updateSpare(@Validated({UpdateGroup.class}) @RequestBody SparePartUsedDTO sparePartUsedDTO) {
-        sparePartUsedService.updateSpare(sparePartUsedDTO);
+    public R updateSpare(@Validated({UpdateGroup.class}) @RequestBody List<SparePartUsedDTO> sparePartUsedDTOs) {
+        sparePartUsedService.updateSpare(sparePartUsedDTOs);
         return new R<>();
     }
 
+    @SysLog("新增备件使用表")
+    @PostMapping("/initialized")
+    //@PreAuthorize("@pms.hasPermission('sqarepartmanage-spare-part-used-add')")
+    public R initialized(@Validated({AddGroup.class}) @RequestBody SparePartUsedDTO sparePartUsedDTO) {
+        sparePartUsedService.saveInitialized(sparePartUsedDTO);
+        return new R();
+    }
+
 }

+ 9 - 3
platform-service/src/main/java/com/platform/service/sqarepartmanage/SparePartUsedService.java

@@ -91,13 +91,19 @@ public interface SparePartUsedService extends IBaseService<SparePartUsed, SpareP
      * @param sparePartUsedDTOList
      * @return
      */
-    int[] saveBatch(List<SparePartUsedDTO> sparePartUsedDTOList);
+    void saveBatch(List<SparePartUsedDTO> sparePartUsedDTOList);
 
     /**
      * 设备备件更换
-     * @param sparePartUsedDTO
+     * @param records
      */
-    void updateSpare(SparePartUsedDTO sparePartUsedDTO);
+    void updateSpare(List<SparePartUsedDTO> records);
 
     List<SparePartUsedVO> selectSparePartUsedListBySbId(String sbId);
+
+    /**
+     * 给设备初始化专用备件记录
+     * @param record
+     */
+    void saveInitialized(SparePartUsedDTO record);
 }

+ 65 - 26
platform-service/src/main/java/com/platform/service/sqarepartmanage/impl/SparePartUsedServiceImpl.java

@@ -3,6 +3,7 @@ package com.platform.service.sqarepartmanage.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.exception.DeniedException;
+import com.platform.common.model.OauthUser;
 import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
 import com.platform.dao.bean.MyVOPage;
@@ -76,10 +77,11 @@ public class SparePartUsedServiceImpl extends BaseServiceImpl<SparePartUsedMappe
             usedQuery.setSbId(model.getSbId());
             usedQuery.setSpareId(model.getSpareId());
             usedQuery.setPartId(model.getPartId());
+            usedQuery.setStatus(SparePartUsedStatusEnum.IN_USE.getValue());
             usedQuery.setRemark(model.getRemark() == null ? null : model.getRemark().trim());
             int count = mapper.selectCount(usedQuery);
             if(count > 0){
-                throw new DeniedException("配件记录已存在,如需更换,请点击更换");
+                throw new DeniedException("配件记录已存在,如需更换,请在维修中点击更换");
             }
             // 判断到日期是否携带
             if(model.getChangeDate() == null){
@@ -104,6 +106,7 @@ public class SparePartUsedServiceImpl extends BaseServiceImpl<SparePartUsedMappe
             usedQuery.setSbId(model.getSbId());
             usedQuery.setSpareId(model.getSpareId());
             usedQuery.setPartId(model.getPartId());
+            usedQuery.setStatus(SparePartUsedStatusEnum.IN_USE.getValue());
             usedQuery.setRemark(model.getRemark() == null ? null : model.getRemark().trim());
             int count = mapper.selectCount(usedQuery);
             if(count > 0){
@@ -261,37 +264,49 @@ public class SparePartUsedServiceImpl extends BaseServiceImpl<SparePartUsedMappe
     }
 
     @Override
-    public int[] saveBatch(List<SparePartUsedDTO> sparePartUsedDTOList) {
-        int[] array = new int[]{0,0};
+    public void saveBatch(List<SparePartUsedDTO> sparePartUsedDTOList) {
+        List<SparePartUsed> list = new ArrayList<>();
+        // 这里是新增常用备件
         for(SparePartUsedDTO sparePartUsedDTO : sparePartUsedDTOList){
-            if(saveAndCheck(sparePartUsedDTO) == null){
-                array[1] = array[1] + 1;
-            }else{
-                array[0] = array[0] + 1;
+            if(sparePartUsedDTO.getIsSpecial() == null || sparePartUsedDTO.getIsSpecial() == 0){
+                SparePartUsed entity = BeanConverterUtil.copyObjectProperties(sparePartUsedDTO, SparePartUsed.class);
+                entity.setId(IdGeneratorUtils.getObjectId());
+                entity.setCreatedTime(LocalDateTime.now());
+                OauthUser user = SecurityUtils.getUser();
+                if (user != null) {
+                    UserInfo userInfo = user.getUserInfo();
+                    entity.setCreatedUserId(userInfo.getUserId());
+                    entity.setCreatedUserName(userInfo.getRealName());
+                }
+                list.add(entity);
             }
         }
-        return array;
+        if(list.size() > 0){
+            mapper.insertListforComplex(list);
+        }
     }
 
     @Override
-    public void updateSpare(SparePartUsedDTO sparePartUsedDTO) {
-        SparePartUsed usedOld = new SparePartUsed();
-        usedOld.setId(sparePartUsedDTO.getId());
-        // 新配件
-        SparePartInfo sparePartInfo = sparePartInfoMapper.selectByPrimaryKey(sparePartUsedDTO.getSpareId());
-        LocalDate now = LocalDate.now();
-        int periodDay = sparePartInfo.getAgePeriod().multiply(new BigDecimal(30)).intValue();
-        sparePartUsedDTO.setStartDate(now);
-        sparePartUsedDTO.setChangeDate(now.plusDays(periodDay));
-        sparePartUsedDTO.setStatus(SparePartUsedStatusEnum.IN_USE.getValue());
-        this.saveModelByDTO(sparePartUsedDTO);
-        // 修改老配件
-        usedOld.setRealChangeDate(now);
-        usedOld.setUpdateTime(LocalDateTime.now());
-        usedOld.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
-        usedOld.setUpdateUserName(SecurityUtils.getUserInfo().getUsername());
-        usedOld.setStatus(SparePartUsedStatusEnum.REPLACEMENTED.getValue());
-        mapper.updateByPrimaryKeySelective(usedOld);
+    public synchronized void updateSpare(List<SparePartUsedDTO> records) {
+        for(SparePartUsedDTO sparePartUsedDTO : records){
+            SparePartUsed usedOld = new SparePartUsed();
+            usedOld.setId(sparePartUsedDTO.getId());
+            // 新配件
+            SparePartInfo sparePartInfo = sparePartInfoMapper.selectByPrimaryKey(sparePartUsedDTO.getSpareId());
+            LocalDate now = LocalDate.now();
+            int periodDay = sparePartInfo.getAgePeriod().multiply(new BigDecimal(30)).intValue();
+            sparePartUsedDTO.setStartDate(now);
+            sparePartUsedDTO.setChangeDate(now.plusDays(periodDay));
+            sparePartUsedDTO.setStatus(SparePartUsedStatusEnum.IN_USE.getValue());
+            super.saveModelByDTO(sparePartUsedDTO);
+            // 修改老配件
+            usedOld.setRealChangeDate(now);
+            usedOld.setUpdateTime(LocalDateTime.now());
+            usedOld.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
+            usedOld.setUpdateUserName(SecurityUtils.getUserInfo().getUsername());
+            usedOld.setStatus(SparePartUsedStatusEnum.REPLACEMENTED.getValue());
+            mapper.updateByPrimaryKeySelective(usedOld);
+        }
     }
 
     @Override
@@ -299,6 +314,30 @@ public class SparePartUsedServiceImpl extends BaseServiceImpl<SparePartUsedMappe
         return mapper.selectSparePartUsedListBySbId(sbId);
     }
 
+    @Override
+    public void saveInitialized(SparePartUsedDTO model) {
+        if(model.getIsSpecial() != null && model.getIsSpecial() == 1){
+            // 专用备件,是否初次加入
+            SparePartUsed usedQuery = new SparePartUsed();
+            usedQuery.setSbId(model.getSbId());
+            usedQuery.setSpareId(model.getSpareId());
+            usedQuery.setPartId(model.getPartId());
+            usedQuery.setStatus(SparePartUsedStatusEnum.IN_USE.getValue());
+            //usedQuery.setRemark(model.getRemark() == null ? null : model.getRemark().trim());
+            int count = mapper.selectCount(usedQuery);
+            if(count > 0){
+                throw new DeniedException("配件记录已存在配件记录列表中");
+            }
+            // 判断到日期是否携带
+            if(model.getChangeDate() == null){
+                throw new DeniedException("预计报废日期不能为空");
+            }
+        }
+        // 是否需要添加BOM关系
+        model.setStatus(SparePartUsedStatusEnum.IN_USE.getValue());
+        super.saveModelByDTO(model);
+    }
+
     public static void main(String[] args) {
         LocalDate localDate = LocalDate.now();
         int year = localDate.getYear();

+ 33 - 28
platform-service/src/main/java/com/platform/service/store/impl/SpareStoreServiceImpl.java

@@ -1,40 +1,30 @@
 package com.platform.service.store.impl;
+
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
-import com.github.pagehelper.Page;
+import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.enums.DataFilterTypeEnum;
 import com.platform.common.exception.BusinessException;
-import com.platform.common.model.UserInfo;
-import com.platform.common.util.*;
+import com.platform.common.util.IdGeneratorUtils;
+import com.platform.common.util.StringUtils;
 import com.platform.dao.bean.MyPage;
-import com.github.pagehelper.PageHelper;
 import com.platform.dao.bean.MyVOPage;
-import com.platform.dao.dto.sb.SbInfoDTO;
 import com.platform.dao.dto.sb.SbModelSpareBomDTO;
-import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.sqarepartmanage.SpareTypeDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
-import com.platform.dao.dto.upms.SysDeptDTO;
-import com.platform.dao.entity.firm.FirmProducer;
-import com.platform.dao.entity.sb.SbInfo;
-import com.platform.dao.entity.sb.SbModel;
-import com.platform.dao.entity.sb.SbOil;
-import com.platform.dao.entity.sb.SbType;
-import com.platform.dao.entity.sqarepartmanage.SparePartInfo;
 import com.platform.dao.entity.sqarepartmanage.SpareType;
 import com.platform.dao.entity.store.SpareStore;
 import com.platform.dao.entity.store.Store;
-import com.platform.dao.entity.upms.SysUserDept;
-import com.platform.dao.enums.DeptNatureEnum;
 import com.platform.dao.enums.StoreLevelEnum;
+import com.platform.dao.mapper.sqarepartmanage.SparePartUsedMapper;
 import com.platform.dao.mapper.store.SpareStoreMapper;
-import com.platform.dao.util.CustomExcelImportUtil;
 import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.dao.vo.query.store.StoreVO;
-import com.platform.dao.vo.query.upms.SysDeptVO;
 import com.platform.dao.vo.sb.SbModelSpareBomVO;
+import com.platform.dao.vo.spare.SparePartUsedVO;
+import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.sb.SbModelSpareBomService;
 import com.platform.service.sqarepartmanage.SpareTypeService;
 import com.platform.service.store.SpareStoreService;
@@ -42,16 +32,14 @@ import com.platform.service.store.StoreService;
 import com.platform.service.upms.SysDeptService;
 import com.platform.service.upms.SysUserDeptService;
 import com.platform.service.util.CodeFileUtils;
+import lombok.AllArgsConstructor;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
-import com.platform.service.base.impl.BaseServiceImpl;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
-import lombok.AllArgsConstructor;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -72,6 +60,7 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
     private SysUserDeptService sysUserDeptService;
     private SysDeptService sysDeptService;
     private SbModelSpareBomService sbModelSpareBomService;
+    private SparePartUsedMapper sparePartUsedMapper;
 
     @Override
     public SpareStoreVO getDetail(Object id) {
@@ -184,15 +173,31 @@ public class SpareStoreServiceImpl extends BaseServiceImpl<SpareStoreMapper, Spa
         }
 
         if(model.getIsSpecial()!=null&&model.getIsSpecial()==1) {
-            SbModelSpareBomDTO sbModelDTO = new SbModelSpareBomDTO();
-            sbModelDTO.setSbId(model.getSbId());
-            sbModelDTO.setIsSpecial(1);
-            List<SbModelSpareBomVO> modelList = sbModelSpareBomService.selectVOList(sbModelDTO);
-            if(modelList != null && modelList.size()==0){
-                return new MyPage<>(null);
+            model.setIsSpecial(null);
+            if(model.getRepairFlag() != null ){
+                if(model.getRepairFlag() == 1){
+                    // 维修页面的数据获取
+                    List<SparePartUsedVO> usedList = sparePartUsedMapper.selectSparePartUsedListBySbId(model.getSbId());
+                    if(usedList == null || usedList.size() == 0){
+                        return new MyPage<>(null);
+                    }
+                    List<String> spareList = usedList.stream().map(item -> item.getSpareId()).distinct().collect(Collectors.toList());
+                    model.setSpareIdList(spareList);
+                } else if (model.getRepairFlag() == 2) {
+                    // 维修新增专用备件
+                    model.setIsSpecial(1);
+                }
+            }else{
+                SbModelSpareBomDTO sbModelDTO = new SbModelSpareBomDTO();
+                sbModelDTO.setSbId(model.getSbId());
+                sbModelDTO.setIsSpecial(1);
+                List<SbModelSpareBomVO> modelList = sbModelSpareBomService.selectVOList(sbModelDTO);
+                if(modelList != null && modelList.size()==0){
+                    return new MyPage<>(null);
+                }
+                List<String> spareList = modelList.stream().map(item -> item.getSpareId()).distinct().collect(Collectors.toList());
+                model.setSpareIdList(spareList);
             }
-            List<String> spareList = modelList.stream().map(item -> item.getSpareId()).distinct().collect(Collectors.toList());
-            model.setSpareIdList(spareList);
         }
         PageHelper.startPage(pageNum, pageSize);
         return new MyPage<>(mapper.selectList(model));