diff --git a/src/com/api/kqsolution/web/ResourceSnipAction.java b/src/com/api/kqsolution/web/ResourceSnipAction.java new file mode 100644 index 0000000..d766ce6 --- /dev/null +++ b/src/com/api/kqsolution/web/ResourceSnipAction.java @@ -0,0 +1,14 @@ +package com.api.kqsolution.web; + +import javax.ws.rs.Path; + +/** + * @Author liang.cheng + * @Date 2024/8/29 9:22 AM + * @Description: TODO + * @Version 1.0 + */ + +@Path("/kqsolution/resource") +public class ResourceSnipAction extends com.engine.kqsolution.web.ResourceSnipAction { +} diff --git a/src/com/engine/kqsolution/service/ResourceSnipService.java b/src/com/engine/kqsolution/service/ResourceSnipService.java new file mode 100644 index 0000000..f1d9420 --- /dev/null +++ b/src/com/engine/kqsolution/service/ResourceSnipService.java @@ -0,0 +1,35 @@ +package com.engine.kqsolution.service; + +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2024/8/29 9:26 AM + * @Description: TODO + * @Version 1.0 + */ +public interface ResourceSnipService { + + /** + * @Description: 花名册快照 + * @Author: liang.cheng + * @Date: 2024/8/29 9:58 AM + * @param: [monthDate, companyStartDate] + * @return: java.util.Map + */ + Map resourceSnip(String monthDate, String companyStartDate); + + /** + * 花名册快照导出 + * @param request + * @param response + * @param monthDate + * @param companyStartDate + * @return + */ + XSSFWorkbook snipshotExport(HttpServletRequest request, HttpServletResponse response, String monthDate, String companyStartDate); +} diff --git a/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java b/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java new file mode 100644 index 0000000..6fe9dd3 --- /dev/null +++ b/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java @@ -0,0 +1,204 @@ +package com.engine.kqsolution.service.impl; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.cloudstore.dev.api.service.Service_DevTable; +import com.cloudstore.eccom.constant.WeaBoolAttr; +import com.cloudstore.eccom.pc.table.WeaTable; +import com.cloudstore.eccom.pc.table.WeaTableColumn; +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.core.impl.Service; +import com.engine.kqsolution.service.ResourceSnipService; +import com.engine.kqsolution.util.ExcelUtil; +import com.engine.kqsolution.util.ResourceSnipUtils; +import com.engine.organization.util.HrmI18nUtil; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import weaver.general.BaseBean; +import weaver.general.PageIdConst; +import com.cloudstore.eccom.result.WeaResultMsg; +import weaver.general.Util; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.*; + +/** + * @Author liang.cheng + * @Date 2024/8/29 9:27 AM + * @Description: TODO + * @Version 1.0 + */ +public class ResourceSnipServiceImpl extends Service implements ResourceSnipService { + + @Override + public Map resourceSnip(String monthDate, String companyStartDate) { + Map resultMap = new HashMap<>(4); + + //当前花名册 + if("".equals(monthDate)){ + BaseBean bb = new BaseBean(); + String account = bb.getPropValue("jcsecond", "account"); + String bankField = bb.getPropValue("jcsecond", "bankField"); + String regresidentplace = bb.getPropValue("jcsecond", "regresidentplace"); + String femdate = bb.getPropValue("jcsecond", "femdate"); + WeaTable table = new WeaTable(); + String pageId = "73ed858b37304757987724e81d096ff2"; + table.setPageID(pageId); + table.setPageUID(String.format("%s_%s",pageId,user.getUID())); + String pageSize = PageIdConst.getPageSize(pageId, user.getUID()); + table.setPagesize(pageSize); + String fields = "a.id,a.workcode,a.lastname,a.birthday,a.sex,a.subcompanyid1,a.departmentid,a.managerid,a.companystartdate," + + " a.createdate,a.accumfundaccount,b."+account+" as account,b."+bankField+" as bankname,c."+femdate+" as femdate," + + " a.startdate,a.enddate,a.jobtitle,a.status,a.educationlevel,a.mobile,a.certificatenum," + + " a.nativeplace,b."+regresidentplace+" as regresidentplace"; + table.setBackfields(fields); + String fromSql = " from hrmresource a\n" + + " left join cus_fielddata b on a.id = b.id and b.scopeid = 1\n" + + " left join cus_fielddata c on a.id = c.id and c.scopeid = -1"; + table.setSqlform(fromSql); + if (!"".equals(companyStartDate)){ + String sqlWhere = " where 1=1 and a.companystartdate <= '"+companyStartDate+"'"; + table.setSqlwhere(sqlWhere); + } + + table.setSqlprimarykey("a.id"); + table.getColumns().add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "编号", "workcode")); + table.getColumns().add(new WeaTableColumn("10%", "姓名", "lastname")); + table.getColumns().add(new WeaTableColumn("10%", "出生日期", "birthday")); + table.getColumns().add(new WeaTableColumn("10%", "性别", "sex").setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectSexName")); + table.getColumns().add(new WeaTableColumn("10%", "分部", "subcompanyid1").setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectSubCompanyName")); + table.getColumns().add(new WeaTableColumn("10%", "部门", "departmentid").setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectDeptName")); + table.getColumns().add(new WeaTableColumn("10%", "直接上级", "managerid").setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectResourceName")); + table.getColumns().add(new WeaTableColumn("10%", "入职日期", "companystartdate")); + table.getColumns().add(new WeaTableColumn("10%", "创建日期", "createdate")); + table.getColumns().add(new WeaTableColumn("10%", "公积金账户", "accumfundaccount")); + table.getColumns().add(new WeaTableColumn("10%", "工资账户", "account").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "工资银行", "bankname").setDisplay(WeaBoolAttr.FALSE).setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectBankName").setOtherpara(bankField)); + table.getColumns().add(new WeaTableColumn("10%", "首次参保时间", "femdate").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "合同开始日期", "startdate").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "合同结束日期", "enddate").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "岗位", "jobtitle").setDisplay(WeaBoolAttr.FALSE).setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectJobName")); + table.getColumns().add(new WeaTableColumn("10%", "状态", "status").setDisplay(WeaBoolAttr.FALSE).setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectStatusName")); + table.getColumns().add(new WeaTableColumn("10%", "学历", "educationlevel").setDisplay(WeaBoolAttr.FALSE).setTransmethod("com.engine.kqsolution.util.ResourceSnipUtils.selectEducName")); + table.getColumns().add(new WeaTableColumn("10%", "电话", "mobile").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "身份证号", "certificatenum").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "籍贯", "nativeplace").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "户口所在地", "regresidentplace").setDisplay(WeaBoolAttr.FALSE)); + + table.setTableType(WeaTableType.NONE); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + return resultMap; + + }else { + //历史花名册 + WeaTable table = new WeaTable(); + String pageId = "89093fe16a7c4a38b26d4a47de791859"; + table.setPageID(pageId); + table.setPageUID(String.format("%s_%s",pageId,user.getUID())); + String pageSize = PageIdConst.getPageSize(pageId, user.getUID()); + table.setPagesize(pageSize); + String fields = "t.id,t.gh,t.xm,t.csrq,t.xb,t.fb,t.bm,t.zjsj,t.rzrq,t.cjrq,t.gjjzh,t.gzzh,t.gzyx,t.sccbsj," + + " t.htksrq,t.htjsrq,t.gw,t.zt,t.xl,t.dh,t.sfzh,t.jg,t.hkszd,t.cdrq"; + table.setBackfields(fields); + String fromSql = " from uf_hmckz t"; + table.setSqlform(fromSql); + String sqlWhere = " where 1=1 and t.cdrq = '"+monthDate+"'"; + table.setSqlwhere(sqlWhere); + table.setSqlprimarykey("id"); + table.getColumns().add(new WeaTableColumn("id").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "编号", "gh")); + table.getColumns().add(new WeaTableColumn("10%", "姓名", "xm")); + table.getColumns().add(new WeaTableColumn("10%", "出生日期", "csrq")); + table.getColumns().add(new WeaTableColumn("10%", "性别", "xb")); + table.getColumns().add(new WeaTableColumn("10%", "分部", "fb")); + table.getColumns().add(new WeaTableColumn("10%", "部门", "bm")); + table.getColumns().add(new WeaTableColumn("10%", "直接上级", "zjsj")); + table.getColumns().add(new WeaTableColumn("10%", "入职日期", "rzrq")); + table.getColumns().add(new WeaTableColumn("10%", "创建日期", "cjrq")); + table.getColumns().add(new WeaTableColumn("10%", "公积金账户", "gjjzh")); + table.getColumns().add(new WeaTableColumn("10%", "工资账户", "gzzh").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "工资银行", "gzyx").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "首次参保时间", "sccbsj").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "合同开始日期", "htksrq").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "合同结束日期", "htjsrq").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "岗位", "gw").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "状态", "zt").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "学历", "xl").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "电话", "dh").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "身份证号", "sfzh").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "籍贯", "jg").setDisplay(WeaBoolAttr.FALSE)); + table.getColumns().add(new WeaTableColumn("10%", "户口所在地", "hkszd").setDisplay(WeaBoolAttr.FALSE)); + + table.setTableType(WeaTableType.NONE); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + return resultMap; + } + } + + @Override + public XSSFWorkbook snipshotExport(HttpServletRequest request, HttpServletResponse response, String monthDate, String companyStartDate) { + + BaseBean bb = new BaseBean(); + String bankField = bb.getPropValue("jcsecond", "bankField"); + + //全字段导出 + List headerList = Arrays.asList("编号","姓名","出生日期","性别","分部","部门","直接上级","入职日期","创建日期","公积金账户","工资账户","工资银行","首次参保时间", + "合同开始日期","合同结束日期","岗位","状态","学历","电话","身份证号","籍贯","户口所在地"); + + + Map map = resourceSnip(monthDate, companyStartDate); + String dataKey = Util.null2String(map.get("datas")); + + String getcounts = new Service_DevTable().getcounts(request, response, dataKey); + JSONObject jsonObject = JSON.parseObject(getcounts); + String count = jsonObject.getString("count"); + + String datas = new Service_DevTable().datas(request, response, dataKey, count, "[]", "", "", "1", ""); + jsonObject = JSON.parseObject(datas); + List> snipshotList = (List>) jsonObject.get("datas"); + + List> rows = new LinkedList<>(); + boolean table = "".equals(monthDate); + for (Map snip : snipshotList) { + List row = new LinkedList<>(); + row.add(table ? snip.get("workcodespan") : snip.get("gh")); + row.add(table ? snip.get("lastnamespan") : snip.get("xm")); + row.add(table ? snip.get("birthdayspan") : snip.get("csrq")); + row.add(table ? snip.get("sexspan") : snip.get("xb")); + row.add(table ? ResourceSnipUtils.selectSubCompanyName(snip.get("subcompanyid1")) : snip.get("fb")); + row.add(table ? ResourceSnipUtils.selectDeptName(snip.get("departmentid")) : snip.get("bm")); + row.add(table ? ResourceSnipUtils.selectResourceName(snip.get("managerid")) : snip.get("zjsj")); + row.add(table ? snip.get("companystartdatespan") : snip.get("rzrq")); + row.add(table ? snip.get("createdatespan") : snip.get("cjrq")); + row.add(table ? snip.get("accumfundaccountspan") : snip.get("gjjzh")); + row.add(table ? snip.get("accountspan") : snip.get("gzzh")); + row.add(table ? ResourceSnipUtils.selectBankName(snip.get("subcompanyid1"),bankField) : snip.get("gzyx")); + row.add(table ? snip.get("femdatespan") : snip.get("sccbsj")); + row.add(table ? snip.get("startdatespan") : snip.get("htksrq")); + row.add(table ? snip.get("enddatespan") : snip.get("htjsrq")); + row.add(table ? ResourceSnipUtils.selectJobName(snip.get("jobtitle")) : snip.get("gw")); + row.add(table ? ResourceSnipUtils.selectStatusName(snip.get("status")) : snip.get("zt")); + row.add(table ? ResourceSnipUtils.selectEducName(snip.get("educationlevel")) : snip.get("xl")); + row.add(table ? snip.get("mobilespan") : snip.get("dh")); + row.add(table ? snip.get("certificatenumspan") : snip.get("sfzh")); + row.add(table ? snip.get("nativeplacespan") : snip.get("jg")); + row.add(table ? snip.get("regresidentplacespan") : snip.get("hkszd")); + + rows.add(row); + } + + List> excelSheetData = new ArrayList<>(); + excelSheetData.add(headerList); + excelSheetData.addAll(rows); + String sheetName = "花名册快照"+monthDate; + + return ExcelUtil.genWorkbookV2(excelSheetData, sheetName); + } +} diff --git a/src/com/engine/kqsolution/util/ExcelUtil.java b/src/com/engine/kqsolution/util/ExcelUtil.java new file mode 100644 index 0000000..5121202 --- /dev/null +++ b/src/com/engine/kqsolution/util/ExcelUtil.java @@ -0,0 +1,69 @@ +package com.engine.kqsolution.util; + +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.FillPatternType; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.xssf.usermodel.*; + +import java.util.List; + +public class ExcelUtil { + + + public static XSSFWorkbook genWorkbookV2(List> rowList, String sheetName) { + XSSFWorkbook workbook = new XSSFWorkbook(); + + // 设置title样式 + XSSFCellStyle titleCellStyle = workbook.createCellStyle(); + XSSFFont titleFont = workbook.createFont(); + titleFont.setFontName("仿宋"); + titleFont.setFontHeightInPoints((short) 15); + titleCellStyle.setFont(titleFont); + titleCellStyle.setAlignment(HorizontalAlignment.CENTER); + titleCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex());//背景色 + titleCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + + + // 设置主体样式 + XSSFCellStyle cellStyle = workbook.createCellStyle(); + XSSFFont font = workbook.createFont(); + font.setFontName("宋体"); + font.setFontHeightInPoints((short) 10);// 设置字体大小 + cellStyle.setFont(font);// 选择需要用到的字体格式 + cellStyle.setWrapText(true); + + XSSFSheet sheet = workbook.createSheet(sheetName); + //自适应宽度 + sheet.autoSizeColumn(0, true); + //默认列宽 + sheet.setDefaultColumnWidth(25); + //默认行高 + sheet.setDefaultRowHeightInPoints(18); + + for (int rowIndex = 0; rowIndex < rowList.size(); rowIndex++) { + List infoList = rowList.get(rowIndex); + XSSFRow row = sheet.createRow(rowIndex); + for (int cellIndex = 0; cellIndex < infoList.size(); cellIndex++) { + XSSFCell cell = row.createCell(cellIndex); + if (rowIndex == 0) { + cell.setCellStyle(titleCellStyle); + } else { + cell.setCellStyle(cellStyle); + } + Object o = infoList.get(cellIndex); + if (o instanceof String) { + cell.setCellType(CellType.STRING); + cell.setCellValue(String.valueOf(o)); + } else if (o instanceof Boolean) { + cell.setCellType(CellType.BOOLEAN); + cell.setCellValue(String.valueOf(o)); + } else { + cell.setCellType(CellType.STRING); + cell.setCellValue(o == null ? "" : o.toString()); + } + } + } + return workbook; + } +} \ No newline at end of file diff --git a/src/com/engine/kqsolution/util/ResourceSnipUtils.java b/src/com/engine/kqsolution/util/ResourceSnipUtils.java index ea22057..0321390 100644 --- a/src/com/engine/kqsolution/util/ResourceSnipUtils.java +++ b/src/com/engine/kqsolution/util/ResourceSnipUtils.java @@ -65,6 +65,15 @@ public class ResourceSnipUtils { } } + /** + * 性别 + * @param sex + * @return + */ + public static String selectSexName(String sex) { + return "0".equals(sex) ? "男" : "女"; + } + /** * 工资银行 @@ -72,7 +81,7 @@ public class ResourceSnipUtils { * @param value * @return */ - public static String selectBankName(String fieldId,Integer value){ + public static String selectBankName(String value,String fieldId){ RecordSet rs = new RecordSet(); String id = fieldId.substring(Math.min(5, fieldId.length())); rs.executeQuery("select selectname from cus_selectitem where fieldid = ? and selectvalue = ?",id,value); @@ -86,23 +95,23 @@ public class ResourceSnipUtils { * @param status * @return */ - public static String selectStatusName(Integer status) { + public static String selectStatusName(String status) { switch (status) { - case 0: + case "0": return "试用"; - case 1: + case "1": return "正式"; - case 2: + case "2": return "临时"; - case 3: + case "3": return "试用延期"; - case 4: + case "4": return "解聘"; - case 5: + case "5": return "离职"; - case 6: + case "6": return "退休"; - case 7: + case "7": return "无效"; default : return ""; diff --git a/src/com/engine/kqsolution/web/ResourceSnipAction.java b/src/com/engine/kqsolution/web/ResourceSnipAction.java new file mode 100644 index 0000000..66f3471 --- /dev/null +++ b/src/com/engine/kqsolution/web/ResourceSnipAction.java @@ -0,0 +1,77 @@ +package com.engine.kqsolution.web; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.engine.common.util.ServiceUtil; +import com.engine.kqsolution.service.ResourceSnipService; +import com.engine.kqsolution.service.impl.ResourceSnipServiceImpl; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +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.QueryParam; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.StreamingOutput; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.HashMap; +import java.util.Map; + +/** + * @Author liang.cheng + * @Date 2024/8/29 9:22 AM + * @Description: TODO + * @Version 1.0 + */ +public class ResourceSnipAction { + + private ResourceSnipService getService(User user) { + return ServiceUtil.getService(ResourceSnipServiceImpl.class, user); + } + + @GET + @Path("/snipshot") + @Produces(MediaType.TEXT_PLAIN) + public String resourceSnip(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("monthDate") String monthDate,@QueryParam("companyStartDate") String companyStartDate){ + Map data = new HashMap<>(8); + try { + User user = HrmUserVarify.getUser(request, response); + data.put("datas",getService(user).resourceSnip(monthDate,companyStartDate)); + data.put("api_status", true); + } catch (Exception e) { + data.put("api_status", false); + data.put("msg", "catch exception : " + e.getMessage()); + } + return JSONObject.toJSONString(data, SerializerFeature.DisableCircularReferenceDetect); + } + + @GET + @Path("/snipshot/export") + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public Response snipshotExport(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("monthDate") String monthDate,@QueryParam("companyStartDate") String companyStartDate) { + User user = HrmUserVarify.getUser(request, response); + XSSFWorkbook workbook = getService(user).snipshotExport(request, response, monthDate,companyStartDate); + String fileName = "花名册快照" + monthDate; + try { + fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + StreamingOutput output = outputStream -> { + workbook.write(outputStream); + outputStream.flush(); + }; + response.setContentType("application/octet-stream"); + return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build(); + } +} diff --git a/src/weaver/interfaces/kqsolution/crob/ResourceSnipCrob.java b/src/weaver/interfaces/kqsolution/crob/ResourceSnipCrob.java index 9331013..5a05c7a 100644 --- a/src/weaver/interfaces/kqsolution/crob/ResourceSnipCrob.java +++ b/src/weaver/interfaces/kqsolution/crob/ResourceSnipCrob.java @@ -36,9 +36,9 @@ public class ResourceSnipCrob extends BaseCronJob { //1.获取数据 List snipList = new ArrayList<>(); rs.executeQuery("select a.id,a.workcode,a.lastname,a.birthday,a.sex,a.subcompanyid1,a.departmentid,a.managerid,a.companystartdate,\n" + - "a.createdate,a.accumfundaccount,b.field3 as account,b.field26 as bankname,c.field27 as femdate,\n" + + "a.createdate,a.accumfundaccount,b."+account+" as account,b."+bankField+" as bankname,c."+femdate+" as femdate,\n" + "a.startdate,a.enddate,a.jobtitle,a.status,a.educationlevel,a.mobile,a.certificatenum,\n" + - "a.nativeplace,b.field6 as regresidentplace from hrmresource a\n" + + "a.nativeplace,b."+regresidentplace+" as regresidentplace from hrmresource a\n" + "left join cus_fielddata b on a.id = b.id and b.scopeid = 1\n" + "left join cus_fielddata c on a.id = c.id and c.scopeid = -1"); @@ -56,12 +56,12 @@ public class ResourceSnipCrob extends BaseCronJob { .createDate(Util.null2String(rs.getString("createdate"))) .accumfundAccount(Util.null2String(rs.getString("accumfundaccount"))) .accountId(Util.null2String(rs.getString("account"))) - .bankName(ResourceSnipUtils.selectBankName(bankField,Util.getIntValue(rs.getString("bankname")))) + .bankName(ResourceSnipUtils.selectBankName(Util.null2String(rs.getString("bankname")),bankField)) .firstEnrollmentDate(Util.null2String(rs.getString("femdate"))) .startdate(Util.null2String(rs.getString("startdate"))) .endDate(Util.null2String(rs.getString("enddate"))) .jobTitle(ResourceSnipUtils.selectJobName(Util.null2String(rs.getString("jobtitle")))) - .status(ResourceSnipUtils.selectStatusName(Util.getIntValue(rs.getString("status")))) + .status(ResourceSnipUtils.selectStatusName(Util.null2String(rs.getString("status")))) .educationlevel(ResourceSnipUtils.selectEducName(Util.null2String(rs.getString("educationlevel")))) .mobile(Util.null2String(rs.getString("mobile"))) .certificatenum(Util.null2String(rs.getString("certificatenum"))) diff --git a/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java b/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java index d72da9b..f2fc456 100644 --- a/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java +++ b/src/weaver/interfaces/kqsolution/crob/SignDataSummaryCrob.java @@ -49,16 +49,18 @@ public class SignDataSummaryCrob extends BaseCronJob { SignDataSummaryServiceImpl summaryService = new SignDataSummaryServiceImpl(); BaseBean bb = new BaseBean(); - bb.writeLog("同步考勤数据原始参数:"+attendanceDate); +// bb.writeLog("同步考勤数据原始参数:"+attendanceDate); +// +// +// if (Objects.isNull(attendanceDate)) { +// attendanceDate = DateUtil.getYesterday(); +// } - - if (Objects.isNull(attendanceDate)) { - attendanceDate = DateUtil.getYesterday(); - } + String attendanceDateNew = DateUtil.getYesterday(); SignDataParams build = SignDataParams.builder() .formModeId(formModeId) - .attendanceDate(attendanceDate) + .attendanceDate(attendanceDateNew) .build(); bb.writeLog("同步考勤数据参数:"+JSON.toJSONString(build));