xiejun
2023-08-29 6bfe9a956781b098d44a20e6e7dc22bc2904d6cb
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -1,16 +1,21 @@
package com.vci.ubcs.starter.util;
import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.BaseModel;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.apache.poi.ss.formula.functions.T;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.Func;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
/**
 * 新增时默认值属性赋值
@@ -46,11 +51,14 @@
         baseModel.setLastR("1");
         baseModel.setLastV("1");
         baseModel.setRevisionSeq(1);
         baseModel.setOwner("1");
         if(Func.isBlank(baseModel.getOwner())){
            // 设置所有者
            baseModel.setOwner(AuthUtil.getUserId().toString());
         }
         baseModel.setVersionSeq(1);
         baseModel.setVersionRule("0");
         baseModel.setVersionValue("1");
         baseModel.setNameOid(VciBaseUtil.getPk());
         baseModel.setRevisionOid(VciBaseUtil.getPk());
         baseModel.setLastModifier(userId);
      }catch (VciBaseException e){
         e.printStackTrace();
@@ -79,4 +87,94 @@
      return (T)baseModel;
   }
   /**
    * 新增时填充默认值
    * @param object 继承了BaseModel的实体对象
    * @param <T>   返回值的类型
    * @return
    * @throws VciBaseException
    */
   public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object) throws VciBaseException {
      BaseModel baseModel = object;
      try {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         baseModel.setOid(dataMap.getOrDefault("OID",""));
         baseModel.setId(dataMap.getOrDefault("ID",""));
         Map<String,Object> newDataMap=new HashMap<>();
         /*for (String key:dataMap.keySet()){
            Object value=dataMap.get(key);
            newDataMap.put(key.toLowerCase(Locale.ROOT),value);
         }*/
      /*   dataMap.forEach((key,value)->{
            newDataMap.put(key.toLowerCase(Locale.ROOT),value);
         });*/
         //baseModel.setData((Map)newDataMap);
         Object createTimeObj=dataMap.getOrDefault("CREATETIME","");
         if(createTimeObj!=null) {
            String createTime = createTimeObj.toString();
            baseModel.setCreateTime(chageStringToDate(createTime));
         }
         baseModel.setNameOid(dataMap.getOrDefault("NAMEOID",""));
         Object lastModifyTimeObj=dataMap.getOrDefault("LASTMODIFYTIME","");
         if(lastModifyTimeObj!=null) {
            String lastModifyTime = lastModifyTimeObj.toString();
            baseModel.setLastModifyTime(chageStringToDate(lastModifyTime));
         }
         Object tsObj=dataMap.getOrDefault("TS","");
         if(tsObj!=null) {
            String ts = tsObj.toString();
            baseModel.setTs(chageStringToDate(ts));
         }
         baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
         //用户id
         String userId = AuthUtil.getUserId().toString();
         baseModel.setBtmname(dataMap.getOrDefault("BTMNAME",""));
         baseModel.setCreator(dataMap.getOrDefault("CREATOR",""));
         baseModel.setFirstR(dataMap.getOrDefault("FIRSTR",""));
         baseModel.setFirstV(dataMap.getOrDefault("FIRSTV",""));
         baseModel.setLastR(dataMap.getOrDefault("LASTR",""));
         baseModel.setLastV(dataMap.getOrDefault("LASTV",""));
         Object revisionseq =dataMap.getOrDefault("REVISIONSEQ","");
         if(revisionseq!=null){
            baseModel.setRevisionSeq(chageStringToInt(revisionseq.toString()));
         }
         baseModel.setOwner(dataMap.getOrDefault("OWNER",""));
         Object versionseq =dataMap.getOrDefault("VERSIONSEQ","");
         if(versionseq!=null){
            baseModel.setVersionSeq(chageStringToInt(versionseq.toString()));
         }
         baseModel.setVersionRule(dataMap.getOrDefault("VERSIONRULE",""));
         baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE",""));
         baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
         baseModel.setLastModifier(userId);
      }catch (VciBaseException e){
         e.printStackTrace();
      }
      return (T)baseModel;
   }
   private static int chageStringToInt(String value){
      int newValue=0;
      if(StringUtils.isNotBlank(value)){
         newValue = Integer.parseInt(value);
      }
      return newValue;
   }
   private static Date chageStringToDate(String value){
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date date=new Date();
      if(StringUtils.isNotBlank(value)){
         try {
            date = format.parse(value);
         } catch (ParseException e) {
            e.printStackTrace();
         }
      }
      return date;
   }
}