Merge pull request 'feature/dxf' (#6) from feature/dxf into develop

Reviewed-on: #6
pull/7/head^2
dxfeng 3 years ago
commit 8289ae1c56

@ -16,7 +16,7 @@
<update id="updateMap"> <update id="updateMap">
update jcl_org_map update jcl_org_map
<set> <set>
fdateend=#{currentDate}, fdateend=#{yesterday},
</set> </set>
where ftype=#{ftype} and fobjid=#{fobjid} and fdateend &gt; #{currentDate} where ftype=#{ftype} and fobjid=#{fobjid} and fdateend &gt; #{currentDate}
</update> </update>

@ -77,7 +77,7 @@
<select id="getTreeData" resultMap="TreeResultMap"> <select id="getTreeData" resultMap="TreeResultMap">
select id, scheme_name,forbidden_tag select id, scheme_name,forbidden_tag
from jcl_org_scheme from jcl_org_scheme
where delete_type = '0' and forbidden_tag = 0 where delete_type = '0' and forbidden_tag = 0 order by scheme_no
</select> </select>
<select id="getSchemesByIds" resultMap="BaseResultMap"> <select id="getSchemesByIds" resultMap="BaseResultMap">
select select

@ -12,7 +12,9 @@ public interface StaffTriggerMapper {
//Integer countDepartmentUsers(@Param("ecDepartmentId") String ecDepartmentId); //Integer countDepartmentUsers(@Param("ecDepartmentId") String ecDepartmentId);
Integer countJobUsers(@Param("jobTitle") String jobTitle); //Integer countJobUsers(@Param("jobTitle") String jobTitle);
Integer countOnJobByJObId(@Param("jobId") String jobId);
//Integer countAllUsers(); //Integer countAllUsers();

@ -95,4 +95,13 @@
AND FDATEBEGIN &lt;= #{currentDate} AND FDATEBEGIN &lt;= #{currentDate}
AND FDATEEND &gt;= #{currentDate} AND FDATEEND &gt;= #{currentDate}
</select> </select>
<select id="countOnJobByJObId" resultType="java.lang.Integer">
select count(1)
from HrmResource a
inner join cus_fielddata b on
a.id = b.id
and b.scopeid = -1
and b.field100002 = #{jobId}
where a.status &lt; 3
</select>
</mapper> </mapper>

@ -115,6 +115,8 @@ public class StaffServiceImpl extends Service implements StaffService {
HasRightUtil.hasRight(user, RIGHT_NAME, false); HasRightUtil.hasRight(user, RIGHT_NAME, false);
StaffPO staffByID = getStaffMapper().getStaffByID(param.getId()); StaffPO staffByID = getStaffMapper().getStaffByID(param.getId());
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
staffPO.setPermanentNum(staffByID.getPermanentNum());
staffPO.setFreezeNum(staffByID.getFreezeNum());
checkRequired(staffPO); checkRequired(staffPO);
// 赋值 // 赋值
CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany())); CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany()));

@ -30,6 +30,10 @@ public class HrmResourceTriggerRunnable implements Runnable {
return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class); return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class);
} }
private JclOrgMapper getJclOrgMapper() {
return MapperProxyFactory.getProxy(JclOrgMapper.class);
}
public HrmResourceTriggerRunnable(Long id) { public HrmResourceTriggerRunnable(Long id) {
this.userId = id; this.userId = id;
} }
@ -75,15 +79,25 @@ public class HrmResourceTriggerRunnable implements Runnable {
cal.setTime(jclMap.getFDateBegin()); cal.setTime(jclMap.getFDateBegin());
Calendar calendar = DateUtil.addDay(cal, -1); Calendar calendar = DateUtil.addDay(cal, -1);
Date time = new Date(calendar.getTime().getTime()); Date time = new Date(calendar.getTime().getTime());
// 更新前的数据
JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(currentDate, "4", hrmResource.getId().toString());
getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin());
getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time);
if (0 == delete) { if (0 == delete) {
MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap);
getHrmResourceTriggerMapper().updateLeaders(currentDate,hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt()); // 更新当前架构图负责人的卡片信息
getHrmResourceTriggerMapper().updateLeaders(currentDate, hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt());
// 更新组织架构图在岗数
if (null == jclOrgMapByObjID) {
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
} else if (!jclMap.getFObjParentId().equals(jclOrgMapByObjID.getFObjParentId())) {
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
new StaffTriggerRunnable(jclMap.getFObjParentId()).run();
}
} else if (null != jclOrgMapByObjID) {
new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run();
} }
} }
} }
} }

@ -15,7 +15,6 @@ import com.engine.organization.mapper.staff.StaffPlanMapper;
import com.engine.organization.mapper.trigger.StaffTriggerMapper; import com.engine.organization.mapper.trigger.StaffTriggerMapper;
import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.OrganizationDateUtil;
import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.relation.EcHrmRelationUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import weaver.common.DateUtil; import weaver.common.DateUtil;
@ -28,6 +27,7 @@ import java.sql.Date;
*/ */
public class StaffTriggerRunnable implements Runnable { public class StaffTriggerRunnable implements Runnable {
StaffPO staffPO; StaffPO staffPO;
StaffPlanPO staffPlanByID;
private StaffPlanMapper getStaffPlanMapper() { private StaffPlanMapper getStaffPlanMapper() {
return MapperProxyFactory.getProxy(StaffPlanMapper.class); return MapperProxyFactory.getProxy(StaffPlanMapper.class);
@ -58,6 +58,20 @@ public class StaffTriggerRunnable implements Runnable {
public StaffTriggerRunnable(StaffPO staffPO) { public StaffTriggerRunnable(StaffPO staffPO) {
this.staffPO = staffPO; this.staffPO = staffPO;
this.staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
yesterday = DateUtil.addDate(currentDate, -1);
}
public StaffTriggerRunnable(Integer jclJobId) {
if (null != jclJobId) {
JobPO jobById = getJobMapper().getJobById((long) jclJobId);
if (null != jobById) {
this.staffPO = StaffPO.builder().compId(jobById.getParentComp()).deptId(jobById.getParentDept()).jobId(jobById.getId()).build();
this.staffPlanByID = StaffPlanPO.builder().controlDimension("3").build();
}
}
currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date());
yesterday = DateUtil.addDate(currentDate, -1); yesterday = DateUtil.addDate(currentDate, -1);
} }
@ -65,7 +79,6 @@ public class StaffTriggerRunnable implements Runnable {
@Override @Override
public void run() { public void run() {
if (null != staffPO) { if (null != staffPO) {
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
if (null != staffPlanByID && StringUtils.isNotBlank(staffPlanByID.getControlDimension())) { if (null != staffPlanByID && StringUtils.isNotBlank(staffPlanByID.getControlDimension())) {
String fType = staffPlanByID.getControlDimension(); String fType = staffPlanByID.getControlDimension();
switch (fType) { switch (fType) {
@ -150,8 +163,7 @@ public class StaffTriggerRunnable implements Runnable {
break; break;
case "3": case "3":
planSum = getStaffTriggerMapper().countJobStaffNum(currentDate, objId); planSum = getStaffTriggerMapper().countJobStaffNum(currentDate, objId);
String ecJobId = EcHrmRelationUtil.getEcJobId(Long.parseLong(objId)); onJobSum = getStaffTriggerMapper().countOnJobByJObId(objId);
onJobSum = getStaffTriggerMapper().countJobUsers(ecJobId);
default: default:
break; break;
} }

@ -94,7 +94,7 @@ public class StaffChangeAction implements Action {
switch (changeType) { switch (changeType) {
case "3":// 冻结,比如招聘中,面试中,入职办理中等 case "3":// 冻结,比如招聘中,面试中,入职办理中等
if (staffPO.getFreezeNum() + changeNum > staffNum) { if (staffPO.getFreezeNum() + changeNum > staffNum) {
return "冻结数不能于编制数"; return "冻结数不能于编制数";
} }
// 设置冻结数 // 设置冻结数
staffPO.setFreezeNum(staffPO.getFreezeNum() + changeNum); staffPO.setFreezeNum(staffPO.getFreezeNum() + changeNum);

Loading…
Cancel
Save