Bladeren bron

2024 3 7 号

zhuwei 1 jaar geleden
bovenliggende
commit
976493e9f2

+ 2 - 1
blade-common/src/main/java/org/springblade/common/constant/CommonConstant.java

@@ -59,9 +59,10 @@ public interface CommonConstant {
     String DEFAULT_PARAM_PASSWORD = "account.initPassword";
 
     String SYS_LOCAL_URL = "sys.local.url";
+    //计量wbs 主键Id值
+    String SYS_MEASURE_IDS = "sys.measure.ids";
 
     String SYS_FILE_NET_URL = "sys.file.net.url";
-
     String SYS_USER_TASK_BATCH = "sys.user.task.batch";
 
     String JL_THE_LOG = "JL.theLog";

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

@@ -537,9 +537,7 @@ public class ExcelTabController extends BladeController {
         WbsTreePrivate wbsTree = new WbsTreePrivate();
         wbsTree.setPKeyId(tabId);
         WbsTreePrivate aPrivate = wbsTreePrivateService.getOne(Condition.getQueryWrapper(wbsTree));
-
         aPrivate.setExcelId(exceTabId);
-
         // 获取excel 基本信息
         ExcelTab excelTab = excelTabService.getById(exceTabId);
 

+ 4 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -239,8 +239,10 @@ public class ExecutorMeter extends FormulaExecutor {
                        List<Object> dl= groupData.get(i);
                        FormData fd= fds.get(i);
                        /*计算完结*/
-                       fd.setFinished(true);
-                       elementWriter.write(fd,dl);
+                       if(fd!=null){ //由于计算为null 导致设置报错
+                           fd.setFinished(true);
+                           elementWriter.write(fd,dl);
+                       }
                    }
                 }
                 Integer sort = materials.get(0).getSort();
@@ -262,11 +264,8 @@ public class ExecutorMeter extends FormulaExecutor {
                         elementWriter.write(fdm.get(MaterialAdvancePayment.TBN+":key_3"),StringUtils.number2String(total,2));
                     }
                 }
-
-
             }
         }
-
     }
 
 

+ 7 - 5
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/MeterElementWriter.java

@@ -32,11 +32,13 @@ public class MeterElementWriter implements ElementWriter {
             List<Object> values = toList(data,containsNull);
             /*计量写入数据无效考虑是否存在表页实体,也就不存在超页的概念,只管按需自动增页写人,任何元素初始化都是一页*/
             int capacity=fd.getCoordsList().size();
-            List<ElementData> eds=  IntStream.range(0,values.size()).boxed().map(i->{
-                Coords coords = fd.getCoordsList().get(i%capacity);
-                return new ElementData(i/capacity,values.get(i),coords.getX(),coords.getY());
-            }).collect(Collectors.toList());
-            fd.setValues(eds);
+            if(capacity!=0){ //capacity数据出现 0
+                List<ElementData> eds=  IntStream.range(0,values.size()).boxed().map(i->{
+                    Coords coords = fd.getCoordsList().get(i%capacity);
+                    return new ElementData(i/capacity,values.get(i),coords.getX(),coords.getY());
+                }).collect(Collectors.toList());
+                fd.setValues(eds);
+            }
             fd.setUpdate(1);
         }catch (Exception e){
             e.printStackTrace();

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

@@ -886,7 +886,10 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             }
         }
         //获取未匹配的字段
-        List<WbsFormElement> list = baseMapper.getUnMatchField(tabId, set);
+        List<WbsFormElement> list = new ArrayList<>();
+        if(set!=null && set.size()>0){
+             list = baseMapper.getUnMatchField(tabId, set);
+        }
         return list;
     }
 
@@ -1218,8 +1221,6 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
         }
         File file1 = ResourceUtil.getFile(wbsTreeContract.getHtmlUrl());
         if (file1.exists()) {
-
-
             FileInputStream fileInputStream = new FileInputStream(file1);
             String htmlString = IoUtil.readToString(fileInputStream);
             Document doc = Jsoup.parse(htmlString);

+ 9 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsFormElementServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
@@ -29,6 +30,7 @@ import org.springblade.manager.vo.TableInfoVO;
 import org.springblade.manager.vo.WbsFormElementVO;
 import org.springblade.manager.vo.WbsFormElementVO2;
 import org.springblade.manager.vo.WbsNodeTableVO;
+import org.springblade.system.cache.ParamCache;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -84,8 +86,12 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
     @Override
     public Boolean initTable(List<WbsFormElement> elementList, String tableName) {
         String sql = createSQL(elementList);
-
-        return wbsFormElementMapper.createTable(sql, tableName) >= 0;
+        try {
+            boolean b = wbsFormElementMapper.createTable(sql, tableName) >= 0;
+            return b;
+        }catch (Exception e){
+            return true;
+        }
     }
 
     private String createSQL(List<WbsFormElement> elementList) {
@@ -704,7 +710,7 @@ public class WbsFormElementServiceImpl extends BaseServiceImpl<WbsFormElementMap
                         throw new ServiceException("操作失败,请完整填写元素名称与类型参数");
                     }
                 }
-
+                String sysId = ParamCache.getValue(CommonConstant.SYS_MEASURE_IDS);
                 //实体信息表验证,如果实体表的名称和数据表名称相同,则用同一张表否则新建
                 //初始化
                 String newTableName = "m_" + DateUtil.time() + "_" + SnowFlakeUtil.getId();

+ 29 - 9
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -24,6 +24,7 @@ import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.jsoup.Jsoup;
+import org.jsoup.nodes.Element;
 import org.jsoup.select.Elements;
 import org.springblade.business.entity.FixedFlow;
 import org.springblade.business.entity.FixedFlowLink;
@@ -2234,10 +2235,18 @@ public class TaskController extends BladeController {
                         reportId = materialS.getId()+"";
                     }
                 } else if (task.getMeterTaskType() == 1) { // 1中间
+                    // 获取总金额
+                    MiddleMeterApply middleMeterApply = new MiddleMeterApply();
+                    middleMeterApply.setContractId(Func.toLong(task.getContractId()) );
+                    middleMeterApply.setContractPeriodId(Func.toLong(task.getFormDataId()));
+                    BigDecimal currentMeterMoney = middleMeterApplyService.getCurrentMeterMoney(middleMeterApply);
+
                     InterimPayCertificate inData = interimPayCertificateService.getBaseMapper().selectOne(Wrappers.<InterimPayCertificate>lambdaQuery().eq(InterimPayCertificate::getContractId, task.getContractId()).eq(InterimPayCertificate::getContractPeriodId, task.getFormDataId()));
                     if (inData == null || Func.isNull(inData)) {
                         InterimPayCertificate inData2 = new InterimPayCertificate();
                         ContractMeterPeriod me = contractMeterPeriodService.getById(task.getFormDataId());
+                        inData2.setStartDate(me.getStartDate());
+                        inData2.setEndDate(me.getEndDate());
                         inData2.setProjectId(me.getProjectId());
                         inData2.setContractId(me.getContractId());
                         inData2.setContractPeriodId(Func.toLong(task.getFormDataId()));
@@ -2245,10 +2254,12 @@ public class TaskController extends BladeController {
                         inData2.setPeriodNumber(me.getPeriodNumber());
                         inData2.setPrintDate(me.getFormPrintDate());
                         inData2.setProjectId(me.getProjectId());
+                        inData2.setPayMoney(currentMeterMoney);
                         interimPayCertificateService.save(inData2);
                         reportId = inData2.getId()+"";
+                    }else{
+                        reportId = inData.getId()+"";
                     }
-                    reportId = inData.getId()+"";
                 }
                 /**计量公式执行 0中间,1材料,2开工*/
                 /*复制业务数据状态>主任务状态>替换数据*/
@@ -2769,7 +2780,7 @@ public class TaskController extends BladeController {
                                 /*设置表头*/
                                 setTitle(sheet, tile);
                                 /*添加电签*/
-                                setDQInfo(sheet,rs.getUrl());
+                                setDQInfo(sheet,rs.getUrl(),tile);
                                 //去掉表格虚线
                                 sheet.setPrintGridlines(false);
                                 //设置 整个工作表为一页
@@ -2839,8 +2850,8 @@ public class TaskController extends BladeController {
     }
 
     // 添加电签信息数据
-    public void setDQInfo(Sheet sheet, String htmlUrl) {
-        String file_path = CollectionUtils.getSysLocalFileUrl();
+    public void setDQInfo(Sheet sheet, String htmlUrl,String title) {
+        String file_path = "/www/wwwroot/Users/hongchuangyanfa/Desktop/";//CollectionUtils.getSysLocalFileUrl();
         // 添加电签关键字Id
         String sys_file_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
         File file = null;
@@ -2858,16 +2869,26 @@ public class TaskController extends BladeController {
             Elements dqlist = htmldoc.getElementsByAttribute("dqid");
             if(dqlist!=null && !dqlist.isEmpty()){
                 dqlist.forEach(element -> {
-                    int y1 = Func.toInt(element.attr("y1"));
-                    int x1 = Func.toInt(element.attr("x1"));
+                    System.out.println(element.hasAttr("y1"));
+                    int y1=0;
+                    int x1=0;
+                    if(!element.hasAttr("y1") && !element.hasAttr("x1")){
+                        Element element2 = element.children().get(0);
+                        y1 = Func.toInt(element2.attr("y1"));
+                        x1 = Func.toInt(element2.attr("x1"));
+                    }else{
+                         y1 = Func.toInt(element.attr("y1"));
+                         x1 = Func.toInt(element.attr("x1"));
+                    }
 
                     Row row = sheet.getRow(y1 - 1);
                     if (row != null) {
                         Cell cell = row.getCell(x1 - 1);
                         if (cell != null) {
-
+                            /*if(title.equals("重庆试验项目-中期支付汇总表")){
+                                System.out.println(title+"------坐标------"+y1+"__"+x1+"===="+element.attr("dqid"));
+                            }*/
                             cell.setCellValue(element.attr("dqid"));
-
                             Workbook workbook = cell.getSheet().getWorkbook();
                             CellStyle cellStyle = workbook.createCellStyle();
                             cellStyle.cloneStyleFrom(cell.getCellStyle());
@@ -2876,7 +2897,6 @@ public class TaskController extends BladeController {
                             newFont.setColor(IndexedColors.WHITE.getIndex());
                             newFont.setFontHeightInPoints((short) 2);
                             cellStyle.setFont(newFont);
-
                             cell.setCellStyle(cellStyle);
                         }
                     }

+ 0 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/InventoryFormMeterMapper.java

@@ -31,7 +31,6 @@ import java.util.List;
  */
 public interface InventoryFormMeterMapper extends BaseMapper<InventoryFormMeter> {
 
-
     List<Long> getNodeAllForm(@Param("nodeId") Long nodeId);
     ContractInventoryForm dadainfo(@Param("forid") long forid);
 

+ 0 - 1
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MeterTreeContractMapper.java

@@ -1,7 +1,6 @@
 package org.springblade.meter.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import jdk.internal.org.objectweb.asm.tree.analysis.Value;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.springblade.meter.entity.InventoryFormMeter;