Explorar el Código

Merge branch 'test-merge' of http://219.151.181.73:3000/zhuwei/bladex into test-merge

lvy hace 5 días
padre
commit
3920934395

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

@@ -44,6 +44,8 @@ public class InventoryUnitChange implements DataModel{
     private String pageTotal;
     @JSONField(name = "key_68",label="第N页" ,ordinal = 101)
     private String pageIndex;
+    /**变更令ID*/
+    private Long changeId;
     /**是否是汇总小结数据,输出的时候显示,计算的时候不参与*/
     private Boolean isSummary=false;
     /**计算的时候控制正负属性*/

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

@@ -106,8 +106,6 @@ public class EVDataServiceImpl implements EVDataService {
             if (taskApp.getRemarkType().equals("1")) { //安心签
                 //添加电签策略
                 List<SealStrategyVO> strategyListByAXQ = getStrategyListByAXQ(taskApp, ids);
-
-
                 ids = ids.replaceAll("\\✹", "");
                 if (strategyListByAXQ == null || Func.isEmpty(strategyListByAXQ) || strategyListByAXQ.size() == 0) {
                     ids = ids.replaceAll("✹", "");

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

@@ -988,6 +988,7 @@ public class ExecutorMeter extends FormulaExecutor {
                     List<ChangeTokenInventory> ChangeTokenInventoryList = entry.getValue();
                     InventoryUnitChange change = new InventoryUnitChange();
                     ContractInventoryForm inventory = InventoryUCUtil.getInventory(ChangeTokenInventoryList.get(0).getContractFormId());
+                    change.setChangeId(ChangeTokenInventoryList.get(0).getChangeTokenId());
                     /*清单编号*/
                     change.setInventoryNum(inventory.getChapterNumber()+"章");
                     /*项目编号*/
@@ -1263,13 +1264,13 @@ public class ExecutorMeter extends FormulaExecutor {
                          }
                          ipc.setCurrentPeriodPay(StringUtils.handleNull(currentMoney.get(cm.getKey())));
                          //2-8公式开发前逻辑
-                         //本期变更金额
+//                         //本期变更金额
 //                         ipc.setCurrentPeriodChangeMoney(StringUtils.handleNullZero(sumChangeMoneyForChapter(changeTokenList0,ch)
 //                                 ,tec.getPayRadicScale()));
-                         //上期末变更金额
+//                         //上期末变更金额
 //                         ipc.setPreviousPeriodEndChangeMoney(StringUtils.handleNullZero(sumChangeMoneyForChapter(changeTokenList1,ch)
 //                                 ,tec.getPayRadicScale()));
-                         //本期末变更金额
+//                         //本期末变更金额
 //                         ipc.setCurrentPeriodEndChangeMoney(StringUtils.handleNullZero(sumChangeMoneyForChapter(changeTokenList2,ch)
 //                                 ,tec.getPayRadicScale()));
                          //2-8公式开发后逻辑

+ 15 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/TableElementConverter.java

@@ -12,11 +12,13 @@ import com.mixsmart.utils.StringUtils;
 import lombok.Data;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springblade.common.utils.BaseUtils;
+import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.bean.TableInfo;
 import org.springblade.manager.dto.*;
 import org.springblade.manager.entity.Formula;
+import org.springblade.manager.entity.WbsTreeContractExtend;
 import org.springblade.manager.enums.ExecuteType;
 import org.springblade.manager.formula.FormulaLog;
 import org.springblade.manager.formula.ITableElementConverter;
@@ -44,6 +46,7 @@ public class TableElementConverter implements ITableElementConverter {
     public static String JOIN_REG = "__\\d+_\\d+,?";
     public static Pattern RP = Pattern.compile("(?<=E\\[)[^]]+(?=])");
 
+    private WbsTreeContractExtend contractExtend;
     private List<TableInfo> tableInfoList;
     private Long contractId;
     private Long projectId;
@@ -296,9 +299,19 @@ public class TableElementConverter implements ITableElementConverter {
                     /*备份原始数据,用于更新比较*/
                     fd.init();
                     formDataMap.put(fd.getCode(), fd);
+
                     if (fd.getFormula() != null) {
-                        /*只有需要执行公式的才放这里*/
-                        formDataList.add(fd);
+                        if (contractExtend != null && StringUtils.isNotEmpty(contractExtend.getFormulaConfig())) {
+                            List<String> list = Arrays.asList(contractExtend.getFormulaConfig().split(","));
+                            if(CollectionUtil.isEmpty(list) || !list.contains(fd.getCode())){
+                                /*只有需要执行公式的才放这里*/
+                                formDataList.add(fd);
+                            }
+                        }else{
+                            /*只有需要执行公式的才放这里*/
+                            formDataList.add(fd);
+                        }
+
                     }
                 });
             }

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

@@ -116,4 +116,5 @@ public interface IWbsTreePrivateService extends BaseService<WbsTreePrivate> {
     List<ArchiveSyncLogVO> getContractAllLogMonthPack(Long contractId);
 
     List<Long> getContractAllLogWbsNodeIds(Long contractId);
+
 }

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

@@ -564,12 +564,19 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                         contractId = Func.toLong(tableInfoList.get(0).getContractId());
                     }
                     if (currentNode != null) {
+                        WbsTreeContractExtend byId = null;
+                        if (type.equals(ExecuteType.INSPECTION)) {
+                            byId = wbsTreeContractExtendService.getById(nodeId);
+                        } else if (type.equals(ExecuteType.TESTING) ) {
+                            byId = wbsTreeContractExtendService.getById(tableInfoList.get(0).getTestGroupId());
+                        }
                         TableElementConverter tec = new TableElementConverter(tableInfoList, keyMappers, formulas, coordinateMap, currentNode, tableAll);
                         tec.setLog(log);
                         tec.setExecuteType(type);
                         tec.setContractId(contractId);
                         tec.setProjectId(projectId);
                         tec.setIsRemoveForSubTab(isRemoveForSubTab);
+                        tec.setContractExtend(byId);
                         if (tec.isPresent()) {
                             tec.before();
                             this.formulaService.execute(tec);

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

@@ -1350,9 +1350,6 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             checkTable = op.get().getInitTableName();
         }
         for (FormData fd : tec.formDataList) {
-            if(fd.getCode().equals("_20240528110420_1795289980302524416:key_8")){
-                System.out.println("111");
-            }
             if (fd.verify()) {
                 if(fd.getAddPages()!=0){
                     System.out.println("");
@@ -5239,16 +5236,6 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     /*表id,项目id,节点Id*/
     public List<KeyMapper> listForContract(List<Long> ids, String projectId, String nodeId, String testGroupId) {
         List<Map<String, Object>> listMap = listMap(ids, ExecuteType.INSPECTION);
-        //质检这个参数为0,表示过滤公式,为1,表示html渲染表格
-        if(!"1".equals(testGroupId)){
-            //根据节点id查询 合同段扩展表
-            WbsTreeContractExtend byId = wbsTreeContractExtendService.getById(nodeId);
-            if (byId != null && StringUtils.isNotEmpty(byId.getFormulaConfig())) {
-                List<String> list = Arrays.asList(byId.getFormulaConfig().split(","));
-                listMap = listMap.stream().filter(m -> !list.contains(m.get("tableName").toString() + ":" + m.get("field").toString())).collect(Collectors.toList());
-            }
-        }
-
         WbsTreePrivate wtp = wtpId(Long.parseLong(nodeId));
         if (Func.isNotEmpty(listMap)) {
             /*当前节点的某个元素存在多种作用域的公式,作用域范围越小优先级越高*/
@@ -5336,14 +5323,6 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     private List<KeyMapper> listForPrivate(List<Long> ids, String projectId, String nodeId, String testGroupId) {
         /**/
         List<Map<String, Object>> listMap = listMap(ids, ExecuteType.TESTING);
-        if(StringUtil.isNotBlank(testGroupId)){
-            //根据节点id查询 合同段扩展表
-            WbsTreeContractExtend byId = wbsTreeContractExtendService.getById(testGroupId);
-            if (byId != null && StringUtils.isNotEmpty(byId.getFormulaConfig())) {
-                List<String> list = Arrays.asList(byId.getFormulaConfig().split(","));
-                listMap = listMap.stream().filter(m -> !list.contains(m.get("tableName").toString() + ":" + m.get("field").toString())).collect(Collectors.toList());
-            }
-        }
         List<KeyMapper> list = listMap.stream().map(m -> BeanUtil.toBean(m, KeyMapper.class)).collect(Collectors.toList());
         if (Func.isNotEmpty(listMap)) {
             WbsTreePrivate wtp = this.wbsTreePrivateMapper.selectOne(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getPKeyId, nodeId));

+ 3 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/utils/InventoryUCUtil.java

@@ -127,7 +127,7 @@ public class InventoryUCUtil {
 
     //获取变更情况
     public static ChangeInventoryForm getChangeForm(Long contractId, Long prePeriodId, String formNumber) {
-        String sql="select * from s_change_inventory_form where contract_id="+contractId+" and period_id="+prePeriodId+" and form_number='"+formNumber+"' and is_deleted=0";
+        String sql="select * from s_change_inventory_form where contract_id="+contractId+" and period_id="+prePeriodId+" and form_number='"+formNumber+"' and is_deleted=0 ";
         try {
             return jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<>(ChangeInventoryForm.class));
         } catch (EmptyResultDataAccessException e) {
@@ -140,8 +140,8 @@ public class InventoryUCUtil {
         for (InventoryUnitChange change : dataList) {
             ChangeInventoryForm changeForm = getChangeForm(contractId, periodId, change.getFormNumber());
             if(changeForm==null){
-                String insertSql = "INSERT INTO s_change_inventory_form(id,contract_id,period_id,inventory_num,form_number,item_name,change_total,change_money,after_change_total,after_change_money,is_deleted) VALUES(?,?,?,?,?,?,?,?,?,?,?)";
-                jdbcTemplate.update(insertSql, SnowFlakeUtil.getId(), contractId, periodId,change.getInventoryNum(), change.getFormNumber(), change.getItemName(),
+                String insertSql = "INSERT INTO s_change_inventory_form(id,contract_id,period_id,change_id,inventory_num,form_number,item_name,change_total,change_money,after_change_total,after_change_money,is_deleted) VALUES(?,?,?,?,?,?,?,?,?,?,?)";
+                jdbcTemplate.update(insertSql, SnowFlakeUtil.getId(), contractId, periodId,change.getChangeId(),change.getInventoryNum(), change.getFormNumber(), change.getItemName(),
                         change.getChangePeriodUnit(), change.getChangePeriodAmount(), change.getChangeEndPeriodUnit(),
                         change.getChangeEndPeriodAmount(), 0);
             }else {

+ 27 - 26
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -4963,41 +4963,42 @@ public class TaskController extends BladeController {
 
             //由于之前需求每400 进行分割,现在需求需要根据类型+页码 分页
             if(this.type==0) {
-                jdbcTemplate.execute("delete from s_interim_task where task_id='"+id+"'");
+                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,task_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);
-                         for (int i=0;i<pdfPageNo;i++){
-                             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);
-                             }else{
-                                 pageStart = 100 * i;
-                                 pageEnd = pageNum;
-                             }
-                             int pdfByPage = this.getPdfByPage(pageStart, pageEnd, pdfUrl, localPdf);
-                             if(pdfByPage==0){
-                                 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,task_id,status,pdf_url,pdf_e_url,name) VALUES("+newPkId+","+this.id+",0,'"+pagePdfUrl+"','','"+titleName+"');";
-                             }
-                         }
+                        Double pdfPageNo = Math.ceil(pageNum / 300.00);
+                        for (int i=0;i<pdfPageNo;i++){
+                            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 = 300 * i;
+                                pageEnd = 300 * (i+1);
+                            }else{
+                                pageStart = 300 * i;
+                                pageEnd = pageNum;
+                            }
+                            int pdfByPage = this.getPdfByPage(pageStart, pageEnd, pdfUrl, localPdf);
+                            if(pdfByPage==0){
+                                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,create_time) VALUES("+newPkId+","+this.id+",0,'"+pagePdfUrl+"','','"+titleName+"',SYSDATE());";
+                            }
+                        }
                     }
                 }
                 jdbcTemplate.batchUpdate(addTaskInfoSql);

+ 5 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ChangeTokenFormServiceImpl.java

@@ -531,6 +531,8 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
             changeTokenInventoryService.deleteByTokenId(id);
             //删除附件
             attachmentFormService.deleteByMasterId(id);
+            String deleted="delete from s_change_inventory_form where change_id="+id;
+            jdbcTemplate.execute(deleted);
         }
     }
 
@@ -840,5 +842,8 @@ public class ChangeTokenFormServiceImpl extends BaseServiceImpl<ChangeTokenFormM
                 .eq(ChangeTokenForm::getId,id)
                 .set(ChangeTokenForm::getCommandStatus,0));
 
+        String deleted="delete from s_change_inventory_form where change_id="+id;
+        jdbcTemplate.execute(deleted);
+
     }
 }