Browse Source

Merge branch 'refs/heads/feature-lihb-20250716' into test-merge

LHB 1 month ago
parent
commit
4bc37d633a

+ 63 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsTreeContractExtend.java

@@ -0,0 +1,63 @@
+package org.springblade.manager.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 合同段-扩展表
+ * @TableName m_wbs_tree_contract_extend
+ */
+@TableName(value ="m_wbs_tree_contract_extend")
+@Data
+public class WbsTreeContractExtend {
+    /**
+     * 
+     */
+    @TableId
+    private Long pKeyId;
+
+    /**
+     *  类型(1-施工,2-监理)
+     */
+    private Integer type;
+    /**
+     *  是否为同步数据(1-是,0-不是)
+     */
+    private Integer isSync;
+    /**
+     *  节点祖级路径
+     */
+    private String ancestors;
+
+    /**
+     *  创建时间
+     */
+    private Date syncTime;
+
+    /**
+     *  是否删除(0-正常,1-已删除)
+     */
+    private Integer isDeleted;
+
+    /**
+     *  创建时间
+     */
+    private Date createTime;
+
+    /**
+     *  创建人
+     */
+    private Long createUser;
+
+    /**
+     *  修改时间
+     */
+    private Date updateTime;
+
+    /**
+     *  修改人
+     */
+    private Long updateUser;
+}

+ 9 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -1,6 +1,5 @@
 package org.springblade.manager.controller;
 
-import cn.hutool.core.io.resource.Resource;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.log.StaticLog;
 import com.alibaba.fastjson.JSON;
@@ -86,6 +85,7 @@ import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -182,6 +182,7 @@ public class ExcelTabController extends BladeController {
     @Autowired
     StringRedisTemplate RedisTemplate;
 
+    private final WbsTreeContractExtendService wbsTreeContractExtendService;
     /**
      * 详情
      */
@@ -1505,6 +1506,13 @@ public class ExcelTabController extends BladeController {
         if (!result.isSuccess()) {
             return R.fail(result.getMsg());
         }
+        //保存时修改记录
+        List<String> pKeyIds = tableInfoList.stream().map(TableInfo::getPkeyId).collect(Collectors.toList());
+        wbsTreeContractExtendService.update(Wrappers.<WbsTreeContractExtend>update().lambda()
+                .set(WbsTreeContractExtend::getIsSync, 0)
+                .eq(WbsTreeContractExtend::getType, classify)
+                .eq(WbsTreeContractExtend::getPKeyId, pKeyIds));
+
         executionTime.info("----数据合并前----");
         List<String> errorPKeyIds = new ArrayList<>();
         //单个pdf加载F

+ 18 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractExtendMapper.java

@@ -0,0 +1,18 @@
+package org.springblade.manager.mapper;
+
+import org.springblade.manager.entity.WbsTreeContractExtend;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author LHB
+* @description 针对表【m_wbs_tree_contract_extend(合同段-扩展表)】的数据库操作Mapper
+* @createDate 2025-08-13 14:50:18
+* @Entity generator.domain.MWbsTreeContractExtend
+*/
+public interface WbsTreeContractExtendMapper extends BaseMapper<WbsTreeContractExtend> {
+
+}
+
+
+
+

+ 22 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractExtendMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.manager.mapper.WbsTreeContractExtendMapper">
+
+    <resultMap id="BaseResultMap" type="org.springblade.manager.entity.WbsTreeContractExtend">
+            <id property="pKeyId" column="p_key_id" />
+            <result property="isSync" column="is_sync" />
+            <result property="syncTime" column="sync_time" />
+            <result property="isDeleted" column="is_deleted" />
+            <result property="createTime" column="create_time" />
+            <result property="createUser" column="create_user" />
+            <result property="updateTime" column="update_time" />
+            <result property="updateUser" column="update_user" />
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        p_key_id,is_sync,sync_time,is_deleted,create_time,create_user,
+        update_time,update_user
+    </sql>
+</mapper>

+ 13 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/WbsTreeContractExtendService.java

@@ -0,0 +1,13 @@
+package org.springblade.manager.service;
+
+import org.springblade.manager.entity.WbsTreeContractExtend;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author LHB
+* @description 针对表【m_wbs_tree_contract_extend(合同段-扩展表)】的数据库操作Service
+* @createDate 2025-08-13 14:50:18
+*/
+public interface WbsTreeContractExtendService extends IService<WbsTreeContractExtend> {
+
+}

+ 0 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsSynchronousEViSaServiceImpl.java

@@ -200,7 +200,6 @@ public class WbsSynchronousEViSaServiceImpl {
         for (WbsTreeContract treeContract : list) {
             treeContract.setUpdateTime(DateTime.now());
             treeContract.setUpdateUser(createUserId);
-//            wbsTreeContractMapper.updateById(treeContract);
         }
         wbsTreeContractService.updateBatchById(list);
 

+ 46 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsSynchronousServiceImpl.java

@@ -16,6 +16,7 @@ import org.springblade.core.tool.utils.*;
 import org.springblade.manager.entity.*;
 import org.springblade.manager.enums.WbsSyncTypeEnum;
 import org.springblade.manager.mapper.*;
+import org.springblade.manager.service.WbsTreeContractExtendService;
 import org.springblade.system.cache.ParamCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
@@ -23,6 +24,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -74,6 +76,10 @@ public class WbsSynchronousServiceImpl {
     @Autowired
     private WbsTreeSynchronousRecordMapper synchronousRecordMapper;
 
+    @Resource
+    private WbsTreeContractExtendService wbsTreeContractExtendService;
+
+
     @Async("taskExecutor1")
     public void syncExecute(WbsTreeSynchronousRecord wbsTreeSynchronousRecord) {
         // 类型枚举 WbsSyncTypeEnum.ALREADY_FILLED_IN_NOT_REPORTED
@@ -852,12 +858,47 @@ public class WbsSynchronousServiceImpl {
         Set<Long> pIdsNew = new HashSet<>();
         //新增数据
         Map<Long, List<WbsTreeContract>> collect2 = addData.stream().collect(Collectors.groupingBy(WbsTreeContract::getPId));
+        List<WbsTreeContractExtend> wbsTreeContractExtends = new ArrayList<>();
+        //同步的表单及祖级节点
         if (CollectionUtil.isNotEmpty(addData)) {
+            addData.forEach(f -> {
+                WbsTreeContractExtend wbsTreeContractExtend = new WbsTreeContractExtend();
+                wbsTreeContractExtend.setPKeyId(f.getPKeyId());
+                wbsTreeContractExtend.setIsSync(1);
+                wbsTreeContractExtend.setSyncTime(DateTime.now());
+                wbsTreeContractExtend.setAncestors(f.getAncestorsPId());
+                //施工
+                if(Arrays.asList("1", "2", "3").contains(f.getTableOwner())){
+                    //
+                    wbsTreeContractExtend.setType(1);
+                }
+                //监理
+                if(Arrays.asList("4", "5", "6").contains(f.getTableOwner())){
+                    wbsTreeContractExtend.setType(2);
+                }
+                wbsTreeContractExtends.add(wbsTreeContractExtend);
+            });
             pIdsNew.addAll(collect2.keySet());
         }
         //修改数据
         Map<Long, List<WbsTreeContract>> collect1 = editData.stream().collect(Collectors.groupingBy(WbsTreeContract::getPId));
         if (CollectionUtil.isNotEmpty(editData)) {
+            editData.forEach(f -> {
+                WbsTreeContractExtend wbsTreeContractExtend = new WbsTreeContractExtend();
+                wbsTreeContractExtend.setPKeyId(f.getPKeyId());
+                wbsTreeContractExtend.setIsSync(1);
+                wbsTreeContractExtend.setSyncTime(DateTime.now());
+                //施工
+                if(Arrays.asList("1", "2", "3").contains(f.getTableOwner())){
+                    //
+                    wbsTreeContractExtend.setType(1);
+                }
+                //监理
+                if(Arrays.asList("4", "5", "6").contains(f.getTableOwner())){
+                    wbsTreeContractExtend.setType(2);
+                }
+                wbsTreeContractExtends.add(wbsTreeContractExtend);
+            });
             pIdsNew.addAll(collect1.keySet());
         }
         //计数 同步节点数量 按最小节点统计
@@ -910,6 +951,11 @@ public class WbsSynchronousServiceImpl {
         }
 
         System.err.println(errorMsg);
+
+        //添加记录
+        if(CollectionUtil.isNotEmpty(wbsTreeContractExtends)){
+            wbsTreeContractExtendService.saveOrUpdateBatch(wbsTreeContractExtends);
+        }
         synchronousRecordMapper.update(null, Wrappers.<WbsTreeSynchronousRecord>lambdaUpdate()
                 .set(WbsTreeSynchronousRecord::getStatus, 2)
                 .set(WbsTreeSynchronousRecord::getErrorMsg, null)

+ 22 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractExtendServiceImpl.java

@@ -0,0 +1,22 @@
+package org.springblade.manager.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.manager.entity.WbsTreeContractExtend;
+import org.springblade.manager.service.WbsTreeContractExtendService;
+import org.springblade.manager.mapper.WbsTreeContractExtendMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author LHB
+* @description 针对表【m_wbs_tree_contract_extend(合同段-扩展表)】的数据库操作Service实现
+* @createDate 2025-08-13 14:50:18
+*/
+@Service
+public class WbsTreeContractExtendServiceImpl extends ServiceImpl<WbsTreeContractExtendMapper, WbsTreeContractExtend>
+    implements WbsTreeContractExtendService {
+
+}
+
+
+
+