Bladeren bron

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

yangyj 2 jaren geleden
bovenliggende
commit
6e55124f36

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

@@ -180,9 +180,7 @@ public class TaskController extends BladeController {
         R<SmsResponse> result = this.newSmsClient.sendMessage("test_code", JsonUtil.toJson(params), phone);
         if (result.getData().isSuccess()) {
             //记录当前验证码
-            DefaultConfig config = this.defaultConfigService.getOne(
-                    Wrappers.<DefaultConfig>lambdaQuery().eq(DefaultConfig::getCreateUser, AuthUtil.getUserId())
-                                             .isNotNull(DefaultConfig::getSmsCode));
+            DefaultConfig config = this.defaultConfigService.getOne(Wrappers.<DefaultConfig>lambdaQuery().eq(DefaultConfig::getCreateUser, AuthUtil.getUserId()));
             if (config != null) {
                 //修改
                 config.setSmsCode(code);

+ 2 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/UserFilesInfoMapper.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.control.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.control.entity.UserFilesInfo;
 import org.springblade.control.vo.UserFilesInfoVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -42,4 +43,5 @@ public interface UserFilesInfoMapper extends BaseMapper<UserFilesInfo> {
 	// 获取详情
 	UserFilesInfoVO getUserFileDetail(String id);
 
+    String getLeaderNameByDeptId(@Param("deptId") long deptId);
 }

+ 3 - 0
blade-service/blade-control/src/main/java/org/springblade/control/mapper/UserFilesInfoMapper.xml

@@ -83,4 +83,7 @@
             (SELECT dict_name from c_dict_info a where a.code='political_type' and parent_id!=0 and dict_value =a.political_type) as politicalName
         from c_view_user_files_info a where  id=#{id} and  is_deleted=0
     </select>
+    <select id="getLeaderNameByDeptId" resultType="java.lang.String">
+        select name from blade_user WHERE is_leader like concat('%',#{deptId},'%')
+    </select>
 </mapper>

+ 6 - 4
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/TaskProcessServiceImpl.java

@@ -1200,8 +1200,8 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                 ProjectCostBudget projectCostBudget = jdbcTemplate.query("select plan_task_desc,task_user,id from c_project_cost_budget where id = " + dataId, new BeanPropertyRowMapper<>(ProjectCostBudget.class)).stream().findAny().orElse(null);
                 if (taskProcessInfo1 != null && projectCostBudget != null) {
                     //获取任务完成时间
-                    TaskPlanUpdateStatusInfo taskPlanUpdateStatusInfo = jdbcTemplate.query("select completion_time from c_task_plan_update_status_info where update_type = 1 and approve_task_id = " + approveTaskId + " and plan_task_id = " + dataId, new BeanPropertyRowMapper<>(TaskPlanUpdateStatusInfo.class)).stream().findAny().orElse(null);
-                    if (taskProcessInfo1.getTaskName().contains("完成任务")){
+                    TaskPlanUpdateStatusInfo taskPlanUpdateStatusInfo = jdbcTemplate.query("select * from c_task_plan_update_status_info where approve_task_id = " + approveTaskId + " and plan_task_id = " + dataId, new BeanPropertyRowMapper<>(TaskPlanUpdateStatusInfo.class)).stream().findAny().orElse(null);
+                    if (taskProcessInfo1.getTaskName().contains("任务完成")){
                         if (taskPlanUpdateStatusInfo != null && taskProcessInfo1.getStatus().equals(2)) { //已完成的任务才推送
                             //修改任务实际完成时间、金额
                             LocalDate localDate = taskPlanUpdateStatusInfo.getCompletionTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
@@ -1209,9 +1209,11 @@ public class TaskProcessServiceImpl extends BaseServiceImpl<TaskProcessMapper, T
                         }
                         //日志操作信息
                         planInformService.taskFinishedInform(projectCostBudget.getPlanTaskDesc(), projectCostBudget.getTaskUser(), SecureUtil.getUserName(), taskProcessInfo1.getStatus());
-                    }else if (taskProcessInfo1.getTaskName().contains("转移任务")){
-                        projectCostBudgetService.taskChangeStats(Long.parseLong(dataId),taskProcessInfo1.getReportUserId());
+                    }else if (taskProcessInfo1.getTaskName().contains("任务转移")){
+                        //修改任务人
+                        jdbcTemplate.execute("update c_project_cost_budget set task_user = "+taskPlanUpdateStatusInfo.getTransferObject() + " where id = "+ dataId);
                         //日志操作信息
+                        projectCostBudgetService.taskChangeStats(Long.parseLong(dataId),taskProcessInfo1.getReportUserId());
                         planInformService.taskChangedInform(taskPlanUpdateStatusInfo.getStartTransferObject(),taskPlanUpdateStatusInfo.getTransferObject(), SecureUtil.getUserName(),projectCostBudget.getPlanTaskDesc());
                     }
                 }

+ 9 - 1
blade-service/blade-control/src/main/java/org/springblade/control/service/impl/UserFilesInfoServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.control.service.impl;
 
+import org.apache.commons.lang.StringUtils;
 import org.springblade.control.entity.UserFilesInfo;
 import org.springblade.control.vo.UserFilesInfoVO;
 import org.springblade.control.mapper.UserFilesInfoMapper;
@@ -40,7 +41,14 @@ public class UserFilesInfoServiceImpl extends BaseServiceImpl<UserFilesInfoMappe
 
 	@Override
 	public UserFilesInfoVO getUserFileDetail(String id) {
-		return baseMapper.getUserFileDetail(id);
+		UserFilesInfoVO vo = baseMapper.getUserFileDetail(id);
+		if (StringUtils.isBlank(vo.getLeaderName())){
+			String name = baseMapper.getLeaderNameByDeptId(vo.getDeptId());
+			if (StringUtils.isNotBlank(name)){
+				vo.setLeaderName(name);
+			}
+		}
+		return vo;
 	}
 
 }

+ 19 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -44,6 +44,7 @@ import org.springblade.core.tool.utils.*;
 import org.springblade.manager.bean.TableInfo;
 import org.springblade.manager.entity.*;
 import org.springblade.manager.enums.ExecuteType;
+import org.springblade.manager.mapper.ExcelTabMapper;
 import org.springblade.manager.mapper.WbsTreePrivateMapper;
 import org.springblade.manager.service.*;
 import org.springblade.manager.utils.FileUtils;
@@ -110,6 +111,8 @@ public class ExcelTabController extends BladeController {
 
     private final JdbcTemplate jdbcTemplate;
 
+    private final ExcelTabMapper excelTabMapper;
+
 
     // 表单附件信息
     private final ITableFileService tableFileService;
@@ -646,8 +649,14 @@ public class ExcelTabController extends BladeController {
 
         // 标题解决
         ProjectInfo projectInfo = projectInfoService.getById(wbsTreeContract.getProjectId());
+        //判断是否是水利水电表,水利水电项目名14,表名12 。   其他表都是18
+        Boolean isWater = false;
+        ExcelTab tab = excelTabMapper.getWaterByTableId(wbsTreeContract.getExcelId());
+        if (tab != null){
+            isWater = true;
+        }
+
         // 添加标题显示
-        // Elements dwtitle = doc.getElementsByAttributeValueMatching("style", "18.0pt");
         Elements trs = table.select("tr");
         for (int i = 1; i < 6; i++) {
             Element tr = trs.get(i);
@@ -658,8 +667,14 @@ public class ExcelTabController extends BladeController {
                 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")));
-                    if (StringUtils.isNotEmpty(data.text()) && fontsize >= 14) {
-                        trs.get(i - 1).select("td").get(0).text(projectInfo.getProjectName());
+                    if (isWater){
+                        if (StringUtils.isNotEmpty(data.text()) && fontsize >= 12) {
+                            trs.get(i - 1).select("td").get(0).text(projectInfo.getProjectName());
+                        }
+                    }else {
+                        if (StringUtils.isNotEmpty(data.text()) && fontsize >= 14) {
+                            trs.get(i - 1).select("td").get(0).text(projectInfo.getProjectName());
+                        }
                     }
                 }
             }
@@ -742,7 +757,7 @@ public class ExcelTabController extends BladeController {
         ProjectInfo projectInfo = projectInfoService.getById(wbsTreePrivate.getProjectId());
         // 添加标题显示
         Elements trs = table.select("tr");
-        for (int i = 1; i < 6; i++) {
+        for (int i = 0; i < 6; i++) {
             Element tr = trs.get(i);
             Elements tds = tr.select("td");
             for (int j = 0; j < tds.size(); j++) {

+ 1 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -336,11 +336,7 @@ public class FormulaController {
                 xindex = 1;
                 yindex = 0;
             }
-            Map<Integer, List<String>> resu = list.stream().filter(s -> s.indexOf("_")>=0).collect(Collectors.groupingBy(s -> Integer.parseInt(s.split("_")[yindex])));
-
-            Map<Integer, List<String>> collect = new LinkedHashMap<>();
-            resu.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEachOrdered(x -> collect.put(x.getKey(), x.getValue()));
-
+            Map<Integer, List<String>> collect = list.stream().filter(s -> s.indexOf("_")>=0).collect(Collectors.groupingBy(s -> Integer.parseInt(s.split("_")[yindex])));
             int j=0;
             for(Integer key: collect.keySet()){
                 List<String> datakey = collect.get(key);

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

@@ -270,10 +270,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                         .fluentRemove("businessId")
                         .fluentRemove("sourceUrl")
                         .fluentRemove("pdfUrl")
-                        .fluentRemove("firstFileName");
-                // 移除空的数据
-                dataInfo2.entrySet().removeIf(entry -> StringUtils.isEmpty(entry.getValue()+"") || (entry.getValue()+"").equals("null"));
-
+                        .fluentRemove("firstFileName")
+                        .fluentRemove("");
                 // 计算数据
                 LinkedHashMap<String, List<String>> dataMap = dataInfo2.keySet().stream().filter(e -> e.contains("__")).collect(Collectors.groupingBy(e -> e.split("__")[0], LinkedHashMap<String, List<String>>::new, Collectors.toList()));
                 LinkedHashMap<String, String> dataMap2 = new LinkedHashMap<>();
@@ -1345,8 +1343,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         int mergedCellCnt = sheet.getNumMergedRegions();
         for (int i = 0; i < mergedCellCnt - 1; i++) {
             CellRangeAddress mergedCell = sheet.getMergedRegion(i);
-            int xx = mergedCell.getNumberOfCells()+1;
-            if (xx <= all) {
+            int xx = mergedCell.getNumberOfCells();
+            if (xx == all) {
                 int fisRow = mergedCell.getFirstRow();
                 int firsrCol = mergedCell.getFirstColumn();
 
@@ -1390,9 +1388,7 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             Element table = doc.select("table").first();
             Elements trs = table.select("tr");
             Elements cols = table.select("col");
-            if(pkeyId==1644218999703076895L){
-                System.out.println("");
-            }
+
             if (ObjectUtil.isNotEmpty(DataInfo)) {
                 for (String val : DataInfo.keySet()) {
                     Elements datas = doc.getElementsByAttributeValue("keyname", val);
@@ -1491,15 +1487,12 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                             if(StringUtils.isNotEmpty(dataJson)){
                                                 JSONArray jsonArray = JSONArray.parseArray(dataJson);
                                                 List<Integer> idList = Func.toIntList(myData);
-
-                                                if(idList!=null && idList.size()>=0 && idList.get(0)>=1){
-                                                    String dataInfo = jsonArray.getJSONObject(idList.get(0)-1).getString("name");
-                                                    for(int inx=1 ; inx<idList.size() ; inx++){
-                                                        int valIndex = idList.get(inx)-1;
-                                                        dataInfo = dataInfo+","+jsonArray.getJSONObject(valIndex).getString("name");
-                                                    }
-                                                    cell.setCellValue(dataInfo);
+                                                String dataInfo = jsonArray.getJSONObject(idList.get(0)-1).getString("name");
+                                                for(int inx=1 ; inx<idList.size() ; inx++){
+                                                   int valIndex = idList.get(inx)-1;
+                                                    dataInfo = dataInfo+","+jsonArray.getJSONObject(valIndex).getString("name");
                                                 }
+                                                cell.setCellValue(dataInfo);
                                             }
                                         }
                                     }

+ 83 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/utils/test.java

@@ -5,25 +5,101 @@ import cn.hutool.extra.pinyin.PinyinUtil;
 import cn.hutool.extra.pinyin.engine.pinyin4j.Pinyin4jEngine;
 import com.alibaba.druid.sql.repository.SchemaObjectType;
 import com.alibaba.excel.util.DateUtils;
+import com.aspose.cells.HtmlSaveOptions;
+import com.spire.xls.*;
+import com.spire.xls.collections.PicturesCollection;
+import com.spire.xls.core.spreadsheet.HTMLOptions;
+import io.swagger.models.auth.In;
+import org.apache.commons.lang.StringUtils;
 import org.jsoup.Connection;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 import org.jsoup.select.Elements;
+import org.springblade.common.utils.SnowFlakeUtil;
+import org.springblade.core.tool.utils.IoUtil;
+import org.springblade.core.tool.utils.ResourceUtil;
 
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 public class test {
 
-    /*public static void main(String[] args) {
-        Map<String, Map<String, String>> map = getWeather("chongqing", "202304");
-//        String str = LocalDateTime.now().minusDays(1L).format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
-//        System.out.println(map.get(str));
-    }*/
+    public static void main1231(String[] args) throws Exception {
+
+        List<String> data = new ArrayList<>();
+
+        data.add("12_0");
+        data.add("13_0");
+        data.add("14_0");
+        data.add("15_0");
+        data.add("16_0");
+        data.add("10_0");
+        data.add("11_0");
+
+        int yindex;
+        int xindex;
+        if(false){ //纵向
+            yindex = 1;
+            xindex = 0;
+        } else { //横向
+            xindex = 1;
+            yindex = 0;
+        }
+
+        String dw[] = data.toArray(new String[data.size()]);
+        Map<Integer, List<String>> result = data.stream().filter(s -> s.indexOf("_")>=0).collect(Collectors.groupingBy(s -> Integer.parseInt(s.split("_")[yindex])));
+
+        Map<Integer, List<String>> collect = new LinkedHashMap<>();
+        result.entrySet().stream().sorted(Map.Entry.comparingByKey()).forEachOrdered(x -> collect.put(x.getKey(), x.getValue()));
+        int j=0;
+        for(Integer key: collect.keySet()){
+            List<String> datakey = collect.get(key);
+            List<String> ordList = datakey.stream().filter(s -> s.indexOf("_")>=0).sorted(Comparator.comparing(s -> Integer.parseInt(s.split("_")[xindex]))).collect(Collectors.toList());
+            for (String ord:ordList){
+                dw[j]=ord;
+                j++;
+            }
+        }
+
+        for (String da:dw){
+            System.out.println(da);
+        }
+
+
+      /*  String file_path = FileUtils.getSysLocalFileUrl()+"/pdf/";
+
+        String filecode = SnowFlakeUtil.getId() + "";
+        String thmlUrl = file_path + filecode + ".html";
+
+        InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl("/Users/hongchuangyanfa/Desktop/pdf/1688448159421825025.xlsx");
+        // 解析excel
+        Workbook wb = new Workbook();
+        wb.loadFromMHtml(inputStreamByUrl);
+        Worksheet sheet = wb.getWorksheets().get(0);
+
+
+
+
+        CellRange[] mergedCells = sheet.getMergedCells();
+        for (int i=0;i<mergedCells.length;i++){
+            CellRange mergedCell = mergedCells[i];
+
+            CellRange data = sheet.getCellRange(mergedCell.getRow(),mergedCell.getColumn());
+
+            System.out.println(data.getValue());
+            System.out.println(mergedCell.getRow()+"--=--"+mergedCell.getColumn());
+
+        }*/
+
+    }
     public static Map<String, Map<String, String>> getWeather(String city, String month) {
         String html = "http://www.tianqihoubao.com/lishi/" + city + "/month/" + month + ".html";
         System.out.println(html);