From 8e93e13ed5828b420e6a598f5d441dcf02aadeb5 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 21 May 2025 14:19:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=94=E9=99=A2=E6=9D=AD=E5=B7=9E=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E4=BA=BA=E5=91=98=E5=BF=AB=E7=85=A7=20=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E7=85=A7=E7=89=87=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/MainTest.java | 46 ++++++++++++++++++- .../wysecond/ResourceInfoSnipCron.java | 33 ++++++++++--- 2 files changed, 70 insertions(+), 9 deletions(-) diff --git a/src/test/MainTest.java b/src/test/MainTest.java index 419c661..7847522 100644 --- a/src/test/MainTest.java +++ b/src/test/MainTest.java @@ -2,6 +2,11 @@ package test; import weaver.common.DateUtil; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + /** * @Author weaver_cl * @Description: @@ -11,8 +16,45 @@ import weaver.common.DateUtil; public class MainTest { public static void main(String[] args) { - String month = DateUtil.getCurrentDate().substring(0,7); + String columns = " ryid, ny, bh, xm, xb, yglb, zgzt, zzmm, zjhm, bgyx, zw, rylb, bm, gw, dlm, zhlx, zzh, zt, zp, bgdd, sfzhm, csrq, nl, sg, tz, mz, jg, csd, jkzk, hjdz, xtxdz, hklb, hyzk, lzsj, zjxy, rtsj, cjdpsj, lxzz, yddh, gryx, jjlxrxm, jjlxrgx, jjlxrdh, zgxl, zgxw, zgxlxlzy, byyxlx, zyjszgmc, zgxlxwbyyx, yxkh, yxkhxqc, hzsgccrcxx, grsf, gl, kjshgl, sl, dnzw, ghzw, rzrq, htksrq, htjsrq, syqksrq, syqjzrq, zzrq, sccjgzsj, sfyjsrz, zyjszgxl, zyjszgjb, ywzwxl, ywzwcj, pzqssj, pzzzsj, ldgxszdw, sxksrq, pzryszdwdrzwgw, sxdqrq, sxzhgzr, zdxl, zdzy, zdyxlx, zdyx, smdj, jrdqbmsj, jrdqgwsj, gwlb, zyjndj, szbz, sfwbzc, ddid, formmodeid, modedatacreater"; + String values = "243, '2025-05', 'cs001', '贾浩浩', '男', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '测试部门', NULL, 'cs003', NULL, 1, '试用', 1, '系统新增地点1', NULL, NULL, 1, 0, 0, NULL, NULL, NULL, '健康', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '经济师', NULL, NULL, NULL, NULL, NULL, 0.00, NULL, 0.01, NULL, NULL, '2025-05-16', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,Null,NUll,NUll, NULL, NULL, 77, 1"; + // 统计列名数量 + String[] columnArray = columns.split(","); + List columnList = new ArrayList<>(); + for (String col : columnArray) { + columnList.add(col.trim()); + } + int columnCount = columnList.size(); + + // 统计值的数量 + List valueList = new ArrayList<>(); + Pattern pattern = Pattern.compile("'[^']*'|[^',]+"); + Matcher matcher = pattern.matcher(values); + while (matcher.find()) { + valueList.add(matcher.group().trim()); + } + int valueCount = valueList.size(); + + System.out.println("列名数量: " + columnCount); + System.out.println("值的数量: " + valueCount); + + if (columnCount > valueCount) { + System.out.println("列名数量多于值的数量,可能遗漏了值。"); + } else if (columnCount < valueCount) { + System.out.println("值的数量多于列名数量,可能多写了值。"); + } else { + System.out.println("列名数量和值的数量匹配。"); + } + + + String sql = "insert into uf_resourcesnip(ryid,ny,bh,xm,xb,yglb,zgzt,zzmm,zjhm,bgyx,zw,rylb,bm,gw,dlm,zhlx,zzh,zt,bgdd,sfzhm,csrq,nl,sg," + + "tz,mz,jg,csd,jkzk,hjdz,xtxdz,hklb,hyzk,lzsj,zjxy,rtsj,cjdpsj,lxzz,yddh,gryx,jjlxrxm,jjlxrgx,jjlxrdh,zgxl,zgxw,zgxlxlzy,byyxlx,zyjszgmc,zgxlxwbyyx," + + "yxkh,yxkhxqc,hzsgccrcxx,grsf,gl,kjshgl,sl,dnzw,ghzw,rzrq,htksrq,htjsrq,syqksrq,syqjzrq,zzrq,sccjgzsj,sfyjsrz,zyjszgxl,zyjszgjb,ywzwxl,ywzwcj," + + "pzqssj,pzzzsj,ldgxszdw,sxksrq,pzryszdwdrzwgw,sxdqrq,sxzhgzr,zdxl,zdzy,zdyxlx,zdyx,smdj,jrdqbmsj,jrdqgwsj,gwlb,zyjndj,szbz,sfwbzc,ddid,formmodeid," + + "modedatacreater,modedatacreatedate,modedatacreatetime) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + + - System.out.println(month); } } diff --git a/src/weaver/interfaces/wysecond/ResourceInfoSnipCron.java b/src/weaver/interfaces/wysecond/ResourceInfoSnipCron.java index b1872d0..029e560 100644 --- a/src/weaver/interfaces/wysecond/ResourceInfoSnipCron.java +++ b/src/weaver/interfaces/wysecond/ResourceInfoSnipCron.java @@ -68,7 +68,7 @@ public class ResourceInfoSnipCron extends BaseCronJob { String cardNumber = rs.getPropValue("wysecond", "cardNumber"); String bankName = rs.getPropValue("wysecond", "bankName"); String highPersonType = rs.getPropValue("wysecond", "highPersonType"); - String identity = rs.getPropValue("wysecond", "identity"); + String identitys = rs.getPropValue("wysecond", "identitys"); String socialWorkYear = rs.getPropValue("wysecond", "socialWorkYear"); String partyPosition = rs.getPropValue("wysecond", "partyPosition"); String tradePosition = rs.getPropValue("wysecond", "tradePosition"); @@ -116,6 +116,7 @@ public class ResourceInfoSnipCron extends BaseCronJob { EducationLevelComInfo education = new EducationLevelComInfo(); List> insertList = new ArrayList<>(); + rs.executeQuery("select a.id,a.workcode,a.lastname,a.sex,b."+workPeopleType+" as workPeopleType,b."+workStatus+" as workStatus,\n" + "b."+policy+" as policy,b."+landNumber+" as landNumber,b."+officeEmail+" as officeEmail,b."+position+" as position,b."+personType+" as personType,\n" + "a.departmentid,b."+jobTitle+" as jobtitle,a.loginid,a.accounttype,a.belongto,a.status,a.resourceimageid,a.locationid,\n" + @@ -125,7 +126,7 @@ public class ResourceInfoSnipCron extends BaseCronJob { "c."+contactAddress+" as contactAddress,c."+mobile+" as mobile,c."+email+" as email,\n" + "c."+emergencyName+" as emergencyName,c."+emergencyType+" as emergencyType,c."+emergencyPhone+" as emergencyPhone,c."+highEducation+" as highEducation,\n" + "c."+highDegree+" as highDegree,c."+highMajor+" as highMajor,c."+schollType+" as schollType,c."+jobCall+" as jobCall,c."+schoolName+" as schoolName,\n" + - "d."+cardNumber+" as cardNumber,d."+bankName+" as bankName,d."+highPersonType+" as highPersonType,d."+identity+" as identity,a.workyear,d."+socialWorkYear+" as socialWorkYear,\n" + + "d."+cardNumber+" as cardNumber,d."+bankName+" as bankName,d."+highPersonType+" as highPersonType,d."+identitys+" as identitys,a.workyear,d."+socialWorkYear+" as socialWorkYear,\n" + "a.companyworkyear,d."+partyPosition+" as partyPosition,d."+tradePosition+" as tradePosition,a.companystartdate,a.startdate,\n" + "a.enddate,d."+trialStartDate+" as trialStartDate,d."+trialEndDate+" as trialEndDate,d."+regularDate+" as regularDate,d."+workStartDate+" as workStartDate,\n" + "d."+graduatesJoin+" as graduatesJoin,d."+proTechnical+" as proTechnical,d."+proLevel+" as proLevel,d."+postionType+" as postionType,d."+postion+" as postion,d."+beStartDate+" as beStartDate,\n" + @@ -156,7 +157,8 @@ public class ResourceInfoSnipCron extends BaseCronJob { peopleList.add(FieldTransUtils.selectHrmItem("accounttype",Util.getIntValue(rs.getString("accounttype")),"7")); peopleList.add(Util.getIntValue(rs.getString("belongto"))); peopleList.add(FieldTransUtils.selectHrmItem("status",Util.getIntValue(rs.getString("status")),"7")); - peopleList.add(Util.getIntValue(rs.getString("resourceimageid"))); + // 照片不存 + //peopleList.add(Util.getIntValue(rs.getString("resourceimageid"),0)); peopleList.add(location.getLocationname(Util.null2String(rs.getString("locationid")))); peopleList.add(Util.null2String(rs.getString("certificatenum"))); @@ -192,7 +194,7 @@ public class ResourceInfoSnipCron extends BaseCronJob { peopleList.add(Util.null2String(rs.getString("cardNumber"))); peopleList.add(Util.null2String(rs.getString("bankName"))); peopleList.add(FieldTransUtils.selectItemValue(highPersonType.substring("field".length()),Util.getIntValue(rs.getString("highPersonType")),"7")); - peopleList.add(FieldTransUtils.selectItemValue(identity.substring("field".length()),Util.getIntValue(rs.getString("identity")),"7")); + peopleList.add(FieldTransUtils.selectItemValue(identitys.substring("field".length()),Util.getIntValue(rs.getString("identity")),"7")); peopleList.add(Util.null2String(rs.getString("workyear"))); peopleList.add(Util.null2String(rs.getString("socialWorkYear"))); peopleList.add(Util.null2String(rs.getString("companyworkyear"))); @@ -231,7 +233,7 @@ public class ResourceInfoSnipCron extends BaseCronJob { peopleList.add(Util.null2String(rs.getString("dingId"))); peopleList.add(modeId); - peopleList.add(1);//创建人 + peopleList.add("1");//创建人 peopleList.add(currentDate); peopleList.add(currentTime); @@ -240,16 +242,33 @@ public class ResourceInfoSnipCron extends BaseCronJob { } + +// List objects = insertList.get(0); +// List> var = new ArrayList<>(); +// var.add(objects); +// rs.writeLog("入参:"+var.toString()); +// +// +// String sql = "insert into uf_resourcesnip(ryid,ny,bh,xm,xb,yglb,zgzt,zzmm,zjhm,bgyx,zw,rylb,bm,gw,dlm,zhlx,zzh,zt,bgdd,sfzhm,csrq,nl,sg," + +// "tz,mz,jg,csd,jkzk,hjdz,xtxdz,hklb,hyzk,lzsj,zjxy,rtsj,cjdpsj,lxzz,yddh,gryx,jjlxrxm,jjlxrgx,jjlxrdh,zgxl,zgxw,zgxlxlzy,byyxlx,zyjszgmc,zgxlxwbyyx," + +// "yxkh,yxkhxqc,hzsgccrcxx,grsf,gl,kjshgl,sl,dnzw,ghzw,rzrq,htksrq,htjsrq,syqksrq,syqjzrq,zzrq,sccjgzsj,sfyjsrz,zyjszgxl,zyjszgjb,ywzwxl,ywzwcj," + +// "pzqssj,pzzzsj,ldgxszdw,sxksrq,pzryszdwdrzwgw,sxdqrq,sxzhgzr,zdxl,zdzy,zdyxlx,zdyx,smdj,jrdqbmsj,jrdqgwsj,gwlb,zyjndj,szbz,sfwbzc,ddid,formmodeid," + +// "modedatacreater,modedatacreatedate,modedatacreatetime) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + +// "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; +// +// rs.executeBatchSql(sql,var,null); + + RecordSetTrans rsTrans = new RecordSetTrans(); try { rsTrans.setAutoCommit(false); rsTrans.executeUpdate("delete from uf_resourcesnip where ny = ?",month); //throw new RuntimeException("当月数据已存在,请去对应人员快照表删除后重新记录"); - String sql = "insert into uf_resourcesnip(ryid,ny,bh,xm,xb,yglb,zgzt,zzmm,zjhm,bgyx,zw,rylb,bm,gw,dlm,zhlx,zzh,zt,zp,bgdd,sfzhm,csrq,nl,sg," + + String sql = "insert into uf_resourcesnip(ryid,ny,bh,xm,xb,yglb,zgzt,zzmm,zjhm,bgyx,zw,rylb,bm,gw,dlm,zhlx,zzh,zt,bgdd,sfzhm,csrq,nl,sg," + "tz,mz,jg,csd,jkzk,hjdz,xtxdz,hklb,hyzk,lzsj,zjxy,rtsj,cjdpsj,lxzz,yddh,gryx,jjlxrxm,jjlxrgx,jjlxrdh,zgxl,zgxw,zgxlxlzy,byyxlx,zyjszgmc,zgxlxwbyyx," + "yxkh,yxkhxqc,hzsgccrcxx,grsf,gl,kjshgl,sl,dnzw,ghzw,rzrq,htksrq,htjsrq,syqksrq,syqjzrq,zzrq,sccjgzsj,sfyjsrz,zyjszgxl,zyjszgjb,ywzwxl,ywzwcj," + "pzqssj,pzzzsj,ldgxszdw,sxksrq,pzryszdwdrzwgw,sxdqrq,sxzhgzr,zdxl,zdzy,zdyxlx,zdyx,smdj,jrdqbmsj,jrdqgwsj,gwlb,zyjndj,szbz,sfwbzc,ddid,formmodeid," + - "modedatacreater,modedatacreatedate,modedatacreatetime) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + + "modedatacreater,modedatacreatedate,modedatacreatetime) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," + "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; rsTrans.executeBatchSql(sql, insertList);