1 year ago
parent
commit
2e361c5643

+ 57 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/sb/ExportSbMeasureLogVO2.java

@@ -0,0 +1,57 @@
+package com.platform.dao.vo.export.sb;
+
+import com.platform.office.annotation.Excel;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @Description 点检标准导出VO
+ * @Author liuyu
+ * @Date 2020-05-28 17:23:30
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class ExportSbMeasureLogVO2 implements Serializable {
+
+    /**
+     * 标准名称
+     */
+    @Excel(name = "设备名称")
+    private String sbName;
+    /**
+     * 出厂编号
+     */
+    @Excel(name = "操作类型",dicCode = "SB_MEASURE_OTHER_TYPE")
+    private String otherType;
+    /**
+     * 标准名称
+     */
+    @Excel(name = "设备位号")
+    private String positionNo;
+    /**
+     * 标准名称
+     */
+    @Excel(name = "设备位置")
+    private String positionName;
+    /**
+     * 编码
+     */
+    @Excel(name = "规格型号")
+    private String sbModel;
+
+
+    /**
+     * 是否启用: 0-否 1-是
+     */
+    @Excel(name = "操作时间")
+    private LocalDateTime createdTime;
+
+
+
+
+}

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/sb/SbMeasureLogVO.java

@@ -24,6 +24,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SbMeasureLogVO extends BaseVO implements Serializable{
+    private String actionTypeStr;
     /**
      * 1:检定,2:更换,3:维修,4:退库,5:报废
      */

+ 9 - 5
platform-dao/src/main/resources/mapper/sb/SbMeasureLogMapper.xml

@@ -95,7 +95,7 @@
             and checkstandard.update_user_name = #{updateUserName}
         </if>
         <if test="createdTimeStart != null">
-            and checkstandard.created_time <![CDATA[>=]]>; #{createdTimeStart}
+            and checkstandard.created_time <![CDATA[>=]]> #{createdTimeStart}
         </if>
         <if test="createdTimeEnd != null">
             and checkstandard.created_time <![CDATA[<=]]> #{createdTimeEnd}
@@ -104,7 +104,7 @@
             and checkstandard.created_time = #{createdTime}
         </if>
         <if test="updateTimeStart != null">
-            and checkstandard.update_time <![CDATA[>=]]>; #{updateTimeStart}
+            and checkstandard.update_time <![CDATA[>=]]> #{updateTimeStart}
         </if>
         <if test="updateTimeEnd != null">
             and checkstandard.update_time <![CDATA[<=]]> #{updateTimeEnd}
@@ -135,16 +135,20 @@
             )
         </if>
         <if test="positionNo!=null and positionNo!=''">
-            sb.position_no like cancat('%',#{positionNo},'%')
+            and sb.position_no like concat('%',#{positionNo},'%')
         </if>
         <if test="otherType!=null and otherType!=''">
-            checkstandard.other_type = #{otherType}
+            and checkstandard.other_type = #{otherType}
         </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.sb.SbMeasureLogDTO"
             resultType="com.platform.dao.vo.query.sb.SbMeasureLogVO">
         select checkstandard.*,type.name as typeName,
-        sb.position_no as positionNo, sb.zzh, sb.name sbName, sb.model sbModel, sb.no sbNo, sb.zzh sbZzh, sb.card_no cardNo,
+        case
+        when checkstandard.action_type=1  then '移入'
+        when checkstandard.action_type=2  then '移出'
+         end actionTypeStr,
+        sb.position_no as positionNo, sb.zzh, sb.name sbName, sb.model sbModel, sb.no sbNo, sb.zzh sbZzh, sb.card_no cardNo,sb.position_no,
         position.name as positionName,sb.check_period as period,sb.next_check_date as nextCheckDate
         from t_sb_measure_log as checkstandard
         LEFT JOIN t_sb_info sb on checkstandard.sb_id = sb.id

+ 2 - 2
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoController.java

@@ -604,8 +604,8 @@ public class SbInfoController {
      * @return
      */
     @GetMapping("/positionNo/history")
-    public R getPositionNoHistory(SbChangeRecordDTO dto){
-        return new R<>(sbInfoService.getPositionNoHistory(dto));
+    public R getPositionNoHistory(SbChangeRecordDTO dto,@RequestParam(defaultValue = "1") int pageNum,@RequestParam(defaultValue = "10") int pageSize){
+        return new R<>(sbInfoService.getPositionNoHistory(dto,pageNum,pageSize));
     }
 
 

+ 13 - 3
platform-rest/src/main/java/com/platform/rest/controller/sb/SbMeasureLogController.java

@@ -12,6 +12,7 @@ import com.platform.dao.entity.sb.SbUpdateLog;
 import com.platform.dao.mapper.sb.SbUpdateLogMapper;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.vo.export.sb.ExportSbMeasureLogVO;
+import com.platform.dao.vo.export.sb.ExportSbMeasureLogVO2;
 import com.platform.dao.vo.query.sb.SbMeasureLogVO;
 import com.platform.dao.vo.sb.SbUpdateLogVO;
 import com.platform.rest.log.annotation.SysLog;
@@ -163,6 +164,15 @@ public class SbMeasureLogController {
         ExcelUtil.exportResponseDict(response, ExportSbMeasureLogVO.class, BeanConverterUtil.copyListProperties(list, ExportSbMeasureLogVO.class), "计量设备检定记录");
     }
 
+    @GetMapping("/export2")
+    @SysLog("计量设备检定记录导出")
+    @PreAuthorize("@pms.hasPermission('measure-log-export') or @pms.hasPermission('check-polling-standards-export')")
+    public void export2(HttpServletResponse response, SbMeasureLogDTO checkStandardDTO) {
+        List<SbMeasureLogVO> list = sbMeasureLogService.selectList(checkStandardDTO);
+
+        ExcelUtil.exportResponseDict(response, ExportSbMeasureLogVO2.class, BeanConverterUtil.copyListProperties(list, ExportSbMeasureLogVO2.class), "设备履历");
+    }
+
     @GetMapping("/generate/init")
     public R generateInit() {
         sbMeasureLogService.generateInitLog();
@@ -176,11 +186,11 @@ public class SbMeasureLogController {
      * @return R
      */
     @GetMapping("/getLogBySbId")
-    public R getLogBySbId(SbMeasureLogDTO checkStandardDTO) {
+    public R getLogBySbId(SbMeasureLogDTO checkStandardDTO,@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        return new R(sbMeasureLogService.selectPageInfo(checkStandardDTO,pageNum,pageSize));
 
-        List<SbMeasureLogVO> measureLogVOS = sbMeasureLogService.selectList(checkStandardDTO);
 
-        return new R<>(measureLogVOS);
+//        return new R<>(measureLogVOS);
     }
 
 }

+ 2 - 1
platform-service/src/main/java/com/platform/service/sb/SbInfoService.java

@@ -1,6 +1,7 @@
 package com.platform.service.sb;
 
 import com.alibaba.fastjson.JSONObject;
+import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.sb.SbChangeRecordDTO;
 import com.platform.dao.dto.sb.SbInfoDTO;
@@ -25,7 +26,7 @@ import java.util.Map;
  */
 public interface SbInfoService extends IBaseService<SbInfo, SbInfoDTO> {
 
-    List<YiBiaoHisroryVO> getPositionNoHistory(SbChangeRecordDTO dto);
+    AbstractPageResultBean<YiBiaoHisroryVO> getPositionNoHistory(SbChangeRecordDTO dto,Integer pageNum,Integer pageSize);
 
     List<SbInfoTypeReportVO2> getSbNumReport(SbTypeDTO dto);
 

+ 20 - 78
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.platform.activiti.bean.ActObj;
 import com.platform.activiti.enums.ActApplyEnum;
+import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.cache.ConfigCache;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.enums.DataFilterTypeEnum;
@@ -15,6 +16,7 @@ import com.platform.common.exception.BusinessException;
 import com.platform.common.exception.DeniedException;
 import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
+import com.platform.dao.bean.MyPage;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.check.CheckStandardDTO;
 import com.platform.dao.dto.part.PartInfoDTO;
@@ -138,18 +140,9 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
     private final FillGatherTaskDetailMapper fillGatherTaskDetailMapper;
 
     @Override
-    public List<YiBiaoHisroryVO> getPositionNoHistory(SbChangeRecordDTO sbChangeRecordDTO) {
-//        dto.setUseType(4);//仪表
-//        List<SbInfoVO> sbInfoVOS = mapper.selectVOList(dto);
-//        List<String> positionNos = sbInfoVOS.stream().map(SbInfoVO::getPositionNo).collect(Collectors.toList());
-//        List<SbChangeRecord> sbChangeRecords = new ArrayList<>();
-//        if (positionNos!=null){
-//            Weekend<SbChangeRecord> weekend = new Weekend<>(SbChangeRecord.class);
-//            WeekendCriteria<SbChangeRecord,Object> weekendCriteria = weekend.weekendCriteria();
-////            weekendCriteria.andIn(SbChangeRecord::getSbNoId,positionNos);
- //            weekendCriteria.andIsNotNull(SbChangeRecord::getActionType);/ignores/sb
-//            sbChangeRecords = sbChangeRecordMapper.selectByExample(weekend);
+    public AbstractPageResultBean<YiBiaoHisroryVO> getPositionNoHistory(SbChangeRecordDTO sbChangeRecordDTO,Integer pageNum,Integer pageSize) {
         sbChangeRecordDTO.setActionType(1);
+
         List<SbChangeRecordVO> sbChangeRecordVOS = sbChangeRecordMapper.getList(sbChangeRecordDTO);
 
         List<String> nos = sbChangeRecordVOS.stream().map(SbChangeRecordVO::getSbNoId).distinct().collect(Collectors.toList());
@@ -192,70 +185,22 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
                 hisroryVOS.add(vo);
             }
         }
-
-//        }
-//        List<SbChangeRecord> tempInList = new ArrayList<>();
-//        List<SbChangeRecord> tempOutList = new ArrayList<>();
-//        if (sbChangeRecords!=null) {
-//            for (SbChangeRecord record : sbChangeRecords){
-//                if (record.getActionType()==1){
-//                    tempInList.add(record);
-//                }else {
-//                    tempOutList.add(record);
-//                }
-//            }
-//        }
-//
-//        List<String> recordPositions = sbChangeRecords.stream().map(SbChangeRecord::getSbNoId).distinct().collect(Collectors.toList());
-//        SbInfoDTO sbInfoDTO = new SbInfoDTO();
-//        sbInfoDTO.setPositionIds(recordPositions);
-//        List<SbInfoVO> sbInfoVOS2 =  mapper.selectVOList(sbInfoDTO);
-//        for (String po:recordPositions){
-//            for (SbInfoVO vo:sbInfoVOS2){
-//                if (vo.getPositionNo()!=null&&vo.getPositionNo().equals(po)){
-//                    YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
-//                    yiBiaoHisroryVO.setSbName(vo.getName());
-//                    yiBiaoHisroryVO.setSbId(vo.getId());
-//                    yiBiaoHisroryVO.setSbNo(vo.getNo());
-//                    for (int i=0;i<sbChangeRecordVOS.size();i++){
-//                        if (vo.getPositionNo().equals(sbChangeRecordVOS.get(i).getSbNoId())){
-//                            yiBiaoHisroryVO.setCreatedTime(sbChangeRecordVOS.get(i).getCreatedTime());
-//                            yiBiaoHisroryVO.setCreatedUserId(sbChangeRecordVOS.get(i).getCreatedUserId());
-//                            yiBiaoHisroryVO.setCreatedUserName(sbChangeRecordVOS.get(i).getCreatedUserName());
-//                        }
-//                    }
-//                }
-//            }
-//        }
-//        for (String positions:recordPositions){
-//            for (SbInfoVO vo:sbInfoVOS){
-//                if (vo.getPositionNo()!=null&&vo.getPositionNo().equals(positions)){
-//                    YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
-//                    yiBiaoHisroryVO.setSbName(vo.getName());
-//                    yiBiaoHisroryVO.setSbId(vo.getId());
-//                    yiBiaoHisroryVO.setSbNo(vo.getNo());
-//                    for (SbChangeRecord record : sbChangeRecords){
-//
-//                    }
-////                    yiBiaoHisroryVO.setCreatedTime()
-//                }
-//            }
-//        }
-////        List<String> inPositions = tempInList.stream().distinct().map(SbChangeRecord::getSbNoId).collect(Collectors.toList());
-////        List<String> outPositions = tempOutList.stream().map(SbChangeRecord::getSbNoId).collect(Collectors.toList());
-//
-//
-//        if (sbChangeRecords!=null){
-//            for (SbInfoVO vo:sbInfoVOS){
-//                YiBiaoHisroryVO yiBiaoHisroryVO = new YiBiaoHisroryVO();
-//                yiBiaoHisroryVO.setSbName(vo.getName());
-//                yiBiaoHisroryVO.setSbNo(vo.getNo());
-//                for (SbChangeRecord record:sbChangeRecords){
-////                    if (record.getSbId()!=null&&record.getSbId().equals(vo.get))
-//                }
-//            }
-//        }
-        return hisroryVOS;
+        AbstractPageResultBean<YiBiaoHisroryVO> pageInfo = new MyPage(hisroryVOS);
+        pageInfo.setPageNum(pageNum);
+        pageInfo.setPageSize(pageSize);
+        List<YiBiaoHisroryVO> dataList = new ArrayList<>();
+        for (int i = pageSize*(pageNum-1);i<hisroryVOS.size();i++){
+            dataList.add(hisroryVOS.get(i));
+        }
+        pageInfo.setRows(dataList);
+        if (hisroryVOS!=null&&hisroryVOS.size()>0){
+            int pages = hisroryVOS.size()%pageSize==0?hisroryVOS.size()/pageSize:(hisroryVOS.size()/pageSize)+1;
+            pageInfo.setPages(pages);
+        }else {
+            pageInfo.setPages(0);
+        }
+        pageInfo.setTotal((long)hisroryVOS.size());
+        return pageInfo;
     }
 
     @Override
@@ -667,9 +612,6 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         sbChangeRecordMapper.insert(record);
     }
 
-
-
-
     @Override
     public List<SbInfoTypeReportVO2> getSbNumReport(SbTypeDTO model) {
         List<SbInfoTypeReportVO2> sbInfoTypeReportVO2s = new ArrayList<>();

+ 34 - 0
platform-service/src/main/java/com/platform/service/sb/impl/SbMeasureLogServiceImpl.java

@@ -58,6 +58,7 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
     private final SbPositionMapper sbPositionMapper;
     private final SbLocationMapper sbLocationMapper;
     private final SbChangeRecordMapper sbChangeRecordMapper;
+    private final SbMeasureLogMapper sbMeasureLogMapper;
 
     @Override
     public boolean cascadingDeleteByKey(String id) {
@@ -224,6 +225,7 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
             remark1.append("设备位置变动【" + before).append("】 ---> ");
             String after = positionId == "" ? positionId : sbPositionMapper.selectNameById(positionId);
             remark1.append("【" + after + "】");
+
         }
         StringBuilder inRemark = new StringBuilder(); // 新增子设备记录
         StringBuilder outRemark = new StringBuilder(); // 移除子设备记录
@@ -297,11 +299,43 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
             remark += "在库】";
             sbInfo.setStatus(SbInfoStatusEnum.IN_STORE.getValue());
             handleSbChangeRecord(remark, model, sbInfo, CommonConstants.CHANGE_TYPE_SB_STATUS);
+//            SbInfo info = new SbInfo();
+//            info.setId(model.getSbId());
+//            info.setPositionNo("暂无");
+//            sbInfoMapper.updateByPrimaryKeySelective(info);
+            sbInfo.setPositionNo("暂无");
+
+            SbChangeRecord record = new SbChangeRecord();
+            record.setSbId(model.getId());
+            record.setSbNoId(oldSbPositionNo);
+            UserInfo userInfo = SecurityUtils.getUserInfo();
+            record.setCreatedUserId(userInfo.getUserId());
+            record.setCreatedUserName(userInfo.getUsername());
+            record.setCreatedTime(LocalDateTime.now());
+            record.setId(IdGeneratorUtils.getObjectId());
+            record.setActionType(2);
+            sbChangeRecordMapper.insert(record);
+
+            SbMeasureLogDTO dto = new SbMeasureLogDTO();
+            setCreateUserInfo(dto);
+            dto.setId(IdGeneratorUtils.getObjectId());
+            SbMeasureLog log = BeanConverterUtil.copyObjectProperties(dto,SbMeasureLog.class);
+            sbMeasureLogMapper.insert(log);
         }
         sbInfoMapper.updateByPrimaryKey(sbInfo);
         return sbMeasureLog;
 
     }
+    public void setCreateUserInfo(SbMeasureLogDTO model) {
+        model.setCreatedTime(LocalDateTime.now());
+        model.setUpdateTime(LocalDateTime.now());
+        OauthUser user = SecurityUtils.getUser();
+        if (user != null) {
+            UserInfo userInfo = user.getUserInfo();
+            model.setCreatedUserId(userInfo.getUserId());
+            model.setCreatedUserName(userInfo.getRealName());
+        }
+    }
 
     private String getPureString(String info) {
         return StringUtils.isBlank(info) ? "" : info;