#zjrb-001# 代码统一备份
parent
fe79b62f3c
commit
e3148d7d8d
@ -0,0 +1,93 @@
|
||||
package com.api.doc.detail.util;
|
||||
|
||||
import com.engine.doc.util.IWebOfficeConf;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.Util;
|
||||
|
||||
public class CooperativeUtilForDoc {
|
||||
|
||||
public static boolean isopencolla(int fileid){
|
||||
RecordSet rs = new RecordSet();
|
||||
String collasql = " select d3.ISCOLLASEC,d3.OPENCOLLAEDIT,d1.ISOPENCOLLA from DOCDETAIL d1,DOCIMAGEFILE d2 ,DOCSECCATEGORY d3 where d1.ID=d2.DOCID and d1.SECCATEGORY=d3.ID and d2.IMAGEFILEID=? order by d2.ID DESC ";
|
||||
rs.executeQuery(collasql,fileid);
|
||||
boolean iscollaborativedoc = false;
|
||||
if(rs.next()){
|
||||
int iscollasec = Util.getIntValue(rs.getString("ISCOLLASEC"), 0);
|
||||
int isopencolla = Util.getIntValue(rs.getString("ISOPENCOLLA"), 0);
|
||||
int opencollaedit = Util.getIntValue(rs.getString("OPENCOLLAEDIT"), 0);
|
||||
iscollaborativedoc = iscollasec ==1 && isopencolla == 1 && opencollaedit==1;
|
||||
}
|
||||
return iscollaborativedoc;
|
||||
}
|
||||
|
||||
public static boolean isColla(int docid){
|
||||
RecordSet rs = new RecordSet();
|
||||
String collasql = " select d1.DOCTYPE,d2.ISCOLLASEC,d1.ISOPENCOLLA from DOCDETAIL d1,DOCSECCATEGORY d2 where d1.ID=? and d1.SECCATEGORY=d2.ID ";
|
||||
rs.executeQuery(collasql,docid);
|
||||
boolean iscollaborativedoc = false;
|
||||
if(rs.next()){
|
||||
int isopencolla = Util.getIntValue(rs.getString("ISOPENCOLLA"), 0);
|
||||
int doctype = Util.getIntValue(rs.getString("DOCTYPE"), 0);
|
||||
iscollaborativedoc = isopencolla == 1;
|
||||
}
|
||||
return iscollaborativedoc;
|
||||
}
|
||||
|
||||
public static boolean isCollaEdit(int docid){
|
||||
RecordSet rs = new RecordSet();
|
||||
String collasql = " select d2.ISCOLLASEC,d2.OPENCOLLAEDIT,d1.ISOPENCOLLA,d1.doctype from DOCDETAIL d1,DOCSECCATEGORY d2 where d1.ID=? and d1.SECCATEGORY=d2.ID ";
|
||||
rs.executeQuery(collasql,docid);
|
||||
boolean iscollaborativedoc = false;
|
||||
if(rs.next()){
|
||||
int isopencolla = Util.getIntValue(rs.getString("ISOPENCOLLA"), 0);
|
||||
int opencollaedit = Util.getIntValue(rs.getString("OPENCOLLAEDIT"), 0);
|
||||
int doctype = Util.getIntValue(rs.getString("doctype"), 0);
|
||||
iscollaborativedoc = isopencolla == 1 && opencollaedit == 1 && doctype==2;
|
||||
}
|
||||
return iscollaborativedoc;
|
||||
}
|
||||
|
||||
public static void openCollaForDoc(int docid){
|
||||
RecordSet rs = new RecordSet();
|
||||
String collasql = " select d2.ISCOLLASEC,d1.ISOPENCOLLA,d1.doctype from DOCDETAIL d1,DOCSECCATEGORY d2 where d1.ID=? and d1.SECCATEGORY=d2.ID ";
|
||||
rs.executeQuery(collasql,docid);
|
||||
boolean iscollaborativesec = false;
|
||||
if(rs.next()){
|
||||
int iscollasec = Util.getIntValue(rs.getString("ISCOLLASEC"), 0);
|
||||
int doctype = Util.getIntValue(rs.getString("doctype"), 0);
|
||||
iscollaborativesec = iscollasec == 1;
|
||||
}
|
||||
if(iscollaborativesec){
|
||||
rs.executeSql(" update docdetail set ISOPENCOLLA=1 where id="+docid);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getmFileType(int fileid){
|
||||
RecordSet rs = new RecordSet();
|
||||
String sql = "select a.imagefileid,a.imagefilename,a.docfiletype,a.versionId,b.filesize from DocImageFile a,Imagefile b " +
|
||||
" where a.imagefileid=b.imagefileid and a.imagefileid="+fileid+" and (a.isextfile <> '1' or a.isextfile is null) order by a.versionId desc";
|
||||
rs.executeQuery(sql);
|
||||
String mFileType = "";
|
||||
int docFileType = rs.getInt("docfiletype");
|
||||
String imageFileName = rs.getString("imagefilename");
|
||||
int versionId = rs.getInt("versionId");
|
||||
if(docFileType == 3){
|
||||
mFileType = ".doc";
|
||||
} else if(docFileType == 7){
|
||||
mFileType = ".docx";
|
||||
}else if(docFileType == 4){
|
||||
mFileType = ".xls";
|
||||
} else if(docFileType == 8){
|
||||
mFileType = ".xlsx";
|
||||
}else if(docFileType == 6){
|
||||
mFileType = ".wps";
|
||||
}else if(docFileType == 10){
|
||||
mFileType = ".et";
|
||||
}else if(docFileType == 12){
|
||||
mFileType = ".html";
|
||||
}else if(imageFileName.toLowerCase().endsWith(".uot") && IWebOfficeConf.isyozoOffice()){
|
||||
mFileType = ".doc";
|
||||
}
|
||||
return mFileType;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,9 @@
|
||||
package com.api.zjrb.pattern.web;
|
||||
|
||||
import com.engine.zjrb.pattern.web.PatternUnlockingAction;
|
||||
|
||||
import javax.ws.rs.Path;
|
||||
|
||||
@Path("/zjrb/pattern")
|
||||
public class PatternUnlockingActionApi extends PatternUnlockingAction {
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,164 @@
|
||||
package com.engine.voting.cmd.VotingForm;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.systeminfo.SystemEnv;
|
||||
|
||||
import com.api.browser.bean.BrowserBean;
|
||||
import com.api.browser.bean.SearchConditionItem;
|
||||
import com.api.browser.bean.SearchConditionOption;
|
||||
import com.api.browser.util.ConditionType;
|
||||
import com.api.voting.util.BrowserType;
|
||||
import com.api.voting.util.ConditionUtil;
|
||||
import com.api.voting.util.VotingCommonUtil;
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
/**
|
||||
* 后台 调查 - 网上调查设置 高级搜索条件
|
||||
*/
|
||||
public class VotingFormConditionCmd extends AbstractCommonCommand<Map<String, Object>> {
|
||||
|
||||
|
||||
public VotingFormConditionCmd(User user, Map<String,Object> params) {
|
||||
this.user = user;
|
||||
this.params = params;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String, Object> apidatas = Maps.newHashMap();
|
||||
|
||||
String istemplate = Util.null2s(Util.null2String(this.params.get("istemplate")), "0");
|
||||
try {
|
||||
|
||||
String votingtype = Util.null2String(this.params.get("votingtype"));
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
List<Map<String,Object>> grouplist = new ArrayList<Map<String,Object>>();
|
||||
|
||||
Map<String,Object> groupitem1 = new HashMap<String,Object>();
|
||||
List<SearchConditionItem> itemlist1 = new ArrayList<SearchConditionItem>();
|
||||
groupitem1.put("title", SystemEnv.getHtmlLabelNames(ConditionUtil.COMMON_CONDITION, user.getLanguage()));
|
||||
groupitem1.put("defaultshow", true);
|
||||
groupitem1.put("items", itemlist1);
|
||||
grouplist.add(groupitem1);
|
||||
|
||||
//itemlist1.add(ConditionUtil.getCondition(DocCondition.DOC_SUBJECT,user));
|
||||
int lanaguage = user.getLanguage();
|
||||
|
||||
//调查名称
|
||||
itemlist1.add(getInput(lanaguage,"33439","subject"));
|
||||
//创建人
|
||||
itemlist1.add(getBrowser(lanaguage,"882","createrid",BrowserType.USER));
|
||||
|
||||
//调查类型
|
||||
List<SearchConditionOption> typeOptions = new ArrayList<SearchConditionOption>();
|
||||
List<SearchConditionOption> typeOptionsOfAdd = new ArrayList<SearchConditionOption>();
|
||||
String where = "" ;
|
||||
if(StringUtils.isNotBlank(votingtype)){
|
||||
where = " and id in ("+votingtype+") " ;
|
||||
}
|
||||
rs.executeQuery("select * from voting_type "+where);
|
||||
typeOptions.add(new SearchConditionOption("",""));
|
||||
typeOptionsOfAdd.add(new SearchConditionOption("",""));
|
||||
while(rs.next()) {
|
||||
typeOptions.add(new SearchConditionOption(rs.getString("id"),rs.getString("typename")));
|
||||
typeOptionsOfAdd.add(new SearchConditionOption(rs.getString("id"),rs.getString("typename")));
|
||||
}
|
||||
itemlist1.add(getSelect(lanaguage,"24111","votingtype",typeOptions));
|
||||
|
||||
//状态
|
||||
if(!"1".equals(istemplate)) {
|
||||
List<SearchConditionOption> statusOptions = new ArrayList<SearchConditionOption>();
|
||||
statusOptions.add(new SearchConditionOption("",""));
|
||||
statusOptions.add(new SearchConditionOption("0",SystemEnv.getHtmlLabelName(83443,weaver.general.Util.getIntValue(user.getLanguage()))));
|
||||
statusOptions.add(new SearchConditionOption("3",SystemEnv.getHtmlLabelName(30835, user.getLanguage())));
|
||||
statusOptions.add(new SearchConditionOption("1",SystemEnv.getHtmlLabelName(18600, user.getLanguage())));
|
||||
statusOptions.add(new SearchConditionOption("2",SystemEnv.getHtmlLabelName(405, user.getLanguage())));
|
||||
itemlist1.add(getSelect(lanaguage,"602","status",statusOptions));
|
||||
|
||||
//开始日期
|
||||
//itemlist1.add(getDate(lanaguage,"740","begindate"));
|
||||
//截止日期
|
||||
//itemlist1.add(getDate(lanaguage,"741","enddate"));
|
||||
|
||||
//调查时间(时间选择)
|
||||
itemlist1.add(new SearchConditionItem(ConditionType.DATE, SystemEnv.getHtmlLabelName(500889, user.getLanguage()), "", new String[]{"datetype", "begindate", "enddate"},
|
||||
VotingCommonUtil.getDateSelectOption(user.getLanguage(), false, false), 6, 18, null));
|
||||
} else {
|
||||
itemlist1.add(getInput(lanaguage, "433","descr"));
|
||||
}
|
||||
|
||||
apidatas.put("condition", grouplist);
|
||||
|
||||
Map<String,BrowserBean> btnBrowser = new HashMap<String,BrowserBean>();
|
||||
btnBrowser.put("votingMould", new BrowserBean(BrowserType.votingMould));
|
||||
apidatas.put("btnBrowser",btnBrowser );
|
||||
|
||||
apidatas.put("votingType", getSelect(lanaguage,"24111","votingtype",typeOptionsOfAdd));
|
||||
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
apidatas.put("api_status", false);
|
||||
return apidatas;
|
||||
}
|
||||
apidatas.put("api_status", true);
|
||||
return apidatas;
|
||||
}
|
||||
|
||||
public SearchConditionItem getInput(int language,String labelids,String domkey){
|
||||
SearchConditionItem searchConditionItem = new SearchConditionItem(ConditionType.INPUT, SystemEnv.getHtmlLabelNames(labelids,language),
|
||||
new String[]{domkey});
|
||||
searchConditionItem.setLabelcol(6);
|
||||
searchConditionItem.setFieldcol(18);
|
||||
return searchConditionItem;
|
||||
}
|
||||
|
||||
public SearchConditionItem getBrowser(int language,String labelids,String domkey,String browserType){
|
||||
SearchConditionItem searchConditionItem = new SearchConditionItem(ConditionType.BROWSER, SystemEnv.getHtmlLabelNames(labelids,language),
|
||||
new String[]{domkey});
|
||||
BrowserBean browserBean= new BrowserBean(browserType);
|
||||
searchConditionItem.setBrowserConditionParam(browserBean);
|
||||
searchConditionItem.setLabelcol(6);
|
||||
searchConditionItem.setFieldcol(18);
|
||||
return searchConditionItem;
|
||||
}
|
||||
|
||||
public SearchConditionItem getSelect(int language,String labelids,String domkey,List<SearchConditionOption> options){
|
||||
SearchConditionItem searchConditionItem = new SearchConditionItem(ConditionType.SELECT, SystemEnv.getHtmlLabelNames(labelids,language),
|
||||
new String[]{domkey});
|
||||
searchConditionItem.setLabelcol(6);
|
||||
searchConditionItem.setFieldcol(18);
|
||||
searchConditionItem.setOptions(options);
|
||||
Map<String, Object> otherParams = new HashMap<String, Object>();
|
||||
otherParams.put("dropdownMatchSelectWidth", true);
|
||||
searchConditionItem.setOtherParams(otherParams);
|
||||
return searchConditionItem;
|
||||
}
|
||||
|
||||
public SearchConditionItem getDate(int language,String labelids,String domkey){
|
||||
SearchConditionItem searchConditionItem = new SearchConditionItem(ConditionType.DATEPICKER, SystemEnv.getHtmlLabelNames(labelids,language),
|
||||
new String[]{domkey});
|
||||
searchConditionItem.setLabelcol(6);
|
||||
searchConditionItem.setFieldcol(18);
|
||||
return searchConditionItem;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package com.engine.zjrb.pattern.cmd;
|
||||
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class PatternUnlockingAddCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
public PatternUnlockingAddCmd(Map<String,Object> params, User user) {
|
||||
this.params = params;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String, Object> returnMap = new HashMap<String,Object>();
|
||||
BaseBean bb = new BaseBean();
|
||||
int userid = user.getUID();
|
||||
int departmentid = user.getUserDepartment();
|
||||
int subcompanyid = user.getUserSubCompany1();
|
||||
bb.writeLog("departmentid:"+departmentid);
|
||||
bb.writeLog("subcompanyid:"+subcompanyid);
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
boolean data = false;
|
||||
|
||||
String uftable = "uf_pattern";
|
||||
|
||||
String patternvalue = Util.null2String(params.get("patternvalue"));
|
||||
try{
|
||||
String id = "";
|
||||
String sql = " select id from "+uftable+" where ry = ? " ;
|
||||
rs.executeQuery(sql,new Object[]{userid});
|
||||
if(rs.next()){
|
||||
id = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
if(StringUtils.isNotBlank(id)){
|
||||
sql = " update "+uftable+" set taz = ?,ryszbm=?,ryszfb=? where id = ?";
|
||||
boolean isTrue = rs.executeUpdate(sql,new Object[]{patternvalue,departmentid,subcompanyid,id});
|
||||
if(isTrue){
|
||||
data = true;
|
||||
}
|
||||
}else{
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");//当前时间日期
|
||||
SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");
|
||||
|
||||
int formmodeid = 0 ;
|
||||
String modedatacreater = "1" ;
|
||||
String modedatacreatertype = "0" ;
|
||||
String modedatacreatedate = sdf1.format(new Date());
|
||||
String modedatacreatetime = sdf2.format(new Date());
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
|
||||
sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = ? " ;
|
||||
rs.executeQuery(sql,new Object[]{uftable});
|
||||
if(rs.next()){
|
||||
formmodeid = Util.getIntValue(Util.null2String(rs.getString("id")));
|
||||
}
|
||||
|
||||
sql = " insert into "+uftable+"(uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,ry,taz,ryszbm,ryszfb)" +
|
||||
" values(?,?,?,?,?,?,?,?,?,?)" ;
|
||||
boolean flag = rs.executeUpdate(sql,new Object[]{uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,userid,patternvalue,departmentid,subcompanyid});
|
||||
bb.writeLog("sql;"+sql);
|
||||
if(flag){
|
||||
String dataid = "";
|
||||
sql = " select * from "+uftable+" where uuid=? ";
|
||||
bb.writeLog("sql:" + sql);
|
||||
rs.executeQuery(sql,new Object[]{uuid});
|
||||
if (rs.next()) {
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("sql:" + sql);
|
||||
bb.writeLog("dataid:" + dataid);
|
||||
bb.writeLog("modeid:" + formmodeid);
|
||||
if (StringUtils.isNotEmpty(dataid))
|
||||
{
|
||||
modeRightInfo.setNewRight(true);
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), formmodeid, Integer.parseInt(dataid));
|
||||
|
||||
data = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
bb.writeLog("e:"+e);
|
||||
}
|
||||
returnMap.put("data",data);
|
||||
return returnMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.engine.zjrb.pattern.cmd;
|
||||
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class PatternUnlockingQueryCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
public PatternUnlockingQueryCmd(Map<String,Object> params, User user) {
|
||||
this.params = params;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String, Object> returnMap = new HashMap<String,Object>();
|
||||
BaseBean bb = new BaseBean();
|
||||
int userid = user.getUID();
|
||||
RecordSet rs = new RecordSet();
|
||||
String id = "";
|
||||
String ry = "" ;
|
||||
String taz = "";
|
||||
List<Integer> tazList = new ArrayList<Integer>();
|
||||
try{
|
||||
String sql = " select id,taz,ry from uf_pattern where ry = ? " ;
|
||||
rs.executeQuery(sql,new Object[]{userid});
|
||||
if(rs.next()){
|
||||
id = Util.null2String(rs.getString("id"));
|
||||
ry = Util.null2String(rs.getString("ry"));
|
||||
taz = Util.null2String(rs.getString("taz"));
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
bb.writeLog("e:"+e);
|
||||
}
|
||||
returnMap.put("id",id);
|
||||
returnMap.put("ry",ry);
|
||||
if(StringUtils.isNotBlank(taz)){
|
||||
String[] tazArray = taz.split(",");
|
||||
for(int i=0;i<tazArray.length;i++){
|
||||
String tazVal = tazArray[i];
|
||||
if(StringUtils.isNotBlank(tazVal)){
|
||||
tazList.add(Integer.parseInt(tazVal));
|
||||
}
|
||||
}
|
||||
}
|
||||
returnMap.put("patternvalue",tazList);
|
||||
return returnMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.engine.zjrb.pattern.cmd;
|
||||
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class PatternUnlockingResetCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
|
||||
public PatternUnlockingResetCmd(Map<String,Object> params, User user) {
|
||||
this.params = params;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String, Object> returnMap = new HashMap<String,Object>();
|
||||
BaseBean bb = new BaseBean();
|
||||
int userid = user.getUID();
|
||||
String name = "";
|
||||
int departmentid = user.getUserDepartment();
|
||||
int subcompanyid = user.getUserSubCompany1();
|
||||
bb.writeLog("departmentid:"+departmentid);
|
||||
bb.writeLog("subcompanyid:"+subcompanyid);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
try{
|
||||
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
bb.writeLog("e:"+e);
|
||||
}
|
||||
if(StringUtils.isBlank(name)){
|
||||
name = "系统管理员";
|
||||
}
|
||||
returnMap.put("name",name);
|
||||
return returnMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
package com.engine.zjrb.pattern.cmd;
|
||||
|
||||
import com.engine.common.biz.AbstractCommonCommand;
|
||||
import com.engine.common.entity.BizLogContext;
|
||||
import com.engine.core.interceptor.CommandContext;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
public class PatternUnlockingUpdateCmd extends AbstractCommonCommand<Map<String,Object>> {
|
||||
|
||||
public PatternUnlockingUpdateCmd(Map<String,Object> params, User user) {
|
||||
this.params = params;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BizLogContext getLogContext() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> execute(CommandContext commandContext) {
|
||||
Map<String, Object> returnMap = new HashMap<String,Object>();
|
||||
BaseBean bb = new BaseBean();
|
||||
int userid = user.getUID();
|
||||
|
||||
int departmentid = user.getUserDepartment();
|
||||
int subcompanyid = user.getUserSubCompany1();
|
||||
bb.writeLog("departmentid:"+departmentid);
|
||||
bb.writeLog("subcompanyid:"+subcompanyid);
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
boolean data = false;
|
||||
|
||||
String uftable = "uf_pattern";
|
||||
|
||||
String patternvalue = Util.null2String(params.get("patternvalue"));
|
||||
try{
|
||||
String id = "";
|
||||
String sql = " select id from "+uftable+" where ry = ? " ;
|
||||
rs.executeQuery(sql,new Object[]{userid});
|
||||
if(rs.next()){
|
||||
id = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("id:"+id);
|
||||
|
||||
if(StringUtils.isNotBlank(id)){
|
||||
sql = " update "+uftable+" set taz = ?,ryszbm=?,ryszfb=? where id = ?";
|
||||
boolean isTrue = rs.executeUpdate(sql,new Object[]{patternvalue,departmentid,subcompanyid,id});
|
||||
if(isTrue){
|
||||
data = true;
|
||||
}
|
||||
}else{
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");//当前时间日期
|
||||
SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm:ss");
|
||||
|
||||
int formmodeid = 0 ;
|
||||
String modedatacreater = "1" ;
|
||||
String modedatacreatertype = "0" ;
|
||||
String modedatacreatedate = sdf1.format(new Date());
|
||||
String modedatacreatetime = sdf2.format(new Date());
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
|
||||
sql = " select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = ? " ;
|
||||
rs.executeQuery(sql,new Object[]{uftable});
|
||||
if(rs.next()){
|
||||
formmodeid = Util.getIntValue(Util.null2String(rs.getString("id")));
|
||||
}
|
||||
|
||||
sql = " insert into "+uftable+"(uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,ry,taz,ryszbm,ryszfb)" +
|
||||
" values(?,?,?,?,?,?,?,?,?,?)" ;
|
||||
boolean flag = rs.executeUpdate(sql,new Object[]{uuid,formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,userid,patternvalue,departmentid,subcompanyid});
|
||||
bb.writeLog("sql;"+sql);
|
||||
if(flag){
|
||||
String dataid = "";
|
||||
sql = " select * from "+uftable+" where uuid=? ";
|
||||
bb.writeLog("sql:" + sql);
|
||||
rs.executeQuery(sql,new Object[]{uuid});
|
||||
if (rs.next()) {
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("sql:" + sql);
|
||||
bb.writeLog("dataid:" + dataid);
|
||||
bb.writeLog("modeid:" + formmodeid);
|
||||
if (StringUtils.isNotEmpty(dataid))
|
||||
{
|
||||
modeRightInfo.setNewRight(true);
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), formmodeid, Integer.parseInt(dataid));
|
||||
|
||||
data = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
bb.writeLog("e:"+e);
|
||||
}
|
||||
returnMap.put("data",data);
|
||||
return returnMap;
|
||||
}
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.engine.zjrb.pattern.service;
|
||||
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface PatternUnlockingService {
|
||||
|
||||
Map<String,Object> query(Map<String,Object> params, User user);
|
||||
Map<String,Object> add(Map<String,Object> params, User user);
|
||||
Map<String,Object> update(Map<String,Object> params, User user);
|
||||
Map<String,Object> getrestinfo(Map<String,Object> params, User user);
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package com.engine.zjrb.pattern.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.zjrb.pattern.cmd.PatternUnlockingAddCmd;
|
||||
import com.engine.zjrb.pattern.cmd.PatternUnlockingQueryCmd;
|
||||
import com.engine.zjrb.pattern.cmd.PatternUnlockingUpdateCmd;
|
||||
import com.engine.zjrb.pattern.service.PatternUnlockingService;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class PatternUnlockingServiceImpl extends Service implements PatternUnlockingService {
|
||||
@Override
|
||||
public Map<String, Object> query(Map<String, Object> params, User user) {
|
||||
return commandExecutor.execute(new PatternUnlockingQueryCmd(params,user));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> add(Map<String, Object> params, User user) {
|
||||
return commandExecutor.execute(new PatternUnlockingAddCmd(params,user));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> update(Map<String, Object> params, User user) {
|
||||
return commandExecutor.execute(new PatternUnlockingUpdateCmd(params,user));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getrestinfo(Map<String, Object> params, User user) {
|
||||
return commandExecutor.execute(new PatternUnlockingUpdateCmd(params,user));
|
||||
}
|
||||
}
|
@ -0,0 +1,125 @@
|
||||
package com.engine.zjrb.pattern.web;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.engine.common.util.ParamUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.zjrb.pattern.service.PatternUnlockingService;
|
||||
import com.engine.zjrb.pattern.service.impl.PatternUnlockingServiceImpl;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public class PatternUnlockingAction {
|
||||
|
||||
public PatternUnlockingService getService(){
|
||||
return (PatternUnlockingService) ServiceUtil.getService(PatternUnlockingServiceImpl.class);
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/query")
|
||||
@Produces({MediaType.TEXT_PLAIN})
|
||||
public String query(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
Map<String,Object> apidatas = new HashMap<String,Object>();
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("query");
|
||||
User user = HrmUserVarify.getUser(request , response) ;
|
||||
|
||||
try{
|
||||
Map<String,Object> params = ParamUtil.request2Map(request);
|
||||
apidatas.putAll(getService().query(params,user));
|
||||
apidatas.put("api_status",true);
|
||||
}catch (Exception e){
|
||||
apidatas.put("api_status",false);
|
||||
apidatas.put("api_errormsg","exception:"+e.getMessage());
|
||||
}
|
||||
bb.writeLog("apidatas:"+ JSONObject.toJSONString(apidatas));
|
||||
return JSONObject.toJSONString(apidatas);
|
||||
}
|
||||
|
||||
|
||||
@GET
|
||||
@Path("/add")
|
||||
@Produces({MediaType.TEXT_PLAIN})
|
||||
public String add(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
Map<String,Object> apidatas = new HashMap<String,Object>();
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("query");
|
||||
User user = HrmUserVarify.getUser(request , response) ;
|
||||
|
||||
try{
|
||||
Map<String,Object> params = ParamUtil.request2Map(request);
|
||||
apidatas.putAll(getService().add(params,user));
|
||||
apidatas.put("api_status",true);
|
||||
}catch (Exception e){
|
||||
apidatas.put("api_status",false);
|
||||
apidatas.put("api_errormsg","exception:"+e.getMessage());
|
||||
}
|
||||
bb.writeLog("apidatas:"+ JSONObject.toJSONString(apidatas));
|
||||
return JSONObject.toJSONString(apidatas);
|
||||
}
|
||||
|
||||
|
||||
@GET
|
||||
@Path("/update")
|
||||
@Produces({MediaType.TEXT_PLAIN})
|
||||
public String update(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
Map<String,Object> apidatas = new HashMap<String,Object>();
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("query");
|
||||
User user = HrmUserVarify.getUser(request , response) ;
|
||||
|
||||
try{
|
||||
Map<String,Object> params = ParamUtil.request2Map(request);
|
||||
apidatas.putAll(getService().update(params,user));
|
||||
apidatas.put("api_status",true);
|
||||
}catch (Exception e){
|
||||
apidatas.put("api_status",false);
|
||||
apidatas.put("api_errormsg","exception:"+e.getMessage());
|
||||
}
|
||||
bb.writeLog("apidatas:"+ JSONObject.toJSONString(apidatas));
|
||||
return JSONObject.toJSONString(apidatas);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@GET
|
||||
@Path("/getrestinfo")
|
||||
@Produces({MediaType.TEXT_PLAIN})
|
||||
public String getrestinfo(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
Map<String,Object> apidatas = new HashMap<String,Object>();
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("query");
|
||||
User user = HrmUserVarify.getUser(request , response) ;
|
||||
|
||||
try{
|
||||
Map<String,Object> params = ParamUtil.request2Map(request);
|
||||
apidatas.putAll(getService().getrestinfo(params,user));
|
||||
apidatas.put("api_status",true);
|
||||
}catch (Exception e){
|
||||
apidatas.put("api_status",false);
|
||||
apidatas.put("api_errormsg","exception:"+e.getMessage());
|
||||
}
|
||||
bb.writeLog("apidatas:"+ JSONObject.toJSONString(apidatas));
|
||||
return JSONObject.toJSONString(apidatas);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,732 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class HrmSynDepartmentUtil {
|
||||
|
||||
public void SynHrmDepartmentData(String dataResource,String mainid,String departmentwhere){
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
int totle_count = 0;
|
||||
int update_success_count = 0;
|
||||
int update_fail_count = 0;
|
||||
int update_exp_count = 0;
|
||||
|
||||
int insert_success_count = 0;
|
||||
int insert_fail_count = 0;
|
||||
int insert_exp_count = 0;
|
||||
|
||||
int unchanged_count = 0;
|
||||
int data_error_count = 0;
|
||||
|
||||
List<String> dataErrorList = new ArrayList<String>();
|
||||
List<Map<String,String>> sqlList = new ArrayList<Map<String,String>>();
|
||||
|
||||
Map<String,String> subCompanyOutkeyMap = getE9SubcompanyOutkey();
|
||||
Map<String,String> departmentOutkeyMap = getE9DepartmentOutkey();
|
||||
Map<String,Map<String,String>> E7DepartmentMap = getE7DepartmentData(dataResource);
|
||||
List<String> E7SubcompanyList = getE7HrmSubcompanyList(dataResource);
|
||||
|
||||
bb.writeLog("subCompanyOutkeyMap:"+subCompanyOutkeyMap.size()+"</br>");
|
||||
bb.writeLog("departmentOutkeyMap:"+departmentOutkeyMap.size()+"</br>");
|
||||
bb.writeLog("E7DepartmentMap:"+E7DepartmentMap.size()+"</br>");
|
||||
bb.writeLog("E7SubcompanyList:"+E7SubcompanyList.size()+"</br>");
|
||||
|
||||
List<Map<String,Object>> topInsertList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> topUpdateList = new ArrayList<Map<String,Object>>();
|
||||
List<String> topList = new ArrayList<>();
|
||||
String sql =" select id,departmentmark,departmentname,subcompanyid1,nvl(supdepid,0) as supdepid,allsupdepid,canceled,departmentcode,outkey,tlevel,showorderoftree,showorder\n" +
|
||||
" from hrmdepartment \n" +
|
||||
" where nvl(supdepid,0) = 0 \n" ;
|
||||
rs.execute(sql);
|
||||
while(rs.next()) {
|
||||
totle_count++;
|
||||
String e9id = Util.null2String(rs.getString("id"));
|
||||
topList.add(e9id);
|
||||
|
||||
String departmentmark = Util.null2String(rs.getString("departmentmark"));
|
||||
String departmentname = Util.null2String(rs.getString("departmentname"));
|
||||
String subcompanyid1 = Util.null2String(rs.getString("subcompanyid1"));
|
||||
String supdepid = Util.null2String(rs.getString("supdepid"));
|
||||
String allsupdepid = Util.null2String(rs.getString("allsupdepid"));
|
||||
String canceled = Util.null2String(rs.getString("canceled"));
|
||||
String departmentcode = Util.null2String(rs.getString("departmentcode"));
|
||||
String outkey = Util.null2String(rs.getString("outkey")); //E7的hrmdepartment的ID
|
||||
String tlevel = Util.null2String(rs.getString("tlevel"));
|
||||
String showorder = Util.null2String(rs.getString("showorder"));
|
||||
|
||||
Map<String,Object> E9Map = new HashMap<String, Object>();
|
||||
E9Map.put("e9id", e9id);
|
||||
E9Map.put("departmentname", departmentname);
|
||||
E9Map.put("departmentmark", departmentmark);
|
||||
E9Map.put("departmentcode", departmentcode);
|
||||
E9Map.put("tlevel", tlevel);
|
||||
E9Map.put("showorder", showorder);
|
||||
E9Map.put("canceled", canceled);
|
||||
|
||||
String subcompanyOutKey = "" ;
|
||||
if(subCompanyOutkeyMap.containsKey(subcompanyid1)){
|
||||
subcompanyOutKey = subCompanyOutkeyMap.get(subcompanyid1);
|
||||
}
|
||||
|
||||
String supdepidOutKey = "";
|
||||
if(StringUtils.isNotBlank(supdepid)){
|
||||
if("0".equals(supdepid) || "-1".equals(supdepid) || StringUtils.isBlank(supdepid)){
|
||||
supdepidOutKey = "0";
|
||||
}else{
|
||||
if(departmentOutkeyMap.containsKey(supdepid)){
|
||||
supdepidOutKey = departmentOutkeyMap.get(supdepid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String allsupdepidOutKey = "";
|
||||
if(StringUtils.isNotBlank(allsupdepid)){
|
||||
String[] supdepids = allsupdepid.split(",");
|
||||
for(int i=0;i<supdepids.length;i++){
|
||||
if(StringUtils.isNotBlank(supdepids[i])){
|
||||
if(departmentOutkeyMap.containsKey(supdepids[i])){
|
||||
String supdepid_OutKey = departmentOutkeyMap.get(supdepids[i]);
|
||||
allsupdepidOutKey += StringUtils.isBlank(allsupdepidOutKey) ? supdepid_OutKey : ","+supdepid_OutKey ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7DepartmentMap.containsKey(outkey)){
|
||||
if(StringUtils.isNotBlank(subcompanyOutKey) && E7SubcompanyList.contains(subcompanyOutKey) ) {
|
||||
if (StringUtils.isNotBlank(supdepidOutKey) && ("0".equals(supdepidOutKey) || E7DepartmentMap.containsKey(supdepidOutKey))){
|
||||
|
||||
Map<String,String> e7DeptMap = E7DepartmentMap.get(outkey);
|
||||
String e7departmentmark = Util.null2String(e7DeptMap.get("e7departmentmark"));
|
||||
String e7departmentname = Util.null2String(e7DeptMap.get("e7departmentname"));
|
||||
String e7subcompanyid1 = Util.null2String(e7DeptMap.get("e7subcompanyid1"));
|
||||
String e7supdepid = Util.null2String(e7DeptMap.get("e7supdepid"));
|
||||
String e7allsupdepid = Util.null2String(e7DeptMap.get("e7allsupdepid"));
|
||||
String e7canceled = Util.null2String(e7DeptMap.get("e7canceled"));
|
||||
String e7departmentcode = Util.null2String(e7DeptMap.get("e7departmentcode"));
|
||||
String e7tlevel = Util.null2String(e7DeptMap.get("e7tlevel"));
|
||||
String e7showorder = Util.null2String(e7DeptMap.get("e7showorder"));
|
||||
|
||||
if(!e7departmentmark.equals(departmentmark)
|
||||
|| !e7departmentname.equals(departmentname)
|
||||
|| !e7subcompanyid1.equals(subcompanyOutKey)
|
||||
|| !e7supdepid.equals(supdepidOutKey)
|
||||
|| !e7canceled.equals(canceled)
|
||||
|| !e7departmentcode.equals(departmentcode)
|
||||
|| !e7allsupdepid.equals(allsupdepidOutKey)
|
||||
|| !e7tlevel.equals(tlevel)
|
||||
|| !e7showorder.equals(showorder)
|
||||
){
|
||||
|
||||
E9Map.put("subcompanyid1", subcompanyOutKey);
|
||||
E9Map.put("supdepid", supdepidOutKey);
|
||||
E9Map.put("e7id", outkey);
|
||||
topUpdateList.add(E9Map);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(subcompanyOutKey) && E7SubcompanyList.contains(subcompanyOutKey) ) {
|
||||
if (StringUtils.isNotBlank(supdepidOutKey) && ("0".equals(supdepidOutKey) || E7DepartmentMap.containsKey(supdepidOutKey))){
|
||||
E9Map.put("subcompanyid1", subcompanyOutKey);
|
||||
E9Map.put("supdepid", supdepidOutKey);
|
||||
topInsertList.add(E9Map);
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
||||
if(StringUtils.isNotBlank(subcompanyOutKey) && E7SubcompanyList.contains(subcompanyOutKey) ) {
|
||||
if (StringUtils.isNotBlank(supdepidOutKey) && ("0".equals(supdepidOutKey) || E7DepartmentMap.containsKey(supdepidOutKey))){
|
||||
|
||||
E9Map.put("subcompanyid1", subcompanyOutKey);
|
||||
E9Map.put("supdepid", supdepidOutKey);
|
||||
topInsertList.add(E9Map);
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb.writeLog("topUpdateList:"+topUpdateList.size()+"</br>");
|
||||
bb.writeLog("topInsertList:"+topInsertList.size()+"</br>");
|
||||
|
||||
for(Map<String,Object> E9Map : topInsertList){
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String uuid = UUID.randomUUID().toString().replace("-","").toUpperCase();
|
||||
E9Map.put("uuid",uuid);
|
||||
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
try{
|
||||
boolean isTrue2 = false ;
|
||||
String insert_sql = " insert into hrmdepartment("+keyString+") values("+valueString+")";
|
||||
|
||||
String newE7Id = insertE7DepartmentData(rsd,insert_sql,uuid,insert_fail_count);
|
||||
bb.writeLog("insert_sql:"+insert_sql+" newE7Id:"+newE7Id+"</br>");
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
String up_sql = " update hrmdepartment set outkey="+newE7Id+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(up_sql);
|
||||
bb.writeLog("up_sql:"+up_sql+" isTrue2:"+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
|
||||
}catch (Exception e){
|
||||
bb.writeLog("");
|
||||
insert_exp_count++;
|
||||
}
|
||||
}
|
||||
|
||||
for(Map<String,Object> E9Map : topUpdateList){
|
||||
String e7id = Util.null2String(E9Map.get("e7id"));
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
}
|
||||
try{
|
||||
String update_sql = " update hrmdepartment set "+valuesStr+" where id = '"+e7id+"' ";
|
||||
boolean isTrue = updateE7DepartmentData(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" isTrue:"+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",update_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
|
||||
}catch (Exception e){
|
||||
update_exp_count++;
|
||||
}
|
||||
}
|
||||
List<Map<String,Object>> insertList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> updateList = new ArrayList<Map<String,Object>>();
|
||||
for(String departmentid : topList){
|
||||
if(StringUtils.isNotBlank(departmentid)){
|
||||
sql = " select id,departmentmark,departmentname,subcompanyid1,nvl(supdepid,0) supdepid,allsupdepid,canceled,departmentcode,outkey,tlevel,showorderoftree,showorder \n" +
|
||||
" from hrmdepartment \n" +
|
||||
" where 1=1 " + departmentwhere +
|
||||
" connect by prior id = supdepid \n" +
|
||||
" start with supdepid = "+departmentid;
|
||||
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
totle_count++;
|
||||
|
||||
String e9id = Util.null2String(rs.getString("id"));
|
||||
|
||||
String departmentmark = Util.null2String(rs.getString("departmentmark"));
|
||||
String departmentname = Util.null2String(rs.getString("departmentname"));
|
||||
String subcompanyid1 = Util.null2String(rs.getString("subcompanyid1"));
|
||||
String supdepid = Util.null2String(rs.getString("supdepid"));
|
||||
String allsupdepid = Util.null2String(rs.getString("allsupdepid"));
|
||||
String canceled = Util.null2String(rs.getString("canceled"));
|
||||
String departmentcode = Util.null2String(rs.getString("departmentcode"));
|
||||
String outkey = Util.null2String(rs.getString("outkey")); //E7的hrmsubcompany的ID
|
||||
|
||||
String tlevel = Util.null2String(rs.getString("tlevel"));
|
||||
String showorder = Util.null2String(rs.getString("showorder"));
|
||||
|
||||
Map<String,Object> E9Map = new HashMap<String, Object>();
|
||||
E9Map.put("e9id", e9id);
|
||||
E9Map.put("departmentname", departmentname);
|
||||
E9Map.put("departmentmark", departmentmark);
|
||||
E9Map.put("departmentcode", departmentcode);
|
||||
E9Map.put("tlevel", tlevel);
|
||||
E9Map.put("showorder", showorder);
|
||||
E9Map.put("canceled", canceled);
|
||||
|
||||
String subcompanyOutKey = "" ;
|
||||
if(subCompanyOutkeyMap.containsKey(subcompanyid1)){
|
||||
subcompanyOutKey = subCompanyOutkeyMap.get(subcompanyid1);
|
||||
}
|
||||
|
||||
String supdepidOutKey = "";
|
||||
if(StringUtils.isNotBlank(supdepid)){
|
||||
if("0".equals(supdepid) || "-1".equals(supdepid) || StringUtils.isBlank(supdepid)){
|
||||
supdepidOutKey = "0";
|
||||
}else{
|
||||
if(departmentOutkeyMap.containsKey(supdepid)){
|
||||
supdepidOutKey = departmentOutkeyMap.get(supdepid);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
supdepidOutKey = "0";
|
||||
}
|
||||
|
||||
String allsupdepidOutKey = "";
|
||||
if(StringUtils.isNotBlank(allsupdepid)){
|
||||
String[] supdepids = allsupdepid.split(",");
|
||||
for(int i=0;i<supdepids.length;i++){
|
||||
if(StringUtils.isNotBlank(supdepids[i])){
|
||||
if(departmentOutkeyMap.containsKey(supdepids[i])){
|
||||
String supdepid_OutKey = departmentOutkeyMap.get(supdepids[i]);
|
||||
allsupdepidOutKey += StringUtils.isBlank(allsupdepidOutKey) ? supdepid_OutKey : ","+supdepid_OutKey ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7DepartmentMap.containsKey(outkey)){
|
||||
if(StringUtils.isNotBlank(subcompanyOutKey) && E7SubcompanyList.contains(subcompanyOutKey) ) {
|
||||
if (StringUtils.isNotBlank(supdepidOutKey) && ("0".equals(supdepidOutKey) || E7DepartmentMap.containsKey(supdepidOutKey))){
|
||||
|
||||
Map<String,String> e7DeptMap = E7DepartmentMap.get(outkey);
|
||||
String e7departmentmark = Util.null2String(e7DeptMap.get("e7departmentmark"));
|
||||
String e7departmentname = Util.null2String(e7DeptMap.get("e7departmentname"));
|
||||
String e7subcompanyid1 = Util.null2String(e7DeptMap.get("e7subcompanyid1"));
|
||||
String e7supdepid = Util.null2String(e7DeptMap.get("e7supdepid"));
|
||||
String e7allsupdepid = Util.null2String(e7DeptMap.get("e7allsupdepid"));
|
||||
String e7canceled = Util.null2String(e7DeptMap.get("e7canceled"));
|
||||
String e7departmentcode = Util.null2String(e7DeptMap.get("e7departmentcode"));
|
||||
String e7tlevel = Util.null2String(e7DeptMap.get("e7tlevel"));
|
||||
String e7showorder = Util.null2String(e7DeptMap.get("e7showorder"));
|
||||
|
||||
if(!e7departmentmark.equals(departmentmark)
|
||||
|| !e7departmentname.equals(departmentname)
|
||||
|| !e7subcompanyid1.equals(subcompanyOutKey)
|
||||
|| !e7supdepid.equals(supdepidOutKey)
|
||||
|| !e7canceled.equals(canceled)
|
||||
|| !e7departmentcode.equals(departmentcode)
|
||||
|| !e7allsupdepid.equals(allsupdepidOutKey)
|
||||
|| !e7tlevel.equals(tlevel)
|
||||
|| !e7showorder.equals(showorder)
|
||||
){
|
||||
|
||||
E9Map.put("subcompanyid1", subcompanyOutKey);
|
||||
E9Map.put("supdepid", supdepidOutKey);
|
||||
E9Map.put("e7id", outkey);
|
||||
updateList.add(E9Map);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(subcompanyOutKey) && E7SubcompanyList.contains(subcompanyOutKey) ) {
|
||||
if (StringUtils.isNotBlank(supdepidOutKey) && ("0".equals(supdepidOutKey) || E7DepartmentMap.containsKey(supdepidOutKey))){
|
||||
E9Map.put("subcompanyid1", subcompanyOutKey);
|
||||
E9Map.put("supdepid", supdepidOutKey);
|
||||
insertList.add(E9Map);
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
||||
if(StringUtils.isNotBlank(subcompanyOutKey) && E7SubcompanyList.contains(subcompanyOutKey) ) {
|
||||
if (StringUtils.isNotBlank(supdepidOutKey) && ("0".equals(supdepidOutKey) || E7DepartmentMap.containsKey(supdepidOutKey))){
|
||||
|
||||
E9Map.put("subcompanyid1", subcompanyOutKey);
|
||||
E9Map.put("supdepid", supdepidOutKey);
|
||||
insertList.add(E9Map);
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}else{
|
||||
dataErrorList.add(e9id);
|
||||
data_error_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb.writeLog("insertList:"+insertList.size()+"</br>");
|
||||
bb.writeLog("updateList:"+updateList.size()+"</br>");
|
||||
|
||||
for(Map<String,Object> E9Map : insertList){
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
String uuid = UUID.randomUUID().toString().replace("-","").toUpperCase();
|
||||
E9Map.put("uuid",uuid);
|
||||
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
|
||||
boolean isTrue2 = false;
|
||||
String insert_sql = " insert into hrmdepartment("+keyString+") values("+valueString+")";
|
||||
String newE7Id = insertE7DepartmentData(rsd,insert_sql,uuid,insert_fail_count);
|
||||
bb.writeLog("insert_sql:"+insert_sql+" newE7Id:"+newE7Id+"</br>");
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
String up_sql = " update hrmdepartment set outkey="+newE7Id+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(up_sql);
|
||||
bb.writeLog("up_sql:"+up_sql+" isTrue2:"+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
for(Map<String,Object> E9Map : updateList){
|
||||
String e7id = Util.null2String(E9Map.get("e7id"));
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
}
|
||||
|
||||
String update_sql = "update hrmdepartment set "+valuesStr+" where id = '"+e7id+"' ";
|
||||
|
||||
boolean isTrue = updateE7DepartmentData(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" isTrue:"+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",update_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
try{
|
||||
String bmtbjg = "部门共:"+totle_count+"行数据,数据一致工:"+unchanged_count+"。新增成功:"+insert_success_count+",新增失败:"+insert_fail_count+",新增异常:"+insert_exp_count+"。"+
|
||||
"更新成功:"+update_success_count+",更新失败:"+update_fail_count+",更新异常:"+update_exp_count+"。"+
|
||||
"数据异常(ID在E7中不存在):"+data_error_count ;
|
||||
|
||||
Map<String,String> mainMap = new HashMap<String,String>();
|
||||
mainMap.put("bmtbjg",bmtbjg);
|
||||
if(dataErrorList.size() > 0 ){
|
||||
|
||||
if(dataErrorList.size() <= 150){
|
||||
String bmycsj = String.join(",", dataErrorList);
|
||||
mainMap.put("bmycsj",bmycsj);
|
||||
}else{
|
||||
String bmycsj = String.join(",", dataErrorList.subList(0,150));
|
||||
mainMap.put("bmycsj",bmycsj);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
recordSynMainlog(mainid,mainMap);
|
||||
if(StringUtils.isNotBlank(mainid)){
|
||||
insertLogDetail2(mainid,sqlList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private String insertE7DepartmentData(RecordSetDataSource rsd,String insert_sql,String uuid,int insert_fail_count){
|
||||
String newE7Id = "";
|
||||
boolean isTrue = rsd.execute(insert_sql);
|
||||
if(isTrue){
|
||||
String sql = " select id from hrmdepartment where uuid = '"+uuid+"' ";
|
||||
rsd.executeSql(sql);
|
||||
if(rsd.next()){
|
||||
newE7Id = Util.null2String(rsd.getString("id"));
|
||||
}
|
||||
}else{
|
||||
insert_fail_count++;
|
||||
}
|
||||
return newE7Id;
|
||||
}
|
||||
|
||||
|
||||
private boolean updateE7DepartmentData(RecordSetDataSource rsd,String update_sql){
|
||||
boolean isTrue = rsd.execute(update_sql);
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
private Map<String,String> getE9SubcompanyOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> outkeyMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmsubcompany " ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
outkeyMap.put(id,outkey);
|
||||
}
|
||||
return outkeyMap;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,String> getE9DepartmentOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> outkeyMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmdepartment " ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
outkeyMap.put(id,outkey);
|
||||
}
|
||||
return outkeyMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private Map<String,Map<String,String>> getE7DepartmentData(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
Map<String,Map<String,String>> E7DepartmentMap = new HashMap<String,Map<String,String>>();
|
||||
String sql = " select id,departmentmark,departmentname,subcompanyid1,supdepid,allsupdepid,canceled,departmentcode,tlevel,showorder from hrmdepartment " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String e7departmentmark = Util.null2String(rsd.getString("departmentmark"));
|
||||
String e7departmentname = Util.null2String(rsd.getString("departmentname"));
|
||||
String e7subcompanyid1 = Util.null2String(rsd.getString("subcompanyid1"));
|
||||
String e7supdepid = Util.null2String(rsd.getString("supdepid"));
|
||||
String e7allsupdepid = Util.null2String(rsd.getString("allsupdepid"));
|
||||
String e7canceled = Util.null2String(rsd.getString("canceled"));
|
||||
String e7departmentcode = Util.null2String(rsd.getString("departmentcode"));
|
||||
String e7tlevel = Util.null2String(rsd.getString("tlevel"));
|
||||
String e7showorder = Util.null2String(rsd.getString("showorder"));
|
||||
|
||||
Map<String,String> deptMap= new HashMap<String,String>();
|
||||
deptMap.put("e7departmentmark",e7departmentmark);
|
||||
deptMap.put("e7departmentname",e7departmentname);
|
||||
deptMap.put("e7subcompanyid1",e7subcompanyid1);
|
||||
deptMap.put("e7supdepid",e7supdepid);
|
||||
deptMap.put("e7allsupdepid",e7allsupdepid);
|
||||
deptMap.put("e7canceled",e7canceled);
|
||||
deptMap.put("e7departmentcode",e7departmentcode);
|
||||
deptMap.put("e7tlevel",e7tlevel);
|
||||
deptMap.put("e7showorder",e7showorder);
|
||||
|
||||
E7DepartmentMap.put(id,deptMap);
|
||||
}
|
||||
return E7DepartmentMap;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private List<String> getE7HrmSubcompanyList(String dataResource){
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7SubcompanyList = new ArrayList<String>();
|
||||
String sql = " select id from hrmsubcompany " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7SubcompanyList.add(id);
|
||||
}
|
||||
return E7SubcompanyList;
|
||||
}
|
||||
|
||||
private String recordSynMainlog(String id,Map<String,String> mainMap){
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataid = "" ;
|
||||
String uf_table = "uf_zzjgtbrz";
|
||||
String modedatacreater = "1";
|
||||
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
|
||||
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
|
||||
String modedatacreatedate = sdfDate.format(new Date());
|
||||
String modedatacreatetime = sdfTime.format(new Date());
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+uf_table+"' " ;
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(id)){
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainMap.put("uuid",uuid);
|
||||
mainMap.put("formmodeid",formmodeid);
|
||||
mainMap.put("modedatacreater",modedatacreater);
|
||||
mainMap.put("modedatacreatertype",modedatacreatertype);
|
||||
mainMap.put("modedatacreatedate",modedatacreatedate);
|
||||
mainMap.put("modedatacreatetime",modedatacreatetime);
|
||||
|
||||
String tablename = "" ;
|
||||
String tablenvalue = "" ;
|
||||
for (Map.Entry<String, String> entry : mainMap.entrySet())
|
||||
{
|
||||
String fieldname = Util.null2String(entry.getKey()).trim();
|
||||
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
|
||||
tablename += tablename==""? fieldname :","+fieldname ;
|
||||
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
|
||||
}
|
||||
if(tablename !="" && tablenvalue !="")
|
||||
{
|
||||
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
|
||||
boolean boo = rs.execute(sql);
|
||||
bb.writeLog("insert-istrue:"+boo);
|
||||
if(boo)
|
||||
{
|
||||
|
||||
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("dataid:"+dataid);
|
||||
if(!"".equals(dataid))
|
||||
{
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
dataid = id ;
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, String>> it = mainMap.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, String> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
if(StringUtils.isNotBlank(valuesStr)){
|
||||
sql = "update "+uf_table+" set " + valuesStr + " where id = "+id+"";
|
||||
boolean isTrue = rs.execute(sql);
|
||||
bb.writeLog("update-istrue:"+isTrue);
|
||||
}
|
||||
}
|
||||
return dataid;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* @param dt1List
|
||||
* @param mainid
|
||||
*/
|
||||
private void insertLogDetail2(String mainid, List<Map<String,String>> dt1List){
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
for(int i=0;i<dt1List.size();i++){
|
||||
Map<String,String> dt1Map = dt1List.get(i);
|
||||
String dataid = dt1Map.get("dataid");
|
||||
String zxyj = dt1Map.get("zxyj");
|
||||
if(StringUtils.isNotBlank(zxyj) && zxyj.contains("'")){
|
||||
zxyj = zxyj.replace("'", "''");
|
||||
}
|
||||
String zxjg = dt1Map.get("zxjg");
|
||||
|
||||
String sql = " insert into uf_zzjgtbrz_dt2(mainid,bmid,zxyj,zxjg) values("+mainid+",'"+dataid+"','"+zxyj+"','"+zxjg+"')" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
boolean istrue = rs.executeUpdate(sql);
|
||||
bb.writeLog("istrue:"+istrue);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,413 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
public class HrmSynJobActivitiesUtil {
|
||||
|
||||
public void SynHrmJobActivitiesData(String dataResource,String mainid,String jobactivitiesWhere){
|
||||
BaseBean bb = new BaseBean();
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
int totle_count = 0;
|
||||
int update_success_count = 0;
|
||||
int update_fail_count = 0;
|
||||
int update_exp_count = 0;
|
||||
|
||||
int insert_success_count = 0;
|
||||
int insert_fail_count = 0;
|
||||
int insert_exp_count = 0;
|
||||
|
||||
int unchanged_count = 0;
|
||||
int data_error_count = 0;
|
||||
|
||||
List<String> dataErrorList = new ArrayList<String>();
|
||||
List<Map<String,String>> sqlList = new ArrayList<Map<String,String>>();
|
||||
|
||||
|
||||
Map<String,Map<String,String>> E7ActivitiesMap = getE7HrmActivitiesList2(dataResource) ;
|
||||
Map<String,String> E9GroupMap = getE9HrmGroupData();
|
||||
List<String> E7GroupMap = getE7HrmGroupData(dataResource);
|
||||
|
||||
bb.writeLog("E7ActivitiesMap:"+E7ActivitiesMap.size()+"</br>");
|
||||
bb.writeLog("E9GroupMap:"+E9GroupMap.size()+"</br>");
|
||||
bb.writeLog("E7GroupMap:"+E7GroupMap.size()+"</br>");
|
||||
|
||||
List<Map<String,Object>> insertGroupList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> updateGroupList = new ArrayList<Map<String,Object>>();
|
||||
String sql = " select * from hrmjobactivities where id in(select h.jobactivityid from hrmjobtitles h) " + jobactivitiesWhere;
|
||||
rs.execute(sql);
|
||||
while(rs.next()){
|
||||
totle_count++;
|
||||
|
||||
String e9id = Util.null2String(rs.getString("id"));
|
||||
String jobactivitymark = Util.null2String(rs.getString("jobactivitymark"));
|
||||
String jobactivityname = Util.null2String(rs.getString("jobactivityname"));
|
||||
String jobgroupid = Util.null2String(rs.getString("jobgroupid"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
|
||||
Map<String,Object> groupMap = new HashMap<String,Object>();
|
||||
groupMap.put("e9id",e9id);
|
||||
groupMap.put("jobactivitymark",jobactivitymark);
|
||||
groupMap.put("jobactivityname",jobactivityname);
|
||||
|
||||
String E9GroupOutkey = "";
|
||||
if(StringUtils.isNotBlank(jobgroupid)){
|
||||
if(E9GroupMap.containsKey(jobgroupid)){
|
||||
E9GroupOutkey = E9GroupMap.get(jobgroupid);
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7GroupMap.contains(E9GroupOutkey)){
|
||||
if(E7ActivitiesMap.containsKey(outkey)){
|
||||
Map<String,String> activitiesMap = E7ActivitiesMap.get(outkey);
|
||||
|
||||
String e7jobactivitymark = Util.null2String(activitiesMap.get("e7jobactivitymark"));
|
||||
String e7jobactivityname = Util.null2String(activitiesMap.get("e7jobactivityname"));
|
||||
String e7jobgroupid = Util.null2String(activitiesMap.get("e7jobgroupid"));
|
||||
|
||||
if(!e7jobactivitymark.equals(jobactivitymark)
|
||||
|| !e7jobactivityname.equals(jobactivityname)
|
||||
|| !e7jobgroupid.equals(E9GroupOutkey)
|
||||
){
|
||||
groupMap.put("jobgroupid",E9GroupOutkey);
|
||||
groupMap.put("e7id",outkey);
|
||||
updateGroupList.add(groupMap);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
insertGroupList.add(groupMap);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
if(E7GroupMap.contains(E9GroupOutkey)){
|
||||
insertGroupList.add(groupMap);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}
|
||||
}
|
||||
bb.writeLog("updateGroupList:"+updateGroupList.size());
|
||||
bb.writeLog("insertGroupList:"+insertGroupList.size());
|
||||
|
||||
for(Map<String,Object> item : insertGroupList)
|
||||
{
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e9id".equals(key) && !"e7id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
|
||||
}
|
||||
boolean isTrue2 = false;
|
||||
String insert_sql = " insert into hrmjobactivities("+keyString+") values("+valueString+")";
|
||||
String newE7Id = insertE7Data(rsd,insert_sql,insert_fail_count);
|
||||
bb.writeLog("newE7Id:"+newE7Id+"</br>");
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
sql = "update hrmjobactivities set outkey="+newE7Id+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(sql);
|
||||
bb.writeLog("sql:"+sql+" "+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
for(Map<String,Object> item : updateGroupList) {
|
||||
String e7id = Util.null2String(item.get("e7id"));
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e9id".equals(key) && !"e7id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key + "='" + value + "'" : "," + key + "='" + value + "'";
|
||||
}
|
||||
}
|
||||
String update_sql = "update hrmjobactivities set " + valuesStr + " where id = '" + e7id + "' ";
|
||||
boolean isTrue = updateE7Data(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" "+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",update_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
try{
|
||||
String zztbjg = "职责共:"+totle_count+"行数据,数据一致工:"+unchanged_count+"。新增成功:"+insert_success_count+",新增失败:"+insert_fail_count+",新增异常:"+insert_exp_count+"。"+
|
||||
"更新成功:"+update_success_count+",更新失败:"+update_fail_count+",更新异常:"+update_exp_count+"。"+
|
||||
"数据异常(ID在E7中不存在):"+data_error_count ;
|
||||
|
||||
|
||||
Map<String,String> mainMap = new HashMap<String,String>();
|
||||
mainMap.put("zztbjg",zztbjg);
|
||||
if(dataErrorList.size() > 0){
|
||||
|
||||
if(dataErrorList.size()<=150){
|
||||
String zzycsj = String.join(",", dataErrorList);
|
||||
mainMap.put("zzycsj",zzycsj);
|
||||
}else{
|
||||
String zzycsj = String.join(",", dataErrorList.subList(0,150));
|
||||
mainMap.put("zzycsj",zzycsj);
|
||||
}
|
||||
|
||||
}
|
||||
recordSynMainlog(mainid,mainMap);
|
||||
|
||||
bb.writeLog("mainid:"+mainid);
|
||||
if(StringUtils.isNotBlank(mainid)){
|
||||
insertLogDetail4(mainid,sqlList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private List<String> getE7HrmActivitiesList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> groupList = new ArrayList<String>();
|
||||
String sql = " select id from hrmjobactivities " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
groupList.add(id);
|
||||
}
|
||||
return groupList;
|
||||
}
|
||||
|
||||
|
||||
private List<String> getE7HrmGroupData(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> groupList = new ArrayList<String>();
|
||||
String sql = " select id from hrmjobgroups " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
groupList.add(id);
|
||||
}
|
||||
return groupList;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private Map<String,String> getE9HrmGroupData(){
|
||||
|
||||
RecordSet rsd = new RecordSet();
|
||||
Map<String,String> groupMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmjobgroups" ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String outkey = Util.null2String(rsd.getString("outkey"));
|
||||
groupMap.put(id,outkey);
|
||||
}
|
||||
return groupMap;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,Map<String,String>> getE7HrmActivitiesList2(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
Map<String,Map<String,String>> E7ActivitiesMap = new HashMap<String,Map<String,String>>();
|
||||
String sql =" select id,jobactivitymark,jobactivityname,jobgroupid \n" +
|
||||
" from hrmjobactivities \n" ;
|
||||
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String e7jobactivitymark = Util.null2String(rsd.getString("jobactivitymark"));
|
||||
String e7jobactivityname = Util.null2String(rsd.getString("jobactivityname"));
|
||||
String e7jobgroupid = Util.null2String(rsd.getString("jobgroupid"));
|
||||
|
||||
Map<String,String> activitiesMap = new HashMap<String,String>();
|
||||
activitiesMap.put("e7jobactivitymark",e7jobactivitymark);
|
||||
activitiesMap.put("e7jobactivityname",e7jobactivityname);
|
||||
activitiesMap.put("e7jobgroupid",e7jobgroupid);
|
||||
E7ActivitiesMap.put(id,activitiesMap);
|
||||
}
|
||||
return E7ActivitiesMap;
|
||||
}
|
||||
|
||||
|
||||
private String insertE7Data(RecordSetDataSource rsd,String insert_sql,int insert_fail_count){
|
||||
String newE7Id = "";
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("insert-sql:"+insert_sql);
|
||||
boolean isTrue = rsd.execute(insert_sql);
|
||||
if(isTrue){
|
||||
String sql = " select max(id) as id from hrmjobactivities ";
|
||||
rsd.executeSql(sql);
|
||||
if(rsd.next()){
|
||||
newE7Id = Util.null2String(rsd.getString("id"));
|
||||
}
|
||||
}else{
|
||||
insert_fail_count++;
|
||||
}
|
||||
return newE7Id;
|
||||
}
|
||||
|
||||
|
||||
private boolean updateE7Data(RecordSetDataSource rsd,String update_sql){
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("update-sql:"+update_sql);
|
||||
boolean isTrue = rsd.execute(update_sql);
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
|
||||
private String recordSynMainlog(String id,Map<String,String> mainMap){
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataid = "" ;
|
||||
String uf_table = "uf_zzjgtbrz";
|
||||
String modedatacreater = "1";
|
||||
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
|
||||
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
|
||||
String modedatacreatedate = sdfDate.format(new Date());
|
||||
String modedatacreatetime = sdfTime.format(new Date());
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+uf_table+"' " ;
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(id)){
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainMap.put("uuid",uuid);
|
||||
mainMap.put("formmodeid",formmodeid);
|
||||
mainMap.put("modedatacreater",modedatacreater);
|
||||
mainMap.put("modedatacreatertype",modedatacreatertype);
|
||||
mainMap.put("modedatacreatedate",modedatacreatedate);
|
||||
mainMap.put("modedatacreatetime",modedatacreatetime);
|
||||
|
||||
String tablename = "" ;
|
||||
String tablenvalue = "" ;
|
||||
for (Map.Entry<String, String> entry : mainMap.entrySet())
|
||||
{
|
||||
String fieldname = Util.null2String(entry.getKey()).trim();
|
||||
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
|
||||
tablename += tablename==""? fieldname :","+fieldname ;
|
||||
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
|
||||
}
|
||||
if(tablename !="" && tablenvalue !="")
|
||||
{
|
||||
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
|
||||
boolean boo = rs.execute(sql);
|
||||
bb.writeLog("insert-istrue:"+boo);
|
||||
if(boo)
|
||||
{
|
||||
|
||||
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("dataid:"+dataid);
|
||||
if(!"".equals(dataid))
|
||||
{
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
dataid = id ;
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, String>> it = mainMap.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, String> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(valuesStr)){
|
||||
sql = "update "+uf_table+" set " + valuesStr + " where id = "+id+"";
|
||||
boolean isTrue = rs.execute(sql);
|
||||
bb.writeLog("update-istrue:"+isTrue);
|
||||
}
|
||||
}
|
||||
return dataid;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @param dt1List
|
||||
* @param mainid
|
||||
*/
|
||||
private void insertLogDetail4(String mainid,List<Map<String,String>> dt1List){
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
for(int i=0;i<dt1List.size();i++){
|
||||
Map<String,String> dt1Map = dt1List.get(i);
|
||||
String dataid = dt1Map.get("dataid");
|
||||
String zxyj = dt1Map.get("zxyj");
|
||||
if(StringUtils.isNotBlank(zxyj) && zxyj.contains("'")){
|
||||
zxyj = zxyj.replace("'", "''");
|
||||
}
|
||||
String zxjg = dt1Map.get("zxjg");
|
||||
|
||||
String sql = " insert into uf_zzjgtbrz_dt4(mainid,zzid,zxyj,zxjg) values("+mainid+",'"+dataid+"','"+zxyj+"','"+zxjg+"')" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
boolean istrue = rs.executeUpdate(sql);
|
||||
bb.writeLog("istrue:"+istrue);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,308 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class HrmSynJobGroupUtil {
|
||||
|
||||
public void SynHrmJobGroupData(String dataResource,String mainid,String jobgroupWhere){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
BaseBean bb = new BaseBean();
|
||||
int totle_count = 0;
|
||||
int update_success_count = 0;
|
||||
int update_fail_count = 0;
|
||||
int update_exp_count = 0;
|
||||
|
||||
int insert_success_count = 0;
|
||||
int insert_fail_count = 0;
|
||||
int insert_exp_count = 0;
|
||||
|
||||
int unchanged_count = 0;
|
||||
int data_error_count = 0;
|
||||
|
||||
List<Map<String,String>> sqlList = new ArrayList<Map<String,String>>();
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,Map<String,String>> E7GroupMap = getE7HrmGroupList2(dataResource);
|
||||
List<Map<String,Object>> insertGroupList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> updateGroupList = new ArrayList<Map<String,Object>>();
|
||||
String sql = " select id,jobgroupname,jobgroupremark,outkey from hrmjobgroups where 1=1 "+jobgroupWhere;
|
||||
rs.execute(sql);
|
||||
while(rs.next()){
|
||||
totle_count++;
|
||||
|
||||
String e9id = Util.null2String(rs.getString("id"));
|
||||
String jobgroupname = Util.null2String(rs.getString("jobgroupname"));
|
||||
String jobgroupremark = Util.null2String(rs.getString("jobgroupremark"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
|
||||
Map<String,Object> groupMap = new HashMap<String,Object>();
|
||||
groupMap.put("e9id",e9id);
|
||||
groupMap.put("jobgroupname",jobgroupname);
|
||||
groupMap.put("jobgroupremark",jobgroupremark);
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7GroupMap.containsKey(outkey)){
|
||||
|
||||
Map<String,String> e7Map = E7GroupMap.get(outkey);
|
||||
String e7jobgroupname = e7Map.get("e7jobgroupname");
|
||||
String e7jobgroupremark = e7Map.get("e7jobgroupremark");
|
||||
if(!e7jobgroupname.equals(jobgroupname) || !e7jobgroupremark.equals(jobgroupremark)){
|
||||
groupMap.put("e7id",outkey);
|
||||
updateGroupList.add(groupMap);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
insertGroupList.add(groupMap);
|
||||
}
|
||||
}else{
|
||||
insertGroupList.add(groupMap);
|
||||
}
|
||||
}
|
||||
bb.writeLog("updateGroupList:"+updateGroupList.size());
|
||||
bb.writeLog("insertGroupList:"+insertGroupList.size());
|
||||
|
||||
for(Map<String,Object> item : insertGroupList)
|
||||
{
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
boolean isTrue2 = false;
|
||||
String insert_sql = " insert into hrmjobgroups("+keyString+") values("+valueString+")";
|
||||
String newE7Id = insertE7Data(rsd,insert_sql,insert_fail_count);
|
||||
bb.writeLog("insert_sql:"+insert_sql+" , newE7Id"+newE7Id+"</br>");
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
String up_sql = " update hrmjobgroups set outkey="+newE7Id+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(up_sql);
|
||||
bb.writeLog("up_sql:"+up_sql+" , isTrue2"+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
|
||||
}
|
||||
|
||||
for(Map<String,Object> item : updateGroupList) {
|
||||
String e7id = Util.null2String(item.get("e7id"));
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key + "='" + value + "'" : "," + key + "='" + value + "'";
|
||||
}
|
||||
}
|
||||
String update_sql = " update hrmjobgroups set " + valuesStr + " where id = '" + e7id + "' ";
|
||||
boolean isTrue = updateE7Data(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" , isTrue:"+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",update_sql);
|
||||
sqlMap.put("fbid",e9id);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
try{
|
||||
String zwlxtbjg ="职务类型共:"+totle_count+"行数据,数据一致工:"+unchanged_count+"。新增成功:"+insert_success_count+",新增失败:"+insert_fail_count+",新增异常:"+insert_exp_count+"。"+
|
||||
"更新成功:"+update_success_count+",更新失败:"+update_fail_count+",更新异常:"+update_exp_count+"。"+
|
||||
"数据异常(ID在E7中不存在):"+data_error_count ;
|
||||
|
||||
Map<String,String> mainMap = new HashMap<String,String>();
|
||||
mainMap.put("zwlxtbjg",zwlxtbjg);
|
||||
recordSynMainlog(mainid,mainMap);
|
||||
if(StringUtils.isNotBlank(mainid)){
|
||||
insertLogDetail3(mainid,sqlList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private Map<String,Map<String,String>> getE7HrmGroupList2(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
Map<String,Map<String,String>> E7GroupMap = new HashMap<String,Map<String,String>>();
|
||||
String sql = " select id,jobgroupname,jobgroupremark from hrmjobgroups" ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String jobgroupname = Util.null2String(rsd.getString("jobgroupname"));
|
||||
String jobgroupremark = Util.null2String(rsd.getString("jobgroupremark"));
|
||||
|
||||
Map<String,String> groupMap = new HashMap<String,String>();
|
||||
groupMap.put("e7jobgroupname",jobgroupname);
|
||||
groupMap.put("e7jobgroupremark",jobgroupremark);
|
||||
E7GroupMap.put(id,groupMap);
|
||||
}
|
||||
return E7GroupMap;
|
||||
}
|
||||
|
||||
|
||||
private String insertE7Data(RecordSetDataSource rsd,String insert_sql,int insert_fail_count){
|
||||
String newE7Id = "";
|
||||
boolean isTrue = rsd.execute(insert_sql);
|
||||
if(isTrue){
|
||||
String sql = " select max(id) as id from hrmjobgroups ";
|
||||
rsd.executeSql(sql);
|
||||
if(rsd.next()){
|
||||
newE7Id = Util.null2String(rsd.getString("id"));
|
||||
}
|
||||
}else{
|
||||
insert_fail_count++;
|
||||
}
|
||||
return newE7Id;
|
||||
}
|
||||
|
||||
|
||||
private boolean updateE7Data(RecordSetDataSource rsd,String update_sql){
|
||||
boolean isTrue = rsd.execute(update_sql);
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
|
||||
private String recordSynMainlog(String id,Map<String,String> mainMap){
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataid = "" ;
|
||||
String uf_table = "uf_zzjgtbrz";
|
||||
String modedatacreater = "1";
|
||||
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
|
||||
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
|
||||
String modedatacreatedate = sdfDate.format(new Date());
|
||||
String modedatacreatetime = sdfTime.format(new Date());
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+uf_table+"' " ;
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(id)){
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainMap.put("uuid",uuid);
|
||||
mainMap.put("formmodeid",formmodeid);
|
||||
mainMap.put("modedatacreater",modedatacreater);
|
||||
mainMap.put("modedatacreatertype",modedatacreatertype);
|
||||
mainMap.put("modedatacreatedate",modedatacreatedate);
|
||||
mainMap.put("modedatacreatetime",modedatacreatetime);
|
||||
|
||||
String tablename = "" ;
|
||||
String tablenvalue = "" ;
|
||||
for (Map.Entry<String, String> entry : mainMap.entrySet())
|
||||
{
|
||||
String fieldname = Util.null2String(entry.getKey()).trim();
|
||||
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
|
||||
tablename += tablename==""? fieldname :","+fieldname ;
|
||||
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
|
||||
}
|
||||
if(tablename !="" && tablenvalue !="")
|
||||
{
|
||||
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
|
||||
boolean boo = rs.execute(sql);
|
||||
bb.writeLog("insert-istrue:"+boo);
|
||||
if(boo)
|
||||
{
|
||||
|
||||
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("dataid:"+dataid);
|
||||
if(!"".equals(dataid))
|
||||
{
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
dataid = id ;
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, String>> it = mainMap.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, String> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(valuesStr)){
|
||||
sql = "update "+uf_table+" set " + valuesStr + " where id = "+id+"";
|
||||
boolean isTrue = rs.execute(sql);
|
||||
bb.writeLog("update-istrue:"+isTrue);
|
||||
}
|
||||
}
|
||||
return dataid;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @param dt1List
|
||||
* @param mainid
|
||||
*/
|
||||
private void insertLogDetail3(String mainid, List<Map<String,String>> dt1List){
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
for(int i=0;i<dt1List.size();i++){
|
||||
Map<String,String> dt1Map = dt1List.get(i);
|
||||
String dataid = dt1Map.get("dataid");
|
||||
String zxyj = dt1Map.get("zxyj");
|
||||
if(StringUtils.isNotBlank(zxyj) && zxyj.contains("'")){
|
||||
zxyj = zxyj.replace("'", "''");
|
||||
}
|
||||
String zxjg = dt1Map.get("zxjg");
|
||||
|
||||
String sql = " insert into uf_zzjgtbrz_dt3(mainid,zwlxid,zxyj,zxjg) values("+mainid+",'"+dataid+"','"+zxyj+"','"+zxjg+"')" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
boolean istrue = rs.executeUpdate(sql);
|
||||
bb.writeLog("istrue:"+istrue);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,457 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
public class HrmSynJobTitlesUtil {
|
||||
|
||||
|
||||
public void SynHrmJobTitlesData(String dataResource,String mainid,String jobTitlesWhere){
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
int totle_count = 0;
|
||||
int update_success_count = 0;
|
||||
int update_fail_count = 0;
|
||||
int update_exp_count = 0;
|
||||
int insert_success_count = 0;
|
||||
int insert_fail_count = 0;
|
||||
int insert_exp_count = 0;
|
||||
|
||||
int unchanged_count = 0;
|
||||
int data_error_count = 0;
|
||||
|
||||
List<String> dataErrorList = new ArrayList<String>();
|
||||
List<Map<String,String>> sqlList = new ArrayList<Map<String,String>>();
|
||||
|
||||
List<Map<String,Object>> insertTitleList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> updateTitleList = new ArrayList<Map<String,Object>>();
|
||||
|
||||
Map<String,String> E9JobActivitiesMap = getE9HrmJobActivitiesList();
|
||||
Map<String,String> E9DepartmentMap = getE9DepartmentOutkey();
|
||||
List<String> E7HrmactivitiesList = getE7HrmActivitiesList(dataResource);
|
||||
|
||||
bb.writeLog("=====E9JobActivitiesMap:"+E9JobActivitiesMap.size()+"</br>");
|
||||
bb.writeLog("=====E9DepartmentMap:"+E9DepartmentMap.size()+""+"</br>");
|
||||
bb.writeLog("=====E7HrmactivitiesList:"+E7HrmactivitiesList.size()+""+"</br>");
|
||||
|
||||
Map<String,Map<String,String>> E7JobTitlesMap = getE7HrmTitlesList2(dataResource);
|
||||
bb.writeLog("=====E7JobTitlesMap:"+E7JobTitlesMap.size()+""+"</br>");
|
||||
String sql =" select t.id,t.jobtitlemark,t.jobtitlename,t.jobactivityid,t.jobdepartmentid,t.outkey,t.jobtitlecode \n" +
|
||||
" from hrmjobtitles t\n" +
|
||||
" where t.jobdepartmentid is not null "+jobTitlesWhere ;
|
||||
bb.writeLog("==SynHrmJobTitlesData===sql:"+sql+""+"</br>");
|
||||
rs.execute(sql);
|
||||
while(rs.next()) {
|
||||
totle_count++;
|
||||
|
||||
String e9id = Util.null2String(rs.getString("id"));
|
||||
String jobtitlename = Util.null2String(rs.getString("jobtitlename")).trim();
|
||||
String jobtitlemark = Util.null2String(rs.getString("jobtitlemark")).trim();
|
||||
String jobactivityid = Util.null2String(rs.getString("jobactivityid"));
|
||||
String jobdepartmentid = Util.null2String(rs.getString("jobdepartmentid"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
String jobtitlecode = Util.null2String(rs.getString("jobtitlecode"));
|
||||
String departmentid = Util.null2String(rs.getString("jobtitlecode"));
|
||||
|
||||
Map<String,Object> E9Map = new HashMap<String,Object>();
|
||||
E9Map.put("e9id", e9id);
|
||||
E9Map.put("jobtitlename", jobtitlename);
|
||||
E9Map.put("jobtitlemark", jobtitlemark);
|
||||
E9Map.put("jobtitlecode", jobtitlecode);
|
||||
|
||||
String jobactivityOutkey = "";
|
||||
if(StringUtils.isNotBlank(jobactivityid)){
|
||||
if(E9JobActivitiesMap.containsKey(jobactivityid)){
|
||||
jobactivityOutkey = E9JobActivitiesMap.get(jobactivityid);
|
||||
}
|
||||
}
|
||||
|
||||
String departmentOutkey = "";
|
||||
if(StringUtils.isNotBlank(jobdepartmentid)){
|
||||
if(E9DepartmentMap.containsKey(jobdepartmentid)){
|
||||
departmentOutkey = E9DepartmentMap.get(jobdepartmentid);
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7JobTitlesMap.containsKey(outkey)){
|
||||
if(StringUtils.isNotBlank(jobactivityOutkey) && E7HrmactivitiesList.contains(jobactivityOutkey)){
|
||||
Map<String,String> jobTitlesMap = E7JobTitlesMap.get(outkey);
|
||||
String e7jobtitlemark = Util.null2String(jobTitlesMap.get("e7jobtitlemark")).trim();
|
||||
String e7jobtitlename = Util.null2String(jobTitlesMap.get("e7jobtitlename")).trim();
|
||||
String e7jobactivityid = Util.null2String(jobTitlesMap.get("e7jobactivityid")).trim();
|
||||
String e7jobdepartmentid = Util.null2String(jobTitlesMap.get("e7jobdepartmentid")).trim();
|
||||
String e7jobtitlecode = Util.null2String(jobTitlesMap.get("e7jobtitlecode")).trim();
|
||||
if(!e7jobtitlemark.equals(jobtitlemark)
|
||||
|| !e7jobtitlename.equals(jobtitlename)
|
||||
|| !e7jobactivityid.equals(jobactivityOutkey)
|
||||
|| !e7jobdepartmentid.equals(departmentOutkey)
|
||||
|| !e7jobtitlecode.equals(jobtitlecode)
|
||||
){
|
||||
E9Map.put("e7id", outkey);
|
||||
E9Map.put("jobdepartmentid", departmentOutkey);
|
||||
E9Map.put("jobactivityid", jobactivityOutkey);
|
||||
updateTitleList.add(E9Map);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(jobactivityOutkey) && E7HrmactivitiesList.contains(jobactivityOutkey)){
|
||||
E9Map.put("jobdepartmentid", departmentOutkey);
|
||||
E9Map.put("jobactivityid", jobactivityOutkey);
|
||||
insertTitleList.add(E9Map);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(jobactivityOutkey) && E7HrmactivitiesList.contains(jobactivityOutkey)){
|
||||
E9Map.put("jobdepartmentid", departmentOutkey);
|
||||
E9Map.put("jobactivityid", jobactivityOutkey);
|
||||
insertTitleList.add(E9Map);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb.writeLog("updateTitleList:"+updateTitleList.size());
|
||||
bb.writeLog("insertTitleList:"+insertTitleList.size());
|
||||
|
||||
for(Map<String,Object> item : insertTitleList)
|
||||
{
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
|
||||
boolean isTrue2 = false;
|
||||
String insert_sql = " insert into hrmjobtitles("+keyString+") values("+valueString+")";
|
||||
bb.writeLog("insert_sql:"+insert_sql+"</br>");
|
||||
String newE7Id = insertE7Data(rsd,insert_sql,insert_fail_count);
|
||||
bb.writeLog("newE7Id:"+newE7Id+"</br>");
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
sql = "update hrmjobtitles set outkey= '"+newE7Id+"' where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(sql);
|
||||
bb.writeLog("sql:"+sql+" "+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
for(Map<String,Object> item : updateTitleList) {
|
||||
String e7id = Util.null2String(item.get("e7id"));
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key + "='" + value + "'" : "," + key + "='" + value + "'";
|
||||
}
|
||||
}
|
||||
|
||||
String update_sql = " update hrmjobtitles set "+valuesStr+" where id = '"+e7id+"' ";
|
||||
boolean isTrue = updateE7SubcompanyData(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" "+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",sql);
|
||||
sqlMap.put("dataid",update_sql);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
try{
|
||||
String gwtbjg = "岗位共:"+totle_count+"行数据,数据一致工:"+unchanged_count+"。新增成功:"+insert_success_count+",新增失败:"+insert_fail_count+",新增异常:"+insert_exp_count+"。"+
|
||||
"更新成功:"+update_success_count+",更新失败:"+update_fail_count+",更新异常:"+update_exp_count+"。"+
|
||||
"数据异常(ID在E7中不存在):"+data_error_count ;
|
||||
|
||||
Map<String,String> mainMap = new HashMap<String,String>();
|
||||
mainMap.put("gwtbjg",gwtbjg);
|
||||
if(dataErrorList.size() > 0 ){
|
||||
if(dataErrorList.size() <= 150){
|
||||
String gwycsj = String.join(",", dataErrorList);
|
||||
mainMap.put("gwycsj",gwycsj);
|
||||
}else{
|
||||
String gwycsj = String.join(",", dataErrorList.subList(0,150));
|
||||
mainMap.put("gwycsj",gwycsj);
|
||||
}
|
||||
}
|
||||
recordSynMainlog(mainid,mainMap);
|
||||
if(StringUtils.isNotBlank(mainid)){
|
||||
insertLogDetail5(mainid,sqlList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Map<String,String> getE9DepartmentOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> outkeyMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmdepartment " ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
outkeyMap.put(id,outkey);
|
||||
}
|
||||
return outkeyMap;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private List<String> getE7HrmActivitiesList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7HrmactivitiesList = new ArrayList<String>();
|
||||
String sql = " select id from hrmjobactivities " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7HrmactivitiesList.add(id);
|
||||
}
|
||||
return E7HrmactivitiesList;
|
||||
}
|
||||
|
||||
|
||||
private List<String> getE7HrmTitlesList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7JobtitlesList = new ArrayList<String>();
|
||||
String sql = " select id from hrmjobactivities " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7JobtitlesList.add(id);
|
||||
}
|
||||
return E7JobtitlesList;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,String> getE9HrmJobActivitiesList(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> E7JobtitlesMap = new HashMap<String,String>();
|
||||
String sql =" select id,outkey from hrmjobactivities where id in(select jobactivityid from hrmjobtitles) ";
|
||||
rs.execute(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
E7JobtitlesMap.put(id,outkey);
|
||||
}
|
||||
return E7JobtitlesMap;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,Map<String,String>> getE7HrmTitlesList2(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
Map<String,Map<String,String>> E7JobtitlesMap = new HashMap<String,Map<String,String>>();
|
||||
String sql = " select id,jobtitlemark,jobtitlename,jobactivityid,jobdepartmentid,jobtitlecode from hrmjobtitles " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String e7jobtitlemark = Util.null2String(rsd.getString("jobtitlemark"));
|
||||
String e7jobtitlename = Util.null2String(rsd.getString("jobtitlename"));
|
||||
String e7jobactivityid = Util.null2String(rsd.getString("jobactivityid"));
|
||||
String e7jobdepartmentid = Util.null2String(rsd.getString("jobdepartmentid"));
|
||||
String e7jobtitlecode = Util.null2String(rsd.getString("jobtitlecode"));
|
||||
|
||||
Map<String,String> jobtitlesMap = new HashMap<String,String>();
|
||||
jobtitlesMap.put("e7jobtitlemark",e7jobtitlemark);
|
||||
jobtitlesMap.put("e7jobtitlename",e7jobtitlename);
|
||||
jobtitlesMap.put("e7jobactivityid",e7jobactivityid);
|
||||
jobtitlesMap.put("e7jobdepartmentid",e7jobdepartmentid);
|
||||
jobtitlesMap.put("e7jobtitlecode",e7jobtitlecode);
|
||||
E7JobtitlesMap.put(id,jobtitlesMap);
|
||||
}
|
||||
return E7JobtitlesMap;
|
||||
}
|
||||
|
||||
|
||||
private String insertE7Data(RecordSetDataSource rsd,String insert_sql,int insert_fail_count){
|
||||
String newE7Id = "";
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("insert-sql:"+insert_sql);
|
||||
boolean isTrue = rsd.execute(insert_sql);
|
||||
if(isTrue){
|
||||
String sql = " select max(id) as id from hrmjobtitles ";
|
||||
rsd.executeSql(sql);
|
||||
if(rsd.next()){
|
||||
newE7Id = Util.null2String(rsd.getString("id"));
|
||||
}
|
||||
}else{
|
||||
insert_fail_count++;
|
||||
}
|
||||
return newE7Id;
|
||||
}
|
||||
|
||||
|
||||
private boolean updateE7SubcompanyData(RecordSetDataSource rsd,String update_sql){
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("update-sql:"+update_sql);
|
||||
boolean isTrue = rsd.execute(update_sql);
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
|
||||
private String recordSynMainlog(String id,Map<String,String> mainMap){
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataid = "" ;
|
||||
String uf_table = "uf_zzjgtbrz";
|
||||
String modedatacreater = "1";
|
||||
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
|
||||
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
|
||||
String modedatacreatedate = sdfDate.format(new Date());
|
||||
String modedatacreatetime = sdfTime.format(new Date());
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+uf_table+"' " ;
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(id)){
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainMap.put("uuid",uuid);
|
||||
mainMap.put("formmodeid",formmodeid);
|
||||
mainMap.put("modedatacreater",modedatacreater);
|
||||
mainMap.put("modedatacreatertype",modedatacreatertype);
|
||||
mainMap.put("modedatacreatedate",modedatacreatedate);
|
||||
mainMap.put("modedatacreatetime",modedatacreatetime);
|
||||
|
||||
String tablename = "" ;
|
||||
String tablenvalue = "" ;
|
||||
for (Map.Entry<String, String> entry : mainMap.entrySet())
|
||||
{
|
||||
String fieldname = Util.null2String(entry.getKey()).trim();
|
||||
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
|
||||
tablename += tablename==""? fieldname :","+fieldname ;
|
||||
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
|
||||
}
|
||||
if(tablename !="" && tablenvalue !="")
|
||||
{
|
||||
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
|
||||
boolean boo = rs.execute(sql);
|
||||
bb.writeLog("insert-istrue:"+boo);
|
||||
if(boo)
|
||||
{
|
||||
|
||||
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("dataid:"+dataid);
|
||||
if(!"".equals(dataid))
|
||||
{
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
dataid = id ;
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, String>> it = mainMap.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, String> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(valuesStr)){
|
||||
sql = "update "+uf_table+" set " + valuesStr + " where id = "+id+"";
|
||||
boolean isTrue = rs.execute(sql);
|
||||
bb.writeLog("update-istrue:"+isTrue);
|
||||
}
|
||||
}
|
||||
return dataid;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* @param dt1List
|
||||
* @param mainid
|
||||
*/
|
||||
private void insertLogDetail5(String mainid,List<Map<String,String>> dt1List){
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
for(int i=0;i<dt1List.size();i++){
|
||||
Map<String,String> dt1Map = dt1List.get(i);
|
||||
String dataid = dt1Map.get("dataid");
|
||||
String zxyj = dt1Map.get("zxyj");
|
||||
if(StringUtils.isNotBlank(zxyj) && zxyj.contains("'")){
|
||||
zxyj = zxyj.replace("'", "''");
|
||||
}
|
||||
String zxjg = dt1Map.get("zxjg");
|
||||
|
||||
String sql = " insert into uf_zzjgtbrz_dt5(mainid,gwid,zxyj,zxjg) values("+mainid+",'"+dataid+"','"+zxyj+"','"+zxjg+"')" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
boolean istrue = rs.executeUpdate(sql);
|
||||
bb.writeLog("istrue:"+istrue);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,770 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.bouncycastle.cert.dane.DANEException;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class HrmSynResourceUtil {
|
||||
|
||||
|
||||
public void SynHrmresourceData(String dataResource,String mainid,String hrmresourceWhere){
|
||||
BaseBean bb = new BaseBean();
|
||||
|
||||
bb.writeLog("SynHrmresourceData");
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
int modifier = 1;
|
||||
int creater = 1;
|
||||
|
||||
int totle_count = 0;
|
||||
int update_success_count = 0;
|
||||
int update_fail_count = 0;
|
||||
int update_exp_count = 0;
|
||||
|
||||
int insert_success_count = 0;
|
||||
int insert_fail_count = 0;
|
||||
int insert_exp_count = 0;
|
||||
|
||||
int unchanged_count = 0;
|
||||
int data_error_count = 0;
|
||||
List<String> dataErrorList = new ArrayList<String>();
|
||||
List<Map<String,String>> sqlList = new ArrayList<Map<String,String>>();
|
||||
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
List<Map<String,Object>> insertResourceList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> updateResourceList = new ArrayList<Map<String,Object>>();
|
||||
|
||||
Map<String,String> E9ResourceMap = getE9ResourceOutkey();
|
||||
Map<String,String> E9DepartmentMap = getE9DepartmentOutkey();
|
||||
Map<String,String> E9SubcompanyMap = getE9SubcompanyOutkey();
|
||||
Map<String,String> E9JobtitleMap = getE9HrmJobTitlesOutkey();
|
||||
|
||||
|
||||
List<String> E7DepartmentList = getE7HrmDepartmentList(dataResource);
|
||||
List<String> E7SubcompanyList = getE7HrmSubcompanyList(dataResource);
|
||||
List<String> E7JobTitleList = getE7HrmJobTitlesList(dataResource);
|
||||
Map<String,Map<String,String>> E7ResourceMap = getE7HrmResourceMap(dataResource);
|
||||
|
||||
String sql =" select id,workcode,status,dsporder,mobile,jobtitle,password,lastname,loginid,systemlanguage," +
|
||||
" sex,birthday,lastmoddate,createdate,jobactivitydesc,departmentid," +
|
||||
" subcompanyid1,seclevel,accounttype,belongto,managerid,outkey,telephone,email,startdate,enddate " +
|
||||
" from hrmresource where 1=1 " + hrmresourceWhere+
|
||||
" connect by prior id = managerid \n" +
|
||||
" start with managerid is null";
|
||||
|
||||
rs.executeQuery(sql);
|
||||
while(rs.next()) {
|
||||
totle_count++;
|
||||
|
||||
// String managerstr = Util.null2String(rs.getString("managerstr")).trim();
|
||||
// String locationid = Util.null2String(rs.getString("locationid")).trim();
|
||||
|
||||
String e9id = Util.null2String(rs.getString("id"));
|
||||
String loginid = Util.null2String(rs.getString("loginid")).trim();
|
||||
String password = Util.null2String(rs.getString("password")).trim();
|
||||
String lastname = Util.null2String(rs.getString("lastname")).trim();
|
||||
String sex = Util.null2String(rs.getString("sex")).trim();
|
||||
String birthday = Util.null2String(rs.getString("birthday")).trim();
|
||||
String systemlanguage = Util.null2String(rs.getString("systemlanguage")).trim();
|
||||
String telephone = Util.null2String(rs.getString("telephone")).trim();
|
||||
String mobile = Util.null2String(rs.getString("mobile")).trim();
|
||||
String email = Util.null2String(rs.getString("email")).trim();
|
||||
String jobtitle = Util.null2String(rs.getString("jobtitle")).trim();
|
||||
String seclevel = Util.null2String(rs.getString("seclevel")).trim();
|
||||
String departmentid = Util.null2String(rs.getString("departmentid")).trim();
|
||||
String subcompanyid1 = Util.null2String(rs.getString("subcompanyid1")).trim();
|
||||
String managerid = Util.null2String(rs.getString("managerid")).trim();
|
||||
String dsporder = Util.null2String(rs.getString("dsporder")).trim();
|
||||
String workcode = Util.null2String(rs.getString("workcode")).trim();
|
||||
String status = Util.null2String(rs.getString("status")).trim();
|
||||
String lastmoddate = Util.null2String(rs.getString("lastmoddate")).trim();
|
||||
String createdate = Util.null2String(rs.getString("createdate")).trim();
|
||||
String jobactivitydesc = Util.null2String(rs.getString("jobactivitydesc")).trim();
|
||||
String accounttype = Util.null2String(rs.getString("accounttype")).trim();
|
||||
String belongto = Util.null2String(rs.getString("belongto")).trim();
|
||||
String outkey = Util.null2String(rs.getString("outkey")).trim();
|
||||
String startdate = Util.null2String(rs.getString("startdate")).trim();
|
||||
String enddate = Util.null2String(rs.getString("enddate")).trim();
|
||||
|
||||
if(StringUtils.isBlank(systemlanguage)){
|
||||
systemlanguage = "7";
|
||||
}
|
||||
if("-1".equals(accounttype) || StringUtils.isBlank(accounttype)){
|
||||
accounttype = "0";
|
||||
}
|
||||
if("-1".equals(belongto) || "0".equals(belongto)){
|
||||
belongto = "";
|
||||
}
|
||||
if("0".equals(managerid) || "-1".equals(managerid)){
|
||||
managerid = "";
|
||||
}
|
||||
|
||||
Map<String,Object> ResourceMap = new HashMap<String,Object>();
|
||||
ResourceMap.put("e9id", e9id);
|
||||
ResourceMap.put("workcode", workcode);
|
||||
ResourceMap.put("status", status);
|
||||
ResourceMap.put("dsporder", dsporder);
|
||||
ResourceMap.put("mobile", mobile);
|
||||
ResourceMap.put("password", password);
|
||||
ResourceMap.put("lastname", lastname);
|
||||
ResourceMap.put("loginid", loginid);
|
||||
ResourceMap.put("systemlanguage", systemlanguage);
|
||||
ResourceMap.put("sex", sex);
|
||||
ResourceMap.put("birthday", birthday);
|
||||
ResourceMap.put("lastmoddate", lastmoddate);
|
||||
ResourceMap.put("createdate", createdate);
|
||||
ResourceMap.put("jobactivitydesc", jobactivitydesc);
|
||||
ResourceMap.put("seclevel", seclevel);
|
||||
ResourceMap.put("accounttype", accounttype);
|
||||
ResourceMap.put("email", email);
|
||||
ResourceMap.put("enddate", enddate);
|
||||
ResourceMap.put("telephone", telephone);
|
||||
ResourceMap.put("startdate", startdate);
|
||||
|
||||
String managerOutkey = "";
|
||||
if(StringUtils.isNotBlank(managerid)){
|
||||
if(E9ResourceMap.containsKey(managerid)){
|
||||
managerOutkey = E9ResourceMap.get(managerid);
|
||||
}
|
||||
}
|
||||
|
||||
String belongtoOutkey = "";
|
||||
if(StringUtils.isNotBlank(belongto)){
|
||||
if(E9ResourceMap.containsKey(belongto)){
|
||||
belongtoOutkey = E9ResourceMap.get(belongto);
|
||||
}
|
||||
}
|
||||
|
||||
String departmentOutkey = "";
|
||||
if(StringUtils.isNotBlank(departmentid+"")){
|
||||
if(E9DepartmentMap.containsKey(departmentid)){
|
||||
departmentOutkey = E9DepartmentMap.get(departmentid);
|
||||
}
|
||||
}
|
||||
|
||||
String subcompanyOutkey = "";
|
||||
if(StringUtils.isNotBlank(subcompanyid1)){
|
||||
if(E9SubcompanyMap.containsKey(subcompanyid1)){
|
||||
subcompanyOutkey = E9SubcompanyMap.get(subcompanyid1);
|
||||
}
|
||||
}
|
||||
|
||||
String jobtitleOutkey = "";
|
||||
if(StringUtils.isNotBlank(jobtitle)){
|
||||
if(E9JobtitleMap.containsKey(jobtitle)){
|
||||
jobtitleOutkey = E9JobtitleMap.get(jobtitle);
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7ResourceMap.containsKey(outkey)){
|
||||
if(StringUtils.isNotBlank(departmentOutkey) && E7DepartmentList.contains(departmentOutkey)){
|
||||
if(StringUtils.isNotBlank(subcompanyOutkey) && E7SubcompanyList.contains(subcompanyOutkey)){
|
||||
if(StringUtils.isNotBlank(jobtitleOutkey) && E7JobTitleList.contains(jobtitleOutkey)){
|
||||
|
||||
Map<String,String> resourceMap = E7ResourceMap.get(outkey);
|
||||
|
||||
String e7lastname = Util.null2String(resourceMap.get("e7lastname"));
|
||||
String e7loginid = Util.null2String(resourceMap.get("e7loginid"));
|
||||
String e7password = Util.null2String(resourceMap.get("e7password"));
|
||||
String e7sex = Util.null2String(resourceMap.get("e7sex"));
|
||||
String e7birthday = Util.null2String(resourceMap.get("e7birthday"));
|
||||
String e7mobile = Util.null2String(resourceMap.get("e7mobile"));
|
||||
String e7jobtitle = Util.null2String(resourceMap.get("e7jobtitle"));
|
||||
String e7departmentid = Util.null2String(resourceMap.get("e7departmentid"));
|
||||
String e7subcompanyid1 = Util.null2String(resourceMap.get("e7subcompanyid1"));
|
||||
String e7seclevel = Util.null2String(resourceMap.get("e7seclevel"));
|
||||
String e7workcode = Util.null2String(resourceMap.get("e7workcode"));
|
||||
String e7status = Util.null2String(resourceMap.get("e7status"));
|
||||
String e7dsporder = Util.null2String(resourceMap.get("e7dsporder"));
|
||||
String e7systemlanguage = Util.null2String(resourceMap.get("e7systemlanguage"));
|
||||
String e7accounttype = Util.null2String(resourceMap.get("e7accounttype"));
|
||||
String e7belongto = Util.null2String(resourceMap.get("e7belongto"));
|
||||
String e7managerid = Util.null2String(resourceMap.get("e7managerid"));
|
||||
String e7email = Util.null2String(resourceMap.get("e7email"));
|
||||
String e7jobactivitydesc = Util.null2String(resourceMap.get("e7jobactivitydesc"));
|
||||
String e7startdate = Util.null2String(resourceMap.get("e7startdate"));
|
||||
String e7enddate = Util.null2String(resourceMap.get("e7enddate"));
|
||||
String e7telephone = Util.null2String(resourceMap.get("e7telephone")).trim();
|
||||
String e7lastmoddate = Util.null2String(resourceMap.get("e7lastmoddate")).trim();
|
||||
String e7createdate = Util.null2String(resourceMap.get("e7createdate")).trim();
|
||||
|
||||
if(!e7lastname.equals(lastname)
|
||||
|| !e7loginid.equals(loginid)
|
||||
|| !e7sex.equals(sex)
|
||||
|| !e7password.equals(password)
|
||||
|| !e7birthday.equals(birthday)
|
||||
|| !e7mobile.equals(mobile)
|
||||
|| !e7jobtitle.equals(jobtitleOutkey)
|
||||
|| !e7departmentid.equals(departmentOutkey)
|
||||
|| !e7subcompanyid1.equals(subcompanyOutkey)
|
||||
|| !e7seclevel.equals(seclevel)
|
||||
|| !e7workcode.equals(workcode)
|
||||
|| !e7status.equals(status)
|
||||
|| !e7dsporder.equals(dsporder)
|
||||
|| !e7systemlanguage.equals(systemlanguage)
|
||||
|| !e7accounttype.equals(accounttype)
|
||||
|| !e7belongto.equals(belongtoOutkey)
|
||||
|| !e7managerid.equals(managerOutkey)
|
||||
|| !e7email.equals(email)
|
||||
|| !e7jobactivitydesc.equals(jobactivitydesc)
|
||||
|| !e7startdate.equals(startdate)
|
||||
|| !e7enddate.equals(enddate)
|
||||
|| !e7telephone.equals(telephone)
|
||||
|| !e7lastmoddate.equals(lastmoddate)
|
||||
|| !e7createdate.equals(createdate)
|
||||
){
|
||||
ResourceMap.put("e7id", outkey);
|
||||
ResourceMap.put("jobtitle", jobtitleOutkey);
|
||||
ResourceMap.put("belongto", belongtoOutkey);
|
||||
ResourceMap.put("managerid", managerOutkey);
|
||||
ResourceMap.put("departmentid", departmentOutkey);
|
||||
ResourceMap.put("subcompanyid1", subcompanyOutkey);
|
||||
updateResourceList.add(ResourceMap);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(departmentOutkey) && E7DepartmentList.contains(departmentOutkey)){
|
||||
if(StringUtils.isNotBlank(subcompanyOutkey) && E7SubcompanyList.contains(subcompanyOutkey)){
|
||||
if(StringUtils.isNotBlank(jobtitleOutkey) && E7JobTitleList.contains(jobtitleOutkey)){
|
||||
ResourceMap.put("jobtitle", jobtitleOutkey);
|
||||
ResourceMap.put("belongto", belongtoOutkey);
|
||||
ResourceMap.put("managerid", managerOutkey);
|
||||
ResourceMap.put("departmentid", departmentOutkey);
|
||||
ResourceMap.put("subcompanyid1", subcompanyOutkey);
|
||||
insertResourceList.add(ResourceMap);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(departmentOutkey) && E7DepartmentList.contains(departmentOutkey)){
|
||||
if(StringUtils.isNotBlank(subcompanyOutkey) && E7SubcompanyList.contains(subcompanyOutkey)){
|
||||
if(StringUtils.isNotBlank(jobtitleOutkey) && E7JobTitleList.contains(jobtitleOutkey)){
|
||||
ResourceMap.put("jobtitle", jobtitleOutkey);
|
||||
ResourceMap.put("belongto", belongtoOutkey);
|
||||
ResourceMap.put("managerid", managerOutkey);
|
||||
ResourceMap.put("departmentid", departmentOutkey);
|
||||
ResourceMap.put("subcompanyid1", subcompanyOutkey);
|
||||
insertResourceList.add(ResourceMap);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb.writeLog("insertResourceList:"+insertResourceList.size()+"</br>");
|
||||
bb.writeLog("updateResourceList:"+updateResourceList.size()+"</br>");
|
||||
|
||||
for(int i=0;i<insertResourceList.size();i++) {
|
||||
int e7newid = getE7HrmResourceId(rsd);
|
||||
bb.writeLog("e7newid:"+e7newid+"</br>");
|
||||
if(e7newid > -1){
|
||||
Map<String, Object> item = insertResourceList.get(i);
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String uuid = UUID.randomUUID().toString().replace("-", "").toUpperCase();
|
||||
item.put("lastmodid", modifier);
|
||||
item.put("createrid", creater);
|
||||
item.put("textfield1", uuid);
|
||||
item.put("id", e7newid);
|
||||
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
|
||||
boolean isTrue2 = false;
|
||||
String insert_sql = " insert into hrmresource("+keyString+") values("+valueString+")";
|
||||
boolean isTrue = insertE7HrmResourceData(rsd,insert_sql,uuid,insert_fail_count);
|
||||
bb.writeLog("insert_sql:"+insert_sql+" newE7Id:"+e7newid+ ",isTrue:"+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
String up_sql = " update hrmresource set outkey="+e7newid+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(up_sql);
|
||||
bb.writeLog("up_sql:"+up_sql+" isTrue2:"+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
}
|
||||
|
||||
for(int i=0;i<updateResourceList.size();i++) {
|
||||
Map<String, Object> item = updateResourceList.get(i);
|
||||
String e7id = Util.null2String(item.get("e7id"));
|
||||
String e9id = Util.null2String(item.get("e9id"));
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = item.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
}
|
||||
|
||||
String update_sql = "update hrmresource set " + valuesStr + " where id = "+e7id+"";
|
||||
boolean isTrue = updateE7HrmResourceData(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" isTrue:"+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",update_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}
|
||||
|
||||
try{
|
||||
String rytbjg = "人员共:"+totle_count+"行数据,数据一致工:"+unchanged_count+"。新增成功:"+insert_success_count+",新增失败:"+insert_fail_count+",新增异常:"+insert_exp_count+"。"+
|
||||
"更新成功:"+update_success_count+",更新失败:"+update_fail_count+",更新异常:"+update_exp_count+"。"+
|
||||
"数据异常(ID在E7中不存在):"+data_error_count ;
|
||||
|
||||
Map<String,String> mainMap = new HashMap<String,String>();
|
||||
mainMap.put("rytbjg",rytbjg);
|
||||
if(dataErrorList.size() > 0){
|
||||
if(dataErrorList.size() <= 150){
|
||||
String ryycsj = String.join(",", dataErrorList);
|
||||
mainMap.put("ryycsj",ryycsj);
|
||||
}else{
|
||||
String ryycsj = String.join(",", dataErrorList.subList(0,150));
|
||||
mainMap.put("ryycsj",ryycsj);
|
||||
}
|
||||
}
|
||||
|
||||
recordSynMainlog(mainid,mainMap);
|
||||
if(StringUtils.isNotBlank(mainid)){
|
||||
insertLogDetail6(mainid,sqlList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Map<String,String> getE9SubcompanyOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> outkeyMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmsubcompany " ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
outkeyMap.put(id,outkey);
|
||||
}
|
||||
return outkeyMap;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,String> getE9DepartmentOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> outkeyMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmdepartment " ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
outkeyMap.put(id,outkey);
|
||||
}
|
||||
return outkeyMap;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,String> getE9ResourceOutkey(){
|
||||
|
||||
Map<String,String> E9ResourceMap = new HashMap<String,String>();
|
||||
RecordSet rs = new RecordSet();
|
||||
String sql =" select id,outkey from hrmresource ";
|
||||
rs.executeQuery(sql);
|
||||
while(rs.next()) {
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
E9ResourceMap.put(id,outkey);
|
||||
}
|
||||
|
||||
return E9ResourceMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private Map<String,String> getE9HrmJobTitlesOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
Map<String,String> E9JobtitleMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmjobtitles " ;
|
||||
rs.execute(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
E9JobtitleMap.put(id,outkey);
|
||||
}
|
||||
return E9JobtitleMap;
|
||||
}
|
||||
|
||||
|
||||
private List<String> getE7HrmJobTitlesList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7JobtitlesList = new ArrayList<String>();
|
||||
String sql = " select id from hrmjobtitles " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7JobtitlesList.add(id);
|
||||
}
|
||||
return E7JobtitlesList;
|
||||
}
|
||||
|
||||
|
||||
private List<String> getE7HrmDepartmentList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7DepartmentList = new ArrayList<String>();
|
||||
String sql = " select id from hrmdepartment " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7DepartmentList.add(id);
|
||||
}
|
||||
return E7DepartmentList;
|
||||
}
|
||||
|
||||
|
||||
private List<String> getE7HrmSubcompanyList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7SubcompanyList = new ArrayList<String>();
|
||||
String sql = " select id from hrmsubcompany " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7SubcompanyList.add(id);
|
||||
}
|
||||
return E7SubcompanyList;
|
||||
}
|
||||
|
||||
|
||||
private List<String> getE7HrmResourceList(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7ResourceList = new ArrayList<String>();
|
||||
String sql = " select id from hrmresource " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7ResourceList.add(id);
|
||||
}
|
||||
return E7ResourceList;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,Map<String,String>> getE7HrmResourceMap(String dataResource){
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
Map<String,Map<String,String>> E7ResourceMap = new HashMap<String,Map<String,String>>();
|
||||
String sql =" select id,workcode,status,dsporder,mobile,jobtitle,password,lastname,loginid,systemlanguage," +
|
||||
" sex,birthday,lastmoddate,createdate,jobactivitydesc,departmentid," +
|
||||
" subcompanyid1,seclevel,accounttype,belongto,managerid,telephone,email,enddate,startdate " +
|
||||
" from hrmresource " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String e7id = Util.null2String(rsd.getString("id")).trim();
|
||||
String e7workcode = Util.null2String(rsd.getString("workcode")).trim();
|
||||
String e7status = Util.null2String(rsd.getString("status")).trim();
|
||||
String e7dsporder = Util.null2String(rsd.getString("dsporder")).trim();
|
||||
String e7mobile = Util.null2String(rsd.getString("mobile")).trim();
|
||||
String e7jobtitle = Util.null2String(rsd.getString("jobtitle")).trim();
|
||||
String e7password = Util.null2String(rsd.getString("password")).trim();
|
||||
String e7lastname = Util.null2String(rsd.getString("lastname")).trim();
|
||||
String e7loginid = Util.null2String(rsd.getString("loginid")).trim();
|
||||
String e7systemlanguage = Util.null2String(rsd.getString("systemlanguage")).trim();
|
||||
String e7sex = Util.null2String(rsd.getString("sex")).trim();
|
||||
String e7birthday = Util.null2String(rsd.getString("birthday")).trim();
|
||||
String e7lastmoddate = Util.null2String(rsd.getString("lastmoddate")).trim();
|
||||
String e7createdate = Util.null2String(rsd.getString("createdate")).trim();
|
||||
String e7jobactivitydesc = Util.null2String(rsd.getString("jobactivitydesc")).trim();
|
||||
String e7departmentid = Util.null2String(rsd.getString("departmentid")).trim();
|
||||
String e7subcompanyid1 = Util.null2String(rsd.getString("subcompanyid1")).trim();
|
||||
String e7seclevel = Util.null2String(rsd.getString("seclevel")).trim();
|
||||
String e7accounttype = Util.null2String(rsd.getString("accounttype")).trim();
|
||||
String e7belongto = Util.null2String(rsd.getString("belongto")).trim();
|
||||
String e7managerid = Util.null2String(rsd.getString("managerid")).trim();
|
||||
String e7telephone = Util.null2String(rsd.getString("telephone")).trim();
|
||||
String e7email = Util.null2String(rsd.getString("email")).trim();
|
||||
String e7startdate = Util.null2String(rsd.getString("startdate")).trim();
|
||||
String e7enddate = Util.null2String(rsd.getString("enddate")).trim();
|
||||
|
||||
|
||||
if(StringUtils.isBlank(e7systemlanguage)){
|
||||
e7systemlanguage = "7";
|
||||
}
|
||||
|
||||
if("-1".equals(e7accounttype) || StringUtils.isBlank(e7accounttype)){
|
||||
e7accounttype = "0";
|
||||
}
|
||||
|
||||
if("-1".equals(e7belongto) || "0".equals(e7belongto)){
|
||||
e7belongto = "";
|
||||
}
|
||||
|
||||
if("0".equals(e7managerid)){
|
||||
e7managerid = "";
|
||||
}
|
||||
|
||||
Map<String,String> resourceMap = new HashMap<String,String>();
|
||||
resourceMap.put("e7lastname",e7lastname);
|
||||
resourceMap.put("e7loginid",e7loginid);
|
||||
resourceMap.put("e7password",e7password);
|
||||
resourceMap.put("e7sex",e7sex);
|
||||
resourceMap.put("e7birthday",e7birthday);
|
||||
resourceMap.put("e7mobile",e7mobile);
|
||||
resourceMap.put("e7jobtitle",e7jobtitle);
|
||||
resourceMap.put("e7departmentid",e7departmentid);
|
||||
resourceMap.put("e7subcompanyid1",e7subcompanyid1);
|
||||
resourceMap.put("e7seclevel",e7seclevel);
|
||||
resourceMap.put("e7workcode",e7workcode);
|
||||
resourceMap.put("e7status",e7status);
|
||||
resourceMap.put("e7dsporder",e7dsporder);
|
||||
resourceMap.put("e7systemlanguage",e7systemlanguage);
|
||||
resourceMap.put("e7accounttype",e7accounttype);
|
||||
resourceMap.put("e7belongto",e7belongto);
|
||||
resourceMap.put("e7managerid",e7managerid);
|
||||
resourceMap.put("e7telephone",e7telephone);
|
||||
resourceMap.put("e7email",e7email);
|
||||
resourceMap.put("e7lastmoddate",e7lastmoddate);
|
||||
resourceMap.put("e7createdate",e7createdate);
|
||||
resourceMap.put("e7jobactivitydesc",e7jobactivitydesc);
|
||||
resourceMap.put("e7startdate",e7startdate);
|
||||
resourceMap.put("e7enddate",e7enddate);
|
||||
|
||||
E7ResourceMap.put(e7id,resourceMap);
|
||||
}
|
||||
return E7ResourceMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private String recordSynMainlog(String id,Map<String,String> mainMap){
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataid = "" ;
|
||||
String uf_table = "uf_zzjgtbrz";
|
||||
String modedatacreater = "1";
|
||||
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
|
||||
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
|
||||
String modedatacreatedate = sdfDate.format(new Date());
|
||||
String modedatacreatetime = sdfTime.format(new Date());
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+uf_table+"' " ;
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(id)){
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainMap.put("uuid",uuid);
|
||||
mainMap.put("formmodeid",formmodeid);
|
||||
mainMap.put("modedatacreater",modedatacreater);
|
||||
mainMap.put("modedatacreatertype",modedatacreatertype);
|
||||
mainMap.put("modedatacreatedate",modedatacreatedate);
|
||||
mainMap.put("modedatacreatetime",modedatacreatetime);
|
||||
|
||||
String tablename = "" ;
|
||||
String tablenvalue = "" ;
|
||||
for (Map.Entry<String, String> entry : mainMap.entrySet())
|
||||
{
|
||||
String fieldname = Util.null2String(entry.getKey()).trim();
|
||||
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
|
||||
tablename += tablename==""? fieldname :","+fieldname ;
|
||||
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
|
||||
}
|
||||
if(tablename !="" && tablenvalue !="")
|
||||
{
|
||||
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
|
||||
boolean boo = rs.execute(sql);
|
||||
bb.writeLog("insert-istrue:"+boo);
|
||||
if(boo)
|
||||
{
|
||||
|
||||
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("dataid:"+dataid);
|
||||
if(!"".equals(dataid))
|
||||
{
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
dataid = id ;
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, String>> it = mainMap.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, String> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
if(StringUtils.isNotBlank(valuesStr)){
|
||||
sql = "update "+uf_table+" set " + valuesStr + " where id = "+id+"";
|
||||
boolean isTrue = rs.execute(sql);
|
||||
bb.writeLog("update-istrue:"+isTrue);
|
||||
}
|
||||
}
|
||||
return dataid;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
*
|
||||
* @param dt1List
|
||||
* @param mainid
|
||||
*/
|
||||
private void insertLogDetail6(String mainid,List<Map<String,String>> dt1List){
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
for(int i=0;i<dt1List.size();i++){
|
||||
Map<String,String> dt1Map = dt1List.get(i);
|
||||
String dataid = dt1Map.get("dataid");
|
||||
String zxyj = dt1Map.get("zxyj");
|
||||
if(StringUtils.isNotBlank(zxyj) && zxyj.contains("'")){
|
||||
zxyj = zxyj.replace("'", "''");
|
||||
}
|
||||
String zxjg = dt1Map.get("zxjg");
|
||||
|
||||
String sql = " insert into uf_zzjgtbrz_dt6(mainid,ryid,zxyj,zxjg) values("+mainid+",'"+dataid+"','"+zxyj+"','"+zxjg+"')" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
boolean istrue = rs.executeUpdate(sql);
|
||||
bb.writeLog("istrue:"+istrue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private boolean insertE7HrmResourceData(RecordSetDataSource rsd,String insert_sql,String uuid,int insert_fail_count){
|
||||
boolean isTrue = false;
|
||||
BaseBean bb = new BaseBean();
|
||||
try{
|
||||
isTrue = rsd.execute(insert_sql);
|
||||
if(!isTrue){
|
||||
insert_fail_count++;
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
|
||||
private boolean updateE7HrmResourceData(RecordSetDataSource rsd,String update_sql){
|
||||
BaseBean bb = new BaseBean();
|
||||
boolean isTrue = false;
|
||||
try{
|
||||
isTrue = rsd.execute(update_sql);
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
|
||||
private int getE7HrmResourceId(RecordSetDataSource rsd){
|
||||
int id = -1;
|
||||
BaseBean bb = new BaseBean();
|
||||
try{
|
||||
String sql = " update SequenceIndex set currentid = (select currentid from SequenceIndex where indexdesc='resourceid'\n" +
|
||||
" )+1 where indexdesc='resourceid' ";
|
||||
boolean isTrue = rsd.executeSql(sql);
|
||||
if(isTrue){
|
||||
sql = " select currentid from SequenceIndex where indexdesc='resourceid' ";
|
||||
rsd.execute(sql);
|
||||
if(rsd.next()){
|
||||
id = Util.getIntValue(Util.null2String(rsd.getString("currentid")));
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,647 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.conn.RecordSetDataSource;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class HrmSynSubcompanyUtil {
|
||||
|
||||
public String SynHrmSubcompanyData(String dataResource,String subcompanyWhere){
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
int totle_count = 0;
|
||||
int update_success_count = 0;
|
||||
int update_fail_count = 0;
|
||||
int update_exp_count = 0;
|
||||
|
||||
int insert_success_count = 0;
|
||||
int insert_fail_count = 0;
|
||||
int insert_exp_count = 0;
|
||||
|
||||
int unchanged_count = 0;
|
||||
int data_error_count = 0;
|
||||
|
||||
List<String> dataErrorList = new ArrayList<String>();
|
||||
List<Map<String,String>> sqlList = new ArrayList<Map<String,String>>();
|
||||
|
||||
Map<String,String> E9SubcompanyOutkey = getE9SubcompanyOutkey();
|
||||
Map<String,Map<String,String>> E7SubcompanyMap = getE7HrmSubcompanyList2(dataResource);
|
||||
bb.writeLog("E9SubcompanyOutkey:"+E9SubcompanyOutkey.size());
|
||||
bb.writeLog("E7SubcompanyMap:"+E7SubcompanyMap.size());
|
||||
|
||||
List<Map<String,Object>> topInsertList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> topUpdateList = new ArrayList<Map<String,Object>>();
|
||||
|
||||
List<String> topList = new ArrayList<>();
|
||||
String sql =" select id,subcompanyname,subcompanydesc,supsubcomid,canceled,subcompanycode,outkey,showorder,tlevel " +
|
||||
" from hrmsubcompany \n" +
|
||||
" where (supsubcomid is null or supsubcomid = -1 or supsubcomid = 0) \n" ;
|
||||
rs.execute(sql);
|
||||
while(rs.next()) {
|
||||
totle_count++;
|
||||
|
||||
String e9Id = Util.null2String(rs.getString("id"));
|
||||
topList.add(e9Id);
|
||||
|
||||
String subcompanyname = Util.null2String(rs.getString("subcompanyname"));
|
||||
String subcompanydesc = Util.null2String(rs.getString("subcompanydesc"));
|
||||
String canceled = Util.null2String(rs.getString("canceled"));
|
||||
String subcompanycode = Util.null2String(rs.getString("subcompanycode"));
|
||||
String supsubcomid = Util.null2String(rs.getString("supsubcomid")).trim();
|
||||
String showorder = Util.null2String(rs.getString("showorder"));
|
||||
String tlevel = Util.null2String(rs.getString("tlevel")).trim();
|
||||
String outkey = Util.null2String(rs.getString("outkey")); //E7的hrmsubcompany的ID
|
||||
|
||||
Map<String,Object> E9Map = new HashMap<String, Object>();
|
||||
E9Map.put("e9id", e9Id);
|
||||
E9Map.put("subcompanyname", subcompanyname);
|
||||
E9Map.put("subcompanydesc", subcompanydesc);
|
||||
E9Map.put("canceled", canceled);
|
||||
E9Map.put("showorder", showorder);
|
||||
E9Map.put("subcompanycode", subcompanycode);
|
||||
E9Map.put("tlevel", tlevel);
|
||||
|
||||
String supsubcomOutKey = "" ;
|
||||
if("0".equals(supsubcomid) || "-1".equals(supsubcomid) || StringUtils.isBlank(supsubcomid+"")){
|
||||
supsubcomOutKey = "0";
|
||||
}else{
|
||||
if(E9SubcompanyOutkey.containsKey(supsubcomid)){
|
||||
supsubcomOutKey = E9SubcompanyOutkey.get(supsubcomid);
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7SubcompanyMap.containsKey(outkey)){
|
||||
if(StringUtils.isNotBlank(supsubcomOutKey) && ("0".equals(supsubcomOutKey) || E7SubcompanyMap.containsKey(supsubcomOutKey))){
|
||||
Map<String,String> E7SubcompanyInfo = E7SubcompanyMap.get(outkey);
|
||||
String e7subcompanyname = Util.null2String(E7SubcompanyInfo.get("subcompanyname"));
|
||||
String e7subcompanydesc = Util.null2String(E7SubcompanyInfo.get("subcompanydesc"));
|
||||
String e7supsubcomid = Util.null2String(E7SubcompanyInfo.get("supsubcomid"));
|
||||
String e7canceled = Util.null2String(E7SubcompanyInfo.get("canceled"));
|
||||
String e7subcompanycode = Util.null2String(E7SubcompanyInfo.get("subcompanycode"));
|
||||
String e7tlevel = Util.null2String(E7SubcompanyInfo.get("tlevel"));
|
||||
String e7showorder = Util.null2String(E7SubcompanyInfo.get("showorder"));
|
||||
|
||||
if(!e7subcompanyname.equals(subcompanyname)
|
||||
|| !e7subcompanydesc.equals(subcompanydesc)
|
||||
|| !e7supsubcomid.equals(supsubcomOutKey)
|
||||
|| !e7canceled.equals(canceled)
|
||||
|| !e7subcompanycode.equals(subcompanycode)
|
||||
|| !e7tlevel.equals(tlevel)
|
||||
|| !e7showorder.equals(showorder)
|
||||
){
|
||||
E9Map.put("supsubcomid", supsubcomOutKey);
|
||||
E9Map.put("e7id", outkey);
|
||||
topUpdateList.add(E9Map);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9Id);
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(supsubcomOutKey) && ("0".equals(supsubcomOutKey) || E7SubcompanyMap.containsKey(supsubcomOutKey))){
|
||||
|
||||
E9Map.put("supsubcomid", supsubcomOutKey);
|
||||
topInsertList.add(E9Map);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9Id);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(supsubcomOutKey) && ("0".equals(supsubcomOutKey) || E7SubcompanyMap.containsKey(supsubcomOutKey))){
|
||||
|
||||
E9Map.put("supsubcomid", supsubcomOutKey);
|
||||
topInsertList.add(E9Map);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb.writeLog("topUpdateList:"+topUpdateList.size());
|
||||
bb.writeLog("topInsertList:"+topInsertList.size());
|
||||
|
||||
for(Map<String,Object> E9Map : topInsertList){
|
||||
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String uuid = UUID.randomUUID().toString().replace("-","").toUpperCase();
|
||||
E9Map.put("url",uuid);
|
||||
E9Map.put("companyid",1);//默认公司是1
|
||||
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
boolean isTrue2 = false;
|
||||
|
||||
String insert_sql = " insert into hrmsubcompany("+keyString+") values("+valueString+")";
|
||||
bb.writeLog("insert_sql:"+insert_sql+"</br>");
|
||||
String newE7Id = insertE7Data(rsd,insert_sql,uuid,insert_fail_count);
|
||||
bb.writeLog("newE7Id:"+newE7Id+"</br>");
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
sql = "update hrmsubcompany set outkey="+newE7Id+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(sql);
|
||||
bb.writeLog("sql:"+sql+" "+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}catch (Exception e){
|
||||
bb.writeLog("e:"+e);
|
||||
insert_exp_count++;
|
||||
}
|
||||
}
|
||||
|
||||
for(Map<String,Object> E9Map : topUpdateList){
|
||||
String e7id = Util.null2String(E9Map.get("e7id"));
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
}
|
||||
|
||||
try{
|
||||
String update_sql = " update hrmsubcompany set "+valuesStr+" where id = '"+e7id+"' ";
|
||||
boolean isTrue = updateE7SubcompanyData(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" "+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",sql);
|
||||
sqlMap.put("dataid",update_sql);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}catch (Exception e){
|
||||
bb.writeLog("e:"+e);
|
||||
update_exp_count++;
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String,Object>> insertList = new ArrayList<Map<String,Object>>();
|
||||
List<Map<String,Object>> updateList = new ArrayList<Map<String,Object>>();
|
||||
|
||||
for(String subcompanyid : topList){
|
||||
if(StringUtils.isNotBlank(subcompanyid)){
|
||||
sql = " select id,subcompanyname,subcompanydesc,supsubcomid,showorder,\n" +
|
||||
" canceled,subcompanycode,outkey,tlevel from hrmsubcompany \n" +
|
||||
" where 1=1 " + subcompanyWhere +
|
||||
" connect by prior id = supsubcomid \n" +
|
||||
" start with supsubcomid = "+subcompanyid;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
|
||||
totle_count++;
|
||||
|
||||
String e9Id = Util.null2String(rs.getString("id"));
|
||||
String subcompanyname = Util.null2String(rs.getString("subcompanyname"));
|
||||
String subcompanydesc = Util.null2String(rs.getString("subcompanydesc"));
|
||||
String canceled = Util.null2String(rs.getString("canceled"));
|
||||
String subcompanycode = Util.null2String(rs.getString("subcompanycode"));
|
||||
String supsubcomid = Util.null2String(rs.getString("supsubcomid")).trim();
|
||||
String showorder = Util.null2String(rs.getString("showorder")).trim();
|
||||
String outkey = Util.null2String(rs.getString("outkey")); //E7的hrmsubcompany的ID
|
||||
String tlevel = Util.null2String(rs.getString("tlevel"));
|
||||
|
||||
Map<String,Object> E9Map = new HashMap<String, Object>();
|
||||
E9Map.put("e9id", e9Id);
|
||||
E9Map.put("subcompanyname", subcompanyname);
|
||||
E9Map.put("subcompanydesc", subcompanydesc);
|
||||
E9Map.put("canceled", canceled);
|
||||
E9Map.put("showorder", showorder);
|
||||
E9Map.put("subcompanycode", subcompanycode);
|
||||
E9Map.put("tlevel", tlevel);
|
||||
|
||||
String supsubcomOutKey = "" ;
|
||||
if("0".equals(supsubcomid) || "-1".equals(supsubcomid) || StringUtils.isBlank(supsubcomid+"")){
|
||||
supsubcomOutKey = "0";
|
||||
}else{
|
||||
if(E9SubcompanyOutkey.containsKey(supsubcomid)){
|
||||
supsubcomOutKey = E9SubcompanyOutkey.get(supsubcomid);
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(outkey)){
|
||||
if(E7SubcompanyMap.containsKey(outkey)){
|
||||
|
||||
if(StringUtils.isNotBlank(supsubcomOutKey) && ("0".equals(supsubcomOutKey) || E7SubcompanyMap.containsKey(supsubcomOutKey))){
|
||||
Map<String,String> E7SubcompanyInfo = E7SubcompanyMap.get(outkey);
|
||||
String e7subcompanyname = Util.null2String(E7SubcompanyInfo.get("subcompanyname"));
|
||||
String e7subcompanydesc = Util.null2String(E7SubcompanyInfo.get("subcompanydesc"));
|
||||
String e7supsubcomid = Util.null2String(E7SubcompanyInfo.get("supsubcomid"));
|
||||
String e7canceled = Util.null2String(E7SubcompanyInfo.get("canceled"));
|
||||
String e7subcompanycode = Util.null2String(E7SubcompanyInfo.get("subcompanycode"));
|
||||
String e7tlevel = Util.null2String(E7SubcompanyInfo.get("tlevel"));
|
||||
String e7showorder = Util.null2String(E7SubcompanyInfo.get("showorder"));
|
||||
|
||||
if(!e7subcompanyname.equals(subcompanyname)
|
||||
|| !e7subcompanydesc.equals(subcompanydesc)
|
||||
|| !e7supsubcomid.equals(supsubcomOutKey)
|
||||
|| !e7canceled.equals(canceled)
|
||||
|| !e7subcompanycode.equals(subcompanycode)
|
||||
|| !e7tlevel.equals(tlevel)
|
||||
|| !e7showorder.equals(showorder)
|
||||
){
|
||||
E9Map.put("supsubcomid", supsubcomOutKey);
|
||||
E9Map.put("e7id", outkey);
|
||||
updateList.add(E9Map);
|
||||
}else{
|
||||
unchanged_count++;
|
||||
}
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9Id);
|
||||
}
|
||||
}else{
|
||||
// data_error_count++;
|
||||
// dataErrorList.add(e9Id);
|
||||
|
||||
if(StringUtils.isNotBlank(supsubcomOutKey) && ("0".equals(supsubcomOutKey) || E7SubcompanyMap.containsKey(supsubcomOutKey))){
|
||||
|
||||
E9Map.put("supsubcomid", supsubcomOutKey);
|
||||
insertList.add(E9Map);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9Id);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
if(StringUtils.isNotBlank(supsubcomOutKey) && ("0".equals(supsubcomOutKey) || E7SubcompanyMap.containsKey(supsubcomOutKey))){
|
||||
|
||||
E9Map.put("supsubcomid", supsubcomOutKey);
|
||||
insertList.add(E9Map);
|
||||
}else{
|
||||
data_error_count++;
|
||||
dataErrorList.add(e9Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bb.writeLog("insertList:"+insertList.size()+"</br>");
|
||||
bb.writeLog("updateList:"+updateList.size()+"</br>");
|
||||
|
||||
for(Map<String,Object> E9Map : insertList){
|
||||
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String uuid = UUID.randomUUID().toString().replace("-","").toUpperCase();
|
||||
E9Map.put("url",uuid);
|
||||
E9Map.put("companyid",1);//默认公司是1
|
||||
|
||||
String keyString = "";
|
||||
String valueString = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
if(!"e9id".equals(key) && !"e7id".equals(key)){
|
||||
keyString += keyString == "" ? key : ","+key ;
|
||||
valueString += valueString == "" ? "'"+value+"'" : ",'"+value+"' ";
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
boolean isTrue2 = false;
|
||||
|
||||
String insert_sql = " insert into hrmsubcompany("+keyString+") values("+valueString+")";
|
||||
|
||||
|
||||
String newE7Id = insertE7Data(rsd,insert_sql,uuid,insert_fail_count);
|
||||
bb.writeLog("insert_sql:"+insert_sql+" "+newE7Id+"</br>");
|
||||
|
||||
if(StringUtils.isNotBlank(newE7Id)){
|
||||
sql = " update hrmsubcompany set outkey="+newE7Id+" where id = "+e9id;
|
||||
isTrue2 = rs.executeUpdate(sql);
|
||||
bb.writeLog("sql:"+sql+" "+isTrue2+"</br>");
|
||||
if(isTrue2){
|
||||
insert_success_count++;
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
}else{
|
||||
insert_exp_count++;
|
||||
}
|
||||
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",insert_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue2 ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}catch (Exception e){
|
||||
bb.writeLog("e:"+e);
|
||||
insert_exp_count++;
|
||||
}
|
||||
}
|
||||
|
||||
for(Map<String,Object> E9Map : updateList){
|
||||
String e7id = Util.null2String(E9Map.get("e7id"));
|
||||
String e9id = Util.null2String(E9Map.get("e9id"));
|
||||
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, Object>> it = E9Map.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, Object> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
if(!"e7id".equals(key) && !"e9id".equals(key)){
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
}
|
||||
|
||||
try{
|
||||
String update_sql = "update hrmsubcompany set "+valuesStr+" where id = '"+e7id+"' ";
|
||||
boolean isTrue = updateE7SubcompanyData(rsd,update_sql);
|
||||
bb.writeLog("update_sql:"+update_sql+" "+isTrue+"</br>");
|
||||
if(isTrue){
|
||||
update_success_count++;
|
||||
}else{
|
||||
update_fail_count++;
|
||||
}
|
||||
Map<String,String> sqlMap = new HashMap<String,String>();
|
||||
sqlMap.put("zxyj",update_sql);
|
||||
sqlMap.put("dataid",e9id);
|
||||
sqlMap.put("zxjg",isTrue ? "true" : "false");
|
||||
sqlList.add(sqlMap);
|
||||
}catch (Exception e){
|
||||
bb.writeLog("e:"+e);
|
||||
update_exp_count++;
|
||||
}
|
||||
}
|
||||
|
||||
String mainid = "";
|
||||
try{
|
||||
String fbtbjg = "分部共:"+totle_count+"行数据,数据一致工:"+unchanged_count+"。新增成功:"+insert_success_count+",新增失败:"+insert_fail_count+",新增异常:"+insert_exp_count+"。"+
|
||||
"更新成功:"+update_success_count+",更新失败:"+update_fail_count+",更新异常:"+update_exp_count+"。"+
|
||||
"数据异常(ID在E7中不存在):"+data_error_count ;
|
||||
|
||||
Map<String,String> mainMap = new HashMap<String,String>();
|
||||
mainMap.put("fbtbjg",fbtbjg);
|
||||
if(dataErrorList.size() > 0){
|
||||
if(dataErrorList.size() <= 150){
|
||||
String bmycsj = String.join(",", dataErrorList);
|
||||
mainMap.put("fbycsj",bmycsj);
|
||||
}else{
|
||||
String bmycsj = String.join(",", dataErrorList.subList(0,150));
|
||||
mainMap.put("fbycsj",bmycsj);
|
||||
}
|
||||
}
|
||||
mainid = recordSynMainlog("",mainMap);
|
||||
if(StringUtils.isNotBlank(mainid)){
|
||||
insertLogDetail1(mainid,sqlList);
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog(e);
|
||||
}
|
||||
|
||||
|
||||
return mainid;
|
||||
}
|
||||
|
||||
|
||||
private String insertE7Data(RecordSetDataSource rsd,String insert_sql,String uuid,int insert_fail_count){
|
||||
String newE7Id = "";
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("insert-sql:"+insert_sql);
|
||||
boolean isTrue = rsd.execute(insert_sql);
|
||||
if(isTrue){
|
||||
String sql = " select id from hrmsubcompany where url = '"+uuid+"' ";
|
||||
rsd.executeSql(sql);
|
||||
if(rsd.next()){
|
||||
newE7Id = Util.null2String(rsd.getString("id"));
|
||||
}
|
||||
}else{
|
||||
insert_fail_count++;
|
||||
}
|
||||
return newE7Id;
|
||||
}
|
||||
|
||||
|
||||
private boolean updateE7SubcompanyData(RecordSetDataSource rsd,String update_sql){
|
||||
BaseBean bb = new BaseBean();
|
||||
bb.writeLog("update-sql:"+update_sql);
|
||||
boolean isTrue = rsd.execute(update_sql);
|
||||
return isTrue;
|
||||
}
|
||||
|
||||
private Map<String,String> getE9SubcompanyOutkey(){
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<String,String> outkeyMap = new HashMap<String,String>();
|
||||
String sql = " select id,outkey from hrmsubcompany " ;
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String outkey = Util.null2String(rs.getString("outkey"));
|
||||
outkeyMap.put(id,outkey);
|
||||
}
|
||||
return outkeyMap;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private List<String> getE7HrmSubcompanyList(String dataResource){
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
List<String> E7SubcompanyList = new ArrayList<String>();
|
||||
Map<String,Map<String,String>> E7SubcompanyMap = new HashMap<String,Map<String,String>>();
|
||||
String sql = " select id from hrmsubcompany " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
E7SubcompanyList.add(id);
|
||||
}
|
||||
return E7SubcompanyList;
|
||||
}
|
||||
|
||||
|
||||
private Map<String,Map<String,String>> getE7HrmSubcompanyList2(String dataResource){
|
||||
RecordSetDataSource rsd = new RecordSetDataSource(dataResource);
|
||||
Map<String,Map<String,String>> E7SubcompanyMap = new HashMap<String,Map<String,String>>();
|
||||
String sql = " select id,subcompanyname,subcompanydesc,supsubcomid,canceled,subcompanycode,tlevel,showorder from hrmsubcompany " ;
|
||||
rsd.execute(sql);
|
||||
while (rsd.next()){
|
||||
String id = Util.null2String(rsd.getString("id"));
|
||||
String subcompanyname = Util.null2String(rsd.getString("subcompanyname"));
|
||||
String subcompanydesc = Util.null2String(rsd.getString("subcompanydesc"));
|
||||
String supsubcomid = Util.null2String(rsd.getString("supsubcomid"));
|
||||
String canceled = Util.null2String(rsd.getString("canceled"));
|
||||
|
||||
String subcompanycode = Util.null2String(rsd.getString("subcompanycode"));
|
||||
|
||||
String tlevel = Util.null2String(rsd.getString("tlevel"));
|
||||
String showorder = Util.null2String(rsd.getString("showorder"));
|
||||
|
||||
|
||||
Map<String,String> subcompanyMap = new HashMap<>();
|
||||
subcompanyMap.put("id",id);
|
||||
subcompanyMap.put("subcompanyname",subcompanyname);
|
||||
subcompanyMap.put("subcompanydesc",subcompanydesc);
|
||||
subcompanyMap.put("supsubcomid",supsubcomid);
|
||||
subcompanyMap.put("canceled",canceled);
|
||||
subcompanyMap.put("subcompanycode",subcompanycode);
|
||||
subcompanyMap.put("tlevel",tlevel);
|
||||
subcompanyMap.put("showorder",showorder);
|
||||
E7SubcompanyMap.put(id,subcompanyMap);
|
||||
|
||||
}
|
||||
return E7SubcompanyMap;
|
||||
}
|
||||
|
||||
|
||||
private String recordSynMainlog(String id,Map<String,String> mainMap){
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataid = "" ;
|
||||
String uf_table = "uf_zzjgtbrz";
|
||||
String modedatacreater = "1";
|
||||
SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
|
||||
SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");//设置日期格式
|
||||
String modedatacreatedate = sdfDate.format(new Date());
|
||||
String modedatacreatetime = sdfTime.format(new Date());
|
||||
String modedatacreatertype = "0";
|
||||
|
||||
String formmodeid = "" ;
|
||||
String sql =" select k.id from modeinfo k \n" +
|
||||
" inner join workflow_bill l on formid = l.id\n" +
|
||||
" where l.tablename = '"+uf_table+"' " ;
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
formmodeid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
|
||||
if(StringUtils.isBlank(id)){
|
||||
|
||||
ModeRightInfo modeRightInfo = new ModeRightInfo();
|
||||
modeRightInfo.setNewRight(true);
|
||||
|
||||
String uuid = UUID.randomUUID().toString();
|
||||
mainMap.put("uuid",uuid);
|
||||
mainMap.put("formmodeid",formmodeid);
|
||||
mainMap.put("modedatacreater",modedatacreater);
|
||||
mainMap.put("modedatacreatertype",modedatacreatertype);
|
||||
mainMap.put("modedatacreatedate",modedatacreatedate);
|
||||
mainMap.put("modedatacreatetime",modedatacreatetime);
|
||||
|
||||
String tablename = "" ;
|
||||
String tablenvalue = "" ;
|
||||
for (Map.Entry<String, String> entry : mainMap.entrySet())
|
||||
{
|
||||
String fieldname = Util.null2String(entry.getKey()).trim();
|
||||
String fieldvalue = Util.null2String(entry.getValue()).replace("'", "''").trim();
|
||||
tablename += tablename==""? fieldname :","+fieldname ;
|
||||
tablenvalue += tablenvalue=="" ? "'"+fieldvalue+"'" :",'"+fieldvalue+"'" ;
|
||||
}
|
||||
if(tablename !="" && tablenvalue !="")
|
||||
{
|
||||
sql = " insert into "+uf_table+"("+tablename+") values ("+ tablenvalue +")";
|
||||
boolean boo = rs.execute(sql);
|
||||
bb.writeLog("insert-istrue:"+boo);
|
||||
if(boo)
|
||||
{
|
||||
|
||||
sql = " select * from "+uf_table+" where uuid='"+uuid+"' " ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
rs.execute(sql);
|
||||
if(rs.next()){
|
||||
dataid = Util.null2String(rs.getString("id"));
|
||||
}
|
||||
bb.writeLog("dataid:"+dataid);
|
||||
if(!"".equals(dataid))
|
||||
{
|
||||
modeRightInfo.editModeDataShare(Integer.valueOf(modedatacreater), Integer.parseInt(formmodeid), Integer.parseInt(dataid));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
dataid = id ;
|
||||
String valuesStr = "";
|
||||
Iterator<Map.Entry<String, String>> it = mainMap.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, String> entry = it.next();
|
||||
String key = Util.null2String(entry.getKey());
|
||||
String value = Util.null2String(entry.getValue());
|
||||
valuesStr += valuesStr == "" ? key+"='"+value+"'" : ","+key+"='"+value+"'" ;
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(valuesStr)){
|
||||
sql = "update "+uf_table+" set " + valuesStr + " where id = "+id+"";
|
||||
boolean isTrue = rs.execute(sql);
|
||||
bb.writeLog("update-istrue:"+isTrue);
|
||||
}
|
||||
}
|
||||
return dataid;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @param dt1List
|
||||
* @param mainid
|
||||
*/
|
||||
private void insertLogDetail1(String mainid,List<Map<String,String>> dt1List){
|
||||
BaseBean bb = new BaseBean();
|
||||
RecordSet rs = new RecordSet();
|
||||
for(int i=0;i<dt1List.size();i++){
|
||||
Map<String,String> dt1Map = dt1List.get(i);
|
||||
String dataid = dt1Map.get("dataid");
|
||||
String zxyj = dt1Map.get("zxyj");
|
||||
if(StringUtils.isNotBlank(zxyj) && zxyj.contains("'")){
|
||||
zxyj = zxyj.replace("'", "''");
|
||||
}
|
||||
String zxjg = dt1Map.get("zxjg");
|
||||
|
||||
String sql = " insert into uf_zzjgtbrz_dt1(mainid,fbid,zxyj,zxjg) values("+mainid+",'"+dataid+"','"+zxyj+"','"+zxjg+"')" ;
|
||||
bb.writeLog("sql:"+sql);
|
||||
boolean istrue = rs.executeUpdate(sql);
|
||||
bb.writeLog("istrue:"+istrue);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.TimeUtil;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
public class HrmSyn_E92E7_All_Job extends BaseCronJob {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
String dataResource = "E92E7_ORG";
|
||||
BaseBean bb = new BaseBean();
|
||||
HrmSynDaoTime_E92E7 hrmSynDaoTime_E92E7 = new HrmSynDaoTime_E92E7();
|
||||
bb.writeLog("组织架构E9同步E7定时任务--全量--START--->", TimeUtil.getCurrentTimeString());
|
||||
hrmSynDaoTime_E92E7.allSyn(dataResource);
|
||||
bb.writeLog("组织架构E9同步E7定时任务--全量--END--->", TimeUtil.getCurrentTimeString());
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package weaver.interfaces.zjrb.job;
|
||||
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.TimeUtil;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
public class HrmSyn_E92E7_Time_Job extends BaseCronJob {
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
|
||||
BaseBean bb = new BaseBean();
|
||||
String dataResource = "E92E7_ORG";
|
||||
int days = 7;
|
||||
HrmSynDaoTime_E92E7 hrmSynDaoTime_E92E7 = new HrmSynDaoTime_E92E7();
|
||||
bb.writeLog("组织架构E9同步E7定时任务---START--->", TimeUtil.getCurrentTimeString());
|
||||
hrmSynDaoTime_E92E7.syn(days,dataResource);
|
||||
bb.writeLog("组织架构E9同步E7定时任务---END--->", TimeUtil.getCurrentTimeString());
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,92 @@
|
||||
package weaver.interfaces.zjrb.mode;
|
||||
|
||||
import oracle.sql.CLOB;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.ConnStatement;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ExaminationPaperModeExpand2 extends AbstractModeExpandJavaCodeNew {
|
||||
|
||||
public Map<String, String> doModeExpand(Map<String, Object> param) {
|
||||
Map<String, String> result = new HashMap<String, String>();
|
||||
try {
|
||||
User user = (User)param.get("user");
|
||||
int billid = -1;//数据id
|
||||
int modeid = -1;//模块id
|
||||
RequestInfo requestInfo = (RequestInfo)param.get("RequestInfo");
|
||||
if(requestInfo!=null){
|
||||
billid = Util.getIntValue(requestInfo.getRequestid());
|
||||
modeid = Util.getIntValue(requestInfo.getWorkflowid());
|
||||
if(billid>0&&modeid>0){
|
||||
//------请在下面编写业务逻辑代码------
|
||||
|
||||
saveUserData2(billid+"");
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
result.put("errmsg","自定义出错信息");
|
||||
result.put("flag", "false");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void saveUserData2(String billid){
|
||||
BaseBean bb = new BaseBean();
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
bb.writeLog("ExaminationPaperModeExpand2-"+billid+":"+start);
|
||||
|
||||
try{
|
||||
if(StringUtils.isNotBlank(billid)){
|
||||
RecordSet rs = new RecordSet();
|
||||
if(("oracle").equals(rs.getDBType())){
|
||||
bb.writeLog("oracle");
|
||||
String ksfw = "";
|
||||
ConnStatement statement = null;
|
||||
try{
|
||||
statement = new ConnStatement();
|
||||
String sql = "select ksfw from uf_ks_kjb where id = " + billid;
|
||||
statement.setStatementSql(sql, false);
|
||||
statement.executeQuery();
|
||||
if (statement.next()) {
|
||||
CLOB clob = statement.getClob("ksfw");
|
||||
String readline = "";
|
||||
StringBuffer clobStrBuff = new StringBuffer("");
|
||||
BufferedReader clobin = new BufferedReader(clob.getCharacterStream());
|
||||
while ((readline = clobin.readLine()) != null)
|
||||
clobStrBuff = clobStrBuff.append(readline);
|
||||
clobin.close();
|
||||
ksfw = clobStrBuff.toString();
|
||||
}
|
||||
}catch(Exception e){
|
||||
bb.writeLog("saveUserData2-e:"+e);
|
||||
}finally {
|
||||
statement.close();
|
||||
}
|
||||
|
||||
long start2 = System.currentTimeMillis();
|
||||
bb.writeLog("ExaminationPaperModeExpand2-"+billid+":"+start2);
|
||||
|
||||
if(StringUtils.isNotBlank(ksfw)) {
|
||||
ExaminationPaperModeExpand2Runnable examinationPaperModeExpand2Runnable = new ExaminationPaperModeExpand2Runnable(ksfw,billid);
|
||||
new Thread(examinationPaperModeExpand2Runnable).start();
|
||||
}
|
||||
|
||||
long end = System.currentTimeMillis();
|
||||
bb.writeLog("ExaminationPaperModeExpand2-"+billid+":"+end);
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
bb.writeLog("e:"+e+"</br>");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package weaver.interfaces.zjrb.mode;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.resource.ResourceComInfo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class ExaminationPaperModeExpand2Runnable implements Runnable{
|
||||
private String ksfw;
|
||||
private String billid;
|
||||
public ExaminationPaperModeExpand2Runnable(String ksfw,String billid){
|
||||
this.ksfw = ksfw;
|
||||
this.billid = billid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
RecordSet rs = new RecordSet();
|
||||
BaseBean bb = new BaseBean();
|
||||
|
||||
ResourceComInfo resourceComInfo = null;
|
||||
try {
|
||||
resourceComInfo = new ResourceComInfo();
|
||||
if(StringUtils.isNotBlank(ksfw)){
|
||||
Map<String, Map<String,String>> userMap = new HashMap<String,Map<String,String>>();
|
||||
String sql = " select id,zgs,fgs,sgs from picc_hrm_org_path_view";
|
||||
rs.executeQuery(sql);
|
||||
while (rs.next()){
|
||||
String id = Util.null2String(rs.getString("id"));
|
||||
String zgs = Util.null2String(rs.getString("zgs"));
|
||||
String fgs = Util.null2String(rs.getString("fgs"));
|
||||
String sgs = Util.null2String(rs.getString("sgs"));
|
||||
Map<String,String> gsMap = new HashMap<String,String>();
|
||||
gsMap.put("zgs",zgs);
|
||||
gsMap.put("fgs",fgs);
|
||||
gsMap.put("sgs",sgs);
|
||||
userMap.put(id,gsMap);
|
||||
}
|
||||
|
||||
sql = " delete from uf_ks_kjb_dt2 where mainid = "+billid ;
|
||||
boolean isTrue = rs.executeUpdate(sql);
|
||||
if(isTrue){
|
||||
String[] userids = ksfw.split(",");
|
||||
bb.writeLog("userids:"+userids.length);
|
||||
List<List> batchList = new ArrayList<>(); //存放每条数据更新时需要的参数
|
||||
for(int i=0;i<userids.length;i++){
|
||||
String userid = userids[i];
|
||||
String deptid = "" ;
|
||||
if(StringUtils.isNotBlank(userid)){
|
||||
deptid = resourceComInfo.getDepartmentID(userid);
|
||||
}
|
||||
|
||||
String zgs = "";
|
||||
String fgs = "";
|
||||
String sgs = "";
|
||||
if(userMap.containsKey(userid)){
|
||||
Map<String,String> gsMap =userMap.get(userid);
|
||||
if(gsMap.containsKey("zgs")){
|
||||
zgs = gsMap.get("zgs");
|
||||
}
|
||||
if(gsMap.containsKey("fgs")){
|
||||
fgs = gsMap.get("fgs");
|
||||
}
|
||||
if(gsMap.containsKey("sgs")){
|
||||
sgs = gsMap.get("sgs");
|
||||
}
|
||||
}
|
||||
|
||||
List<String> userList = new ArrayList<String>();
|
||||
userList.add(billid);
|
||||
userList.add(userid);
|
||||
userList.add(deptid);
|
||||
userList.add("0");
|
||||
userList.add(zgs);
|
||||
userList.add(fgs);
|
||||
userList.add(sgs);
|
||||
batchList.add(userList);
|
||||
}
|
||||
bb.writeLog("batchList:"+batchList.size());
|
||||
if(batchList.size()>0){
|
||||
sql = " insert into uf_ks_kjb_dt2(mainid,ks,ksssbm,zt,kssszgs,ksssfgs,kssssgs) values(?,?,?,?,?,?,?)";
|
||||
boolean isTrue2 = rs.executeBatchSql(sql,batchList);
|
||||
bb.writeLog("isTrue2:"+isTrue2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (Exception e){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue