oracle环境存入版本bug修复1219

pull/105/head
Mlin 3 years ago
parent 806d18e511
commit 5bcd3e22fc

@ -102,8 +102,34 @@
left join HrmJobTitles c on b.ec_jobTitle = c.id
where a.status < 4
</insert>
<insert id="insertResToMap" databaseId="mysql">
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,null,null, ifnull( b.id, '' ) +200000000,b.id,
0,NOW(),'2099-12-31'
from hrmresource a
left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle
left join HrmJobTitles c on b.ec_jobTitle = c.id
where a.status &lt; 4
</insert>
<insert id="insertResToMap" databaseId="oracle">
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,null,null, nvl( b.id, '' ) +200000000,b.id,
0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd')
from hrmresource a
left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle
left join HrmJobTitles c on b.ec_jobTitle = c.id
where a.status &lt; 4
</insert>
<!--初始化岗位-->
<insert id="insertJobToMap">
<insert id="insertJobToMap" databaseId="sqlserver">
insert into jcl_org_map
(id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,
fparentid,fobjparentid,
@ -122,8 +148,47 @@
left join HrmJobTitles g on a.ec_jobTitle = g.id
where isnull(a.delete_type,0) &lt;&gt; 1 and isnull(a.forbidden_tag,0) &lt;&gt; 1
</insert>
<insert id="insertJobToMap" databaseId="mysql">
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,
ifnull(e.fcnt,0),ifnull(f.fcnt,0),0,NOW(),'2099-12-31'
from JCL_ORG_job as a
left join (select job_id,sum(ifnull(staff_num,0)) fcnt from JCL_ORG_STAFF
where plan_id in (select id from JCL_ORG_STAFFPLAN
where time_start&lt;=NOW() and time_end &gt; NOW() and delete_type=0)
group by job_id) e on a.id=e.job_id
left join (select JOBTITLE,count(1) fcnt from hrmresource group by JOBTITLE
) f
on f.JOBTITLE=a.ec_jobTitle
left join HrmJobTitles g on a.ec_jobTitle = g.id
where ifnull(a.delete_type,0) &lt;&gt; 1 and ifnull(a.forbidden_tag,0) &lt;&gt; 1
</insert>
<insert id="insertJobToMap" databaseId="oracle">
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,
nvl(e.fcnt,0),nvl(f.fcnt,0),0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd')
from JCL_ORG_job a
left join (select job_id,sum(nvl(staff_num,0)) fcnt from JCL_ORG_STAFF
where plan_id in (select id from JCL_ORG_STAFFPLAN
where time_start&lt;=TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd') and time_end&gt;TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd')) and delete_type=0
group by job_id) e on a.id=e.job_id
left join (select jobtitle,count(1) fcnt from hrmresource group by jobtitle) f
on f.JOBTITLE=a.ec_jobTitle
left join HrmJobTitles g on a.ec_jobTitle = g.id
where nvl(a.delete_type,0) &lt;&gt; 1 and nvl(a.forbidden_tag,0) &lt;&gt; 1
</insert>
<!--同步部门信息-->
<insert id="insertDeptToMap">
<insert id="insertDeptToMap" databaseId="sqlserver">
insert into jcl_org_map
(id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
@ -139,8 +204,40 @@
left join hrmjobtitles as c on b.JOBTITLE=c.id
where isnull(a.canceled,0) &lt;&gt; 1
</insert>
<insert id="insertDeptToMap" databaseId="mysql">
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,a.BMFZR,b.messagerurl,
b.lastname,b.jobtitle,c.jobtitlemark,null,null,
(case ifnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end),
(case ifnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end),
0,0,0,NOW(),'2099-12-31'
from
HrmDepartment as a
left join hrmresource as b on a.BMFZR=b.ID
left join hrmjobtitles as c on b.JOBTITLE=c.id
where ifnull(a.canceled,0) &lt;&gt; 1
</insert>
<insert id="insertDeptToMap" databaseId="oracle">
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,a.BMFZR,b.messagerurl,
b.lastname,b.jobtitle,c.jobtitlemark,null,null,
(case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end),
(case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end),
0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd')
from
HrmDepartment a
left join hrmresource b on a.BMFZR=b.ID
left join hrmjobtitles c on b.JOBTITLE=c.id
where nvl(a.canceled,0) &lt;&gt; 1
</insert>
<!--同步分部信息-->
<insert id="insertSubComToMap">
<insert id="insertSubComToMap" databaseId="sqlserver">
insert into jcl_org_map
(id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
@ -150,8 +247,28 @@
0,0,0,convert(varchar(100),getDate(),23),'2099-12-31' from hrmsubcompany as a
where isnull(a.canceled,0) &lt;&gt; 1
</insert>
<insert id="insertSubComToMap" databaseId="mysql">
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,'','','',ifnull(a.supsubcomid,0),ifnull(a.supsubcomid,0),
0,0,0,NOW(),'2099-12-31' from hrmsubcompany as a
where IFNULL(a.canceled,0) &lt;&gt; 1
</insert>
<insert id="insertSubComToMap" databaseId="oracle">
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,'','','',nvl(a.supsubcomid,0),nvl(a.supsubcomid,0),
0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') from hrmsubcompany a
where nvl(a.canceled,0) &lt;&gt; 1
</insert>
<!--同步集团信息-->
<insert id="insertComToMap">
<insert id="insertComToMap" databaseId="sqlserver">
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)
@ -159,5 +276,21 @@
0, NULL, NULL, 0, NULL, -1, 0,
0, 0, 0, convert(varchar(100),getDate(),23), '2099-12-31' FROM hrmcompany
</insert>
<insert id="insertComToMap" databaseId="oracle">
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(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') FROM hrmcompany
</insert>
<insert id="insertComToMap" databaseId="mysql">
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, NOW(), '2099-12-31' FROM hrmcompany
</insert>
</mapper>

@ -62,7 +62,19 @@
VALUES (#{id},#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId},
#{bmfzr}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime})
</insert>
<insert id="insertHrmDeptVersion" keyColumn="ID" keyProperty="id" parameterType="com.engine.organization.entity.version.HrmDepartmentVersion" useGeneratedKeys="true" databaseId="oracle">
insert into HRMDEPARTMENT_VERSION
( ID,DEPARTMENTID,DEPARTMENTMARK
,DEPARTMENTCODE,DEPARTMENTNAME,SUBCOMPANYID1
,SUPDEPID,BMFZR,SHOWORDER
,CANCELED,DESCRIPTION,OPERATOR
,VERSION,OPERATE_TIME)
values (#{id,jdbcType=DECIMAL},#{departmentId,jdbcType=DECIMAL},#{departmentMark,jdbcType=VARCHAR}
,#{departmentCode,jdbcType=VARCHAR},#{departmentName,jdbcType=VARCHAR},#{subCompanyId1,jdbcType=DECIMAL}
,#{supDepId,jdbcType=DECIMAL},#{bmfzr,jdbcType=VARCHAR},#{showOrder,jdbcType=DECIMAL}
,#{canceled,jdbcType=DECIMAL},#{description,jdbcType=VARCHAR},#{operator,jdbcType=VARCHAR}
,#{version,jdbcType=DECIMAL},#{operateTime,jdbcType=TIMESTAMP})
</insert>
<select id="getMaxHrmVersion" resultType="com.engine.organization.entity.version.HrmResourceVersion">
select * from hrmresource_version where resourceid=#{resourceid} order by version desc limit 1
</select>
@ -232,6 +244,61 @@
<if test="operateTime != null">#{operateTime,jdbcType=TIMESTAMP},</if>
</trim>
</insert>
<insert id="insertHrmResourceVersion" keyColumn="ID" keyProperty="id" parameterType="com.engine.organization.entity.version.HrmResourceVersion" useGeneratedKeys="true" databaseId="oracle">
insert into HRMRESOURCE_VERSION
( ID,RESOURCEID,COMPANYSTARTDATE
,COMPANYWORKYEAR,WORKSTARTDATE,WORKYEAR
,USEKIND,JOBCALL,ACCUMFUNDACCOUNT
,BIRTHPLACE,FOLK,RESIDENTPHONE
,RESIDENTPOSTCODE,EXTPHONE,MANAGERSTR
,STATUS,FAX,ISLABOUUNION
,WEIGHT,TEMPRESIDENTNUMBER,PROBATIONENDDATE
,COUNTRYID,PASSWDCHGDATE,LLOGINID
,DSPORDER,PASSWORDSTATE,ACCOUNTTYPE
,BELONGTO,MESSAGERURL,ACCOUNTNAME
,LOGINID,PASSWORD,LASTNAME
,SEX,BIRTHDAY,NATIONALITY
,MARITALSTATUS,TELEPHONE,MOBILE
,MOBILECALL,EMAIL,LOCATIONID
,WORKROOM,HOMEADDRESS,RESOURCETYPE
,STARTDATE,ENDDATE,JOBTITLE
,JOBACTIVITYDESC,JOBLEVEL,SECLEVEL
,DEPARTMENTID,SUBCOMPANYID1,COSTCENTERID
,MANAGERID,ASSISTANTID,BANKID1
,ACCOUNTID1,RESOURCEIMAGEID,CERTIFICATENUM
,NATIVEPLACE,EDUCATIONLEVEL,BEMEMBERDATE
,BEPARTYDATE,WORKCODE,REGRESIDENTPLACE
,HEALTHINFO,RESIDENTPLACE,POLICY
,DEGREE,HEIGHT,CLASSIFICATION
,DESCRIPTION,OPERATOR,VERSION
,OPERATE_TIME)
values (#{id,jdbcType=DECIMAL},#{resourceid,jdbcType=DECIMAL},#{companystartdate,jdbcType=TIMESTAMP}
,#{companyworkyear,jdbcType=DECIMAL},#{workstartdate,jdbcType=TIMESTAMP},#{workyear,jdbcType=DECIMAL}
,#{usekind,jdbcType=DECIMAL},#{jobcall,jdbcType=DECIMAL},#{accumfundaccount,jdbcType=VARCHAR}
,#{birthplace,jdbcType=VARCHAR},#{folk,jdbcType=VARCHAR},#{residentphone,jdbcType=VARCHAR}
,#{residentpostcode,jdbcType=VARCHAR},#{extphone,jdbcType=VARCHAR},#{managerstr,jdbcType=VARCHAR}
,#{status,jdbcType=DECIMAL},#{fax,jdbcType=VARCHAR},#{islabouunion,jdbcType=CHAR}
,#{weight,jdbcType=DECIMAL},#{tempresidentnumber,jdbcType=VARCHAR},#{probationenddate,jdbcType=TIMESTAMP}
,#{countryid,jdbcType=DECIMAL},#{passwdchgdate,jdbcType=TIMESTAMP},#{lloginid,jdbcType=VARCHAR}
,#{dsporder,jdbcType=FLOAT},#{passwordstate,jdbcType=DECIMAL},#{accounttype,jdbcType=DECIMAL}
,#{belongto,jdbcType=DECIMAL},#{messagerurl,jdbcType=VARCHAR},#{accountname,jdbcType=VARCHAR}
,#{loginid,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{lastname,jdbcType=VARCHAR}
,#{sex,jdbcType=CHAR},#{birthday,jdbcType=CHAR},#{nationality,jdbcType=DECIMAL}
,#{maritalstatus,jdbcType=CHAR},#{telephone,jdbcType=VARCHAR},#{mobile,jdbcType=VARCHAR}
,#{mobilecall,jdbcType=VARCHAR},#{email,jdbcType=VARCHAR},#{locationid,jdbcType=DECIMAL}
,#{workroom,jdbcType=VARCHAR},#{homeaddress,jdbcType=VARCHAR},#{resourcetype,jdbcType=CHAR}
,#{startdate,jdbcType=TIMESTAMP},#{enddate,jdbcType=TIMESTAMP},#{jobtitle,jdbcType=DECIMAL}
,#{jobactivitydesc,jdbcType=VARCHAR},#{joblevel,jdbcType=DECIMAL},#{seclevel,jdbcType=DECIMAL}
,#{departmentid,jdbcType=DECIMAL},#{subcompanyid1,jdbcType=DECIMAL},#{costcenterid,jdbcType=DECIMAL}
,#{managerid,jdbcType=DECIMAL},#{assistantid,jdbcType=DECIMAL},#{bankid1,jdbcType=DECIMAL}
,#{accountid1,jdbcType=VARCHAR},#{resourceimageid,jdbcType=DECIMAL},#{certificatenum,jdbcType=VARCHAR}
,#{nativeplace,jdbcType=VARCHAR},#{educationlevel,jdbcType=DECIMAL},#{bememberdate,jdbcType=TIMESTAMP}
,#{bepartydate,jdbcType=TIMESTAMP},#{workcode,jdbcType=VARCHAR},#{regresidentplace,jdbcType=VARCHAR}
,#{healthinfo,jdbcType=CHAR},#{residentplace,jdbcType=VARCHAR},#{policy,jdbcType=VARCHAR}
,#{degree,jdbcType=VARCHAR},#{height,jdbcType=VARCHAR},#{classification,jdbcType=CHAR}
,#{description,jdbcType=VARCHAR},#{operator,jdbcType=VARCHAR},#{version,jdbcType=DECIMAL}
,#{operateTime,jdbcType=TIMESTAMP})
</insert>
<select id="getHrmSubComp" resultType="com.engine.organization.entity.version.HrmSubCompanyDto">
select id ,subcompanyname, subcompanydesc,companyid,supsubcomid,url,canceled,subcompanycode,outkey,showorder from HrmSubCompany

@ -545,14 +545,21 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
java.sql.Date date = new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime());
RecordSet rs = new RecordSet();
//处理上级
String sql = "select fparentid from jcl_org_map where ftype=? and id=? and fdateend>?";
String typeSql = "select ftype from jcl_org_map where id=? and fdateend>?";
rs.executeQuery(sql, type, id, currentDate);
String sql = "select fparentid from jcl_org_map where ftype=" + type + " and id=" + id + " ";
String whereSql = "";
if (DBType.isOracle()) {
whereSql += " and ((fdatebegin <= to_date('" + currentDate + "','yyyy-MM-DD') and fdateend >= to_date('" + currentDate + "','yyyy-MM-DD')) or (fdatebegin <= to_date('" + currentDate + "','yyyy-MM-DD') and fdateend is null )) ";
} else {
whereSql += " and ((fdatebegin <= '" + currentDate + "' and fdateend >= '" + currentDate + "') or (fdatebegin <= '" + currentDate + "' and fdateend is null )) ";
}
rs.executeQuery(sql + whereSql);
String fparentid = null;
String ftype = null;
if (rs.next()) {
fparentid = rs.getString("fparentid");
rs.executeQuery(typeSql, fparentid, currentDate);
String typeSql = "select ftype from jcl_org_map where id=" + fparentid + " ";
rs.executeQuery(typeSql + whereSql);
if (rs.next()) {
ftype = rs.getString("ftype");
}

@ -385,7 +385,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe
hrmDepartmentVersion.setDescription(null);
hrmDepartmentVersion.setOperator(user.getLastname());
hrmDepartmentVersion.setVersion(genVersionId(2, Util.null2String(id)));
hrmDepartmentVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime()));
// hrmDepartmentVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime()));
getCompanyVersionMapper().insertHrmDeptVersion(hrmDepartmentVersion);
}
@ -413,7 +413,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe
hrmResourceVersion.setManagerid(StringUtils.isNotBlank(managerid) ? Integer.parseInt(managerid) : null);
hrmResourceVersion.setLastname(hrmResourceDto.getLastname());
hrmResourceVersion.setOperator(user.getLastname());
hrmResourceVersion.setVersion(genVersionId(4, String.valueOf(id)));
// hrmResourceVersion.setVersion(genVersionId(4, String.valueOf(id)));
hrmResourceVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime()));
getCompanyVersionMapper().insertHrmResourceVersion(hrmResourceVersion);

Loading…
Cancel
Save