分部版本控制写入逻辑
This commit is contained in:
parent
7ec2f0e56e
commit
73dbaf75ac
|
|
@ -0,0 +1,22 @@
|
|||
package com.engine.organization.entity.version;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class HrmSubCompanyVersion {
|
||||
|
||||
Integer id;
|
||||
Integer subComId;
|
||||
String subCompanyDesc;
|
||||
String subCompanyCode;
|
||||
String subCompanyName;
|
||||
Integer supsSubComId;
|
||||
Integer showOrder;
|
||||
Integer canceled;
|
||||
String description;
|
||||
String operator;
|
||||
String version;
|
||||
Date operateTime;
|
||||
}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
package com.engine.organization.mapper.version;
|
||||
|
||||
import com.engine.organization.entity.version.HrmSubCompanyVersion;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @Description:
|
||||
|
|
@ -7,4 +10,14 @@ package com.engine.organization.mapper.version;
|
|||
* @Version V1.0
|
||||
**/
|
||||
public interface CompanyVersionMapper {
|
||||
|
||||
/**
|
||||
* 取分部版本最大记录
|
||||
*/
|
||||
HrmSubCompanyVersion getMaxVersion(@Param("sid") String sid);
|
||||
|
||||
/**
|
||||
* 新增分部版本
|
||||
*/
|
||||
int insertHrmSubComVersion(HrmSubCompanyVersion hrmSubCompanyVersion);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||
<mapper namespace="com.engine.organization.mapper.version.CompanyVersionMapper">
|
||||
<resultMap id="BaseResultMap" type="com.engine.organization.entity.version.HrmSubCompanyVersion">
|
||||
<result column="id" property="id"/>
|
||||
<result column="subcomid" property="subComId"/>
|
||||
<result column="subcompanydesc" property="subCompanyDesc"/>
|
||||
<result column="subcompanycode" property="subCompanyCode"/>
|
||||
<result column="subcompanyname" property="subCompanyName"/>
|
||||
<result column="supssubcomid" property="supsSubComId"/>
|
||||
<result column="showorder" property="showOrder"/>
|
||||
<result column="canceled" property="canceled"/>
|
||||
<result column="description" property="description"/>
|
||||
<result column="operator" property="operator"/>
|
||||
<result column="version" property="version"/>
|
||||
<result column="operate_time" property="operateTime"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
<sql id="baseColumns">
|
||||
t.id ,t.subcomid ,t.subcompanydesc ,t.subcompanycode ,t.subcompanyname ,t.supsubcomid ,
|
||||
t.showorder ,t.canceled ,t.description ,t.operator ,t.version ,t.operate_time
|
||||
</sql>
|
||||
|
||||
<select id="getMaxVersion" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="baseColumns"/>
|
||||
from hrmsubcompany_version t where t.sid=#{sid} order by t.version desc limit 1
|
||||
</select>
|
||||
|
||||
<insert id="insertHrmSubComVersion">
|
||||
insert into hrmsubcompany_version
|
||||
(subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid ,
|
||||
showorder ,canceled ,description ,operator ,version ,operate_time)
|
||||
values (#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supsSubComId},
|
||||
#{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime})
|
||||
</insert>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.organization.service;
|
||||
|
||||
import com.engine.organization.enums.ModuleTypeEnum;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -17,5 +18,5 @@ public interface VersionManageService {
|
|||
* @param moduleTypeEnum
|
||||
* @param params
|
||||
*/
|
||||
void save(ModuleTypeEnum moduleTypeEnum, Map<String, Object> params);
|
||||
void save(ModuleTypeEnum moduleTypeEnum, Map<String, Object> params, User user);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,20 @@
|
|||
package com.engine.organization.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.organization.entity.map.JclOrgMap;
|
||||
import com.engine.organization.entity.version.HrmSubCompanyVersion;
|
||||
import com.engine.organization.enums.ModuleTypeEnum;
|
||||
import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
|
||||
import com.engine.organization.mapper.trigger.CompTriggerMapper;
|
||||
import com.engine.organization.mapper.version.CompanyVersionMapper;
|
||||
import com.engine.organization.service.VersionManageService;
|
||||
import com.engine.organization.util.OrganizationDateUtil;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
import weaver.common.DateUtil;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.Calendar;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
|
@ -20,14 +29,97 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe
|
|||
return MapperProxyFactory.getProxy(CompanyVersionMapper.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(ModuleTypeEnum moduleTypeEnum, Map<String, Object> params) {
|
||||
|
||||
//1.参数处理
|
||||
|
||||
//2.枚举处理不同mapper
|
||||
|
||||
//3.保存逻辑
|
||||
//版本表 操作者,操作时间,版本V1.0 + 0.1 (默认字段)
|
||||
private JclOrgMapper getJclOrgMapMapper(){
|
||||
return MapperProxyFactory.getProxy(JclOrgMapper.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(ModuleTypeEnum moduleTypeEnum, Map<String, Object> params, User user) {
|
||||
|
||||
switch (moduleTypeEnum.getValue()){
|
||||
case 1:
|
||||
saveSubComToMap(params);
|
||||
saveSubComToVersion(params,user);
|
||||
break;
|
||||
case 2:
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 分部保存至map表
|
||||
*/
|
||||
void saveSubComToMap(Map<String, Object> params) {
|
||||
String id = (String) params.get("id");
|
||||
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
|
||||
|
||||
JclOrgMap jclOrgMap = new JclOrgMap();
|
||||
jclOrgMap.setId(Integer.parseInt((String) params.get("id")));
|
||||
jclOrgMap.setFType(1);
|
||||
jclOrgMap.setFObjId(Integer.parseInt((String) params.get("id")));
|
||||
jclOrgMap.setFClass(0);
|
||||
jclOrgMap.setFClassName("行政维度");
|
||||
jclOrgMap.setFName((String) params.get("departmentName"));
|
||||
jclOrgMap.setFParentId(Integer.parseInt((String) params.get("supSubComId")));
|
||||
jclOrgMap.setFIsVitual(0);
|
||||
jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
|
||||
jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime()));
|
||||
|
||||
JclOrgMap jclOrgMapByFParentId = getJclOrgMapMapper().getJclOrgMapByFParentId(jclOrgMap.getFDateBegin(), id);
|
||||
jclOrgMap.setFPlan(jclOrgMapByFParentId.getFPlan());
|
||||
jclOrgMap.setFOnJob(jclOrgMapByFParentId.getFOnJob());
|
||||
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(jclOrgMap.getFDateBegin());
|
||||
Calendar calendar = DateUtil.addDay(cal, -1);
|
||||
Date time = new Date(calendar.getTime().getTime());
|
||||
|
||||
MapperProxyFactory.getProxy(CompTriggerMapper.class).deleteMap(jclOrgMap.getFType(), jclOrgMap.getFObjId(), jclOrgMap.getFDateBegin());
|
||||
MapperProxyFactory.getProxy(CompTriggerMapper.class).updateMap(jclOrgMap.getFType(), jclOrgMap.getFObjId(), jclOrgMap.getFDateBegin(), time);
|
||||
|
||||
getJclOrgMapMapper().insertMap(jclOrgMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分部保存至版本表
|
||||
*/
|
||||
void saveSubComToVersion(Map<String, Object> params,User user) {
|
||||
String id = (String) params.get("id");
|
||||
String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
|
||||
|
||||
HrmSubCompanyVersion hrmSubCompanyVersion = new HrmSubCompanyVersion();
|
||||
hrmSubCompanyVersion.setSubComId(Integer.parseInt(id));
|
||||
hrmSubCompanyVersion.setSubCompanyDesc((String) params.get("subCompanyDesc"));
|
||||
hrmSubCompanyVersion.setSubCompanyCode((String) params.get("subCompanyCode"));
|
||||
hrmSubCompanyVersion.setSubCompanyName((String) params.get("subCompanyName"));
|
||||
hrmSubCompanyVersion.setSupsSubComId(Integer.parseInt((String) params.get("supSubComId")));
|
||||
hrmSubCompanyVersion.setShowOrder(Integer.parseInt((String) params.get("showOrder")));
|
||||
hrmSubCompanyVersion.setCanceled(Integer.parseInt((String) params.get("canceled")));
|
||||
hrmSubCompanyVersion.setDescription((String) params.get("description"));
|
||||
hrmSubCompanyVersion.setOperator(user.getUsername());
|
||||
hrmSubCompanyVersion.setVersion(genVersionId(id));
|
||||
hrmSubCompanyVersion.setOperateTime(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()));
|
||||
|
||||
getCompanyVersionMapper().insertHrmSubComVersion(hrmSubCompanyVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
* 版本号生成
|
||||
*/
|
||||
private String genVersionId(String sid) {
|
||||
// 版本V1.0 + 0.1 (默认字段)
|
||||
double id = 1.0;
|
||||
HrmSubCompanyVersion hrmSubCompanyVersion = getCompanyVersionMapper().getMaxVersion(sid);
|
||||
if (null != hrmSubCompanyVersion) {
|
||||
id = id + Double.parseDouble(hrmSubCompanyVersion.getVersion());
|
||||
}
|
||||
return String.valueOf(id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,6 @@ public class VersionManageWrapper extends OrganizationWrapper {
|
|||
}
|
||||
|
||||
public void save(ModuleTypeEnum moduleTypeEnum, Map<String, Object> params) {
|
||||
getVersionManageService(user).save(moduleTypeEnum,params);
|
||||
getVersionManageService(user).save(moduleTypeEnum,params,user);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue