Преглед на файлове

Merge branch 'dev' of http://219.151.181.73:3000/zhuwei/bladex into dev

lvy преди 1 седмица
родител
ревизия
5ecc04f01c

+ 2 - 2
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TaskSignInfoVO.java

@@ -93,6 +93,6 @@ public class TaskSignInfoVO {
     @ApiModelProperty("是否可以签章:0-表示可以,否则就不行")
     private Integer isSignature;
 
-    @ApiModelProperty("电签分页逻辑数据")
-    private JSONArray pagePdfUrl;
+    @ApiModelProperty("s_interim_task的主键Id")
+    private String dId;
 }

+ 1 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/profiler/ProfilerOffsetPush.java

@@ -57,7 +57,7 @@ public class ProfilerOffsetPush {
         profilerOffsetPush.setReport_date(DateUtil.format(DateTime.now(),"yyyy-MM-dd"));
         profilerOffsetPush.setMeasurement_time(push.getDate());
         profilerOffsetPush.setMeasurement_person(push.getUserName());
-        profilerOffsetPush.setPile_number(null);
+        profilerOffsetPush.setPile_number(push.getMileageNumber());
         profilerOffsetPush.setX_offset(push.getX0());
         profilerOffsetPush.setY_offset(push.getZ0());
         profilerOffsetPush.setInstrument_height(push.getDeviceHeight());

+ 4 - 2
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/controller/EVController.java

@@ -81,7 +81,9 @@ public class EVController {
         if (query != null && query.size() >= 1) {
             for (TaskSignInfoVO dataInfo : query) {
                 if(dataInfo.getSigType() == 2 && dataInfo.getIsSignature() > 0){
-                    continue;
+                    if(dataInfo.getApprovalType()!=5){
+                        continue;
+                    }
                 }
                 if (executor.getQueue().size() <= 20) {
                     Boolean aBoolean = RedisTemplate.hasKey("sign-" + dataInfo.getFormDataId());
@@ -89,7 +91,7 @@ public class EVController {
                         if (dataInfo.getSigType() == 2) {
                             String sql12 = "SELECT a.* from u_task a,u_task_parallel b where a.process_instance_id=b.process_instance_id and b.initiative=1 and  a.is_deleted=0 and b.is_deleted=0 and a.`status` in(1,2) and a.id='" + dataInfo.getTaskId() + "'";
                             List<Map<String, Object>> maps12 = jdbcTemplate.queryForList(sql12);
-                            if (maps12 != null && maps12.size() >= 1) {
+                            if (maps12 != null && maps12.size() >= 1&& dataInfo.getApprovalType()!=5) {
                                 jdbcTemplate.execute("delete from u_task_batch where id in(" + dataInfo.getId() + ")");
                                 aBoolean = true;
                             }

+ 70 - 29
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/service/impl/EVDataServiceImpl.java

@@ -113,7 +113,17 @@ public class EVDataServiceImpl implements EVDataService {
                     ids = ids.replaceAll("✹", "");
                     List<Map<String, Object>> mapList = jdbcTemplate.queryForList("SELECT * from m_textdict_info where type=6  and is_deleted=0 and id in(" + ids + ")");
                     if (mapList != null && mapList.size() > 0) {
-                        taskApp.setSigState(2);
+                       if(taskApp.getApprovalType()==5){
+                           if(taskApp.getSigType()==1  ){
+                               taskApp.setSigState(10);
+                           }
+                           if(taskApp.getSigType()==2  ){
+                               taskApp.setSigState(11);
+                           }
+                       }else {
+                           taskApp.setSigState(2);
+                       }
+
                         taskApp.setSignSmg("未获取到签字证书信息");
                     } else {
                         if (taskApp.getSigType() == 1) {
@@ -180,9 +190,6 @@ public class EVDataServiceImpl implements EVDataService {
     }
 
 
-
-
-
     public void addSignatureTaskBatch(TaskSignInfoVO taskApp) {
         // 添加签字任务
         if (taskApp.getSigType() == 1) {
@@ -344,9 +351,36 @@ public class EVDataServiceImpl implements EVDataService {
                     updateSql = "update u_contract_log set e_visa_pdf_url='" + taskApp.getLastFilePdfUrl() + "',status='" + taskApp.getSigType() + "',update_time=SYSDATE() where id='" + taskApp.getFormDataId() + "' ";
                 } else if (taskApp.getApprovalType() == 5) { //中期计量支付证书
                     // 获取s_interim_pay_certificate 的原始数据
-                    //taskApp.getPagePdfUrl()
-
-
+                    if(taskApp.getSigType()==1){
+                        jdbcTemplate.execute("update s_interim_task set status=1,sign_time=SYSDATE() ,pdf_e_url='"+taskApp.getLastFilePdfUrl()+"' where id ="+taskApp.getDId()+"");
+                    }else {
+                        jdbcTemplate.execute("update s_interim_task set status=2,sign_time=SYSDATE() ,pdf_e_url='"+taskApp.getLastFilePdfUrl()+"' where id ="+taskApp.getDId()+"");
+                    }
+                    //合并 并且加任务值
+                    String sql= "select b.id,data_id,b.status,if(LENGTH(b.pdf_e_url)>=10,pdf_e_url,b.pdf_url) as pdf_url,a.contract_id,project_id from s_interim_pay_certificate a ,s_interim_task b  where a.id=b.data_id and  a.is_deleted=0 and a.contract_period_id=" + taskApp.getFormDataId();
+                    List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
+
+                    String file_path = FileUtils.getSysLocalFileUrl();
+                    Long id = SnowFlakeUtil.getId();
+                    String trialPdf = file_path + "/pdf/" + id + ".pdf";
+                    List<String> pdfUrlList = maps.stream().map(e -> e.get("pdf_url")+"").collect(Collectors.toList());
+                    List<Map<String, Object>> stateList = maps.stream().filter(e-> (e.get("status")+"").equals("2")).collect(Collectors.toList());
+                    FileUtils.mergePdfPublicMethods(pdfUrlList,trialPdf);
+                    BladeFile bladeFile = newIOSSClient.uploadFile(id + ".pdf", trialPdf);
+                    if (bladeFile != null && Func.isNotEmpty(bladeFile.getLink())) {
+                        String mardfUrl = bladeFile.getLink();
+                        taskApp.setLastFilePdfUrl(mardfUrl);
+                    }
+                    if(stateList.size()>=maps.size()){
+                        taskApp.setSigType(2);
+                    }else{
+                        taskApp.setSigType(1);
+                        // 添加签字
+                        String addSqlBatch = "insert into u_task_batch(id,task_parallel_id,json_data,create_user,create_dept,create_time,update_user,update_time,status,is_deleted,nick_name,sign_format,sign_type) \n" +
+                                " SELECT a.id,a.process_instance_id,json_object('approvalFileList',json_array(),'approvalType',b.approval_type,'comment','','flag','OK','formDataId',b.form_data_id,'parallelProcessInstanceId',a.parallel_process_instance_id,'pass',true,'taskId',b.id) as  json_data,a.task_user,a.create_dept,a.create_time,a.update_user,a.update_time,1 as status,0 as is_deleted,a.task_user_name as nick_name ,1 as sign_format,1 as sign_type from u_task_parallel a,u_task b where b.`status` in(1,2) and  a.process_instance_id=b.process_instance_id \n" +
+                                " and b.id="+taskApp.getTaskId()+" and a.parallel_process_instance_id not in(SELECT JSON_EXTRACT(c.json_data, '$.parallelProcessInstanceId') from u_task_batch c)";
+                        jdbcTemplate.execute(addSqlBatch);
+                    }
                     updateSql = "update s_interim_pay_certificate set approve_status=" + taskApp.getSigType() + ",update_time=SYSDATE(), raw_url='" + taskApp.getLastFilePdfUrl() + "' where contract_period_id = " + taskApp.getFormDataId();
                 } else if (taskApp.getApprovalType() == 6 || taskApp.getApprovalType() == 7) {
                     updateSql = "update s_material_start_statement set approve_status=" + taskApp.getSigType() + ",update_time=SYSDATE(), raw_url='" + taskApp.getLastFilePdfUrl() + "' where meter_period_id = " + taskApp.getFormDataId();
@@ -365,11 +399,20 @@ public class EVDataServiceImpl implements EVDataService {
                 this.jdbcTemplate.execute("delete from u_task_batch where id in(" + taskApp.getId()+")");
 
             } else { //签字失败
-                this.jdbcTemplate.execute("update u_task_parallel set exe_count=(exe_count+1), e_visa_status=99,e_visa_content='" + taskApp.getSignSmg() + "' ,update_time=SYSDATE() where parallel_process_instance_id in (" + taskApp.getParallelProcessInstanceId() + ")");
-                this.jdbcTemplate.execute("update u_task set status=1 ,update_time=SYSDATE() where id='" + taskApp.getTaskId() + "'");
-                if (totalCount >= 3) {
+                if(taskApp.getApprovalType()==5 ){
+                    if(taskApp.getSigState()==10){
+                        jdbcTemplate.execute("update s_interim_task set status=1 where id ="+taskApp.getDId()+"");
+                    } else if (taskApp.getSigState()==1) {
+                        jdbcTemplate.execute("update s_interim_task set status=2 where id ="+taskApp.getDId()+"");
+                    }
                     this.jdbcTemplate.execute("delete from u_task_batch where id in(" + taskApp.getId()+")");
-                    this.jdbcTemplate.execute("update u_information_query set status=1 where id=" + taskApp.getFormDataId());
+                }else{
+                    this.jdbcTemplate.execute("update u_task_parallel set exe_count=(exe_count+1), e_visa_status=99,e_visa_content='" + taskApp.getSignSmg() + "' ,update_time=SYSDATE() where parallel_process_instance_id in (" + taskApp.getParallelProcessInstanceId() + ")");
+                    this.jdbcTemplate.execute("update u_task set status=1 ,update_time=SYSDATE() where id='" + taskApp.getTaskId() + "'");
+                    if (totalCount >= 3) {
+                        this.jdbcTemplate.execute("delete from u_task_batch where id in(" + taskApp.getId()+")");
+                        this.jdbcTemplate.execute("update u_information_query set status=1 where id=" + taskApp.getFormDataId());
+                    }
                 }
             }
             RedisTemplate.delete("sign-" + taskApp.getFormDataId());
@@ -458,25 +501,23 @@ public class EVDataServiceImpl implements EVDataService {
             } else if (taskApp.getApprovalType() == 4) { //档案走自定义 搓章的问题
 
             } else if (taskApp.getApprovalType() == 5) {
-                map = this.jdbcTemplate.queryForMap("select * from s_interim_pay_certificate where  is_deleted=0 and contract_period_id = " + taskApp.getFormDataId());
-                String pdfUrl = "";
-                //中间计量用逗号拼接pagePdfUrl
-                String pageUrl = map.get("page_pdf_url")+"";
-                if(StringUtils.isNotEmpty(pageUrl) && pageUrl.length()>=20 ) {
-                    JSONArray jsonArray = JSONArray.parseArray(pageUrl);
-                    JSONArray jsonData = new JSONArray();
-                    for(int i=0;i<jsonArray.size();i++){
-                        JSONObject jsonObject = jsonArray.getJSONObject(i);
-                        String state = jsonObject.getString("state");
-                        String url = jsonObject.getString("url");
-                        if(state.equals("0") && taskApp.getSigType()==1){  //这个签字
-                            taskApp.setSignPdfUrl(url);
-                        }
-                        if(state.equals("1") && taskApp.getSigType()==2){  //签章
-                            taskApp.setSignPdfUrl(url);
-                        }
+                String sql= "select b.id,data_id,b.status,if(LENGTH(b.pdf_e_url)>=10,pdf_e_url,b.pdf_url) as pdf_url,a.contract_id,project_id from s_interim_pay_certificate a ,s_interim_task b  where a.id=b.data_id and  a.is_deleted=0 and a.contract_period_id = " + taskApp.getFormDataId();
+                if(taskApp.getSigType()==1){ //签字
+                    sql += " and b.status =0 ";
+                }
+                if(taskApp.getSigType()==2){ //签章
+                    sql += " and b.status =1 ";
+                }
+
+                List<Map<String, Object>> maps = this.jdbcTemplate.queryForList(sql);
+                if(maps!=null && maps.size()>=1){
+                    map = maps.get(0);
+                    String pdfUrl = map.get("pdf_url")+"";
+                    String dId = map.get("id")+"";
+                    if(pdfUrl!=null && pdfUrl.length()>=10){
+                        taskApp.setSignPdfUrl(pdfUrl);
+                        taskApp.setDId(dId);
                     }
-                    taskApp.setPagePdfUrl(jsonData);
                 }
             } else if (taskApp.getApprovalType() == 6 || taskApp.getApprovalType() == 7) {
                 map = this.jdbcTemplate.queryForMap("select * from  s_material_start_statement where is_deleted=0 and meter_period_id = " + taskApp.getFormDataId());

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

@@ -909,14 +909,27 @@ public class ExcelTabController extends BladeController {
             if (tab != null) {
                 isWater = true;
             }
+            Elements select = table.select("el-date-picker");
 
             // 添加标题显示
             Elements trs = table.select("tr");
-            for (int i = 1; i < 6; i++) {
+            for (int i = 1; i < trs.size(); i++) {
                 Element tr = trs.get(i);
                 Elements tds = tr.select("td");
                 for (int j = 0; j < tds.size(); j++) {
                     Element data = tds.get(j);
+                    Elements select1 = data.select("el-date-picker");
+                    if(select1 != null && select1.size()>0){
+                        for (Element element : select1) {
+                            String attr = element.attr("@mouseup.right");
+                            String keyname = element.attr("keyname");
+                            String contextmenu = element.attr("@contextmenu.prevent.native");
+                            data.attr("@mouseup.right",attr);
+                            data.attr("keyname",keyname);
+                            data.attr("@contextmenu.prevent.native",contextmenu);
+                        }
+                    }
+
                     String style = data.attr("style");
                     if (style.indexOf("font-size") >= 0) {
                         int fontsize = Integer.parseInt(style.substring(style.indexOf("font-size:") + 10, style.indexOf(".0pt")));

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

@@ -1890,6 +1890,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 /*把主表的表头表尾信息拷贝*/
                 headerFooterSub(subTableFds, tec);
                 /*如果识别到手填内容需要在附表写入数据后,更新评定关联数据*/
+
             }else {
                 if(StringUtils.isNotEmpty(tec.getIsRemoveForSubTab())&&"1".equals(tec.getIsRemoveForSubTab())){
                     List<NodeTable> subTabList = tec.getTableAll().stream().filter(e -> e.getNodeName().contains("附表") && (e.getTableType() == 1 || e.getTableType() == 5)).collect(Collectors.toList());

+ 15 - 12
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -4577,8 +4577,6 @@ public class TaskController extends BladeController {
                                 BladeFile bladeFile = newIOSSClient.uploadFile(rs.getName() + SnowFlakeUtil.getId() + ".pdf", local);
                                 url = bladeFile.getLink();
                                 // 删除原来oss上的pdf
-                                String dataName = local.substring(local.indexOf("/upload"),local.length());
-                                newIOSSClient.removeFile(dataName);
                             } catch (Exception e) {
                                 e.printStackTrace();
                             }
@@ -4606,6 +4604,9 @@ public class TaskController extends BladeController {
                 // 删除以前oss文件上非结构文件
                 if(oldData!=null && Func.isNull(oldData)) {
                     if (report.getType() == 0) {
+                        String pre_pdf_url = oldData.get("pre_pdf_url")+"";
+                        String page_pdf_url = oldData.get("page_pdf_url")+"";
+                        String file_url_list = oldData.get("file_url_list")+"";
                         System.out.println("1111");
                     } else {
                         System.out.println("2222");
@@ -4966,28 +4967,29 @@ public class TaskController extends BladeController {
                 jdbcTemplate.execute("delete from s_interim_task where data_id='"+id+"'");
                 String addTaskInfoSql = "";
                 for (Map.Entry<String, String> entry : fileListMap.entrySet()) {
-                    long newPkId = SnowFlakeUtil.getId();
+
                     String pdfUrl = entry.getValue();
                     String result = commonFileClient.getPdfNum(pdfUrl);
                     Integer pageNum=0;
                     if(StringUtils.isNotEmpty(result)){
                         pageNum= Integer.parseInt(result);
                     }
-                    if(pageNum<=100){
-                        addTaskInfoSql +="insert into s_interim_task(id,data_id,status,pdf_url,pdf_e_url,name) VALUES("+newPkId+","+this.id+",0,'"+pdfUrl+"','','"+entry.getKey()+"');";
+                    if(pageNum<=300){
+                        long newPkId = SnowFlakeUtil.getId();
+                        addTaskInfoSql +="insert into s_interim_task(id,data_id,status,pdf_url,pdf_e_url,name,create_time) VALUES("+newPkId+","+this.id+",0,'"+pdfUrl+"','','"+entry.getKey()+"',SYSDATE());";
                     }else{
-                         Double pdfPageNo = Math.ceil(pageNum / 100.00);
+                         Double pdfPageNo = Math.ceil(pageNum / 300.00);
                          for (int i=0;i<pdfPageNo;i++){
-                             newPkId = SnowFlakeUtil.getId();
+                             long  newPkId = SnowFlakeUtil.getId();
                              Long id = SnowFlakeUtil.getId();
                              String localPdf = FileUtils.getSysLocalFileUrl() + "/pdf/" + id + ".pdf";
                              int pageStart = 0 ;
                              int pageEnd = 0 ;
                              if(i<pdfPageNo-1){
-                                 pageStart = 100 * i;
-                                 pageEnd = 100 * (i+1);
+                                 pageStart = 300 * i;
+                                 pageEnd = 300 * (i+1);
                              }else{
-                                 pageStart = 100 * i;
+                                 pageStart = 300 * i;
                                  pageEnd = pageNum;
                              }
                              int pdfByPage = this.getPdfByPage(pageStart, pageEnd, pdfUrl, localPdf);
@@ -4995,12 +4997,13 @@ public class TaskController extends BladeController {
                                  BladeFile bladeFile1 = newIOSSClient.uploadFile( SnowFlakeUtil.get() + ".pdf", localPdf);
                                  String pagePdfUrl=bladeFile1.getLink();
                                  String titleName = entry.getKey()+""+(i+1);
-                                 addTaskInfoSql +="insert into s_interim_task(id,data_id,status,pdf_url,pdf_e_url,name) VALUES("+newPkId+","+this.id+",0,'"+pagePdfUrl+"','','"+titleName+"');";
+                                 addTaskInfoSql +="insert into s_interim_task(id,data_id,status,pdf_url,pdf_e_url,name,create_time) VALUES("+newPkId+","+this.id+",0,'"+pagePdfUrl+"','','"+titleName+"',SYSDATE());";
                              }
                          }
                     }
                 }
-                jdbcTemplate.batchUpdate(addTaskInfoSql);
+                System.out.println("xxxxxxx"+addTaskInfoSql);
+                jdbcTemplate.execute(addTaskInfoSql);
             }
             return this.pdfUrl;
         }

+ 2 - 9
blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml

@@ -220,15 +220,8 @@
                 <if test="query.firstTitle == null or query.firstTitle == ''">
                     AND iq.type != 3
                 </if>
-                <if test="query.chekStatus != null and query.chekStatus != ''">
-                    <choose>
-                        <when test="query.chekStatus == 3">
-                            AND iq.chek_status >= 3
-                        </when>
-                        <otherwise>
-                            AND iq.chek_status = #{query.chekStatus}
-                        </otherwise>
-                    </choose>
+                <if test="query.chekStatus != null">
+                    AND iq.chek_status = #{query.chekStatus}
                 </if>
                 <if test="query.wbsIds != null">
                     AND iq.wbs_id IN