diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index 03a49d57..75381ec0 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -193,6 +193,17 @@ and t.subCompanyName like '%'||#{CompanyPO.subCompanyName}||'%' + + + and t.subCompanyCode like '%'||#{CompanyPO.subCompanyCode}||'%' + + + and t.subCompanyDesc like '%'||#{CompanyPO.subCompanyDesc}||'%' + + + and t.subCompanyName like '%'||#{CompanyPO.subCompanyName}||'%' + + @@ -215,6 +226,9 @@ and isnull(canceled,0)=0 + + and COALESCE(canceled,'0')='0' + and ifnull(canceled,0)= @@ -228,5 +242,9 @@ and isnull(canceled,0)= #{CompanyPO.canceled} + + and COALESCE(canceled,'0')= + #{CompanyPO.canceled} + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 6f0dcffb..fda56e2a 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -175,6 +175,14 @@ and t.departmentName like '%'||#{departmentPO.departmentName}||'%' + + + and t.departmentCode like '%'||#{departmentPO.departmentCode}||'%' + + + and t.departmentName like '%'||#{departmentPO.departmentName}||'%' + + @@ -200,5 +208,10 @@ and isnull(canceled,0)= #{departmentPO.canceled} + + + and COALESCE(canceled,'0')= #{departmentPO.canceled} + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/employee/EmployeeMapper.xml b/src/com/engine/organization/mapper/employee/EmployeeMapper.xml index 78cdb7e9..0e55f4d5 100644 --- a/src/com/engine/organization/mapper/employee/EmployeeMapper.xml +++ b/src/com/engine/organization/mapper/employee/EmployeeMapper.xml @@ -12,6 +12,11 @@ AND t.lastname like '%'||#{lastName}||'%' + + + AND t.lastname like '%'||#{lastName}||'%' + + AND t.lastname like '%'+#{lastName}+'%' diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index 96336796..6d46360c 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -120,6 +120,22 @@ left join jcl_org_grade f on d.${grade}=f.id where a.status < 4 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg, + fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fisvitual,fdatebegin,fdateend) + select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, + c.id,c.jobtitlename,e.level_name,f.grade_name, COALESCE( b.id, 0 ) +200000000,b.id, + 0,TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd'),'2099-12-31' + from hrmresource a + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle and a.subcompanyid1=b.ec_company and a.departmentid=b.ec_department + left join HrmJobTitles c on b.ec_jobTitle = c.id + left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 + left join jcl_org_level e on NULLIF(d.${level},'')=e.id + left join jcl_org_grade f on NULLIF(d.${grade},'')=f.id + where a.status < 4 + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg, @@ -181,6 +197,28 @@ left join HrmJobTitles g on a.ec_jobTitle = g.id where ifnull(a.delete_type,0) <> 1 and ifnull(a.forbidden_tag,0) <> 1 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname, + fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+200000000,3,a.id,g.uuid,0,'行政维度',a.job_no,g.jobtitlename, + ec_department+100000000, + ec_department, + COALESCE(e.fcnt,0),COALESCE(f.fcnt,0),0,TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd'),'2099-12-31' + from JCL_ORG_job as a + left join (select job_id,sum(COALESCE(staff_num,0)) fcnt from JCL_ORG_STAFF + where plan_id in (select id from JCL_ORG_STAFFPLAN + where time_start<=TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd') and time_end > TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd') and delete_type=0) + group by job_id) e on a.id=e.job_id + left join ( select c.id,count(1) fcnt from hrmresource a + left join Hrmjobtitles b on a.jobtitle=b.id and a.status<4 + left join jcl_org_job c on b.id=c.ec_jobtitle and a.subcompanyid1=c.ec_company and a.departmentid=c.ec_department + group by c.id) f + on f.id=a.id + left join HrmJobTitles g on a.ec_jobTitle = g.id + where COALESCE(a.delete_type,0) <> 1 and COALESCE(a.forbidden_tag,0) <> 1 + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname, @@ -244,6 +282,26 @@ left join jcl_org_grade g on e.${grade}=g.id where ifnull(a.canceled,0) <> 1 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,b.BMFZR,c.messagerurl, + c.lastname,c.jobtitle,d.jobtitlemark,f.level_name,g.grade_name, + (case COALESCE(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), + (case COALESCE(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), + 0,0,0,TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd'),'2099-12-31' + from + HrmDepartment as a + left join hrmdepartmentdefined as b on a.id=b.deptid + left join hrmresource as c on NULLIF(b.BMFZR,'')=c.ID + left join hrmjobtitles as d on c.JOBTITLE=d.id + left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 + left join jcl_org_level f on NULLIF(e.${level},'')=f.id + left join jcl_org_grade g on NULLIF(e.${grade},'')=g.id + where COALESCE(a.canceled,'0') <> '1' + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, @@ -284,6 +342,16 @@ 0,0,0,NOW(),'2099-12-31' from hrmsubcompany as a where IFNULL(a.canceled,0) <> 1 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id,1,a.id,a.uuid,0,'行政维度', '',a.subcompanyname,null,'', + '',NULL,'','','',COALESCE(a.supsubcomid,0),COALESCE(a.supsubcomid,0), + 0,0,0,TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd'),'2099-12-31' from hrmsubcompany as a + where COALESCE(a.canceled,'0') <> '1' + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, @@ -319,6 +387,14 @@ 0, NULL, NULL, 0, NULL, -1, 0, 0, 0, 0, NOW(), '2099-12-31' FROM hrmcompany + + INSERT INTO jcl_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname, + fleader, fleaderimg, fleadername, fleaderjobid, fleaderjob, fparentid,fobjparentid, + fplan, fonjob, fisvitual, fdatebegin, fdateend) + SELECT 0, 0, 0, uuid, 0, '行政维度', '00', companyname, + 0, NULL, NULL, 0, NULL, -1, 0, + 0, 0, 0, TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd'), '2099-12-31' FROM hrmcompany + delete from jcl_org_map where ftype =3 and fdateend > #{currentDate} and id not in (select a.FPARENTID from (select FPARENTID from jcl_org_map where ftype=4 and fdateend > #{currentDate}) a) diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 5af7f1ce..663ef720 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -561,6 +561,10 @@ and NVL(ec_department,0) = #{parentDepartment} + + and COALESCE(ec_department,0) = + #{parentDepartment} + @@ -604,6 +608,26 @@ and t.work_authority like '%'||#{jobPO.workAuthority}||'%' + + + and t.job_no like '%'||#{jobPO.jobNo}||'%' + + + and h.jobtitlename like '%'||#{jobPO.jobTitleName}||'%' + + + and t.workplace like '%'||#{jobPO.workplace}||'%' + + + and t.description like '%'||#{jobPO.description}||'%' + + + and t.work_duty like '%'||#{jobPO.workDuty}||'%' + + + and t.work_authority like '%'||#{jobPO.workAuthority}||'%' + + diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 4b683853..6269d647 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -389,6 +389,11 @@ AND t.lastname like '%'||#{resourcePO.lastName}||'%' + + + AND t.lastname like '%'||#{resourcePO.lastName}||'%' + + AND t.lastname like '%'+#{resourcePO.lastName}+'%' diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.xml b/src/com/engine/organization/mapper/resource/ResourceMapper.xml index 99b673da..93500789 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.xml @@ -150,6 +150,11 @@ AND t.last_name like '%'||#{param.lastName}||'%' + + + AND t.last_name like '%'||#{param.lastName}||'%' + + AND t.last_name like '%'+#{param.lastName}+'%' diff --git a/src/com/engine/organization/mapper/scheme/GradeMapper.xml b/src/com/engine/organization/mapper/scheme/GradeMapper.xml index b92e37c7..59fccd53 100644 --- a/src/com/engine/organization/mapper/scheme/GradeMapper.xml +++ b/src/com/engine/organization/mapper/scheme/GradeMapper.xml @@ -280,6 +280,9 @@ ','||level_id||',' like '%,'||#{levelId}+',%' + + ','||level_id||',' like '%,'||#{levelId}+',%' + ','+level_id+',' like '%,'+cast(#{levelId} as varchar(20))+',%' diff --git a/src/com/engine/organization/mapper/trigger/CompTriggerMapper.java b/src/com/engine/organization/mapper/trigger/CompTriggerMapper.java deleted file mode 100644 index 4ad23e77..00000000 --- a/src/com/engine/organization/mapper/trigger/CompTriggerMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; -import org.apache.ibatis.annotations.Param; -import weaver.hrm.passwordprotection.domain.HrmResource; - -import java.sql.Date; - - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface CompTriggerMapper { - Integer getEcCompanyIdByUuid(@Param("uuid") String uuid); - - HrmResource getHrmResourceById(@Param("id") Integer id); - - String getJobTitleMarkById(@Param("id") Integer id); - - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin, @Param("compId") Integer compId); - - int deleteMap(@Param("ftype") Integer ftype, @Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin); - - int updateMap(@Param("ftype") Integer ftype, @Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin, @Param("fdate") Date fdate); - - HrmResourcePO getResourceByEcId(@Param("ecId") Integer ecId); -} diff --git a/src/com/engine/organization/mapper/trigger/CompTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/CompTriggerMapper.xml deleted file mode 100644 index 7204e3cb..00000000 --- a/src/com/engine/organization/mapper/trigger/CompTriggerMapper.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - update jcl_org_map - - fdateend=#{fdate}, - - where ftype=#{ftype} and fobjid=#{fobjid} and fdateend > #{fdatebegin} - - - delete - from jcl_org_map - where ftype = #{ftype} - and fobjid = #{fobjid} - and fdatebegin = #{fdatebegin} - - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.java b/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.java deleted file mode 100644 index 482e1da6..00000000 --- a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface DepartmentTriggerMapper { - Integer getEcDepartmentIdByUuid(@Param("uuid") String uuid); - - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin, @Param("departmentId") Integer departmentId); - - - Integer countHrmResource(@Param("departmentid") Integer departmentid); -} diff --git a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.xml deleted file mode 100644 index 6e74a7b6..00000000 --- a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java deleted file mode 100644 index ef14a4ce..00000000 --- a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface GroupTriggerMapper { - - Integer getInfoValue(@Param("id") Integer id); - - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin); - - Integer countHrmResource(); - - int deleteMap(@Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin); - - int updateMap(@Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin, @Param("fdate") Date fdate); -} diff --git a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml deleted file mode 100644 index 41087495..00000000 --- a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - update jcl_org_map - set fdateend=#{fdate} - where fobjid = #{fobjid} - and fdateend > #{fdatebegin} - - - delete - from jcl_org_map - where fobjid = 0 - and fdatebegin = #{fdatebegin} - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java deleted file mode 100644 index 2fb269fe..00000000 --- a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.engine.organization.mapper.trigger; - -import org.apache.ibatis.annotations.Param; -import weaver.hrm.passwordprotection.domain.HrmResource; - -import java.sql.Date; -import java.util.List; - -/** - * @author:dxfeng - * @createTime: 2022/09/01 - * @version: 1.0 - */ -public interface HrmResourceTriggerMapper { - HrmResource getHrmResource(@Param("id") Long id); - - List getFidsByFleader(@Param("fLeader") String fLeader, @Param("currentDate") Date currentDate); - - int updateLeaders(@Param("currentDate") Date currentDate,@Param("fLeader") String fLeader, @Param("fLeaderImg") String fLeaderImg, @Param("fLeaderName") String fLeaderName, @Param("fLeaderJobId") Integer fLeaderJobId, @Param("fLeaderJob") String fLeaderJob, @Param("fLeaderLv") String fLeaderLv, @Param("fLeaderSt") String fLeaderSt); - -} diff --git a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml deleted file mode 100644 index cd09e5ac..00000000 --- a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - update jcl_org_map - - fleaderimg = #{fLeaderImg}, - fleadername = #{fLeaderName}, - fleaderjobid = #{fLeaderJobId}, - fleaderjob = #{fLeaderJob}, - fleaderlv = #{fLeaderLv}, - fleaderst = #{fLeaderSt}, - - where fleader = #{fLeader} AND fdatebegin <= #{currentDate} - AND fdateend >= #{currentDate} - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.java b/src/com/engine/organization/mapper/trigger/JobTriggerMapper.java deleted file mode 100644 index 54fcc02a..00000000 --- a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface JobTriggerMapper { - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin, @Param("jobId") Integer jobId); -} diff --git a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/JobTriggerMapper.xml deleted file mode 100644 index 7beb0f61..00000000 --- a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.java b/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.java deleted file mode 100644 index 3b27ad8d..00000000 --- a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.engine.organization.mapper.trigger; - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @author:dxfeng - * @createTime: 2022/09/21 - * @version: 1.0 - */ -public interface StaffTriggerMapper { - //Integer countCompanyUsers(@Param("ecCompanyId") String ecCompanyId); - - //Integer countDepartmentUsers(@Param("ecDepartmentId") String ecDepartmentId); - - //Integer countJobUsers(@Param("jobTitle") String jobTitle); - - Integer countOnJobByJObId(@Param("jobId") String jobId); - - //Integer countAllUsers(); - - Integer countCompanyStaffNum(@Param("currentDate") Date currentDate, @Param("companyId") String companyId); - - Integer countDepartmentStaffNum(@Param("currentDate") Date currentDate, @Param("departmentId") String departmentId); - - Integer countJobStaffNum(@Param("currentDate") Date currentDate, @Param("jobId") String jobId); - - Integer updateOrgStaffs(@Param("currentDate") Date currentDate, @Param("fType") String fType, @Param("fObjId") String fObjId, @Param("fPlan") Integer fPlan, @Param("fOnJob") Integer fOnJob); - - String getIdByObjIdAndType(@Param("currentDate") Date currentDate, @Param("fObjId") String fObjId, @Param("fType") String fType); - - Integer sumPlanByParentId(@Param("currentDate") Date currentDate, @Param("parentId") String parentId); - - Integer sumOnJobByParentId(@Param("currentDate") Date currentDate, @Param("parentId") String parentId); -} diff --git a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml deleted file mode 100644 index a74be740..00000000 --- a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - update jcl_org_map - - FPLAN = #{fPlan}, - FONJOB = #{fOnJob}, - - where FTYPE =#{fType} and FOBJID=#{fObjId} - AND FDATEBEGIN <= #{currentDate} - AND FDATEEND >= #{currentDate} - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 63590b1e..762dd1af 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -6,11 +6,9 @@ import com.engine.core.impl.Service; import com.engine.organization.entity.map.JclOrgMap; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.po.LevelPO; -import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; -import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.service.OrgChartService; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationDateUtil; @@ -101,7 +99,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { String whereSql = " where 1 = 1 "; if (DBType.isOracle()) { whereSql += " and ((fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and fdateend >= to_date('" + date + "','yyyy-MM-DD')) or (fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and fdateend is null )) "; - } else { + }else { whereSql += " and ((fdatebegin <= '" + date + "' and fdateend >= '" + date + "') or (fdatebegin <= '" + date + "' and fdateend is null )) "; } whereSql += " and fclass = " + fclass + " "; @@ -141,7 +139,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { // 获取根节点 RecordSet rs = new RecordSet(); - rs.executeQuery("select id, fname, ftype, fparentid, fnumber, fobjid, fisvitual from jcl_org_map " + whereSql + whereItemSql); + String sql = "select id, fname, ftype, fparentid, fnumber, fobjid, fisvitual from jcl_org_map " + whereSql + whereItemSql; + rs.executeQuery(sql); List> list = new ArrayList<>(); String id = null; if (rs.next()) { @@ -227,7 +226,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { String whereSql = " where 1 = 1 "; if (DBType.isOracle()) { whereSql += " and ((t.fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and t.fdateend >= to_date('" + date + "','yyyy-MM-DD')) or (t.fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and t.fdateend is null )) "; - } else { + }else { whereSql += " and ((t.fdatebegin <= '" + date + "' and t.fdateend >= '" + date + "') or (t.fdatebegin <= '" + date + "' and t.fdateend is null )) "; } whereSql += " and t.fclass = " + fclass + " "; @@ -393,7 +392,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { if (StringUtils.isNotBlank(bmfzr)) { String[] split = bmfzr.split(","); for (String s : split) { - jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getResInfo(level, grade,s); + jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getResInfo(level, grade, s); break; } } @@ -539,6 +538,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { private JclOrgMapper getJclOrgMapMapper() { return MapperProxyFactory.getProxy(JclOrgMapper.class); } + @Override public String synchronousData(Map request2Map, User user) { String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); @@ -549,13 +549,13 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { java.sql.Date time = new java.sql.Date(calendar.getTime().getTime()); // 自下向上刷新 getJclOrgMapMapper().deleteAllMap(date); - getJclOrgMapMapper().updateAllMap(date,time); + getJclOrgMapMapper().updateAllMap(date, time); //同步人员信息 - getJclOrgMapMapper().insertResToMap(level,grade); + getJclOrgMapMapper().insertResToMap(level, grade); //同步岗位信息 getJclOrgMapMapper().insertJobToMap(); //同步部门信息 - getJclOrgMapMapper().insertDeptToMap(level,grade); + getJclOrgMapMapper().insertDeptToMap(level, grade); //同步分部信息 getJclOrgMapMapper().insertSubComToMap(); //同步集团信息 @@ -563,17 +563,18 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { //清除部门合并、转移造成的脏数据 getJclOrgMapMapper().deleteJobNull(date); //刷新在岗数、编制数(从岗位向上刷,岗位不需处理) - List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType("3",date); - for (JclOrgMap jclOrgMap : jclOrgMaps){ + List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType("3", date); + for (JclOrgMap jclOrgMap : jclOrgMaps) { int id = jclOrgMap.getId(); - countJobAndPlans("3",id,currentDate); + countJobAndPlans("3", id, currentDate); } return "同步成功"; } + /** * 刷新在岗、编制数 */ - void countJobAndPlans(String type,int id,String currentDate) { + void countJobAndPlans(String type, int id, String currentDate) { java.sql.Date date = new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime()); RecordSet rs = new RecordSet(); //处理上级 @@ -605,15 +606,17 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { } } + private String getFieldName(String fieldabel) { RecordSet recordSet = new RecordSet(); String fieldname = null; - recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel+"'"); + recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel + "'"); if (recordSet.next()) { fieldname = recordSet.getString("fieldname"); } return fieldname; } + static class OrgSelectItem { private String id; private String fnumber; diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java index d929560d..35fe3346 100644 --- a/src/com/engine/organization/util/db/DBType.java +++ b/src/com/engine/organization/util/db/DBType.java @@ -67,6 +67,27 @@ public enum DBType implements DBOperateAdapter { public String ifNull(String some, String defaultValue) { return " NVL(" + some + ",'" + defaultValue + "')"; } + }, + POSTGRESQL("postgresql") { + @Override + public String like(String some) { + return " like '%" + some + "%' "; + } + + @Override + public String concat(String some) { + return " ',' ||" + some + "|| ',' "; + } + + @Override + public String currentDate() { + return "now()"; + } + + @Override + public String ifNull(String some, String defaultValue) { + return " COALESCE(" + some + ",'" + defaultValue + "')"; + } }; private String dbtype;