package com.vci.ubcs.starter.util;
|
|
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 java.lang.reflect.Field;
|
import java.math.BigDecimal;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.Locale;
|
import java.util.Map;
|
|
/**
|
* 新增时默认值属性赋值
|
*
|
* @author ludc
|
* @date 2023/5/6
|
*/
|
public class DefaultAttrAssimtUtil {
|
|
/**
|
* 新增时填充默认值
|
* @param object 继承了BaseModel的实体对象
|
* @param <T> 返回值的类型
|
* @param btmName 业务类型
|
* @return
|
* @throws VciBaseException
|
*/
|
public static <T extends BaseModel> T addDefaultAttrAssimt(T object,String btmName) throws VciBaseException {
|
BaseModel baseModel = object;
|
try {
|
baseModel.setOid(VciBaseUtil.getPk().toUpperCase());
|
baseModel.setCreateTime(new Date());
|
baseModel.setNameOid(VciBaseUtil.getPk());
|
baseModel.setLastModifyTime(new Date());
|
baseModel.setTs(new Date());
|
baseModel.setRevisionOid(VciBaseUtil.getPk());
|
//用户id
|
String userId = AuthUtil.getUserId().toString();
|
baseModel.setBtmname(btmName);
|
baseModel.setCreator(userId);
|
baseModel.setFirstR("1");
|
baseModel.setFirstV("1");
|
baseModel.setLastR("1");
|
baseModel.setLastV("1");
|
baseModel.setRevisionSeq(1);
|
baseModel.setOwner("1");
|
baseModel.setVersionSeq(1);
|
baseModel.setVersionRule("0");
|
baseModel.setVersionValue("1");
|
baseModel.setRevisionOid(VciBaseUtil.getPk());
|
baseModel.setLastModifier(userId);
|
}catch (VciBaseException e){
|
e.printStackTrace();
|
}
|
return (T)baseModel;
|
}
|
|
/**
|
* 修改时填充默认值
|
* @param object 继承了BaseModel的实体对象
|
* @param <T> 返回值的类型
|
* @return
|
* @throws VciBaseException
|
*/
|
public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException {
|
BaseModel baseModel = object;
|
try {
|
baseModel.setLastModifyTime(new Date());
|
baseModel.setTs(new Date());
|
//用户id
|
String userId = AuthUtil.getUserId().toString();
|
baseModel.setLastModifier(userId);
|
}catch (VciBaseException e){
|
e.printStackTrace();
|
}
|
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",""));
|
String createTime=dataMap.getOrDefault("CREATETIME","");
|
baseModel.setCreateTime(chageStringToDate(createTime));
|
baseModel.setNameOid(dataMap.getOrDefault("NAMEOID",""));
|
|
String lastModifyTime=dataMap.getOrDefault("LASTMODIFYTIME","");
|
baseModel.setLastModifyTime(chageStringToDate(lastModifyTime));
|
String ts=dataMap.getOrDefault("TS","");
|
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",""));
|
baseModel.setRevisionSeq(chageStringToInt(dataMap.getOrDefault("REVISIONSEQ","")));
|
baseModel.setOwner(dataMap.getOrDefault("OWNER",""));
|
baseModel.setVersionSeq(chageStringToInt(dataMap.getOrDefault("VERSIONSEQ","")));
|
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;
|
}
|
}
|