兼容PostgreSQL

pull/159/head
dxfeng 2 years ago
parent db990ce227
commit e138489c34

@ -127,7 +127,7 @@
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,NOW(),'2099-12-31'
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
@ -205,11 +205,11 @@
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,NOW(),'2099-12-31'
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<=NOW() and time_end > NOW() and delete_type=0)
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
@ -291,7 +291,7 @@
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,NOW(),'2099-12-31'
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
@ -349,7 +349,7 @@
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,NOW(),'2099-12-31' from hrmsubcompany as a
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>
<insert id="insertSubComToMap" databaseId="oracle">
@ -393,7 +393,7 @@
fplan, fonjob, fisvitual, fdatebegin, fdateend)
SELECT 0, 0, 0, uuid, 0, '行政维度', '00', companyname,
0, NULL, NULL, 0, NULL, -1, 0,
0, 0, 0, NOW(), '2099-12-31' FROM hrmcompany
0, 0, 0, TO_DATE(to_char(NOW(),'yyyy-MM-dd'),'yyyy-MM-dd'), '2099-12-31' FROM hrmcompany
</insert>
<delete id="deleteJobNull">
delete from jcl_org_map where ftype =3 and fdateend &gt; #{currentDate} and id not in (select a.FPARENTID from (select FPARENTID from jcl_org_map where ftype=4 and fdateend &gt; #{currentDate}) a)

@ -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);
}

@ -1,50 +0,0 @@
<?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.trigger.CompTriggerMapper">
<update id="updateMap">
update jcl_org_map
<set>
fdateend=#{fdate},
</set>
where ftype=#{ftype} and fobjid=#{fobjid} and fdateend &gt; #{fdatebegin}
</update>
<delete id="deleteMap">
delete
from jcl_org_map
where ftype = #{ftype}
and fobjid = #{fobjid}
and fdatebegin = #{fdatebegin}
</delete>
<select id="getEcCompanyIdByUuid" resultType="java.lang.Integer">
select id
from HrmSubCompany
where uuid = #{uuid}
</select>
<select id="getHrmResourceById" resultType="weaver.hrm.passwordprotection.domain.HrmResource">
select messagerurl, lastname, jobtitle
from hrmresource
where id = #{id}
</select>
<select id="getJobTitleMarkById" resultType="java.lang.String">
select jobtitlemark
from hrmjobtitles
where id = #{id}
</select>
<select id="sumStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{fdatebegin}
and time_end &gt;= #{fdatebegin})
and comp_id = #{compId}
</select>
<select id="getResourceByEcId" resultMap="com.engine.organization.mapper.resource.ResourceMapper.HrmResourceMap">
select
<include refid="com.engine.organization.mapper.resource.ResourceMapper.baseColumns"/>
from jcl_org_hrmresource t
inner join hrmresource a on t.uuid = a.uuid
where t.delete_type = 0 and a.id = #{ecId}
</select>
</mapper>

@ -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);
}

@ -1,24 +0,0 @@
<?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.trigger.DepartmentTriggerMapper">
<select id="getEcDepartmentIdByUuid" resultType="java.lang.Integer">
select id
from HrmDepartment
where uuid = #{uuid}
</select>
<select id="sumStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{fdatebegin}
and time_end &gt;= #{fdatebegin})
and dept_id = #{departmentId}
</select>
<select id="countHrmResource" resultType="java.lang.Integer">
select count(1)
from hrmresource
where status &lt;= 3
and departmentid = #{departmentid}
</select>
</mapper>

@ -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);
}

@ -1,35 +0,0 @@
<?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.trigger.GroupTriggerMapper">
<update id="updateMap">
update jcl_org_map
set fdateend=#{fdate}
where fobjid = #{fobjid}
and fdateend &gt; #{fdatebegin}
</update>
<delete id="deleteMap">
delete
from jcl_org_map
where fobjid = 0
and fdatebegin = #{fdatebegin}
</delete>
<select id="getInfoValue" resultType="java.lang.Integer">
select fvalue
from jcl_info
where id = #{id}
</select>
<select id="sumStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{fdatebegin}
and time_end &gt;= #{fdatebegin})
</select>
<select id="countHrmResource" resultType="java.lang.Integer">
select count(1)
from hrmresource
where status &lt;= 3
</select>
</mapper>

@ -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<Long> 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);
}

@ -1,31 +0,0 @@
<?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.trigger.HrmResourceTriggerMapper">
<update id="updateLeaders">
update jcl_org_map
<set>
fleaderimg = #{fLeaderImg},
fleadername = #{fLeaderName},
fleaderjobid = #{fLeaderJobId},
fleaderjob = #{fLeaderJob},
fleaderlv = #{fLeaderLv},
fleaderst = #{fLeaderSt},
</set>
where fleader = #{fLeader} AND fdatebegin &lt;= #{currentDate}
AND fdateend &gt;= #{currentDate}
</update>
<select id="getHrmResource" resultType="weaver.hrm.passwordprotection.domain.HrmResource">
select id, workcode, lastname, status, messagerurl, jobtitle
from hrmresource
where id = #{id}
</select>
<select id="getFidsByFleader" resultType="java.lang.Long">
SELECT fid
FROM jcl_org_map
WHERE FLEADER = #{fLeader}
AND FDATEBEGIN &lt;= #{currentDate}
AND FDATEEND &gt;= #{currentDate}
</select>
</mapper>

@ -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);
}

@ -1,14 +0,0 @@
<?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.trigger.JobTriggerMapper">
<select id="sumStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{fdatebegin}
and time_end &gt;= #{fdatebegin})
and job_id = #{jobId}
</select>
</mapper>

@ -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);
}

@ -1,103 +0,0 @@
<?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.trigger.StaffTriggerMapper">
<update id="updateOrgStaffs">
update jcl_org_map
<set>
FPLAN = #{fPlan},
FONJOB = #{fOnJob},
</set>
where FTYPE =#{fType} and FOBJID=#{fObjId}
AND FDATEBEGIN &lt;= #{currentDate}
AND FDATEEND &gt;= #{currentDate}
</update>
<select id="countCompanyUsers" resultType="java.lang.Integer">
select count(1)
from hrmresource
where status &lt;= 3
and subcompanyid1 = #{ecCompanyId}
</select>
<select id="countDepartmentUsers" resultType="java.lang.Integer">
select count(1)
from hrmresource
where status &lt;= 3
and departmentid = #{ecDepartmentId}
</select>
<select id="countJobUsers" resultType="java.lang.Integer">
select count(1)
from hrmresource
where status &lt;= 3
and jobtitle = #{jobTitle}
</select>
<select id="countAllUsers" resultType="java.lang.Integer">
select count(1)
from hrmresource
where status &lt;= 3
</select>
<select id="countCompanyStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{currentDate}
and time_end &gt;= #{currentDate}
and delete_type = 0
and control_dimension = 1)
and comp_id = #{companyId}
and delete_type = 0
</select>
<select id="countDepartmentStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{currentDate}
and time_end &gt;= #{currentDate}
and delete_type = 0
and control_dimension = 2)
and dept_id = #{departmentId}
and delete_type = 0
</select>
<select id="countJobStaffNum" resultType="java.lang.Integer">
select sum(staff_num)
from JCL_ORG_STAFF
where plan_id in (select id
from JCL_ORG_STAFFPLAN
where time_start &lt;= #{currentDate}
and time_end &gt;= #{currentDate}
and delete_type = 0
and control_dimension = 3)
and job_id = #{jobId}
and delete_type = 0
</select>
<select id="getIdByObjIdAndType" resultType="java.lang.String">
select id
from jcl_org_map
where fobjid = #{fObjId}
and ftype = #{fType}
AND FDATEBEGIN &lt;= #{currentDate}
AND FDATEEND &gt;= #{currentDate}
</select>
<select id="sumPlanByParentId" resultType="java.lang.Integer">
select sum(fplan)
from jcl_org_map
where fparentid = #{parentId}
AND FDATEBEGIN &lt;= #{currentDate}
AND FDATEEND &gt;= #{currentDate}
</select>
<select id="sumOnJobByParentId" resultType="java.lang.Integer">
select sum(fonjob)
from jcl_org_map
where fparentid = #{parentId}
AND FDATEBEGIN &lt;= #{currentDate}
AND FDATEEND &gt;= #{currentDate}
</select>
<select id="countOnJobByJObId" resultType="java.lang.Integer">
select count(1)
from jcl_org_hrmresource a
where a.job_title = #{jobId} and a.status &lt; 4
</select>
</mapper>

@ -99,11 +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 if (DBType.isPG()) {
whereSql += " and ((TO_DATE(to_char(fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and TO_DATE(to_char(fdateend,'yyyy-MM-dd'),'yyyy-MM-dd') >= '" + date + "') or (TO_DATE(to_char(fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and fdateend is null )) ";
}
else {
}else {
whereSql += " and ((fdatebegin <= '" + date + "' and fdateend >= '" + date + "') or (fdatebegin <= '" + date + "' and fdateend is null )) ";
}
whereSql += " and fclass = " + fclass + " ";
@ -230,9 +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 if(DBType.isPG()){
whereSql += " and ((TO_DATE(to_char(t.fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and TO_DATE(to_char(t.fdateend,'yyyy-MM-dd'),'yyyy-MM-dd') >= '" + date + "') or (TO_DATE(to_char(t.fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' 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 + " ";

@ -109,9 +109,5 @@ public enum DBType implements DBOperateAdapter {
return DBType.get(new RecordSet().getDBType()).equals(DBType.ORACLE);
}
public static boolean isPG() {
return DBType.get(new RecordSet().getDBType()).equals(DBType.POSTGRESQL);
}
}

Loading…
Cancel
Save