From 5975adb309f21bce91a7e725a95a9d541f79bb60 Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Wed, 20 Dec 2023 20:24:02 +0800 Subject: [PATCH] liuliangh --- .../hrm_attendance/hrm-attendance.jar | Bin 202036 -> 202522 bytes .../web/AttendanceanalysisAction.java | 19 ++++++++++++++++++ .../job/scheduling/SchedulingJob.java | 14 +++++-------- .../impl/ProcessSubmitCheckServiceImpl.java | 4 +++- src/com/engine/common/util/Utils.java | 8 ++++++-- .../web/AttendanceanalysisAction.class | Bin 10087 -> 11351 bytes .../com/engine/common/util/Utils.class | Bin 19781 -> 20003 bytes target/test-classes/TestObj.class | Bin 0 -> 430 bytes test/TestObj.java | 8 ++++++++ 9 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 target/test-classes/TestObj.class create mode 100644 test/TestObj.java diff --git a/out/artifacts/hrm_attendance/hrm-attendance.jar b/out/artifacts/hrm_attendance/hrm-attendance.jar index f3568c31b8acfd75c94bd44e5bfb8655832c8498..180a3ffd583b2339c5ef6784b7e133014b41c45b 100644 GIT binary patch delta 7354 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 dataList = DbTools.getSqlToList(sql,startDate,endDate); Map>> collect = dataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("userid")))); + //考勤项目 + sql = "select id,mc from uf_jcl_kq_kqxm"; + List> items = DbTools.getSqlToList(sql); + Map itemMap = items.stream().collect(Collectors.toMap(e->Util.null2String(e.get("id")),e->Util.null2String(e.get("mc")))); + + //请假记录 sql = "select a.qjry,a.jqlx,a.cxjqj,b.ksrq,b.kssj,b.jsrq,b.jssj,b.qjsc,b.qtj,b.btj from uf_jcl_kq_qjjl a left join uf_jcl_kq_qjjl_dt1 b on a.id = b.mainid where a.qjry in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.cxqj=0 or b.cxqj is null) order by b.ksrq,b.kssj"; List> askforLeaveList = DbTools.getSqlToList(sql,startDate,endDate); + for (Map map :askforLeaveList){ + map.put("jqlx_name",itemMap.get(map.get("jqlx"))); + } Map>> askforLeavecollect = askforLeaveList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("qjry")))); //出差记录 sql = "select b.ccr,a.cclx,a.ccsd,b.ksrq,b.jsrq,b.kssj,b.jssj,b.ccsc,b.qtcc,b.btcc,b.cxcc from uf_jcl_kq_ccjl a left join uf_jcl_kq_ccjl_dt1 b on a.id = b.mainid where b.ccr in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.cxcc=0 or b.cxcc is null) order by b.ksrq,b.kssj"; List> evectionList = DbTools.getSqlToList(sql,startDate,endDate); + for (Map map :evectionList){ + map.put("cclx_name",itemMap.get(map.get("cclx"))); + } Map>> evectioncollect = evectionList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("ccr")))); //加班计划 sql = "select b.jbry,b.ksrq,b.kssj,a.jblx,b.jsrq,b.jssj,b.jbsc from uf_jcl_kq_jbjh a left join uf_jcl_kq_jbjh_dt1 b on a.id=b.mainid where b.jbry in ("+userIds+") and b.ksrq>=? and b.ksrq<=? and (b.jbcx=0 or b.jbcx is null) order by b.ksrq,b.kssj"; List> overPlanDataList = DbTools.getSqlToList(sql,startDate,endDate); + for (Map map :overPlanDataList){ + map.put("jblx_name",itemMap.get(map.get("jblx"))); + } Map>> overPlancollect = overPlanDataList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("jbry")))); //加班结果 sql = "select szjg,jbry,sjksrq,jbjgly,sjjsrq,sjkssj,sjjssj,sjjbsc,jblx,zt from uf_jcl_kq_jbjg where jbry in ("+userIds+") and sjksrq>=? and sjjsrq<=? order by sjksrq,sjkssj"; List> overPlanResultList = DbTools.getSqlToList(sql,startDate,endDate); + for (Map map :overPlanResultList){ + map.put("jblx_name",itemMap.get(map.get("jblx"))); + } Map>> overResultcollect = overPlanResultList.stream().collect(Collectors.groupingBy(e -> Util.null2String(e.get("jbry")))); + List> resultList = Lists.newArrayList(); for (String userId : userIds.split(",")){ Map map = Maps.newHashMap(); diff --git a/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java b/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java index 7c991f7..2db49ee 100644 --- a/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java +++ b/src/com/engine/attendance/component/persongroup/job/scheduling/SchedulingJob.java @@ -15,19 +15,10 @@ import java.util.Map; @Slf4j public class SchedulingJob extends BaseCronJob { - /** - * 规律排班模块id - */ - private String modeId; /** * 生成天数 */ private String day; - /** - * 排班结果模块id - */ - private String formmodeid; - private List rulers; { rulers = new Utils().getAllClassByInterface(RegularScheduling.class); @@ -38,6 +29,11 @@ public class SchedulingJob extends BaseCronJob { String currentDate = DateUtil.getCurrentDate(); String sql = "select * from uf_jcl_kq_glpb where edate > ? and bdate<=?"; List> dataList = DbTools.getSqlToList(sql,currentDate,currentDate); + Map formmodeIdMap = Utils.getFormmodeIdMap(); + //规律排班模块id + String modeId = formmodeIdMap.get("uf_jcl_kq_glpb"); + //排班结果模块 + String formmodeid = formmodeIdMap.get("uf_pbjg"); log.info("dataList : [{}]",dataList); try { dataList.forEach(e -> { diff --git a/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java b/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java index 9f35191..34803a1 100644 --- a/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java +++ b/src/com/engine/attendance/workflow/service/impl/ProcessSubmitCheckServiceImpl.java @@ -4,6 +4,7 @@ import com.engine.attendance.workflow.service.ProcessSubmitCheckService; import com.engine.common.util.CommonUtil; import com.engine.common.util.DateUtil; import com.engine.common.util.DbTools; +import com.engine.common.util.Utils; import com.engine.core.impl.Service; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; @@ -21,7 +22,8 @@ public class ProcessSubmitCheckServiceImpl extends Service implements ProcessSub public Map processSubmitCheck(Map params) { String userId = Util.null2String(params.get("userId")); String submitDate = Util.null2String(params.get("submitDate")); - String modeId = Util.null2String(params.get("modeId")); + //String modeId = Util.null2String(params.get("modeId")); + String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc"); Map resultMap = Maps.newHashMap(); resultMap.put("result","0"); diff --git a/src/com/engine/common/util/Utils.java b/src/com/engine/common/util/Utils.java index 427e0eb..a0d1c7f 100644 --- a/src/com/engine/common/util/Utils.java +++ b/src/com/engine/common/util/Utils.java @@ -468,9 +468,9 @@ public class Utils { * @return */ public static Map getFormmodeIdMap(){ - String sql = "select modeid,tablename from uf_jcl_form_table "; + String sql = "select c.id,b.tablename from uf_jcl_form_table a left join workflow_bill b on a.tablename=b.tablename left join modeinfo c on b.id=c.formid"; List> dataList = DbTools.getSqlToList(sql); - return dataList.stream().collect(Collectors.toMap(e->e.get("tablename").toString(),e->e.get("modeid").toString())); + return dataList.stream().collect(Collectors.toMap(e->e.get("tablename").toString(),e->e.get("id").toString())); } @@ -537,4 +537,8 @@ public class Utils { } return 0; } + public static void test1(){ + Object obj = new Object(); + System.out.println(obj); + } } diff --git a/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class b/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class index 946858fc3a081607744188eab6d052038c3e9205..2115565531980209e55a6aecc649c65c5dce9350 100644 GIT binary patch delta 4416 zcmb7H3wRXO75>i**||GANj8(sV-}DEPy$k8c&R}VQKVQN0xAe9E}MlUgV3T_|) zd5exnHi%JB(Nf`;Ep^+gT8lkH17evdy0 ztn;A&FYEXt{-om-yehCkwyz0nlI`mn4(SNspuiileN*7ivi*yOw{*OXzxps7e>3Ck z`+XfB;2%Ex6aUh1MBv{#{)7MO_#ZwL_(;0>Sl|;M`r%W7&oq24@PC0X1iA%55D8KQ zse=0Hltvywn!suwG!i) z@&#Fff*d3D_t5|vD8(s)1_>%KIS`&PSkMqbLj|2`B25~G2`UmaT+j#;9%&dU=vyW< zMxo3Fiu8tmY}l*og=7J(0D=T3OY}t2|Arm6FbZ3&3?HP zG`c{eNt_;yF60bobP@Bi=X*Z!r&Yuv)lq^b+v%Y?dzN-DjkUL=jkFJCYxxt#Yc!eQ zFJ2OfT~HIMS{|*4UKEN&>{TL2XW2tUk=-KlX`Is^>&P*V9PP+aQl3&m2v&uv7nOyE zGR&NCd8Dkds-k8I1BHg3X}=^&)docEEbpb>iw&AW-zH45C+Y?E2JcX{3f1-_-t}q? zYVGs%nIq~@uhCS4E}`!jG>xWfG{c~obg4$O44O@I47yB;%jpVxuf9y3OY`hv-|6uy zX+G1a3@r;4SA}Yp6wh2#841TUT42ysbhSa(&_W)cR9hR1#u`F((<8C++OlY-hpzS0 zbZ$a^JY~=#3TsqmP=pq1w8X$xDkr2nsEx6Ts$xzcfktwc4XU6@jg}fzMb(6S7*s>G z1ic{=t!-=wN2W4N9o5@Md<)KQFepkfXE5B@&=9E!M+|DDdV`kHb%gBRuqQW#BXzNg z+8P6uSZcQ#Lp)6eEvM`4hm6xbH%N7beaM(nvXW2`jZ`tmf{L<{)!~B04Ykz;jf)pn zhN~7Xt>;fuHPgD0zj1?_Y1Qu2(rLIstEq+GxIwM7#-O!y6Tw?qU)8j*CR80E^piSI zS=Tut!$WyI7!LOiN}UJS+hZ~h%dyHuy<<}6u?_ZM|8DO_jW!vynYP%^`6rxqGi^2K z7P?i!FKSp$P{ZK{?$lSxj#3?FQBh_WWzF%}2Hi&6>{VGSvd!MCPmM(yLb2M0&d;)5 zQN-=EUFRL!*7=1Hk9Z$UhE09OmVH8&4M&#mAe1tffk%hOI)hgCZ96=XWqXpUc5S?gc zTYzF1i#4p};30gDwT$9N8a;@c*rvjy4y4fpq*dE4hBAev~G03ui*|2 zJ2l*?p+m!6eLv)M?sf)t5l7aImystY#J}DQXFj9yCyCPGfRubQuOG`ud5yb~f@>^x z;~r+wpBdiE?S1^fo+$3e15#N4isHNY9uK4|Y@1 z1I{-rV;?Ril%`wh`!I!&z(}d_`61_JSQ+M2%g6GPeKN9?I90{mJ>4%@hTTz^8%XZ~ zpXP#3m*7))b`m_(%5=e5OM&|>zd3`!{pQRQf%9C4&!zS?g?YYNF7|B3E-aHVXIWV; zENdxP(=yFD3~QQ~oe0*Sg1ua3=oB|YSv@4Ka2?H+B;pL0B#~`pyWUt!c?(zp$6MgU z-gvGDR1L;!lqFucZJJgxDLtTKKY6P~r z6nAsTyZD~8TV2U}kt;F{ z02`e;oR2iVWyMp4SY4PZ#Dmn?PWes4NOiJPb3K@%j&LfihO5*Zr_u^EDxW)**2}y< zz{6a9b?j1}$0O{-hZmI&uBa_shleSb@L|x5begLK@k6#{(1Y|0e#Ev+dM!@du$PT~ zrGzHpF*ar?A@cJ&Z-L24+t2&A8QGk=y<8$%5a3+6g zo13dP^yI3IJ;amA;=-OvRvUVf)y`>@DY^-=#3z|2_@qcOZ|4&z$vojQ-|sR{xXjyK z<_VX1yJYSVPsCm3?Jo0#%e>uXo?s^OM0py%ZoG;Nw@x2-q9hLiS3UuJicw!+R?i9X z#8KTij_y0%Zk&PqukFD-cwC=Ji*uTNj61ve2>@qt86hEa7K2CqL|UPg}xS^V`uBnIDVkH=VY zGK?iXfynpY`)>Gt{0%@#dO&(HczZsZya2PUkg?>S*DUWsMJLXFggew{fml%M@C!C7 z_$A%Ltq!7HbRX@8g?G3wFNS~T&HpYAj8*||GAA)Co#Ga(@%;iZIz1R)^;6$Ha8yaPl)$YT=-G0#mfqTPU~ zWK#j1R%@wXrBq94K~gb+8ZE8b+NZ4*wJqA(R>Vqc9}3nQ&z;QJN{vfw`UEq%%MB`5ae^&8^z-fUu1@Q%RW1zJ2%@ed7d{8PohWZ3Ttyyw9=oELas;NKcPz<&fjtTsS6DF}kd zfFfa(plAb861oJb2Jg$zEl4vE!@-hHv4VyOiWB4&6fejS*u?2j0<%)0pd>-bf_#Ef zR5CS6rJ>yq&}-4jrb=llrE`)h4dXmi%HZfM%XQw`qwY)e=GOQF)9cIY+FLfX%q$Q1 z38wYD@F{uu)+1sJ*%vW+d5(L$mElgM$+j)D8r^ABVBO^|a#f;=Fwg2xGOe=|YrXHz zbYDOr?&C_WSEhZ#f2z%B|mHx)ShK70_tFYRd8k_A}qSI1ZW>v?I zb(c!GoG{&b%QMP)Ds~vH*cUg1qB;JR-Gyu=Dzi$xXC%1ZS{}d8y-KCkI<27_EXA0X zwwBiER8AFy=-P_rc0yETWiwwi)i$?V)y7g+rA}4kx1Ka^>0XrZk|L_9Mnf5`?;f8# zKgw4|8{}23G#jOc9I4xLD?)`LUe zjBX>0w8p2UTL;o|CX{jKgUdWsX3a*EeIe1@1h&6>`SBoCZdf|5-0fqHZhAAF?0|&u`db+ z?L|BLI5oNtH#3UCXbNF7BUcc)v=z57R568GaVsN%SyYG5aR_eiip2=BPeUtBK?iT_ z!4AsC7N*we2#2v1xA7*Rrw6i>Xd7;qnKQZrck+|m&Pgs|-f%*lPC}gsMluRH8Fe}t zb#g}GJUV%cZ~!4EfG&Q#pJ(De#Pnk?yejTeu|vg96}wd2eeplp7x&l`7I9?#I0>Iz z5d35-?Dfpb|6!J0Hc8&6+x47`lbn9EHzxu`#AwXS34AX{OeT zG{P~=02k4)USueIie(mgA}g+SR?OrT!(H~xv#iD0KF@W|RIwzpc4o(nv8QJb=8B7O z&2bjYl?#Gi(>t*HyumBtdoaJqFkQy*qsS^sFcbPFB}Pq3;$PxJ*li{xCFK_-_aM8- zCryf(Vw9L}Gr3njkY0?8!U}dRFg^e6T4=^zTlIY?7D%0q}vcn6GpwO5+t`|kzXIC3jdNB1czaS_}m1QX4mXqpm z4@PhgVJ*L!u0DatcFLT$QMH5$TfU>ym3(!W3 z&`uk1Gj(7y-H#ycK?gm-hrHHJ|7{aGgG``NhIL`P5Jj^~X=Y1THurHpoKZ`eiIl+ez zj6~n%L?7Z>kovU-QT@C_vZD$g)331P{10nu+Bxj$=MuYET`q`AaFDtj_&@66)#ORZ zh3x0}Cb58XNkhNVD7Cw;2SX0?wPF{y%bwe8ms9w-)A>kf0+@r3+z3bT6OgoBl7tWM z2+0MG<(CVj>5?3W5WED*ip!DIU6O>qCq5p?%FA)o4CV+9JQDsg`4l91gGnTZeTv#& zAB=}Hm;AYnvL0ODjlxIyf-ZV5CYN+K`;_JQ4mC62uNP{h05$P}@k_p*1{Z$CH@$#g UxzD8@m;K_0yL5$4~Kg#Z8m diff --git a/target/classes/com/engine/common/util/Utils.class b/target/classes/com/engine/common/util/Utils.class index cc67354e8ef9f30c8eae92b0b7fcce28d6131349..78c1658e594c4e77a627467d6bda5f2499ca174d 100644 GIT binary patch delta 5973 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 delta 5799 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 k{uU#ie97(W