Browse Source

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

yangyj 1 year ago
parent
commit
d6d23f8a21

+ 2 - 2
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/WbsTreePrivate.java

@@ -220,8 +220,8 @@ public class WbsTreePrivate extends BaseEntity {
     /**
      * 施工委托单Id
      */
-    @ApiModelProperty(value = "施工委托单Id")
-    private Long sgerTreeId;
+    @ApiModelProperty(value = "业主委托单Id")
+    private Long yzerTreeId;
 
     /**
      * 监理委托单Id

+ 28 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/utils/FileUtils.java

@@ -26,6 +26,7 @@ import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.common.utils.SystemUtils;
 import org.springblade.common.vo.DataVO;
 import org.springblade.core.oss.model.BladeFile;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.IoUtil;
 import org.springblade.core.tool.utils.ResourceUtil;
 import org.springblade.resource.feign.NewIOSSClient;
@@ -215,6 +216,33 @@ public class FileUtils {
         return -1;
     }
 
+
+    public static void main333(String[] args) {
+
+        String data =
+        "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/1efc60434b79b323319c12d665712840.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240612/fb4ec69418b57825993a3e2f10437fb2.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240612/fb4ec69418b57825993a3e2f10437fb2.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/44607a1044c19d57a820fa961476f92d.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/153cd901209cabc1f74d2c3197c43f93.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/95d1f7d3941c42a242290e2e780992e0.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/68b6c0119b8cc1bef99c97e03953e993.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/c70e76795c874707e3bfc43e60add110.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/a0b2c09c76a532710a1eaea45c4fa1b6.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/dccac92b12946ffa9eb9b30c71faa841.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/7fd44206f555009c5dd89552c5a41f8c.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/cf20f81ac416826df6d952fbcf957aeb.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/daec28476f9a39c4559873b51ef8faa1.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/5e3db4d0b3f269540f2b3d362d894136.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/1825faa3646a64ddd18a9eeaa93bf160.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/b36a99af836a099e19b7929030de8e29.pdf,"+
+                "https://blade-oss-chongqing.oss-cn-shenzhen.aliyuncs.com//upload/20240611/f6f1838282a984030d96258fa78e7bab.pdf";
+
+        List<String> strList = Func.toStrList(data);
+
+        mergePdfPublicMethods(strList,"/Users/hongchuangyanfa/Desktop/html2/test.pdf");
+    }
+
     /**
      * 合并方法
      */

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/EVisaTaskCheckController.java

@@ -353,7 +353,7 @@ public class EVisaTaskCheckController {
         //获取对应表格的所有电签配置
         String tableOwner = json.getString("tableOwner");
         if (StringUtils.isBlank(tableOwner)) {
-            tableOwner = json.getString("classifyType");
+            tableOwner = json.getString("classifyType"); //1 施工方  2监理  3 业主
         }
         //查询当前节点的PDF
         InformationQuery node = informationQueryService.getOne(new LambdaQueryWrapper<InformationQuery>()

+ 27 - 13
blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialDetectionController.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
 import org.springblade.business.dto.*;
+import org.springblade.business.entity.EntrustInfo;
 import org.springblade.business.entity.TrialDetectionData;
 import org.springblade.business.entity.TrialSelfInspectionRecord;
 import org.springblade.business.service.ITrialDetectionDataService;
@@ -300,34 +301,47 @@ public class TrialDetectionController extends BladeController {
                 //优先使用电签的pdf
                 pdfUrl = stringObjectMap.get("e_visa_pdf_url");
             }
+            List<String> pdfList = new ArrayList<>();
+
+            //试验原始pdf
+            pdfList.add(pdfUrl.toString());
 
             //关联原材料检测报告的pdf(合并后的dpf都一样,取其一)
             String sqlRecord = "select old_pdf_url from u_trial_raw_material_self_record where self_record_id =" + nodeId;
             TrialRawMaterialSelfRecord recordObj = jdbcTemplate.query(sqlRecord, new BeanPropertyRowMapper<>(TrialRawMaterialSelfRecord.class)).stream().findAny().orElse(null);
-            if (pdfUrl != null && recordObj != null && recordObj.getOldPdfUrl() != null) {
+            if (recordObj != null && recordObj.getOldPdfUrl() != null) {
                 String pdfUrlTrialRawMaterial = recordObj.getOldPdfUrl();
-                List<String> pdfList = new ArrayList<>();
-                //试验原始pdf
-                pdfList.add(pdfUrl.toString());
                 //材料检测报告pdf
                 pdfList.add(pdfUrlTrialRawMaterial);
-                //合并
-                String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+            }
+
+            // 委托单的信息
+            String sqlEntrust = "SELECT IFNULL(a.entrust_e_pdf,a.entrust_pdf) as entrust_pdf from u_entrust_info a ,u_trial_self_inspection_record b where a.id=b.entrust_id and b.id=" + nodeId;
+            EntrustInfo entrustInfo = jdbcTemplate.query(sqlEntrust, new BeanPropertyRowMapper<>(EntrustInfo.class)).stream().findAny().orElse(null);
+
+            if (entrustInfo != null ) {
+                String entrustPdf = entrustInfo.getEntrustPdf();
+                //材料检测报告pdf
+                pdfList.add(entrustPdf);
+            }
+
+            //合并
+            if (pdfList.size() > 0) {
+                String file_path = FileUtils.getSysLocalFileUrl();
                 Long id = SnowFlakeUtil.getId();
                 String trialPdf = file_path + "/pdf/" + id + ".pdf";
                 File trialPdf2 = ResourceUtil.getFile(trialPdf);
                 if (trialPdf2.exists()) {
                     trialPdf2.delete();
                 }
-                if (pdfList.size() > 0) {
-                    //合并当前所有选择的试验pdf
-                    FileUtils.mergePdfPublicMethods(pdfList, trialPdf);
-                    BladeFile bladeFile = this.newIOSSClient.uploadFile(id + ".pdf", trialPdf);
-                    if (bladeFile != null && ObjectUtils.isNotEmpty(bladeFile.getLink())) {
-                        pdfUrl = bladeFile.getLink();
-                    }
+                //合并当前所有选择的试验pdf
+                FileUtils.mergePdfPublicMethods(pdfList, trialPdf);
+                BladeFile bladeFile = this.newIOSSClient.uploadFile(id + ".pdf", trialPdf);
+                if (bladeFile != null && ObjectUtils.isNotEmpty(bladeFile.getLink())) {
+                    pdfUrl = bladeFile.getLink();
                 }
             }
+
             return R.data(pdfUrl);
         } else {
             return R.fail("无历史数据预览,请保存数据");

+ 3 - 10
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/EntrustInfoServiceImpl.java

@@ -40,6 +40,7 @@ import org.springblade.manager.feign.WbsTreePrivateClient;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -120,10 +121,9 @@ public class EntrustInfoServiceImpl extends BaseServiceImpl<EntrustInfoMapper, E
 			if ((wb.get("dynamic_dict") + "").equals("500")) { //委托单--委托单位
 				for(String dataEkey : dataInfo.keySet()){
 					if(dataEkey.indexOf(ekey)>=0){
-						entrustInfo.setEntrustName(dataInfo.getString(dataEkey));
+						entrustInfo.setEntrustInfo(dataInfo.getString(dataEkey));
 					}
 				}
-
 			}
 
 			if ((wb.get("dynamic_dict") + "").equals("501")) { //委托单--委托单编号
@@ -133,15 +133,8 @@ public class EntrustInfoServiceImpl extends BaseServiceImpl<EntrustInfoMapper, E
 					}
 				}
 			}
-
-			if ((wb.get("dynamic_dict") + "").equals("502")) { //委托单-委托单名称
-				for(String dataEkey : dataInfo.keySet()){
-					if(dataEkey.indexOf(ekey)>=0){
-						entrustInfo.setEntrustInfo(dataInfo.getString(dataEkey));
-					}
-				}
-			}
 		}
+		entrustInfo.setEntrustName(wbsTreePrivate.getNodeName());
 		this.saveOrUpdate(entrustInfo);
 		dataInfo.put("groupId",entrustInfo.getId());
 		dataInfo.put("pkeyId", dataInfo.getString("nodeErTreeId"));

+ 24 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreePrivateController.java

@@ -7,6 +7,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.mixsmart.utils.StringUtils;
 import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
+import oracle.jdbc.proxy.annotation.Post;
 import org.springblade.business.entity.TrialSelfInspectionRecord;
 import org.springblade.business.vo.SaveLogContractVO;
 import org.springblade.common.utils.SnowFlakeUtil;
@@ -716,8 +717,6 @@ public class WbsTreePrivateController extends BladeController {
     }
 
     /**
-     *
-     *
      * @param primaryKeyId
      * @return
      */
@@ -783,11 +782,11 @@ public class WbsTreePrivateController extends BladeController {
     @ApiOperation(value = "节点关联", notes = "节点关联")
     @RequestMapping(value = "/link-node-tree", method = RequestMethod.POST)
     public R linkNodeTree(@RequestParam String pkeyid,@RequestParam String nodeids) {
-        if(pkeyid==null && StringUtil.isEmpty(pkeyid) ){
-            R.fail("pkeyid不能为null");
+        if(pkeyid==null || StringUtil.isEmpty(pkeyid) ){
+            return R.fail("pkeyid不能为null");
         }
-        if(nodeids==null && StringUtil.isEmpty(nodeids) ){
-            R.fail("nodeids不能为null");
+        if(nodeids==null || StringUtil.isEmpty(nodeids) ){
+            return R.fail("nodeids不能为null");
         }
         int i = wbsTreePrivateService.linkNodeTreeInfo(pkeyid, nodeids);
         return R.success("操作成功");
@@ -807,4 +806,23 @@ public class WbsTreePrivateController extends BladeController {
         return R.data(wbsTreePrivates);
     }
 
+    /**
+     *
+     *
+     * @param nodeId
+     * @return
+     */
+    @GetMapping("/get-excel-html_entrust")
+    @ApiOperationSupport(order = 32)
+    @ApiOperation(value = "委托单获取html", notes = "委托单获取html")
+    public Object getExcelHtmlEntrust(@RequestParam String nodeId,@RequestParam String contractId) throws Exception {
+        if(nodeId==null && StringUtil.isEmpty(nodeId) ){
+            R.fail("pkeyid不能为null");
+        }
+        if(contractId==null && StringUtil.isEmpty(contractId) ){
+            R.fail("contractId不能为null");
+        }
+        return wbsTreePrivateService.getExcelHtmlEntrust(nodeId,contractId);
+    }
+
 }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.java

@@ -113,7 +113,7 @@ public interface WbsTreePrivateMapper extends EasyBaseMapper<WbsTreePrivate> {
 
     List<WbsTreeContract> getcontractAllNode(@Param("projectId") Long projectId);
 
-    int linkNodeTreeInfoBySG(@Param("pkeyid") String pkeyid,@Param("list") List<String> list);
+    int linkNodeTreeInfoByYZ(@Param("pkeyid") String pkeyid,@Param("list") List<String> list);
 
     int linkNodeTreeInfoByJL(@Param("pkeyid") String pkeyid,@Param("list") List<String> list);
 

+ 5 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreePrivateMapper.xml

@@ -37,7 +37,7 @@
         <result column="import_matching_info" property="importMatchingInfo"/>
         <result column="tab_file_type" property="tabFileType"/>
         <result column="trial_tab_contract_id" property="trialTabContractId"/>
-        <result column="sger_tree_id" property="sgerTreeId"/>
+        <result column="yzer_tree_id" property="yzerTreeId"/>
         <result column="jler_tree_id" property="jlerTreeId"/>
     </resultMap>
 
@@ -343,7 +343,7 @@
             d.table_type,
             d.id,
             d.parent_id,
-            IFNULL(d.sger_tree_id,d.jler_tree_id) as erTreeId,
+            IFNULL(d.yzer_tree_id,d.jler_tree_id) as erTreeId,
             CASE
                 WHEN d.parent_id = 0 THEN
                     (SELECT project_alias FROM m_project_info WHERE id = #{projectId})
@@ -873,9 +873,9 @@
         WHERE id = #{pKeyId}
     </delete>
 
-    <update id="linkNodeTreeInfoBySG" >
+    <update id="linkNodeTreeInfoByYZ" >
         <foreach collection="list" item="item" separator=";" >
-            update m_wbs_tree_private set sger_tree_id = #{pkeyid} where p_key_id = #{item} and is_deleted=0 and `type` = 1
+            update m_wbs_tree_private set yzer_tree_id = #{pkeyid} where p_key_id = #{item} and is_deleted=0 and `type` = 1
         </foreach>
     </update>
 
@@ -886,6 +886,6 @@
     </update>
 
     <select id="linkNodeTreeBynodeId" resultType="java.lang.Long" >
-        select p_key_id from m_wbs_tree_private where (sger_tree_id = #{pkeyid} or jler_tree_id = #{pkeyid})  and `type` = 1 and is_deleted = 0
+        select p_key_id from m_wbs_tree_private where (yzer_tree_id = #{pkeyid} or jler_tree_id = #{pkeyid})  and `type` = 1 and is_deleted = 0
     </select>
 </mapper>

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreePrivateService.java

@@ -83,6 +83,8 @@ public interface IWbsTreePrivateService extends BaseService<WbsTreePrivate> {
 
     Object getExcelHtml(String primaryKeyId) throws Exception;
 
+    Object getExcelHtmlEntrust(String nodeId,String contractId) throws Exception;
+
     //批量重新保存文件htmlUrl
     void batchResetHtmlUrl(List<WbsTreePrivate> wbsTreePrivateList) throws IOException, InterruptedException;
 

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -4138,8 +4138,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         BladeFile bladeFile = newIOSSClient.uploadFile(pkeyId + ".pdf", pdfPath);
 
         if (bladeFile != null) {
-            String pdfUrl = bladeFile.getLink();
-            jdbcTemplate.update("update u_entrust_info set entrust_pdf = '" + pdfUrl + "' where id='" + groupId + "' ");
+                String pdfUrl = bladeFile.getLink();
+                jdbcTemplate.update("update u_entrust_info set entrust_pdf = '" + pdfUrl + "' where id='" + groupId + "' ");
             List<InformationQuery> query2 = jdbcTemplate.query("select id from u_information_query where classify = 1 and wbs_id ='" + groupId + "' and contract_id ='" + contractId + "'", new BeanPropertyRowMapper<>(InformationQuery.class));
             if (query2.size() > 0) {
                 jdbcTemplate.execute("update u_information_query set pdf_url ='" + bladeFile.getLink() + "', name ='委托单'  where classify='1' and  wbs_id='" + groupId + "' and contract_id ='" + contractId + "'");

+ 28 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -2708,6 +2708,32 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
         return R.data(table + "");
     }
 
+    @Override
+    public Object getExcelHtmlEntrust(String nodeId,String contractId) throws Exception {
+
+        // 合同段信息
+        ContractInfo contractInfo = contractInfoMapper.selectOne(Wrappers.<ContractInfo>query().lambda()
+                .eq(ContractInfo::getId, contractId));
+
+        // 节点数
+        WbsTreePrivate treePrivate = baseMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
+                .eq(WbsTreePrivate::getPKeyId, nodeId));
+
+        String pkeyId = "";
+        if(contractInfo==null){
+            throw new ServiceException("合同段信息为null");
+        }
+        if(contractInfo.getContractType()==2 ){ //3 监理
+            pkeyId = treePrivate.getJlerTreeId()+"";
+        } else if (contractInfo.getContractType()==3 || contractInfo.getContractType()==8) { //业主
+            pkeyId = treePrivate.getYzerTreeId()+"";
+        }else{
+            return "该合同段没有委托单权限业务";
+        }
+
+        return getExcelHtml(pkeyId);
+    }
+
     private void chart(Element table, WbsTreePrivate wtp) {
         try {
             List<Map<String, Object>> configList = this.jdbcTemplate.queryForList("select d.rely ,b.e_key ekey from m_wbs_tree_private a join  m_wbs_form_element b on a.init_table_id=b.f_id join m_element_formula_mapping c on b.id=c.element_id join m_formula d on c.formula_id=d.id  where p_key_id=" + wtp.getPKeyId() + " and b.is_deleted=0 and d.formula like 'FC.chart%' limit 1");
@@ -2852,7 +2878,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
         if(maps!=null && maps.size()>=1){
             for(Map<String, Object> map:maps){
                 String dataType = map.get("node_type")+"";
-                if(dataType.equals("1000")){ //施工委托单
+                if(dataType.equals("1000")){ //业主委托单
                     nodeType = 1;
                     break;
                 }else if(dataType.equals("1001")){ //监理委托单
@@ -2864,7 +2890,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
         if(nodeType==2){
            return baseMapper.linkNodeTreeInfoByJL(pkeyId, strList) ;
         }else{
-            return baseMapper.linkNodeTreeInfoBySG(pkeyId, strList) ;
+            return baseMapper.linkNodeTreeInfoByYZ(pkeyId, strList) ;
         }
     }