zhuwei 1 gadu atpakaļ
vecāks
revīzija
800e314351

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

@@ -218,9 +218,15 @@ public class WbsTreePrivate extends BaseEntity {
     private Long trialTabContractId;
 
     /**
-     * 委托单Id
+     * 施工委托单Id
      */
-    @ApiModelProperty(value = "委托单Id")
-    private Long erTreeId;
+    @ApiModelProperty(value = "施工委托单Id")
+    private Long sgerTreeId;
+
+    /**
+     * 监理委托单Id
+     */
+    @ApiModelProperty(value = "监理委托单Id")
+    private Long jlerTreeId;
 
 }

+ 2 - 2
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/DataModel.java

@@ -57,7 +57,7 @@ public  interface DataModel {
         return list;
     }
       static LinkedHashMap<String,List<WbsFormElementVO>> getTableElementsMap(){
-        /*初始化或者本地开发环境的时候每次都生成*/
+        /*初始化或者本地开发环境的时候每次都生成*/
           if(tableElementMap.isEmpty()||!once){
               tableElementMap.clear();
               getClasses().forEach(c->{
@@ -83,7 +83,7 @@ public  interface DataModel {
                 tn.setTitle(getStaticFieldValue(c,"TBN_CH"));
                 tn.setTabType(SelectorModel.NODE_NAME);
                 tn.setParentId(SelectorModel.ID);
-                String id=getStaticFieldValue(c,"ID");
+            String id=getStaticFieldValue(c,"ID");
                 assert id != null;
                 tn.setId(Long.parseLong(id));
                 tn.setPrimaryKeyId(id);

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

@@ -3505,7 +3505,7 @@ public class InformationWriteQueryController extends BladeController {
      * @param contractId 合同段ID
      * @return 填报人集合
      */
-    @GetMapping("/getFileUserByContractId")
+    @PostMapping("/getFileUserByContractId")
     @ApiOperationSupport(order = 5)
     @ApiOperation(value = "根据合同段ID获取所有填报人")
     @ApiImplicitParam(name = "contractId", value = "合同段ID", required = true)

+ 0 - 24
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ContractLogClientImpl.java

@@ -130,29 +130,6 @@ public class ContractLogClientImpl implements ContractLogClient {
         //复制数据
         BeanUtils.copyProperties(saveContractLogVO, contractLog);
 
-        /*//查询是否存在旧数据
-        JSONObject logJson = this.queryContractLogByPrimaryKeyIdAndRecordTime(saveContractLogVO.getWbsNodeId().toString(), saveContractLogVO.getRecordTime(), saveContractLogVO.getContractId().toString());
-
-        if (logJson != null) {
-            //主键不为空,说明是修改
-            //修改只修改关联的工序ids
-            if (saveContractLogVO.getCorrelationIds() != null && saveContractLogVO.getCorrelationIds().size() > 0) {
-                //删除旧的关联
-                this.contractLogWbsService.update(Wrappers.<ContractLogWbs>lambdaUpdate().set(ContractLogWbs::getIsDeleted, 1).eq(ContractLogWbs::getContractLogId, logJson.getString("id")));
-
-                //重新新增
-                List<JSONObject> jsonList = saveContractLogVO.getCorrelationIds();
-
-                List<ContractLogWbs> saveList = new ArrayList<>();
-                jsonList.forEach(json -> saveList.add(this.createContractLogWbs(json, JSONObject.parseObject(JSONObject.toJSONString(logJson), ContractLog.class))));
-
-                this.contractLogWbsService.saveBatch(saveList);
-            }
-            //修改数据ID指向
-            this.contractLogService.update(Wrappers.<ContractLog>lambdaUpdate().set(ContractLog::getDataId, contractLog.getDataId()).eq(ContractLog::getId, logJson.getString("id")));
-
-            return logJson.getString("id");
-        } else {*/
         //获取节点信息
         WbsTreePrivate node = this.wbsTreePrivateClient.queryByPKeyIds(Func.toStrList(saveContractLogVO.getWbsNodeId().toString())).get(0);
 
@@ -175,7 +152,6 @@ public class ContractLogClientImpl implements ContractLogClient {
         this.contractLogService.save(contractLog);
 
         return contractLog.getId().toString();
-        //}
     }
 
     private ContractLogWbs createContractLogWbs(JSONObject json, ContractLog contractLog) {

+ 7 - 4
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -562,6 +562,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         List<String> taskIds = taskApprovalVOS.stream().map(TaskApprovalVO::getParallelProcessInstanceId).distinct().collect(Collectors.toList());
         this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
                 .set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
+                .set(TaskParallel::getStatus, 1)
+                .set(TaskParallel::getEVisaStatus, 0)
                 .in(TaskParallel::getParallelProcessInstanceId, taskIds));
 
         List<TaskBatch> taskList = new ArrayList<>();
@@ -1419,6 +1421,10 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             try {
                 for (Task task : taskList) {
                     R result = new R();
+                    boolean b = informationQueryService.update(new LambdaUpdateWrapper<InformationQuery>()
+                            .eq(InformationQuery::getId, task.getFormDataId())
+                            .set(InformationQuery::getEVisaPdfUrl, null));
+
                     if (type == 1) {
                         //重新保存
                         long startTime_1 = System.currentTimeMillis();
@@ -1426,10 +1432,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
                         long endTime_1 = System.currentTimeMillis();
                         long executionTime_1 = endTime_1 - startTime_1;
                         log.info("saveNodePdf执行时间:" + executionTime_1 + " 毫秒");
-                    }else {
-                        boolean b = informationQueryService.update(new LambdaUpdateWrapper<InformationQuery>()
-                                .eq(InformationQuery::getId, task.getFormDataId())
-                                .set(InformationQuery::getEVisaPdfUrl, null));
+                    }else{
                         if (!b){
                             throw new ServiceException("清空电签PDF失败");
                         }

+ 18 - 4
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVisaServiceImpl.java

@@ -93,8 +93,8 @@ import java.util.*;
 @AllArgsConstructor
 public class EVisaServiceImpl implements EVisaService {
 
-    //private static final String SIGN_HOST = "172.30.224.79";
-    private static final String SIGN_HOST = "47.115.117.246";
+    private static final String SIGN_HOST = "172.30.224.79";
+   // private static final String SIGN_HOST = "47.115.117.246";
 
     private static final String SIGN_PORT = "8183";
 
@@ -267,6 +267,16 @@ public class EVisaServiceImpl implements EVisaService {
                             HashMap<String, Object> daMa = new HashMap<>();
                             daMa.put("keyWord", dataMap.get("id"));
                             daMa.put("sealId", dataMap.get("certificate_number"));
+                            // 设置图片显示大小
+                            //daMa.put("showHeight",30);
+                            //daMa.put("showWidth",60);
+                            //设置显示签字体的位置
+                            String yzx = dataMap.get("pyzby")+"";
+                            String xzx = dataMap.get("pyzbx")+"";
+                            Double sealOffsetY =Func.toDouble(yzx); //Func.toInt(dataMap.get("pyzby"))-15;
+                            Double sealOffsetX =Func.toDouble(xzx); //Func.toInt(dataMap.get("pyzby"))-30;
+                            daMa.put("sealOffsetY" , sealOffsetY);
+                            daMa.put("sealOffsetX" , sealOffsetX);
 
                             byte[] fileByte;
                             if (fileUrl.indexOf("aliyuncs.com") >= 0) {
@@ -283,6 +293,8 @@ public class EVisaServiceImpl implements EVisaService {
                             String reData = signPdfByDFZX(daMa);
                             if (reData.indexOf("success@") >= 0) {
                                 fileUrl = reData.split("@@@@")[1];
+                            }else{
+                                return E_VISA_ERROR;
                             }
                         }
                         if (fileUrl.indexOf("aliyuncs.com") >= 0) {
@@ -451,6 +463,8 @@ public class EVisaServiceImpl implements EVisaService {
                             String reData = signPdfByDFZX(daMa);
                             if (reData.indexOf("success@") >= 0) {
                                 fileUrl = reData.split("@@@@")[1];
+                            }else{
+                                return reData;
                             }
                         }
                         if (fileUrl.indexOf("aliyuncs.com") >= 0) {
@@ -732,7 +746,7 @@ public class EVisaServiceImpl implements EVisaService {
      * @throws Exception
      */
     public static String signPdfByDFZX(HashMap<String, Object> request) {
-        String url = "http://172.30.224.81:9125/FrontSys/SealServicezx/FileSignByKeyWord";
+        String url = "http://39.108.216.210:9125/FrontSys/SealServicezx/FileSignByKeyWord";
 
         String sysLocalFileUrl = FileUtils.getSysLocalFileUrl();
         String filecode = SnowFlakeUtil.getId() + "";
@@ -777,7 +791,7 @@ public class EVisaServiceImpl implements EVisaService {
             return SUCCESS + "@@@@" + dataFileUrl;
         } catch (Exception e) {
             e.printStackTrace();
-            return ERROR + "@@@@异常出错";
+            return E_VISA_ERROR + "@@@@异常出错";
         }
     }
 

+ 16 - 30
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -920,10 +920,6 @@ public class ExcelTabController extends BladeController {
             return R.fail("未获取到表单信息");
         }
 
-        /*File file1 = ResourceUtil.getFile(wbsTreePrivate.getHtmlUrl());
-        File file1 = ResourceUtil.getFile("D:\\develop\\1633344465559093248.html");
-        FileInputStream fileInputStream = new FileInputStream(file1);
-        String htmlString = IoUtil.readToString(fileInputStream);*/
 
         // 解析 style
         htmlString = htmlString.replaceAll("placeholder", "placeholderxx");
@@ -962,8 +958,6 @@ public class ExcelTabController extends BladeController {
     }
 
     private String getHtmlString(String pkeyId) throws Exception {
-        String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
-        String sys_file_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
         WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>query().lambda()
                 .select(WbsTreePrivate::getHtmlUrl)
                 .eq(WbsTreePrivate::getPKeyId, pkeyId));
@@ -971,14 +965,7 @@ public class ExcelTabController extends BladeController {
             return "";
         }
         String fileUrl = wbsTreePrivate.getHtmlUrl();
-        File file1 = ResourceUtil.getFile(fileUrl);
-        InputStream fileInputStream;
-        if (file1.exists()) {
-            fileInputStream = new FileInputStream(file1);
-        } else {
-            String path = sys_file_net_url + fileUrl.replaceAll("//", "/").replaceAll(file_path, "");
-            fileInputStream = CommonUtil.getOSSInputStream(path);
-        }
+        InputStream fileInputStream = FileUtils.getInputStreamByUrl(fileUrl);
         String htmlString = IoUtil.readToString(fileInputStream);
         htmlString = htmlString.replaceAll("placeholder", "placeholderxx");
         Document doc = Jsoup.parse(htmlString);
@@ -2301,7 +2288,7 @@ public class ExcelTabController extends BladeController {
     })
     public R<String> getTheLogPdInfo(String pkeyId, String nodePrimaryKeyId, String recordTime, String contractId) throws Exception {
         //获取配置的路径
-        String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
+        String file_path = "/Users/hongchuangyanfa/Desktop/" ;//ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
         if (StringUtils.isEmpty(recordTime)) {
             recordTime = DateUtil.format(DateUtil.now(), "yyyy-MM-dd");
         }
@@ -2547,7 +2534,7 @@ public class ExcelTabController extends BladeController {
     public R<List<Map<String, Object>>> getTheLogBusinessData(String theLogId, String nodePrimaryKeyId, String recordTime, String contractId) {
         List<Map<String, Object>> resultMapList = new ArrayList<>();
         //数据结果
-        Map<String, Object> reData = new HashMap<>();
+        String logId2 = "";
 
         //获取对应的记录
         String dataIds;
@@ -2562,9 +2549,9 @@ public class ExcelTabController extends BladeController {
         } else {
             List<ContractLog> contractLogs = this.contractLogClient.queryContractLogByPrimaryKeyIdAndRecordTimeList(nodePrimaryKeyId, recordTime, contractId);
             if (contractLogs.size() == 0){
-                reData.put("logId","");
+                logId2="";
             }else {
-                reData.put("logId",contractLogs.get(0).getId());
+                logId2=contractLogs.get(0).getId()+"";
             }
             dataIds = contractLogs.stream().map(ContractLog::getDataId).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.joining(","));
         }
@@ -2576,6 +2563,8 @@ public class ExcelTabController extends BladeController {
 
         if (StringUtils.isNotEmpty(dataIds)) {
             for (String dataId : dataIds.split(",")) {
+                Map<String, Object> reData = new HashMap<>();
+                reData.put("",logId2);
                 //检查实体表是否存在
                 String tabName = tableNode2.getInitTableName();
                 String isExitSql = " select * from information_schema.TABLES where TABLE_NAME='" + tabName + "'";
@@ -2749,9 +2738,10 @@ public class ExcelTabController extends BladeController {
                         reData.remove("contractId");
                         reData.remove("pkeyId");
                         reData.remove("projectId");
-                        if (reData.size() > 0) {
-                            resultMapList.add(reData);
-                        }
+
+                    }
+                    if (reData.size() > 0) {
+                        resultMapList.add(reData);
                     }
                 } else {
                     Map<String, Object> reData2 = new HashMap<>();
@@ -3202,11 +3192,6 @@ public class ExcelTabController extends BladeController {
         String recordTime = tableInfo1.getString("recordTime");
 
         List<TableInfo> tableInfoList = this.excelTabService.getTableInfoList(dataArray);
-/*        try {用不到
-            this.excelTabService.formulaFillData(tableInfoList, Long.parseLong(nodeid), ExecuteType.FAI);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }*/
 
         // 保存数据到数据库
         String data= "";
@@ -3807,17 +3792,18 @@ public class ExcelTabController extends BladeController {
     @PostMapping("/removeLogTab")
     @ApiOperationSupport(order = 41)
     @ApiOperation(value = "删除施工日志对应的表数据记录信息等", notes = "传入get-the-log-business-data接口返回的内部id")
+    @Transactional
     public R<Object> removeLogTab(@RequestParam String id) {
         if (StringUtils.isNotEmpty(id)) {
-            ContractLog obj = jdbcTemplate.queryForObject("select * from u_contract_log where data_id = " + id, new BeanPropertyRowMapper<>(ContractLog.class));
-            if (obj != null) {
+            Map<String, Object> obj = jdbcTemplate.queryForMap("select * from u_contract_log where data_id =" + id + " ");
+            if (obj!=null && Func.isNotEmpty(obj)) {
                 //删除施工日志记录信息
                 jdbcTemplate.execute("delete from u_contract_log where data_id = " + id);
                 //删除关联的工序wbs信息
-                jdbcTemplate.execute("delete from u_contract_log_wbs where business_id = " + id + " and contract_log_id = " + obj.getId());
+                jdbcTemplate.execute("delete from u_contract_log_wbs where business_id = " + id + " and contract_log_id = " + obj.get("id").toString());
 
                 //获取对应表信息
-                WbsTreePrivate tableTemp = wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, obj.getTableId()));
+                WbsTreePrivate tableTemp = wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, obj.get("table_id")));
                 if (tableTemp != null && StringUtils.isNotEmpty(tableTemp.getInitTableName())) {
                     //删除实体表对应的数据信息
                     jdbcTemplate.execute("delete from " + tableTemp.getInitTableName() + " where id = " + id);

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

@@ -58,6 +58,7 @@ import org.springblade.system.cache.ParamCache;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -399,6 +400,7 @@ public class TextdictInfoController extends BladeController {
     @PostMapping("/save_sigInfo")
     @ApiOperationSupport(order = 7)
     @ApiOperation(value = "保存电签", notes = "保存电签")
+    @Transactional
     public R<String> saveSigInfo(@Valid @RequestBody JSONObject dataInfo) throws Exception {
         String redisValue = bladeRedis.get("save-eVis-lock:" + SecureUtil.getUserId());
         if (StringUtils.isNotEmpty(redisValue) && redisValue.equals("1")) {

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

@@ -113,7 +113,9 @@ public interface WbsTreePrivateMapper extends EasyBaseMapper<WbsTreePrivate> {
 
     List<WbsTreeContract> getcontractAllNode(@Param("projectId") Long projectId);
 
-    int linkNodeTreeInfo(@Param("pkeyid") String pkeyid,@Param("list") List<String> list);
+    int linkNodeTreeInfoBySG(@Param("pkeyid") String pkeyid,@Param("list") List<String> list);
+
+    int linkNodeTreeInfoByJL(@Param("pkeyid") String pkeyid,@Param("list") List<String> list);
 
     //根据项目id,获取所有type为1的节点
     List<WbsTreePrivate> getAllNodeByProjectId(@Param("projectId") Long projectId);

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

@@ -37,7 +37,8 @@
         <result column="import_matching_info" property="importMatchingInfo"/>
         <result column="tab_file_type" property="tabFileType"/>
         <result column="trial_tab_contract_id" property="trialTabContractId"/>
-        <result column="er_tree_id" property="erTreeId"/>
+        <result column="sger_tree_id" property="sgerTreeId"/>
+        <result column="jler_tree_id" property="jlerTreeId"/>
     </resultMap>
 
     <resultMap id="resultMap2" type="org.springblade.manager.vo.WbsTreePrivateVO2">
@@ -79,7 +80,6 @@
         <result column="isExistForm" property="isExistForm"/>
         <result column="majorDataType" property="majorDataType"/>
         <result column="mixRatioTestIds" property="mixRatioTestIds"/>
-        <result column="erTreeId" property="erTreeId"/>
     </resultMap>
 
     <resultMap id="treeNodeResultMap2" type="org.springblade.manager.vo.TreeNodeVO">
@@ -343,7 +343,7 @@
             d.table_type,
             d.id,
             d.parent_id,
-            d.er_tree_id as erTreeId,
+            IFNULL(d.sger_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,21 +873,19 @@
         WHERE id = #{pKeyId}
     </delete>
 
-    <update id="linkNodeTreeInfo">
-        <foreach collection="list" item="item" separator=";">
-            update
-            m_wbs_tree_private
-            set
-            er_tree_id = #{pkeyid}
-            where
-            p_key_id = #{item}
-            and is_deleted=0
-            and `type` = 1
+    <update id="linkNodeTreeInfoBySG" >
+        <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
+        </foreach>
+    </update>
+
+    <update id="linkNodeTreeInfoByJL" >
+        <foreach collection="list" item="item" separator=";" >
+            update m_wbs_tree_private set jler_tree_id = #{pkeyid} where p_key_id = #{item} and is_deleted=0 and `type` = 1
         </foreach>
     </update>
 
     <select id="linkNodeTreeBynodeId" resultType="java.lang.Long" >
-        select p_key_id
-        from m_wbs_tree_private where er_tree_id = #{pkeyid} and `type` = 1 and is_deleted = 0
+        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>
 </mapper>

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

@@ -79,6 +79,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.TransactionDefinition;
 import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.support.DefaultTransactionDefinition;
 
 import java.awt.geom.Rectangle2D;
@@ -623,6 +624,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
      * 保存日志
      */
     @Override
+    @Transactional
     public String saveOrUpdateTheLog(List<TableInfo> tableInfoList) {
         //查询绑定的节点
         WbsTreePrivate tableNode = this.wbsTreePrivateService.getOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, tableInfoList.get(0).getPkeyId()));
@@ -1947,7 +1949,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             }
         }
 
-        if (pkeyId == 1771097177339199489L) {
+        if (pkeyId == 1783397446617923584L) {
             System.out.println("1231");
         }
         //数据不为空

+ 20 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreePrivateServiceImpl.java

@@ -2847,7 +2847,26 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
     @Override
     public int linkNodeTreeInfo(String pkeyId, String nodeIds) {
         List<String> strList = Func.toStrList(nodeIds);
-        return baseMapper.linkNodeTreeInfo(pkeyId, strList);
+        String sqlInfo = "SELECT * from m_wbs_tree_private where id = (SELECT parent_id from m_wbs_tree_private c where p_key_id='"+pkeyId+"')";
+        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sqlInfo);
+        Integer nodeType = 1;
+        if(maps!=null && maps.size()>=1){
+            for(Map<String, Object> map:maps){
+                String dataType = map.get("node_type")+"";
+                if(dataType.equals("1000")){ //施工委托单
+                    nodeType = 1;
+                    break;
+                }else if(dataType.equals("1001")){ //监理委托单
+                    nodeType = 2;
+                    break;
+                }
+            }
+        }
+        if(nodeType==2){
+           return baseMapper.linkNodeTreeInfoByJL(pkeyId, strList) ;
+        }else{
+            return baseMapper.linkNodeTreeInfoBySG(pkeyId, strList) ;
+        }
     }
 
     @Override