diff --git a/src/com/engine/organization/entity/staff/po/StaffPO.java b/src/com/engine/organization/entity/staff/po/StaffPO.java index bedc2ea7..82db7e65 100644 --- a/src/com/engine/organization/entity/staff/po/StaffPO.java +++ b/src/com/engine/organization/entity/staff/po/StaffPO.java @@ -74,4 +74,10 @@ public class StaffPO { private Date createTime; private Date updateTime; + public Integer getStaffNum() { + if (null == staffNum){ + staffNum = 0; + } + return staffNum; + } } diff --git a/src/com/engine/organization/mapper/staff/StaffMapper.xml b/src/com/engine/organization/mapper/staff/StaffMapper.xml index e19484cf..c6d242a7 100644 --- a/src/com/engine/organization/mapper/staff/StaffMapper.xml +++ b/src/com/engine/organization/mapper/staff/StaffMapper.xml @@ -342,13 +342,13 @@ from jcl_org_staff t WHERE t.delete_type = 0 - t.comp_id = #{compId} + and t.comp_id = #{compId} - - t.dept_id = #{deptId} + + and t.dept_id = #{deptId} - t.job_id = #{jobId} + and t.job_id = #{jobId} \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml index 59c84dd5..a74be740 100644 --- a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml +++ b/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml @@ -98,6 +98,6 @@ \ No newline at end of file diff --git a/src/com/engine/organization/thread/DepartmentTriggerRunnable.java b/src/com/engine/organization/thread/DepartmentTriggerRunnable.java index 004ec4ee..9e25a326 100644 --- a/src/com/engine/organization/thread/DepartmentTriggerRunnable.java +++ b/src/com/engine/organization/thread/DepartmentTriggerRunnable.java @@ -144,7 +144,7 @@ public class DepartmentTriggerRunnable implements Runnable { if (1 != newDepartment.getDeleteType() && 1 != newDepartment.getForbiddenTag()) { MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); - if(null != jclOrgMapByObjID.getFParentId()) { + if(null != jclOrgMapByObjID) { updateParentPlanAndJob(currentDate, jclOrgMapByObjID.getFParentId().toString()); } if(null != moveTarget){ diff --git a/src/com/engine/organization/thread/JobTriggerRunnable.java b/src/com/engine/organization/thread/JobTriggerRunnable.java index fdeec454..5d574df7 100644 --- a/src/com/engine/organization/thread/JobTriggerRunnable.java +++ b/src/com/engine/organization/thread/JobTriggerRunnable.java @@ -14,6 +14,7 @@ import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; import weaver.common.DateUtil; +import weaver.general.Util; import java.sql.Date; import java.util.Calendar; @@ -88,13 +89,13 @@ public class JobTriggerRunnable implements Runnable { JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(currentDate, ModuleTypeEnum.jobfielddefined.getValue().toString(), jclMap.getFObjId().toString()); - StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(null,null,jclOrgMapByObjID.getFObjId().toString()); // 该岗位有下级岗位时,查询 JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, jclMap.getId().toString()); if (null != jclOrgMapByObjID) { if (null != jclOrgMap) { - jclMap.setFPlan(staffPO.getStaffNum() + jclOrgMap.getFPlan()); + StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(null,null, jclOrgMapByObjID.getFObjId().toString()); + jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan()); jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob() + jclOrgMap.getFOnJob()); } else { jclMap.setFPlan(jclOrgMapByObjID.getFPlan()); @@ -115,11 +116,15 @@ public class JobTriggerRunnable implements Runnable { if (1 != newJob.getDeleteType() && 1 != newJob.getForbiddenTag()) { MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); - if (null != jclOrgMapByObjID.getFParentId()) { - updateParentPlanAndJob(currentDate, jclOrgMapByObjID.getFParentId().toString()); + if (null != jclOrgMapByObjID) { + if(null != jclOrgMapByObjID.getFParentId()){ + updateParentPlanAndJob(currentDate, jclOrgMapByObjID.getFParentId().toString()); + } } if (null != oldJob) { - updateParentPlanAndJob(currentDate, oldJob.getId().toString()); + if (null != oldJob.getId()){ + updateParentPlanAndJob(currentDate, oldJob.getId().toString()); + } } } } @@ -135,7 +140,7 @@ public class JobTriggerRunnable implements Runnable { JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(null,null,parentJclOrgMap.getFObjId().toString()); if (null != jclOrgMapSum) { - parentJclOrgMap.setFPlan(staffPO.getStaffNum() + jclOrgMapSum.getFPlan()); + parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); } else { parentJclOrgMap.setFPlan(0);