Quellcode durchsuchen

ndt修改记录

wangming vor 2 Wochen
Ursprung
Commit
61d5b8a7c9

+ 8 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZchxNdtProjectNdtCheckOperLogService.java

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckOperLogDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.dto.OperDto;
 
 /**
  * <p>
@@ -13,4 +14,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZchxNdtProjectNdtCheckOperLogService extends IService<ZchxNdtProjectNdtCheckOperLogDo> {
 
+    /**
+     * 获取日志记录
+     *
+     * @param operDto
+     * @return
+     */
+    ZchxNdtProjectNdtCheckOperLogDo getNew(OperDto operDto);
 }

+ 2 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZchxNdtProjectNdtCheckWeldSeamService.java

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckWeldSeamDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.dto.ndt.EditWeldResultBO;
 
 import java.util.List;
 
@@ -21,7 +22,7 @@ public interface ZchxNdtProjectNdtCheckWeldSeamService extends IService<ZchxNdtP
      * @param checkId
      * @param completedWeldList
      */
-    void completeWeld(String checkId, List<String> completedWeldList);
+    EditWeldResultBO completeWeld(String checkId, List<String> completedWeldList);
 
     /**
      * 获取已完成焊缝数量

+ 18 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZchxNdtProjectNdtWeldSeamService.java

@@ -3,6 +3,8 @@ package com.rongwei.bscommon.sys.service;
 import com.rongwei.bsentity.domain.ZchxNdtProjectNdtWeldSeamDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * NDT检测-项目NDT库_焊缝 服务类
@@ -13,4 +15,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ZchxNdtProjectNdtWeldSeamService extends IService<ZchxNdtProjectNdtWeldSeamDo> {
 
+    /**
+     * 更新ndt中焊缝状态
+     *
+     * @param libId
+     * @param weldList
+     * @param result
+     */
+    void updateResult(String libId, List<String> weldList, String result);
+
+    /**
+     * 获取已完成数量
+     *
+     * @param libId
+     * @return
+     */
+    int getCompleted(String libId);
 }

+ 21 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZchxNdtProjectNdtCheckOperLogServiceImpl.java

@@ -4,6 +4,8 @@ import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckOperLogDo;
 import com.rongwei.bscommon.sys.dao.ZchxNdtProjectNdtCheckOperLogDao;
 import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtCheckOperLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.dto.OperDto;
+import com.rongwei.rwcommon.utils.SecurityUtil;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +19,23 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZchxNdtProjectNdtCheckOperLogServiceImpl extends ServiceImpl<ZchxNdtProjectNdtCheckOperLogDao, ZchxNdtProjectNdtCheckOperLogDo> implements ZchxNdtProjectNdtCheckOperLogService {
 
+    /**
+     * 获取日志记录
+     *
+     * @param operDto
+     * @return
+     */
+    @Override
+    public ZchxNdtProjectNdtCheckOperLogDo getNew(OperDto operDto) {
+        ZchxNdtProjectNdtCheckOperLogDo entity = new ZchxNdtProjectNdtCheckOperLogDo();
+        entity.setId(SecurityUtil.getUUID());
+        entity.setOpertime(operDto.getOperTime());
+        entity.setCreatedate(operDto.getOperTime());
+        entity.setCreateuserid(operDto.getOperUser().getId());
+        entity.setCreateusername(operDto.getOperUser().getName());
+        entity.setModifydate(operDto.getOperTime());
+        entity.setModifyuserid(operDto.getOperUser().getId());
+        entity.setModifyusername(operDto.getOperUser().getName());
+        return null;
+    }
 }

+ 28 - 5
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZchxNdtProjectNdtCheckServiceImpl.java

@@ -1,14 +1,18 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtCheckWeldSeamService;
-import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtLibService;
+import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ZhcxCommon;
 import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckDo;
 import com.rongwei.bscommon.sys.dao.ZchxNdtProjectNdtCheckDao;
-import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtCheckService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckOperLogDo;
+import com.rongwei.bsentity.dto.OperDto;
+import com.rongwei.bsentity.dto.ndt.EditWeldResultBO;
 import com.rongwei.bsentity.dto.ndt.EnrollNdtExecuteRequest;
+import com.rongwei.rwcommon.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -30,6 +34,12 @@ public class ZchxNdtProjectNdtCheckServiceImpl extends ServiceImpl<ZchxNdtProjec
     private ZchxNdtProjectNdtCheckWeldSeamService zchxNdtProjectNdtCheckWeldSeamService;
     @Autowired
     private ZchxNdtProjectNdtLibService zchxNdtProjectNdtLibService;
+    @Autowired
+    private ZchxNdtProjectNdtWeldSeamService zchxNdtProjectNdtWeldSeamService;
+    @Autowired
+    private ZhcxCommon zhcxCommon;
+    @Autowired
+    private ZchxNdtProjectNdtCheckOperLogService zchxNdtProjectNdtCheckOperLogService;
 
     /**
      * 保存登记
@@ -39,8 +49,15 @@ public class ZchxNdtProjectNdtCheckServiceImpl extends ServiceImpl<ZchxNdtProjec
     @Override
     public void saveEntry(EnrollNdtExecuteRequest req) {
 
+        final OperDto operDto = zhcxCommon.getOper();
+
         //修改明细状态
-        zchxNdtProjectNdtCheckWeldSeamService.completeWeld(req.getCheckId(), req.getWeldList());
+        final ZchxNdtProjectNdtCheckDo checkDo = getById(req.getCheckId()); //申请单
+        final EditWeldResultBO weldResultBO = zchxNdtProjectNdtCheckWeldSeamService.completeWeld(req.getCheckId(), req.getWeldList());
+
+        //更新标准库焊缝明细
+        zchxNdtProjectNdtWeldSeamService.updateResult(checkDo.getLibid(), weldResultBO.getSelectedWeldList(), "10");
+        zchxNdtProjectNdtWeldSeamService.updateResult(checkDo.getLibid(), weldResultBO.getUnselectedWeldList(), "20");
 
         //修改主表状态
         final LambdaUpdateWrapper<ZchxNdtProjectNdtCheckDo> updateWrapper = Wrappers.lambdaUpdate();
@@ -50,7 +67,13 @@ public class ZchxNdtProjectNdtCheckServiceImpl extends ServiceImpl<ZchxNdtProjec
         update(updateWrapper);
 
         // 是否已全部完成
-        final ZchxNdtProjectNdtCheckDo checkDo = getById(req.getCheckId()); //申请单
         zchxNdtProjectNdtLibService.complete(checkDo.getLibid());
+
+        //添加修改记录
+        if(ObjectUtil.isNotEmpty(weldResultBO.getEditWeldDescList())) {
+            final ZchxNdtProjectNdtCheckOperLogDo operLog = zchxNdtProjectNdtCheckOperLogService.getNew(operDto);
+            operLog.setOperdescription("合格编号修改:".concat(StringUtils.join(weldResultBO.getEditWeldDescList(), ",")));
+            zchxNdtProjectNdtCheckOperLogService.save(operLog);
+        }
     }
 }

+ 94 - 7
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZchxNdtProjectNdtCheckWeldSeamServiceImpl.java

@@ -8,12 +8,10 @@ import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckWeldSeamDo;
 import com.rongwei.bscommon.sys.dao.ZchxNdtProjectNdtCheckWeldSeamDao;
 import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtCheckWeldSeamService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bsentity.dto.ndt.EditWeldResultBO;
 import org.springframework.stereotype.Service;
 
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
+import java.util.*;
 
 /**
  * <p>
@@ -33,12 +31,16 @@ public class ZchxNdtProjectNdtCheckWeldSeamServiceImpl extends ServiceImpl<ZchxN
      * @param completedWeldList
      */
     @Override
-    public void completeWeld(String checkId, List<String> completedWeldList) {
+    public EditWeldResultBO completeWeld(String checkId, List<String> completedWeldList) {
 
-        if(ObjectUtil.isEmpty(completedWeldList)) {
-            return ;
+        //修改记录
+        final EditWeldResultBO resultResultBO = editResultHistory(checkId, completedWeldList);
+
+        if(ObjectUtil.isEmpty(resultResultBO.getEditWeldDescList())) { //不存在修改记录不做更新
+            return resultResultBO;
         }
 
+        //更新申请单明细
         // 所有设值为未完成
         final LambdaUpdateWrapper<ZchxNdtProjectNdtCheckWeldSeamDo> updateUncomWrapper = Wrappers.lambdaUpdate();
         updateUncomWrapper.set(ZchxNdtProjectNdtCheckWeldSeamDo::getResult, "20")
@@ -52,6 +54,8 @@ public class ZchxNdtProjectNdtCheckWeldSeamServiceImpl extends ServiceImpl<ZchxN
                 .in(ZchxNdtProjectNdtCheckWeldSeamDo::getWeldcode, completedWeldList)
                 .eq(ZchxNdtProjectNdtCheckWeldSeamDo::getCheckid, checkId);
         update(updateComWrapper);
+
+        return resultResultBO;
     }
 
     /**
@@ -69,4 +73,87 @@ public class ZchxNdtProjectNdtCheckWeldSeamServiceImpl extends ServiceImpl<ZchxN
 
         return (int) list.stream().map(ZchxNdtProjectNdtCheckWeldSeamDo::getWeldcode).distinct().count();
     }
+
+    /**
+     * 修改记录
+     *
+     * @param checkId
+     * @param completedWeldList
+     * @return
+     */
+    private EditWeldResultBO editResultHistory(String checkId, List<String> completedWeldList) {
+        final LambdaQueryWrapper<ZchxNdtProjectNdtCheckWeldSeamDo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(ZchxNdtProjectNdtCheckWeldSeamDo::getCheckid, checkId);
+        final List<ZchxNdtProjectNdtCheckWeldSeamDo> list = list(queryWrapper);
+
+        return editResultHistory(list, completedWeldList);
+    }
+
+    /**
+     * 修改记录
+     *
+     * @param list
+     * @param completedWeldList
+     * @return
+     */
+    private EditWeldResultBO editResultHistory(List<ZchxNdtProjectNdtCheckWeldSeamDo> list, List<String> completedWeldList) {
+        if(ObjectUtil.isEmpty(ObjectUtil.isEmpty(list))) {
+            return EditWeldResultBO.builder()
+                    .unselectedWeldList(Collections.EMPTY_LIST)
+                    .selectedWeldList(Collections.EMPTY_LIST)
+                    .editWeldDescList(Collections.EMPTY_LIST)
+                    .build();
+        }
+
+        List<String> descList = new ArrayList<>();
+        List<String> selectList = new ArrayList<>();
+        List<String> unselectList = new ArrayList<>();
+
+        // 当前未选择即取消所有已选,将已选改成未选
+        if(ObjectUtil.isEmpty(completedWeldList)) {
+            for(ZchxNdtProjectNdtCheckWeldSeamDo weld : list) {
+                if("10".equals(weld.getResult())) {
+                    descList.add(weld.getWeldcode().concat("已选->未选"));
+                    unselectList.add(weld.getWeldcode());
+                    continue;
+                }
+            }
+
+            return EditWeldResultBO.builder()
+                    .unselectedWeldList(unselectList)
+                    .selectedWeldList(Collections.EMPTY_LIST)
+                    .editWeldDescList(descList)
+                    .build();
+        }
+
+        //存在已选
+        for(ZchxNdtProjectNdtCheckWeldSeamDo weld : list) { //遍历历史焊缝
+            // 未选 -》 已选
+            // 未选 -》 未选
+            // 已选 -》未选
+            // 已选 -》 已选
+            if("20".equals(weld.getResult()) || ObjectUtil.isEmpty(weld.getResult())) { //未选
+                //未选 -》 已选
+                if(completedWeldList.contains(weld.getWeldcode())) { //包含表示已选
+                    descList.add(weld.getWeldcode().concat("未选->已选"));
+                    selectList.add(weld.getWeldcode());
+                } else {// 未选 -》 未选
+                    continue;
+                }
+            } else { //已选
+                //已选 -》 已选
+                if(completedWeldList.contains(weld.getWeldcode())) { //包含表示已选
+                    continue;
+                } else {// 已选 -》未选
+                    descList.add(weld.getWeldcode().concat("已选->未选"));
+                    unselectList.add(weld.getWeldcode());
+                }
+            }
+        }
+        return EditWeldResultBO.builder()
+                .unselectedWeldList(unselectList)
+                .selectedWeldList(selectList)
+                .editWeldDescList(descList)
+                .build();
+    }
 }

+ 3 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZchxNdtProjectNdtLibServiceImpl.java

@@ -37,7 +37,9 @@ public class ZchxNdtProjectNdtLibServiceImpl extends ServiceImpl<ZchxNdtProjectN
     @Override
     public void complete(String id) {
 
-        final int completedCount = zchxNdtProjectNdtCheckWeldSeamService.getCompleted(id); //已完成数量
+        //已完成数量
+//        final int completedCount = zchxNdtProjectNdtCheckWeldSeamService.getCompleted(id);
+        final int completedCount = zchxNdtProjectNdtWeldSeamService.getCompleted(id);
 
         //总数
         final LambdaQueryWrapper<ZchxNdtProjectNdtWeldSeamDo> queryWrapper = Wrappers.lambdaQuery();

+ 39 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZchxNdtProjectNdtWeldSeamServiceImpl.java

@@ -1,11 +1,17 @@
 package com.rongwei.bscommon.sys.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bsentity.domain.ZchxNdtProjectNdtWeldSeamDo;
 import com.rongwei.bscommon.sys.dao.ZchxNdtProjectNdtWeldSeamDao;
 import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtWeldSeamService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * NDT检测-项目NDT库_焊缝 服务实现类
@@ -17,4 +23,37 @@ import org.springframework.stereotype.Service;
 @Service
 public class ZchxNdtProjectNdtWeldSeamServiceImpl extends ServiceImpl<ZchxNdtProjectNdtWeldSeamDao, ZchxNdtProjectNdtWeldSeamDo> implements ZchxNdtProjectNdtWeldSeamService {
 
+    /**
+     * 更新ndt中焊缝状态
+     *
+     * @param libId
+     * @param weldList
+     * @param result
+     */
+    @Override
+    public void updateResult(String libId, List<String> weldList, String result) {
+        if(ObjectUtil.isEmpty(weldList)) {
+            return ;
+        }
+
+        final LambdaUpdateWrapper<ZchxNdtProjectNdtWeldSeamDo> updateWrapper = Wrappers.lambdaUpdate();
+        updateWrapper.set(ZchxNdtProjectNdtWeldSeamDo::getResult, result)
+                .eq(ZchxNdtProjectNdtWeldSeamDo::getLibid, libId)
+                .in(ZchxNdtProjectNdtWeldSeamDo::getWeldcode, weldList);
+        update(updateWrapper);
+    }
+
+    /**
+     * 获取已完成数量
+     *
+     * @param libId
+     * @return
+     */
+    @Override
+    public int getCompleted(String libId) {
+        final LambdaQueryWrapper<ZchxNdtProjectNdtWeldSeamDo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(ZchxNdtProjectNdtWeldSeamDo::getLibid, libId)
+                .eq(ZchxNdtProjectNdtWeldSeamDo::getResult, "10");
+        return count(queryWrapper);
+    }
 }

+ 14 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/utils/ZhcxCommon.java

@@ -6,6 +6,7 @@ import com.aspose.words.Document;
 import com.rongwei.bscommon.sys.feign.SysNotifyFeginService;
 import com.rongwei.bscommon.sys.service.ProjectWbsNodeService;
 import com.rongwei.bsentity.dto.NotifyDto;
+import com.rongwei.bsentity.dto.OperDto;
 import com.rongwei.commonservice.service.RedisService;
 import com.rongwei.rwadmincommon.system.domain.PagePartDo;
 import com.rongwei.rwadmincommon.system.service.PagePartService;
@@ -29,6 +30,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -51,6 +53,18 @@ public class ZhcxCommon {
     @Autowired
     private ProjectWbsNodeService projectWbsNodeService;
 
+    /**
+     * 获取操作对象
+     *
+     * @return
+     */
+    public OperDto getOper() {
+        OperDto operDto = new OperDto();
+        operDto.setOperUser(getCurrentUser());
+        operDto.setOperTime(new Date());
+        return operDto;
+    }
+
     public SysUserVo getCurrentUser() {
         // 获取当前登录人信息
         SysUserVo currUser = null;

+ 5 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZchxNdtProjectNdtWeldSeamDo.java

@@ -55,5 +55,10 @@ public class ZchxNdtProjectNdtWeldSeamDo extends BaseDo {
     @TableField("WSORT")
     private Integer wsort;
 
+    /**
+     * 结果(选中:10,未选中:20)
+     */
+    @TableField("RESULT")
+    private String result;
 
 }

+ 31 - 0
business-entity/src/main/java/com/rongwei/bsentity/dto/ndt/EditWeldResultBO.java

@@ -0,0 +1,31 @@
+package com.rongwei.bsentity.dto.ndt;
+
+import lombok.*;
+
+import java.util.List;
+
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class EditWeldResultBO {
+
+    /**
+     * 已选->未选 焊缝编号
+     *
+     */
+    private List<String> unselectedWeldList;
+
+    /**
+     * 未选->已选 焊缝编号
+     *
+     */
+    private List<String> selectedWeldList;
+
+    /**
+     * 修改记录描述
+     *
+     */
+    private List<String> editWeldDescList;
+}