Browse Source

新时间比较器

yangyj 2 năm trước cách đây
mục cha
commit
6d58977114

+ 1 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/FormulaBean.java

@@ -20,4 +20,5 @@ public class FormulaBean {
     private String map;
     private Integer scale;
     private Integer batch;
+    private Integer out;
 }

+ 4 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/Formula.java

@@ -19,6 +19,9 @@ import java.util.List;
 @Data
 @TableName("m_formula")
 public class Formula extends BaseEntity {
+   /*输出方式,填充*/
+   public static Integer FULL=1;
+   private static Integer AUTO=0;
    private String rely;
    @Size(max = 2048)
    private String formula;
@@ -33,6 +36,7 @@ public class Formula extends BaseEntity {
    private String map;
    private Integer scale;
    private Integer batch;
+   private Integer out;
 
    public List<String> getRelyList(){
       if(Func.isNotBlank(rely)){

+ 6 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/UserViewProjectContractController.java

@@ -1,5 +1,7 @@
 package org.springblade.business.controller;
 
+import cn.hutool.core.date.StopWatch;
+import cn.hutool.log.StaticLog;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
@@ -105,7 +107,11 @@ public class UserViewProjectContractController {
             return R.data(null);
         }
         //获取当前用户的默认项目
+        StopWatch stopWatch = new StopWatch();
+        stopWatch.start("个人项目信息查询时间");
         List<DefaultProject> defaultProjects = this.defaultProjectService.list(Wrappers.<DefaultProject>lambdaQuery().eq(DefaultProject::getUserId, AuthUtil.getUserId().toString()));
+        stopWatch.stop();
+        StaticLog.info("{}", stopWatch);
         String defaultProject = null, defaultContract = null;
         if (defaultProjects != null && defaultProjects.size() > 0) {
             defaultProject = defaultProjects.get(0).getProjectId();

+ 11 - 2
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -1061,20 +1061,29 @@ public class CustomFunction {
 
 	private static Object dateCp(Object d1 ,Object d2,Boolean isAsc){
 		if(d1!=null&&d2!=null){
+			Map<DateTime,Object> map = new HashMap<>();
 			DateTime dt1 = new DateTime(d1.toString());
 			DateTime dt2 = new DateTime(d2.toString());
+			map.put(dt1,d1);
+			map.put(dt2,d2);
 			List<DateTime> list = new ArrayList<>();
 			list.add(dt1);
 			list.add(dt2);
 			if(isAsc){
-				return dcp(list,Comparator.naturalOrder());
+				return map.get(dcp(list,Comparator.naturalOrder()));
 			}else{
-				return dcp(list,Comparator.reverseOrder());
+				return map.get(dcp(list,Comparator.reverseOrder()));
 			}
 		}
 		return StringPool.EMPTY;
 	}
 
+	public static void main(String[] args) {
+		Date d= new Date();
+		DateTime d2= new DateTime("2022-11-13 12:12:12");
+		System.out.println(dateMin(d,d2));
+		System.out.println(dateMax(d,d2));
+	}
 	/**
 	 * @Description 时间比较获取
 	 * @Param [list:时间集合, comparator 比较器 ]

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

@@ -146,6 +146,7 @@ public class FormulaController {
                      Formula formula = new Formula();
                      formula.setElementId(e);
                      formula.setWbsId(bean.getNodeId());
+                     formula.setOut(Formula.FULL);
                      Map<String,String> m= new HashMap<>();
                      m.put("name",bean.getName());
                      m.put("id",bean.getParamId().toString());

+ 4 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsParamController.java

@@ -18,6 +18,7 @@ import org.springblade.manager.dto.FormulaBean;
 import org.springblade.manager.dto.WbsParamBean;
 import org.springblade.manager.entity.Formula;
 import org.springblade.manager.entity.WbsParam;
+import org.springblade.manager.service.IFormulaService;
 import org.springblade.manager.service.IWbsParamService;
 import org.springblade.manager.wrapper.FormulaWrapper;
 import org.springblade.manager.wrapper.WbsParamWrapper;
@@ -42,6 +43,7 @@ import java.util.stream.Collectors;
 @Api(value = "节点参数", tags = "节点参数")
 public class WbsParamController {
     private final IWbsParamService service;
+    private final IFormulaService formulaService;
 
     /**
      * 保存或修改
@@ -91,6 +93,8 @@ public class WbsParamController {
                    this.service.update(Wrappers.<WbsParam>update().lambda().set(WbsParam::getIsDeleted,1).eq(WbsParam::getType,0).notIn(WbsParam::getId,ids));
                }else{
                    this.service.update(Wrappers.<WbsParam>update().lambda().set(WbsParam::getIsDeleted,1).eq(WbsParam::getWbsId,one.getWbsId()).notIn(WbsParam::getId,ids));
+                   /*把当前节点已删除参数的关联公式删除*/
+                  // this.formulaService.update(Wrappers.<Formula>lambdaUpdate().set(Formula::getIsDeleted,1).eq(Formula::getElementId,1));
                }
            }
            Map<Boolean,List<WbsParamBean>> map = wps.stream().collect(Collectors.partitioningBy(e->e.getId()!=null));

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/FormulaMapper.xml

@@ -18,6 +18,7 @@
         <result column="wbsId" property="wbs_id"/>
         <result column="elementId" property="element_id"/>
         <result column="map" property="map"/>
+        <result column="out" property="out"/>
         <result column="scale" property="scale"/>
         <result column="batch" property="batch"/>
     </resultMap>

+ 6 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -321,7 +321,12 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 }
             }
         }else{
-            fd.getValues().get(0).setValue(data);
+            if(fd.getFormula().getOut().equals(Formula.FULL)){
+                /*填充策略*/
+                fd.getValues().forEach(e->e.setValue(data));
+            }else{
+                fd.getValues().get(0).setValue(data);
+            }
         }
 
     }
@@ -500,7 +505,6 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
 //                                if(StringUtils.isNotEmpty(data)) {
 //                                    data = CustomFunction.setScale(data, StringUtils.getScale(data));
 //                                }
-                                /*必须要用括号套壳,不然无法处理负数*/
                                 String key ="HA"+HashUtil.identityHashCode(data);
                                 this.env.constantMap.put(key,data);
                                 f = f.replace(CustomFunction.CLASS_CALL + m.group(), key);