From 16794bf98c064fc3bc7b7aaf4f5ac4e8f80bae90 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 11 Nov 2022 16:24:26 +0800 Subject: [PATCH 001/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/extend/bo/ExtendInfoBO.java | 28 +++++---- .../service/impl/CardAccessServiceImpl.java | 58 +++++++++++++++---- .../service/impl/ExtServiceImpl.java | 7 ++- .../web/CardAccessController.java | 13 +++++ .../wrapper/CardAccessWrapper.java | 4 ++ 5 files changed, 85 insertions(+), 25 deletions(-) diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index e850b3d3..39e5b166 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -47,7 +47,7 @@ public class ExtendInfoBO { public static String DATE_Time_TO = "_end"; // 封装对象为table组件 - public static List> convertInfoListToTable(User user, List infoPOList, int viewAttr, boolean showLabel) { + public static List> convertInfoListToTable(User user, List infoPOList, int viewAttr, boolean showLabel, boolean checkBox) { List> lsCol = new ArrayList<>(); Map col; @@ -56,19 +56,23 @@ public class ExtendInfoBO { String tmpkey = extendInfoPO.getFieldName(); col = new HashMap<>(); col.put("title", extendInfoPO.getFieldNameDesc()); - col.put("key", tmpkey); col.put("dataIndex", tmpkey); col.put("com", getFieldDetailInfo(user, extendInfoPO, viewAttr, showLabel, width)); - col.put("width", width + "%"); - + if (checkBox && Integer.valueOf(7).equals(extendInfoPO.getControlType())) { + col.put("checkType", "checkbox"); + } lsCol.add(col); } return lsCol; } + public static List> convertInfoListToTable(User user, List infoPOList, int viewAttr, boolean showLabel) { + return convertInfoListToTable(user, infoPOList, viewAttr, showLabel, false); + } + /** * 新增自定义字段时,对象转换 * @@ -160,9 +164,9 @@ public class ExtendInfoBO { /** * 明细表字段 * - * @param user 当前用户 + * @param user 当前用户 * @param extendInfoPO 名字表字段实体 - * @param viewAttr 操作类型 + * @param viewAttr 操作类型 */ private static List getFieldDetailInfo(User user, ExtendInfoPO extendInfoPO, int viewAttr, boolean showLabel, int width) { List ls = new ArrayList<>(); @@ -174,11 +178,11 @@ public class ExtendInfoBO { /** * 创建列表字段信息 * - * @param user 当前用户 + * @param user 当前用户 * @param extendInfoPO 字段信息 - * @param viewAttr 操作类型 - * @param showLabel 展示名字 - * @param width 宽度 + * @param viewAttr 操作类型 + * @param showLabel 展示名字 + * @param width 宽度 */ private static FieldItem createField(User user, ExtendInfoPO extendInfoPO, int viewAttr, boolean showLabel, int width) { FieldItem fieldItem = new FieldItem(); @@ -260,7 +264,7 @@ public class ExtendInfoBO { String fieldid = Util.null2String(extendInfoPO.getId());//字段id String fieldname = Util.null2String(extendInfoPO.getFieldName());//字段名 // String fieldlabel = Util.null2String(extendInfoPO.getFieldNameDesc());//字段显示名 - String fieldlabel = "502327";//字段显示名 + String fieldlabel = "502327";//字段显示名 String fieldhtmltype = Util.null2String(extendInfoPO.getControlType());//字段类型 String detailtype = Util.null2String(extendInfoPO.getBrowserType());//字段二级类型(浏览框--单人力) String customValue = Util.null2String(extendInfoPO.getCustomValue()); @@ -320,7 +324,7 @@ public class ExtendInfoBO { } default: if (detailtype.equals("161") || detailtype.equals("162") || detailtype.equals("256") || detailtype.equals("257")) { - BrowserBean browserbean = new BrowserBean( Util.null2String(detailtype)); + BrowserBean browserbean = new BrowserBean(Util.null2String(detailtype)); BrowserInitUtil browserInitUtil = new BrowserInitUtil(); String fielddbtype = customValue; if (!customValue.startsWith("browser.")) { diff --git a/src/com/engine/organization/service/impl/CardAccessServiceImpl.java b/src/com/engine/organization/service/impl/CardAccessServiceImpl.java index 35bad0d6..3069c6ce 100644 --- a/src/com/engine/organization/service/impl/CardAccessServiceImpl.java +++ b/src/com/engine/organization/service/impl/CardAccessServiceImpl.java @@ -4,19 +4,23 @@ import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.extend.bo.ExtendInfoBO; +import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.personnelcard.po.CardAccessPO; import com.engine.organization.entity.personnelcard.po.CardButtonPO; import com.engine.organization.entity.personnelcard.vo.CardAccessVO; +import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.personnelcard.CardAccessMapper; import com.engine.organization.mapper.personnelcard.CardButtonMapper; import com.engine.organization.service.CardAccessService; import com.engine.organization.transmethod.SystemTransMethod; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.lang3.StringUtils; import weaver.general.Util; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -65,12 +69,12 @@ public class CardAccessServiceImpl extends Service implements CardAccessService List dataList = new ArrayList<>(); for (int i = 0; i < rowNum; i++) { CardAccessPO data = CardAccessPO.builder() - .id(Util.getIntValue((String)params.get("id_"+i))) - .status(Util.getIntValue((String)params.get("status_"+i))) - .allPeople(Util.getIntValue((String)params.get("all_people_"+i))) - .superior(Util.getIntValue((String)params.get("superior_"+i))) - .allSuperior(Util.getIntValue((String)params.get("all_superior_"+i))) - .custom(Util.null2String(params.get("custom_"+i))) + .id(Util.getIntValue((String) params.get("id_" + i))) + .status(Util.getIntValue((String) params.get("status_" + i))) + .allPeople(Util.getIntValue((String) params.get("all_people_" + i))) + .superior(Util.getIntValue((String) params.get("superior_" + i))) + .allSuperior(Util.getIntValue((String) params.get("all_superior_" + i))) + .custom(Util.null2String(params.get("custom_" + i))) .updateTime(new Date()) .build(); dataList.add(data); @@ -89,40 +93,70 @@ public class CardAccessServiceImpl extends Service implements CardAccessService } @Override - public int updateTabName(String name,Integer id) { - return getCardAccessMapper().updateTabName(name,id); + public int updateTabName(String name, Integer id) { + return getCardAccessMapper().updateTabName(name, id); } @Override public Map getCardButtonTable() { List infoPOList = new ArrayList<>(); infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("name").fieldNameDesc("按钮名称").fieldType("varchar(50)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build()); - infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("status").fieldNameDesc("启用").fieldType("char(1)").controlType(4).browserType("1").customValue("[\"check\"]").showOrder(2).isrequired(0).isSystemDefault(0).build()); + infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("status").fieldNameDesc("启用").fieldType("char(1)").controlType(7).browserType("1").customValue("[\"check\"]").showOrder(2).isrequired(0).isSystemDefault(0).build()); infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("url").fieldNameDesc("跳转地址").fieldType("varchar(1000)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"1000\"]").showOrder(3).isrequired(0).isSystemDefault(0).build()); infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("roles").fieldNameDesc("角色").fieldType("text").controlType(3).browserType("65").customValue("[\"browser\",{\"valueSpan\":\"多角色\",\"replaceDatas\":[{\"itemorderid\":\"65\",\"name\":\"多角色\",\"id\":\"65\",\"parenttitle\":\"人员\",\"title\":\"人员-多角色\"}],\"value\":\"65\"}]").showOrder(4).isrequired(0).isSystemDefault(0).build()); Map tabInfoMap = new HashMap<>(); - tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false)); + tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false, true)); List cardButtonPOS = getCardButtonMapper().listAll(); + List isUsed = new ArrayList<>(); + AtomicInteger index = new AtomicInteger(0); List> collect = cardButtonPOS.stream().map(item -> { Map resultMap = new HashMap<>(); resultMap.put("id", item.getId()); resultMap.put("name", item.getName()); - resultMap.put("status", item.getStatus()); + resultMap.put("status", ""); + if (1 == item.getStatus()) { + isUsed.add(index.get()); + } + index.getAndIncrement(); resultMap.put("url", item.getUrl()); resultMap.put("roles", item.getRoles()); resultMap.put("rolesspan", SystemTransMethod.getRoleName(item.getRoles())); return resultMap; }).collect(Collectors.toList()); + tabInfoMap.put("datas", collect); tabInfoMap.put("api_status", true); + Map> isUsedMap = new HashMap<>(); + isUsedMap.put("status", isUsed); + tabInfoMap.put("selectedData", isUsedMap); + tabInfoMap.put("isModalEdit", false); return tabInfoMap; } @Override public int saveCardButton(Map params) { - return 0; + String tableName = "JCL_ORG_CARDBUTTON"; + int rowNum = Util.getIntValue((String) params.get("rownum")); + int count = 0; + for (int i = 0; i < rowNum; i++) { + String recordIndex = "_" + i; + Map recordData = new HashMap<>(); + recordData.put("name", params.get("name") + recordIndex); + recordData.put("status", params.get("status") + recordIndex); + recordData.put("url", params.get("url") + recordIndex); + recordData.put("roles", params.get("roles") + recordIndex); + String id = Util.null2String(params.get("id") + recordIndex); + if (StringUtils.isNotBlank(id)) { + // 更新 + count += MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().tableName(tableName).id(Long.parseLong(id)).params(recordData).build()); + } else { + //插入 + count += MapperProxyFactory.getProxy(ExtMapper.class).insertTable(ExtendInfoParams.builder().tableName(tableName).params(recordData).build()); + } + } + return count; } diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 93179f7d..9a06c1d5 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -160,7 +160,12 @@ public class ExtServiceImpl extends Service implements ExtService { boolean checkRight = true; if ("4".equals(extendType) && !user.isAdmin()) { checkRight = false; - infoPOList.removeIf(item -> !"1".equals(Util.null2String(item.getIsModify()))); + String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); + if (Util.null2String(user.getUID()).equals(ecResourceId)) { + infoPOList.removeIf(item -> !"1".equals(Util.null2String(item.getIsModify()))); + }else{ + infoPOList = new ArrayList<>(); + } } // 查询所有分布模块,拓展明细表信息 diff --git a/src/com/engine/organization/web/CardAccessController.java b/src/com/engine/organization/web/CardAccessController.java index 0775e1b9..2ea30535 100644 --- a/src/com/engine/organization/web/CardAccessController.java +++ b/src/com/engine/organization/web/CardAccessController.java @@ -79,4 +79,17 @@ public class CardAccessController { return ReturnResult.exceptionHandle(e); } } + + @POST + @Path("/saveCardButton") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveCardButton(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getCardAccessWrapper(user).saveCardButton(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/CardAccessWrapper.java b/src/com/engine/organization/wrapper/CardAccessWrapper.java index fcfc9605..a4d88489 100644 --- a/src/com/engine/organization/wrapper/CardAccessWrapper.java +++ b/src/com/engine/organization/wrapper/CardAccessWrapper.java @@ -35,4 +35,8 @@ public class CardAccessWrapper extends OrganizationWrapper { public Map getCardButtonTable() { return getCardAccessService(user).getCardButtonTable(); } + + public int saveCardButton(Map params) { + return getCardAccessService(user).saveCardButton(params); + } } From cd11f06b7f7b6ac41dd8f5035877b3b625d1adb6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 11 Nov 2022 17:24:22 +0800 Subject: [PATCH 002/203] =?UTF-8?q?=E5=8D=A1=E7=89=87=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=81=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../personnelcard/CardButtonMapper.java | 6 ++++++ .../mapper/personnelcard/CardButtonMapper.xml | 11 ++++++++++ .../service/impl/CardAccessServiceImpl.java | 21 +++++++++++++------ 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java index b2f70821..667e1c01 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java @@ -1,7 +1,9 @@ package com.engine.organization.mapper.personnelcard; import com.engine.organization.entity.personnelcard.po.CardButtonPO; +import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; /** @@ -16,4 +18,8 @@ public interface CardButtonMapper { List listEnableButton(); + + List listAllId(); + + int deleteByIds(@Param("ids")Collection ids); } diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml index 558ee6f7..7058c7ca 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml @@ -30,6 +30,12 @@ , t.create_time , t.update_time + + delete from jcl_org_cardbutton where id in + + #{id} + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/CardAccessServiceImpl.java b/src/com/engine/organization/service/impl/CardAccessServiceImpl.java index 3069c6ce..fc745631 100644 --- a/src/com/engine/organization/service/impl/CardAccessServiceImpl.java +++ b/src/com/engine/organization/service/impl/CardAccessServiceImpl.java @@ -16,6 +16,7 @@ import com.engine.organization.service.CardAccessService; import com.engine.organization.transmethod.SystemTransMethod; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import weaver.general.Util; @@ -140,22 +141,30 @@ public class CardAccessServiceImpl extends Service implements CardAccessService String tableName = "JCL_ORG_CARDBUTTON"; int rowNum = Util.getIntValue((String) params.get("rownum")); int count = 0; + List allIds = getCardButtonMapper().listAllId(); for (int i = 0; i < rowNum; i++) { String recordIndex = "_" + i; Map recordData = new HashMap<>(); - recordData.put("name", params.get("name") + recordIndex); - recordData.put("status", params.get("status") + recordIndex); - recordData.put("url", params.get("url") + recordIndex); - recordData.put("roles", params.get("roles") + recordIndex); - String id = Util.null2String(params.get("id") + recordIndex); + recordData.put("name", params.get("name" + recordIndex)); + recordData.put("status", params.get("status" + recordIndex)); + recordData.put("url", params.get("url" + recordIndex)); + recordData.put("roles", params.get("roles" + recordIndex)); + String id = Util.null2String(params.get("id" + recordIndex)); if (StringUtils.isNotBlank(id)) { // 更新 - count += MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().tableName(tableName).id(Long.parseLong(id)).params(recordData).build()); + long buttonId = Long.parseLong(id); + count += MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().tableName(tableName).id(buttonId).params(recordData).build()); + allIds.remove(buttonId); } else { //插入 + recordData.put("sys_default", 1); + recordData.put("delete_type", 0); count += MapperProxyFactory.getProxy(ExtMapper.class).insertTable(ExtendInfoParams.builder().tableName(tableName).params(recordData).build()); } } + if (CollectionUtils.isNotEmpty(allIds)) { + count += getCardButtonMapper().deleteByIds(allIds); + } return count; } From af6d920b59813fc16bdeee99e77bb4504b520392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98ml=E2=80=99?= Date: Fri, 11 Nov 2022 17:31:17 +0800 Subject: [PATCH 003/203] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PostInfoServiceImpl.java | 40 +++++++++++++++++++ .../util/saveimport/PostInfoImportUtil.java | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java index 0fd60b62..604a2a8e 100644 --- a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java @@ -17,10 +17,17 @@ import com.engine.organization.service.PostInfoService; import com.engine.organization.util.*; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.util.excel.ExcelUtil; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.conn.RecordSet; +import weaver.general.BaseBean; +import weaver.general.GCONST; import weaver.general.Util; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.*; @@ -41,6 +48,39 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { private PostMapper getPostMapper() { return MapperProxyFactory.getProxy(PostMapper.class); } + // 判断编制导入模板是否存在,不存在则创建该文件 + static { + try { + String outPutPath = GCONST.getRootPath() + File.separator + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + "postinfo.xls"; + File excelPathFile = new File(outPutPath); + if (!excelPathFile.exists()) { + String columns = "编号,名称,职务分类,权限,责任,资格,描述说明"; + String[] split = columns.split(","); + List columnList = new ArrayList<>(Arrays.asList(split)); + // 创建导入模板 + List> excelSheetData = new ArrayList<>(); + excelSheetData.add(columnList); + XSSFWorkbook sheets = ExcelUtil.genWorkbookV2(excelSheetData, "postinfo"); + File excelFile = new File(outPutPath); + if (!excelFile.exists()) { + String substring = outPutPath.substring(0, outPutPath.lastIndexOf(File.separator)); + File file = new File(substring); + if (file.mkdirs()) { + boolean newFile = excelPathFile.createNewFile(); + if (!newFile) { + throw new IOException(outPutPath + "文件创建失败"); + } + } + } + FileOutputStream out = new FileOutputStream(excelPathFile); + sheets.write(out); + out.flush(); + } + } catch (IOException e) { + new BaseBean().writeLog(e); + throw new RuntimeException(e); + } + } @Override public Map listPage(Map params) { diff --git a/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java b/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java index df9d271d..3ece4927 100644 --- a/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java @@ -56,7 +56,7 @@ public class PostInfoImportUtil { // 当前sheet XSSFSheet sheetAt = workbook.getSheetAt(0); int lastRow = sheetAt.getLastRowNum(); - OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); + OrganizationAssert.isTrue(lastRow > 0, "文件数据为空"); short lastCellNum = sheetAt.getRow(0).getLastCellNum(); List extendInfoPOS = new ArrayList<>(); Date currDate = new Date(); From 7b5a4905dc4b8e31bacf1353435e4d1e2cc4b6b8 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 14 Nov 2022 11:19:08 +0800 Subject: [PATCH 004/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D=E3=80=81=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E6=8C=89=E9=92=AE=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/personnelcard/po/CardButtonPO.java | 4 ++++ .../mapper/personnelcard/CardButtonMapper.xml | 8 ++++++-- .../service/impl/CardAccessServiceImpl.java | 12 +++++++++--- .../service/impl/FieldDefinedServiceImpl.java | 4 +--- .../service/impl/HrmPersonnelCardServiceImpl.java | 13 +++++-------- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java b/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java index 74482d8e..d9a8284a 100644 --- a/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java +++ b/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java @@ -29,6 +29,10 @@ public class CardButtonPO { private String sysDefault; + private Integer showOrder; + + private Integer open; + private Long creator; private int deleteType; diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml index 7058c7ca..6b4f0513 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml @@ -8,6 +8,8 @@ + + @@ -25,6 +27,8 @@ , t.url , t.roles , t.sys_default + , t.show_order + , t.open , t.creator , t.delete_type , t.create_time @@ -39,13 +43,13 @@ diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index a00b4bf7..e9ca8e6b 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -237,7 +237,7 @@ public class CompServiceImpl extends Service implements CompService { new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.CANCELED, map).sync(); // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_compext", id); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_compext_dt1", id); + MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_compext_dt1", id,null); } return getCompMapper().deleteByIds(ids); } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 19b72323..36fa853b 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -347,7 +347,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_deptext", id); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", id); + MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", id, null); } return getDepartmentMapper().deleteByIds(ids); @@ -677,7 +677,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_deptext", mergeParam.getId()); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", mergeParam.getId()); + MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", mergeParam.getId(), null); getDepartmentMapper().deleteByIds(DeleteParam.builder().ids(mergeParam.getId().toString()).build().getIds()); // 更新组织架构图 new DepartmentTriggerRunnable(mergeDepartment).run(); diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 7f372fac..467d5e28 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -176,7 +176,6 @@ public class ExtServiceImpl extends Service implements ExtService { tableMap.put("hide", false); tableMap.put("tabname", getExtendGroupMapper().getGroupNameById(Util.null2String(entry.getKey()))); Map tabinfoMap = new HashMap<>(); - //TODO 需优化 tabinfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, entry.getValue(), viewAttr, showLabel)); tabinfoMap.put("rownum", "rownum" + entry.getKey()); @@ -301,7 +300,7 @@ public class ExtServiceImpl extends Service implements ExtService { int rowNum = Util.getIntValue((String) params.get("rownum" + groupId)); if (deleteFlag && rowNum > 0) { // 删除原有明细表数据 - getExtDTMapper().deleteByMainID(tableName, id); + getExtDTMapper().deleteByMainID(tableName, id, groupId); deleteFlag = false; } List filterS = poMaps.get(groupId); @@ -314,6 +313,7 @@ public class ExtServiceImpl extends Service implements ExtService { map.put(extendInfoPO.getFieldName(), params.get(extendInfoPO.getFieldName() + "_" + i)); } map.put("mainid", id); + map.put("group_id", groupId); map.put("creator", user.getUID()); map.put("delete_type", 0); map.put("create_time", new Date()); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 892763c4..2e9722fc 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -515,7 +515,7 @@ public class JobServiceImpl extends Service implements JobService { new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobsById).sync(); // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_jobext", jobsById.getId()); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_jobext_dt1", jobsById.getId()); + MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_jobext_dt1", jobsById.getId(), null); } return getJobMapper().deleteByIds(ids); } From 4fc2eca27b448ff3f01a9ea75de947497f6f8a8c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 15 Nov 2022 11:47:54 +0800 Subject: [PATCH 009/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A0=91?= =?UTF-8?q?=E3=80=81=E8=A7=92=E8=89=B2=E5=B1=95=E7=A4=BABUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/entity/job/bo/JobBO.java | 2 +- src/com/engine/organization/transmethod/SystemTransMethod.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index c1fb690b..b212c7b9 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -151,7 +151,7 @@ public class JobBO { return builderJobs.stream().map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); - tree.setCanceled(false); + tree.setCanceled(item.getForbiddenTag() != 0); tree.setIcon("icon-coms-content-o"); tree.setId(item.getId().toString()); tree.setIsParent(false); diff --git a/src/com/engine/organization/transmethod/SystemTransMethod.java b/src/com/engine/organization/transmethod/SystemTransMethod.java index 314b2547..bb2e4ca9 100644 --- a/src/com/engine/organization/transmethod/SystemTransMethod.java +++ b/src/com/engine/organization/transmethod/SystemTransMethod.java @@ -19,7 +19,7 @@ public class SystemTransMethod { List list = new ArrayList<>(); if (StringUtils.isNotBlank(roleIds)) { for (String roleId : roleIds.split(",")) { - list.add(rolesComInfo.getRolesname(roleId)); + list.add(rolesComInfo.getRolesRemark(roleId)); } } return StringUtils.join(list,","); From 706edd43ed5dde4a857d789051f04bdcf7e9bb80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98ml=E2=80=99?= Date: Tue, 15 Nov 2022 14:24:06 +0800 Subject: [PATCH 010/203] =?UTF-8?q?=E8=81=8C=E7=BA=A7=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E4=BC=98=E5=8C=961115?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index d46c9d98..b4d3d014 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -1687,7 +1687,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ List levelPOS = MapperProxyFactory.getProxy(LevelMapper.class).listByNo(split[index]); if (levelPOS.size() == 0) { historyDetailPO.setRelatedName(relatedName); - historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的职等"); + historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue nextRow; @@ -1788,6 +1788,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 0) { for (int index = 0; index < split.length; index++) { levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(split[index], schemeNew.getId()); + if (levelNew == null) { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } if (levelIds != null) { levelIds = levelIds + "," + levelNew.getId(); } else { @@ -1860,7 +1867,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } break; case 2: - String gradeNo = (String) map.get("grade_no"); String schemeNo2 = (String) map.get("scheme_no"); String levelNo2 = (String) map.get("level_no"); schemeNew = MapperProxyFactory.getProxy(SchemeMapper.class).getSchemeByNo(schemeNo2); @@ -1871,20 +1877,19 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ saveImportDetailLog(historyDetailPO); continue nextRow; } - gradeNew = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByNoAndSid(gradeNo, schemeNew.getId()); - if (gradeNew == null) { - historyDetailPO.setRelatedName(relatedName); - historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的职等"); - historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); - continue nextRow; - } // 处理职级编号 String[] split = levelNo2.split(","); String levelIds = null; if (split.length > 0) { for (int index = 0; index < split.length; index++) { levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(split[index], schemeNew.getId()); + if (levelNew == null) { + historyDetailPO.setRelatedName(relatedName); + historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue nextRow; + } if (levelIds != null) { levelIds = levelIds + "," + levelNew.getId(); } else { From 2d64a5015bc4fb036f4ecaf26e19e3f9881f0a8b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 15 Nov 2022 14:34:16 +0800 Subject: [PATCH 011/203] =?UTF-8?q?=E7=BB=84=E7=BB=87=E9=80=8F=E8=A7=86?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrgChartServiceImpl.java | 8 ++++---- .../organization/util/db/DBOperateAdapter.java | 2 ++ src/com/engine/organization/util/db/DBType.java | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 0a39f75d..7618acff 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -50,19 +50,19 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("companyname", rs.getString("companyname")); fclasslist.add(item); } - String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) order by ftype , id,fdateend desc "; + String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) "; // 分部分权过滤 DetachUtil detachUtil = new DetachUtil(user.getUID()); if (detachUtil.isDETACH()) { String jclRoleLevels = detachUtil.getJclRoleLevels(); if (StringUtils.isNotBlank(jclRoleLevels)) { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) order by ftype , id,fdateend desc"; + sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; } else { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 order by ftype , id,fdateend desc"; + sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; } } - rs.executeQuery(sql); + rs.executeQuery(sql + " and fdateend > " + DBType.get(new RecordSet().getDBType()).currentDate() + " order by ftype , id,fdateend desc "); Set companySet = new HashSet<>(); while (rs.next()) { OrgSelectItem item = new OrgSelectItem(); diff --git a/src/com/engine/organization/util/db/DBOperateAdapter.java b/src/com/engine/organization/util/db/DBOperateAdapter.java index ac2e0fd6..50d2dda6 100644 --- a/src/com/engine/organization/util/db/DBOperateAdapter.java +++ b/src/com/engine/organization/util/db/DBOperateAdapter.java @@ -4,4 +4,6 @@ public interface DBOperateAdapter { String like(String some); String concat(String some); + + String currentDate(); } diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java index c9ea4676..6581acab 100644 --- a/src/com/engine/organization/util/db/DBType.java +++ b/src/com/engine/organization/util/db/DBType.java @@ -15,6 +15,11 @@ public enum DBType implements DBOperateAdapter { public String concat(String some) { return " concat(','," + some + ",',') "; } + + @Override + public String currentDate() { + return "now()"; + } }, SQLSERVER("sqlserver") { @Override @@ -26,6 +31,11 @@ public enum DBType implements DBOperateAdapter { public String concat(String some) { return " ','+" + some + "+',' "; } + + @Override + public String currentDate() { + return "GETDATE()"; + } }, ORACLE("oracle") { @Override @@ -37,6 +47,11 @@ public enum DBType implements DBOperateAdapter { public String concat(String some) { return " ',' ||" + some + "|| ',' "; } + + @Override + public String currentDate() { + return "SYSDATE"; + } }; private String dbtype; From caa96043150da04c2e563d8280d7a103d7395ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98ml=E2=80=99?= Date: Wed, 16 Nov 2022 11:22:28 +0800 Subject: [PATCH 012/203] =?UTF-8?q?=E8=81=8C=E7=BA=A7=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=E6=96=B9=E6=A1=881116?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/ImportCommonServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index b4d3d014..e3b76a15 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -1571,7 +1571,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ throw new RuntimeException(e); } int allRow = 0; - nextSheet: for (int s = 0; s < workbook.getNumberOfSheets(); s++) { // 当前sheet XSSFSheet sheetAt = workbook.getSheetAt(s); @@ -1654,7 +1653,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("方案编号[" + reallyValue + "]与原有编号重复"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); - break nextSheet; + continue nextRow; } } // 职等页校验(方案是否存在) From 05364f9265ceaabaf4902a1690afabf132ca4f1b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Nov 2022 13:39:56 +0800 Subject: [PATCH 013/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/extend/bo/ExtendInfoBO.java | 19 ++-- .../entity/personnelcard/po/CardButtonPO.java | 2 +- .../mapper/personnelcard/CardButtonMapper.xml | 4 +- .../service/impl/CompServiceImpl.java | 46 ++++----- .../service/impl/DepartmentServiceImpl.java | 96 +++++++++---------- .../service/impl/ExtServiceImpl.java | 23 +++-- .../service/impl/HrmResourceServiceImpl.java | 45 ++++----- .../service/impl/JobServiceImpl.java | 74 +++++++------- .../service/impl/OrgChartServiceImpl.java | 6 +- 9 files changed, 165 insertions(+), 150 deletions(-) diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 39e5b166..f226dd56 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -206,12 +206,19 @@ public class ExtendInfoBO { fieldItem.setViewAttr(2); } } - - // 浏览按钮特殊处理 - if (FieldType.BROWSER.equals(fieldItem.getType())) { - String browserId = SelectOptionParam.getCustomBrowserId(extendInfoPO.getCustomValue()); - BrowserBean browserConditionParam = OrganizationFormItemUtil.browserItem(user, 2, 16, fieldItem.getViewAttr(), false, extendInfoPO.getFieldNameDesc(), extendInfoPO.getBrowserType(), extendInfoPO.getFieldName(), browserId).getBrowserConditionParam(); - fieldItem.setBrowserConditionParam(browserConditionParam); + switch (fieldItem.getType()) { + case BROWSER: + String browserId = SelectOptionParam.getCustomBrowserId(extendInfoPO.getCustomValue()); + BrowserBean browserConditionParam = OrganizationFormItemUtil.browserItem(user, 2, 16, fieldItem.getViewAttr(), false, extendInfoPO.getFieldNameDesc(), extendInfoPO.getBrowserType(), extendInfoPO.getFieldName(), browserId).getBrowserConditionParam(); + fieldItem.setBrowserConditionParam(browserConditionParam); + break; + case SELECT: + String customValue = Util.null2String(extendInfoPO.getCustomValue()); + List searchConditionOptions = SelectOptionParam.convertJsonToListOption(customValue); + fieldItem.setOptions(searchConditionOptions); + break; + default: + break; } fieldItem.setWidth(width + "%"); diff --git a/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java b/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java index d9a8284a..27fc72af 100644 --- a/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java +++ b/src/com/engine/organization/entity/personnelcard/po/CardButtonPO.java @@ -31,7 +31,7 @@ public class CardButtonPO { private Integer showOrder; - private Integer open; + private Integer openType; private Long creator; diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml index 6b4f0513..6adfa494 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml @@ -9,7 +9,7 @@ - + @@ -28,7 +28,7 @@ , t.roles , t.sys_default , t.show_order - , t.open + , t.open_type , t.creator , t.delete_type , t.create_time diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index e9ca8e6b..190c707b 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -197,30 +197,30 @@ public class CompServiceImpl extends Service implements CompService { HasRightUtil.hasRight(user, RIGHT_NAME, false); CompSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), CompSearchParam.class); String groupId = (String) params.get("viewCondition"); - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - String oldCompNo = getCompMapper().listById(searchParam.getId()).getCompNo(); - String compNo = searchParam.getCompNo(); - if (!compNo.equals(oldCompNo)) { - compNo = repeatDetermine(compNo); - params.put("comp_no", compNo); - } - // 上级分部 - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - Long parent_company = Objects.requireNonNull(EcHrmRelationUtil.getJclCompanyId(ecCompany)).getId(); - // 上级分部不能选择本身 - OrganizationAssert.isFalse(parent_company.equals(searchParam.getId()), "上级分部不能选择本身"); - params.put("parent_company", parent_company); - }else{ - params.put("parent_company", ""); + if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { + String oldCompNo = getCompMapper().listById(searchParam.getId()).getCompNo(); + String compNo = searchParam.getCompNo(); + if (!compNo.equals(oldCompNo)) { + compNo = repeatDetermine(compNo); + params.put("comp_no", compNo); + } + // 上级分部 + String ecCompany = Util.null2String(params.get("ec_company")); + if (StringUtils.isNotBlank(ecCompany)) { + Long parent_company = Objects.requireNonNull(EcHrmRelationUtil.getJclCompanyId(ecCompany)).getId(); + // 上级分部不能选择本身 + OrganizationAssert.isFalse(parent_company.equals(searchParam.getId()), "上级分部不能选择本身"); + params.put("parent_company", parent_company); + } else { + params.put("parent_company", ""); + } + new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, params).sync(); + // 更新主表数据 + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", searchParam.getId()); } - new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, params).sync(); - // 更新主表数据 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", searchParam.getId()); + // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMPEXT, params, groupId, searchParam.getId()); + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMPEXT, params, "", searchParam.getId()); //更新明细表 getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_COMPEXT_DT1, params, searchParam.getId()); @@ -237,7 +237,7 @@ public class CompServiceImpl extends Service implements CompService { new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.CANCELED, map).sync(); // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_compext", id); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_compext_dt1", id,null); + MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_compext_dt1", id, null); } return getCompMapper().deleteByIds(ids); } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 36fa853b..63036f15 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -281,58 +281,56 @@ public class DepartmentServiceImpl extends Service implements DepartmentService HasRightUtil.hasRight(user, RIGHT_NAME, false); DeptSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), DeptSearchParam.class); String groupId = (String) params.get("viewCondition"); - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - - DepartmentPO oldDept = getDepartmentMapper().getDeptById(searchParam.getId()); - String deptNo = searchParam.getDeptNo(); - if (!deptNo.equals(oldDept.getDeptNo())) { - deptNo = repeatDetermine(deptNo); - params.put("dept_no", deptNo); - } - // 上级分部 - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); - if (null != jclCompanyId) { - params.put("parent_comp", jclCompanyId.getId()); + if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { + DepartmentPO oldDept = getDepartmentMapper().getDeptById(searchParam.getId()); + String deptNo = searchParam.getDeptNo(); + if (!deptNo.equals(oldDept.getDeptNo())) { + deptNo = repeatDetermine(deptNo); + params.put("dept_no", deptNo); } - } - // 上级部门 - String ecDepartment = Util.null2String(params.get("ec_department")); - if (StringUtils.isNotBlank(ecDepartment)) { - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); - if (null != jclDepartmentId) { - // 上级部门不能选择本身 - OrganizationAssert.isFalse(jclDepartmentId.getId().equals(searchParam.getId()), "上级部门不能选择本身"); - params.put("parent_dept", jclDepartmentId.getId()); - // 部门不为空,自动指定所属分部 - params.put("parent_comp", jclDepartmentId.getParentComp()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); + // 上级分部 + String ecCompany = Util.null2String(params.get("ec_company")); + if (StringUtils.isNotBlank(ecCompany)) { + CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); + if (null != jclCompanyId) { + params.put("parent_comp", jclCompanyId.getId()); + } } + // 上级部门 + String ecDepartment = Util.null2String(params.get("ec_department")); + if (StringUtils.isNotBlank(ecDepartment)) { + DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); + if (null != jclDepartmentId) { + // 上级部门不能选择本身 + OrganizationAssert.isFalse(jclDepartmentId.getId().equals(searchParam.getId()), "上级部门不能选择本身"); + params.put("parent_dept", jclDepartmentId.getId()); + // 部门不为空,自动指定所属分部 + params.put("parent_comp", jclDepartmentId.getParentComp()); + params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); + } - } else { - params.put("parent_dept", ""); + } else { + params.put("parent_dept", ""); + } + new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); + // 更新主表数据 + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", searchParam.getId()); + + DepartmentPO newDeptById = getDepartmentMapper().getDeptById(searchParam.getId()); + new DepartmentTriggerRunnable(oldDept, newDeptById).run(); + + Long parentComp = StringUtils.isNotEmpty(Util.null2String(params.get("parent_comp"))) ? Long.parseLong(Util.null2String(params.get("parent_comp"))) : null; + // 刷新岗位所属分部 + refreshJobComp(searchParam.getId(), parentComp); + List childList = getDepartmentMapper().getDeptListByPId(searchParam.getId()); + String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentComp)); + forbiddenChildTag(parentComp, ecCompanyId, childList); } - new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); - // 更新主表数据 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", searchParam.getId()); // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPTEXT, params, groupId, searchParam.getId()); + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPTEXT, params, "", searchParam.getId()); //更新明细表 getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_DEPTEXT_DT1, params, searchParam.getId()); - DepartmentPO newDeptById = getDepartmentMapper().getDeptById(searchParam.getId()); - new DepartmentTriggerRunnable(oldDept, newDeptById).run(); - - Long parentComp = StringUtils.isNotEmpty(Util.null2String(params.get("parent_comp"))) ? Long.parseLong(Util.null2String(params.get("parent_comp"))) : null; - // 刷新岗位所属分部 - refreshJobComp(searchParam.getId(), parentComp); - List childList = getDepartmentMapper().getDeptListByPId(searchParam.getId()); - String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentComp)); - forbiddenChildTag(parentComp, ecCompanyId, childList); - return searchParam.getId(); } @@ -642,7 +640,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService updateEcDepartment(departmentPO); getDepartmentMapper().updateBaseDept(departmentPO); // 更新组织架构图 - new DepartmentTriggerRunnable(departmentPO.getId()).run(); + new DepartmentTriggerRunnable(departmentPO.getId()).run(); } // 查询该部门一级岗位、更新岗位所属分部、所属部门 List firstChildJobList = getJobMapper().listJobsByDepartmentId(mergeParam.getId()); @@ -687,7 +685,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService updateEcDepartment(targetDepartment); getDepartmentMapper().updateBaseDept(targetDepartment); // 更新组织架构图 - new DepartmentTriggerRunnable(oldFParentId,targetDepartment.getId()).run(); + new DepartmentTriggerRunnable(oldFParentId, targetDepartment.getId()).run(); return 0; } @@ -730,7 +728,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService deptById.setEcDepartment(null); // 更新组织架构图 - new DepartmentTriggerRunnable(company.toString(),deptById).run(); + new DepartmentTriggerRunnable(company.toString(), deptById).run(); } else if ("1".equals(moveParam.getMoveType())) { Long department = moveParam.getDepartment(); Long departmentId = Objects.requireNonNull(EcHrmRelationUtil.getJclDepartmentId(Util.null2String(department))).getId(); @@ -749,7 +747,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService deptById.setEcCompany(parentDepartment.getEcCompany()); // 更新组织架构图 - new DepartmentTriggerRunnable(Integer.toString(100000000+department.intValue()),deptById).run(); + new DepartmentTriggerRunnable(Integer.toString(100000000 + department.intValue()), deptById).run(); } // 更新EC部门 updateEcDepartment(deptById); @@ -847,7 +845,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Set builderComps = new HashSet<>(); for (CompPO compPO : filterComps) { - buildParentComps(compPO, builderComps,allMaps); + buildParentComps(compPO, builderComps, allMaps); } return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps)); diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 467d5e28..003ac311 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -163,7 +163,7 @@ public class ExtServiceImpl extends Service implements ExtService { String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); if (Util.null2String(user.getUID()).equals(ecResourceId)) { infoPOList.removeIf(item -> !"1".equals(Util.null2String(item.getIsModify()))); - }else{ + } else { infoPOList = new ArrayList<>(); } } @@ -195,7 +195,12 @@ public class ExtServiceImpl extends Service implements ExtService { Map resultMap = new HashMap<>(); Set keys = item.keySet(); for (String key : keys) { - resultMap.put(key.toLowerCase(), item.get(key)); + Object o = item.get(key); + if (o instanceof Integer) { + resultMap.put(key.toLowerCase(), Integer.toString((int) o)); + } else { + resultMap.put(key.toLowerCase(), o); + } } resultMap.put("viewAttr", finalCheckRight ? viewAttr : 1); return resultMap; @@ -250,9 +255,6 @@ public class ExtServiceImpl extends Service implements ExtService { value = null; } if (null == value) { - if ("int".equals(collect.get(key).getFieldType())) { - value = null; - } // 兼容sqlServer数据库text字段类型 if ("text".equals(collect.get(key).getFieldType())) { value = ""; @@ -308,9 +310,9 @@ public class ExtServiceImpl extends Service implements ExtService { Map map = new HashMap<>(); for (ExtendInfoPO extendInfoPO : filterS) { if (BROWSER_TYPE.equals(extendInfoPO.getControlType())) { - map.put(extendInfoPO.getFieldName() + "span", params.get(extendInfoPO.getFieldName() + "span_" + i)); + map.put(extendInfoPO.getFieldName() + "span", parseDetailValue(params.get(extendInfoPO.getFieldName() + "span_" + i))); } - map.put(extendInfoPO.getFieldName(), params.get(extendInfoPO.getFieldName() + "_" + i)); + map.put(extendInfoPO.getFieldName(), parseDetailValue(params.get(extendInfoPO.getFieldName() + "_" + i))); } map.put("mainid", id); map.put("group_id", groupId); @@ -322,4 +324,11 @@ public class ExtServiceImpl extends Service implements ExtService { } } } + + private Object parseDetailValue(Object obj) { + if (null == obj || StringUtils.isBlank(Util.null2String(obj))) { + return null; + } + return obj; + } } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 4d2aa903..aca0d806 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -284,34 +284,35 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public int updateForm(Map params) { Long id = Long.parseLong((String) params.get("id")); String groupId = (String) params.get("viewCondition"); - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - // 判断编号是否重复 - String workCode = Util.null2String(params.get("work_code")); - HrmResourcePO resourceById = getResourceMapper().getResourceById(id.toString()); - if (!workCode.equals(resourceById.getWorkCode())) { - workCode = repeatDetermine(workCode); - params.put("work_code", workCode); - } + int updateCount = 0; + if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { + // 判断编号是否重复 + String workCode = Util.null2String(params.get("work_code")); + HrmResourcePO resourceById = getResourceMapper().getResourceById(id.toString()); + if (!workCode.equals(resourceById.getWorkCode())) { + workCode = repeatDetermine(workCode); + params.put("work_code", workCode); + } - // 完善更新参数 - completeParams(params); + // 完善更新参数 + completeParams(params); - // 更新EC人员,更新成功后,更新聚才林人员表 - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, params).sync(); - String ecResourceId = Util.null2String(syncMap.get("id")); - OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); + // 更新EC人员,更新成功后,更新聚才林人员表 + Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, params).sync(); + String ecResourceId = Util.null2String(syncMap.get("id")); + OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); - int updateCount = 0; - // 更新主表数据 - updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", id); - // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRMEXT, params, groupId, id); + // 更新主表数据 + updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", id); + + new HrmResourceTriggerRunnable(id).run(); + } else { + // 更新主表拓展表 + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRMEXT, params, "", id); + } //更新明细表 getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_HRMEXT_DT1, params, id); - new HrmResourceTriggerRunnable(id).run(); return updateCount; } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 2e9722fc..ec6ab1d3 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -404,45 +404,45 @@ public class JobServiceImpl extends Service implements JobService { if (StringUtils.isNotBlank(parent_job)) { OrganizationAssert.isFalse(parent_job.equals(searchParam.getId().toString()), "上级岗位不能选择本身"); } - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - JobPO oldJobPO = getJobMapper().getJobById(searchParam.getId()); - String oldJobNo = oldJobPO.getJobNo(); - String jobNo = searchParam.getJobNo(); - if (!jobNo.equals(oldJobNo)) { - jobNo = repeatDetermine(jobNo); - params.put("job_no", jobNo); - } + if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { + JobPO oldJobPO = getJobMapper().getJobById(searchParam.getId()); + String oldJobNo = oldJobPO.getJobNo(); + String jobNo = searchParam.getJobNo(); + if (!jobNo.equals(oldJobNo)) { + jobNo = repeatDetermine(jobNo); + params.put("job_no", jobNo); + } - // 更新主表数据 - params.put("is_key", searchParam.getIsKey()); - if (null != searchParam.getParentJob()) { - JobPO parentJob = getJobMapper().getJobById(searchParam.getParentJob()); - params.put("parent_dept", parentJob.getParentDept()); - params.put("parent_comp", parentJob.getParentComp()); - params.put("ec_company", parentJob.getEcCompany()); - params.put("ec_department", parentJob.getEcDepartment()); - } else { - Long ecDepartment = searchParam.getEcDepartment(); - DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(ecDepartment)); - params.put("parent_dept", jclDepartment.getId()); - params.put("parent_comp", jclDepartment.getParentComp()); - if (null != jclDepartment.getParentComp()) { - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartment.getParentComp()))); + // 更新主表数据 + params.put("is_key", searchParam.getIsKey()); + if (null != searchParam.getParentJob()) { + JobPO parentJob = getJobMapper().getJobById(searchParam.getParentJob()); + params.put("parent_dept", parentJob.getParentDept()); + params.put("parent_comp", parentJob.getParentComp()); + params.put("ec_company", parentJob.getEcCompany()); + params.put("ec_department", parentJob.getEcDepartment()); + } else { + Long ecDepartment = searchParam.getEcDepartment(); + DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(ecDepartment)); + params.put("parent_dept", jclDepartment.getId()); + params.put("parent_comp", jclDepartment.getParentComp()); + if (null != jclDepartment.getParentComp()) { + params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartment.getParentComp()))); + } } + params.put("jobactivityid", JOB_ACTIVITY_ID); + new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, oldJobPO).sync(); + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); + + JobPO jobById = getJobMapper().getJobById(searchParam.getId()); + new JobTriggerRunnable(oldJobPO, jobById).run(); + // 更新人员关联字段 + updateResourceJob(jobById); } - params.put("jobactivityid", JOB_ACTIVITY_ID); - new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, oldJobPO).sync(); - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, groupId, searchParam.getId()); + getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, "", searchParam.getId()); // 更新明细表 getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_JOBEXT_DT1, params, searchParam.getId()); - JobPO jobById = getJobMapper().getJobById(searchParam.getId()); - new JobTriggerRunnable(oldJobPO, jobById).run(); - // 更新人员关联字段 - updateResourceJob(jobById); return searchParam.getId(); } @@ -590,7 +590,7 @@ public class JobServiceImpl extends Service implements JobService { targetJob.setJobName(mergeParam.getMergeName()); getJobMapper().updateBaseJob(targetJob); - new JobTriggerRunnable(jobById.getId(),targetJob.getId()).run(); + new JobTriggerRunnable(jobById.getId(), targetJob.getId()).run(); // 原岗位删除 new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobById).sync(); getJobMapper().deleteByIds(Collections.singletonList(jobById.getId())); @@ -642,11 +642,11 @@ public class JobServiceImpl extends Service implements JobService { * @param compPO * @param builderComps */ - private void buildParentComps(CompPO compPO, Set builderComps,Map allMaps) { + private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); CompPO parentComp = allMaps.get(compPO.getParentCompany()); if (null != parentComp && 0 == parentComp.getForbiddenTag()) { - buildParentComps(parentComp, builderComps,allMaps); + buildParentComps(parentComp, builderComps, allMaps); } } @@ -711,7 +711,7 @@ public class JobServiceImpl extends Service implements JobService { Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); Set builderComps = new HashSet<>(); for (CompPO compPO : filterComps) { - buildParentComps(compPO, builderComps,allMaps); + buildParentComps(compPO, builderComps, allMaps); } return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), deptTrees); } diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 7618acff..2d166f6b 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -50,16 +50,16 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("companyname", rs.getString("companyname")); fclasslist.add(item); } - String sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) "; + String sql = "select id, fnumber, fname, ftype from jcl_org_map where ftype in (0, 1) "; // 分部分权过滤 DetachUtil detachUtil = new DetachUtil(user.getUID()); if (detachUtil.isDETACH()) { String jclRoleLevels = detachUtil.getJclRoleLevels(); if (StringUtils.isNotBlank(jclRoleLevels)) { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; + sql = "select id, fnumber, fname, ftype from jcl_org_map where (ftype = 0 or (ftype = 1 and fobjid in(" + jclRoleLevels + "))) "; } else { - sql = "select distinct id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; + sql = "select id, fnumber, fname, ftype from jcl_org_map where ftype = 0 "; } } rs.executeQuery(sql + " and fdateend > " + DBType.get(new RecordSet().getDBType()).currentDate() + " order by ftype , id,fdateend desc "); From cb4db723e462b00839b374948b156cad35342f81 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 16 Nov 2022 14:06:12 +0800 Subject: [PATCH 014/203] =?UTF-8?q?=E2=80=9C=E6=A0=8F=E7=9B=AE=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E4=BF=AE=E5=A4=8D=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/personnelcard/vo/CardAccessVO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java b/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java index fd2b043a..934ebbeb 100644 --- a/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java +++ b/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java @@ -33,7 +33,7 @@ import lombok.NoArgsConstructor; orderby = "id", sortway = "asc", primarykey = "id", - tableType = WeaTableType.CHECKBOX + tableType = WeaTableType.NONE ) public class CardAccessVO { From 17f4789e33b3b3666873fb39a76bebc9e08bebf3 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Nov 2022 14:59:22 +0800 Subject: [PATCH 015/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/extend/bo/ExtendInfoBO.java | 17 +++++++++++++++++ .../mapper/personnelcard/CardAccessMapper.xml | 4 ---- .../mapper/personnelcard/CardButtonMapper.xml | 4 ---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index f226dd56..f1d21517 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -217,6 +217,23 @@ public class ExtendInfoBO { List searchConditionOptions = SelectOptionParam.convertJsonToListOption(customValue); fieldItem.setOptions(searchConditionOptions); break; + case FILEUPLOAD: + fieldItem.setUploadUrl("/api/doc/upload/uploadFile"); + fieldItem.setCategory("category"); + fieldItem.setMaxFilesNumber(10); + fieldItem.setMultiSelection(true); + Map otherParamsMap = new HashMap<>(); + otherParamsMap.put("showClearAll", false); + otherParamsMap.put("showOrder", true); + fieldItem.setOtherParams(otherParamsMap); + break; + case DATEPICKER: + if ("402".equals(extendInfoPO.getBrowserType())) { + fieldItem.setFormat("YYYY"); + } else if ("403".equals(extendInfoPO.getBrowserType())) { + fieldItem.setFormat("YYYY-MM"); + } + break; default: break; } diff --git a/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml index 5488d10e..a87b3fc8 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml @@ -12,8 +12,6 @@ - - @@ -29,8 +27,6 @@ , t.custom , t.creator , t.delete_type - , t.create_time - , t.update_time diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml index 6adfa494..b6128db7 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml @@ -12,8 +12,6 @@ - - @@ -31,8 +29,6 @@ , t.open_type , t.creator , t.delete_type - , t.create_time - , t.update_time delete from jcl_org_cardbutton where id in From b5d5b717d140b86344937441eae76b24fe345bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98ml=E2=80=99?= Date: Wed, 16 Nov 2022 15:14:11 +0800 Subject: [PATCH 016/203] =?UTF-8?q?=E8=81=8C=E5=8A=A1=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E4=BC=98=E5=8C=96=E4=BF=AE=E5=A4=8D20221116?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/util/saveimport/PostInfoImportUtil.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java b/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java index 3ece4927..7a94e567 100644 --- a/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java @@ -85,6 +85,7 @@ public class PostInfoImportUtil { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); // 数据校验 if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { + historyDetailPO.setRelatedName(""); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); From f9f5bc432c053ab5380c7f82f190f3d232d20f8e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Nov 2022 15:23:56 +0800 Subject: [PATCH 017/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/service/impl/ExtServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 003ac311..8e28764a 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -158,7 +158,7 @@ public class ExtServiceImpl extends Service implements ExtService { Map> allFields = infoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId)); //TODO 控制展示权限 boolean checkRight = true; - if ("4".equals(extendType) && !user.isAdmin()) { + if (2 == viewAttr && "4".equals(extendType) && !user.isAdmin()) { checkRight = false; String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); if (Util.null2String(user.getUID()).equals(ecResourceId)) { From 9b20c6838a9537d80e285646d90da97a7dcffcb5 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Nov 2022 16:09:32 +0800 Subject: [PATCH 018/203] =?UTF-8?q?=E4=BA=BA=E4=BA=8B=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=83=E9=99=90BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../personnelcard/CardButtonMapper.java | 2 + .../mapper/personnelcard/CardButtonMapper.xml | 8 ++++ .../service/impl/ExtServiceImpl.java | 41 ++++++++++++++++--- 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java index 667e1c01..bba63a8d 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.java @@ -22,4 +22,6 @@ public interface CardButtonMapper { List listAllId(); int deleteByIds(@Param("ids")Collection ids); + + CardButtonPO getEditButton(); } diff --git a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml index b6128db7..617561c6 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardButtonMapper.xml @@ -52,5 +52,13 @@ from jcl_org_cardbutton t where t.delete_type = 0 + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 8e28764a..0d50d97f 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -1,6 +1,8 @@ package com.engine.organization.service.impl; import com.api.browser.bean.SearchConditionItem; +import com.engine.common.service.HrmCommonService; +import com.engine.common.service.impl.HrmCommonServiceImpl; import com.engine.core.impl.Service; import com.engine.organization.entity.TopTab; import com.engine.organization.entity.codesetting.po.CodeRulePO; @@ -10,10 +12,12 @@ import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.extend.po.ExtendTitlePO; +import com.engine.organization.entity.personnelcard.po.CardButtonPO; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.extend.*; import com.engine.organization.mapper.hrmresource.HrmResourceMapper; +import com.engine.organization.mapper.personnelcard.CardButtonMapper; import com.engine.organization.service.ExtService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; @@ -69,8 +73,7 @@ public class ExtServiceImpl extends Service implements ExtService { return conditionItems; } List readOnlyFieldList = new ArrayList<>(Arrays.asList(readOnlyFields)); - //TODO 细化权限 - if ("4".equals(extendType) && !user.isAdmin()) { + if ("4".equals(extendType) && noEditRight(user)) { String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); if (Util.null2String(user.getUID()).equals(ecResourceId)) { List readOnlyList = infoPOList.stream().filter(item -> !"1".equals(Util.null2String(item.getIsModify()))).map(ExtendInfoPO::getFieldName).collect(Collectors.toList()); @@ -156,9 +159,8 @@ public class ExtServiceImpl extends Service implements ExtService { } } Map> allFields = infoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId)); - //TODO 控制展示权限 boolean checkRight = true; - if (2 == viewAttr && "4".equals(extendType) && !user.isAdmin()) { + if (2 == viewAttr && "4".equals(extendType) && noEditRight(user)) { checkRight = false; String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); if (Util.null2String(user.getUID()).equals(ecResourceId)) { @@ -171,6 +173,7 @@ public class ExtServiceImpl extends Service implements ExtService { // 查询所有分布模块,拓展明细表信息 Map> groupMap = infoPOList.stream().collect(Collectors.groupingBy(ExtendInfoPO::getExtendGroupId)); // 遍历Map,组装数据 + boolean finalCheckRight = checkRight; for (Map.Entry> entry : groupMap.entrySet()) { Map tableMap = new HashMap<>(); tableMap.put("hide", false); @@ -190,7 +193,6 @@ public class ExtServiceImpl extends Service implements ExtService { List> maps = getExtDTMapper().listCompExtDT(tableName, id, fields); maps.removeIf(Objects::isNull); // 兼容Oracle,map的key转换为小写 - boolean finalCheckRight = checkRight; List> collect = maps.stream().map(item -> { Map resultMap = new HashMap<>(); Set keys = item.keySet(); @@ -325,10 +327,39 @@ public class ExtServiceImpl extends Service implements ExtService { } } + /** + * 转化明细表字段返回到前端的值 + * + * @param obj + * @return + */ private Object parseDetailValue(Object obj) { if (null == obj || StringUtils.isBlank(Util.null2String(obj))) { return null; } return obj; } + + /** + * 判断是否为管理员或者 + * + * @param user + * @return + */ + private boolean noEditRight(User user) { + boolean hasEditRight = user.isAdmin(); + CardButtonPO editButton = MapperProxyFactory.getProxy(CardButtonMapper.class).getEditButton(); + // 非系统管理员判断是否拥有角色 + if (!hasEditRight && null != editButton) { + // 判断是否有这个角色 + HrmCommonService hrmCommonService = new HrmCommonServiceImpl(); + List roleIds = new ArrayList<>(Arrays.asList(hrmCommonService.getRoleIds(user.getUID()).split(","))); + List accessRoleIds = new ArrayList<>(Arrays.asList(Util.null2String(editButton.getRoles()).split(","))); + roleIds.retainAll(accessRoleIds); + hasEditRight = CollectionUtils.isNotEmpty(roleIds); + } + + return !hasEditRight; + + } } From 81943df05886611f1753b2aa5e4c105dc9defb6e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Nov 2022 17:39:58 +0800 Subject: [PATCH 019/203] =?UTF-8?q?=E7=BC=96=E5=88=B6=E3=80=81=E5=88=86?= =?UTF-8?q?=E9=83=A8=E6=A0=91=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/ResourceMapper.xml | 3 +- .../service/impl/DepartmentServiceImpl.java | 2 - .../service/impl/StaffServiceImpl.java | 43 ++++++++++--------- .../util/tree/SearchTreeUtil.java | 2 +- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.xml b/src/com/engine/organization/mapper/resource/ResourceMapper.xml index d6410eba..a212a80e 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.xml @@ -89,7 +89,7 @@ - order by t.id asc; + order by t.show_order asc diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 63036f15..f7e8ceaa 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -530,8 +530,6 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 源部门 DepartmentPO deptById = getDepartmentMapper().getDeptById(originalDeptId); long timeMillis = System.currentTimeMillis(); - deptById.setDeptName(deptById.getDeptName() + "_" + timeMillis); - deptById.setDeptNameShort(deptById.getDeptNameShort() + "_" + timeMillis); // 处理自动编号 deptById.setDeptNo(CodeRuleUtil.generateCode(RuleCodeType.DEPARTMENT, deptById.getDeptNo(), timeMillis)); // 设置上级分部 diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index 408ab7e1..11fb24c3 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -12,6 +12,7 @@ import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.staff.bo.StaffBO; import com.engine.organization.entity.staff.param.StaffSearchParam; import com.engine.organization.entity.staff.po.StaffPO; @@ -135,16 +136,9 @@ public class StaffServiceImpl extends Service implements StaffService { HasRightUtil.hasRight(user, RIGHT_NAME, false); StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); OrganizationAssert.isFalse(staffPO.getStaffNum() < 0, "编制数不可小于0,请更正"); + checkRequired(staffPO); - // 赋值 - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany())); - if (null != jclCompanyId) { - staffPO.setCompId(jclCompanyId.getId()); - } - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(staffPO.getEcDepartment())); - if (null != jclDepartmentId) { - staffPO.setDeptId(jclDepartmentId.getId()); - } + int ignoreNull = getStaffMapper().insertIgnoreNull(staffPO); // 同步组织架构图编制信息 new StaffTriggerRunnable(staffPO).run(); @@ -158,16 +152,9 @@ public class StaffServiceImpl extends Service implements StaffService { StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); staffPO.setPermanentNum(staffByID.getPermanentNum()); staffPO.setFreezeNum(staffByID.getFreezeNum()); + checkRequired(staffPO); - // 赋值 - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany())); - if (null != jclCompanyId) { - staffPO.setCompId(jclCompanyId.getId()); - } - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(staffPO.getEcDepartment())); - if (null != jclDepartmentId) { - staffPO.setDeptId(jclDepartmentId.getId()); - } + Integer changeNum = param.getChangeNum(); if (null == changeNum) { // 插入明细表数据 @@ -453,15 +440,29 @@ public class StaffServiceImpl extends Service implements StaffService { switch (staffPlanByID.getControlDimension()) { case "1":// 分部 OrganizationAssert.notNull(staffPO.getEcCompany(), "编制维度选择分部时,分部必填!"); + CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany())); + if (null != jclCompanyId) { + staffPO.setCompId(jclCompanyId.getId()); + } break; case "2":// 部门 - OrganizationAssert.notNull(staffPO.getEcCompany(), "编制维度选择部门时,分部必填!"); OrganizationAssert.notNull(staffPO.getEcDepartment(), "编制维度选择部门时,部门必填!"); + DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(staffPO.getEcDepartment())); + if (null != jclDepartmentId) { + staffPO.setDeptId(jclDepartmentId.getId()); + staffPO.setCompId(jclDepartmentId.getParentComp()); + staffPO.setEcCompany(jclDepartmentId.getEcCompany()); + } break; case "3": // 岗位 - OrganizationAssert.notNull(staffPO.getEcCompany(), "编制维度选择岗位时,分部必填!"); - OrganizationAssert.notNull(staffPO.getEcDepartment(), "编制维度选择岗位时,部门必填!"); OrganizationAssert.notNull(staffPO.getJobId(), "编制维度选择岗位时,岗位必填!"); + JobPO jobById = getJobMapper().getJobById(staffPO.getJobId()); + if (null != jobById) { + staffPO.setDeptId(jobById.getParentDept()); + staffPO.setEcDepartment(jobById.getEcDepartment()); + staffPO.setCompId(jobById.getParentComp()); + staffPO.setEcCompany(jobById.getEcCompany()); + } break; default: break; diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 3bc9891a..7d235349 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -35,7 +35,7 @@ public class SearchTreeUtil { // 排序,设置是否为叶子节点 List collect = treeList.stream().peek(item -> item.setIsParent(CollectionUtils.isNotEmpty(item.getSubs())) - ).sorted(Comparator.comparing(item -> Integer.parseInt(item.getId()))).collect(Collectors.toList()); + ).sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(collect)) { treeDatas.addAll(collect); } From 47c09cac9a60664d62713f442ec829bf78a11cd1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 16 Nov 2022 17:54:57 +0800 Subject: [PATCH 020/203] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CompServiceImpl.java | 5 +- .../service/impl/DepartmentServiceImpl.java | 5 +- .../service/impl/HrmResourceServiceImpl.java | 5 +- .../service/impl/ImportCommonServiceImpl.java | 98 ++++++++++++------- .../service/impl/JobServiceImpl.java | 5 +- 5 files changed, 73 insertions(+), 45 deletions(-) diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 190c707b..44a91e3a 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -425,9 +425,8 @@ public class CompServiceImpl extends Service implements CompService { List list = getCompMapper().listByNo(Util.null2String(compNo)); OrganizationAssert.isEmpty(list, "编号不允许重复"); } else { - if (null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable())) { - compNo = autoCreateCompanyNo(); - } + OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); + compNo = autoCreateCompanyNo(); } return compNo; } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index f7e8ceaa..bb3bab40 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -875,9 +875,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List list = getDepartmentMapper().listByNo(Util.null2String(deptNo)); OrganizationAssert.isEmpty(list, "编号不允许重复"); } else { - if (null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable())) { - deptNo = autoCreateCompanyNo(); - } + OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); + deptNo = autoCreateCompanyNo(); } return deptNo; } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index aca0d806..0ab4686c 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -757,9 +757,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List list = getResourceMapper().listByNo(Util.null2String(workCode)); OrganizationAssert.isEmpty(list, "编号不允许重复"); } else { - if (null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable())) { - workCode = autoCreateWorkCode(); - } + OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); + workCode = autoCreateWorkCode(); } return workCode; } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index e3b76a15..18d588d3 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -26,6 +26,7 @@ import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.enums.OrgImportEnum; +import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtMapper; @@ -88,6 +89,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ private static final String HRM_RESOURCE = "hrmresource"; static Map importFieldsMap; + static { importFieldsMap = new HashMap<>(); importFieldsMap.put("方案编号", ExtendInfoPO.builder().tableName("jcl_org_scheme").fieldName("scheme_no").fieldNameDesc("方案编号").isrequired(1).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); @@ -101,6 +103,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ importFieldsMap.put("职级说明", ExtendInfoPO.builder().tableName("jcl_org_grade").fieldName("grade_description").fieldNameDesc("职级说明").isrequired(0).controlType(1).browserType("1").customValue("[\"input\",\"text\",\"100\"]").build()); } + private ExtendInfoMapper getExtendInfoMapper() { return MapperProxyFactory.getProxy(ExtendInfoMapper.class); } @@ -161,7 +164,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return returnMaps; } - if("joblevel".equals(importType)){ + if ("joblevel".equals(importType)) { List fieldDatas = new ArrayList<>(); fieldDatas.add(FieldTransferParam.builder().id("1").name("职级编号").build()); fieldDatas.add(FieldTransferParam.builder().id("2").name("职级名称").build()); @@ -173,13 +176,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ fieldDatas.add(FieldTransferParam.builder().id("8").name("职级说明").build()); fieldDatas.add(FieldTransferParam.builder().id("9").name("职等说明").build()); List selectedKeys = new ArrayList<>(); - for(int i=0;i infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, ExtendInfoOperateType.LIST.getValue(), "1"); List filterList = infoPOList.stream().filter(item -> !excludeFields.contains(item.getFieldName()) && 6 != item.getControlType()).collect(Collectors.toList()); @@ -270,7 +273,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ //} //returnMap.put("pId", importHistoryId); - returnMap.put("pId", hrmResourceImport(operateType, excelFile,keyField)); + returnMap.put("pId", hrmResourceImport(operateType, excelFile, keyField)); break; case "joblevel": returnMap.put("pId", jobLevelImport(operateType, excelFile)); @@ -512,6 +515,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ lsGroup.add(groupItem); return lsGroup; } + private List getJobLevelImportForm(String templatePath) throws IOException { // 返回导入数据 @@ -697,7 +701,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { + if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"comp_no".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -763,7 +767,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } // 自动编号 - compNo = CompServiceImpl.repeatDetermine(compNo); + try { + compNo = CompServiceImpl.repeatDetermine(compNo); + } catch (OrganizationRunTimeException e) { + historyDetailPO.setOperateDetail(e.getMessage()); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue; + } map.put("comp_no", compNo); map.put("creator", user.getUID()); map.put("delete_type", 0); @@ -884,7 +895,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { + if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"dept_no".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -980,7 +991,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } // 自动编号 - deptNo = DepartmentServiceImpl.repeatDetermine(deptNo); + try { + deptNo = DepartmentServiceImpl.repeatDetermine(deptNo); + } catch (OrganizationRunTimeException e) { + historyDetailPO.setOperateDetail(e.getMessage()); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue; + } map.put("dept_no", deptNo); map.put("creator", user.getUID()); map.put("delete_type", 0); @@ -1101,7 +1119,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { + if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"job_no".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -1221,7 +1239,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } // 自动编号 - jobNo = JobServiceImpl.repeatDetermine(jobNo); + try { + jobNo = JobServiceImpl.repeatDetermine(jobNo); + } catch (OrganizationRunTimeException e) { + historyDetailPO.setOperateDetail(e.getMessage()); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue; + } map.put("job_no", jobNo); map.put("creator", user.getUID()); map.put("delete_type", 0); @@ -1350,7 +1375,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue)) { + if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"work_code".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -1466,7 +1491,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } String keyFieldValue = Util.null2String(map.get(keyField)); - if(StringUtils.isBlank(keyFieldValue)){ + if (StringUtils.isBlank(keyFieldValue)) { historyDetailPO.setOperateDetail("所选重复验证字段为空"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -1478,7 +1503,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ Long resourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); if ("add".equals(operateType)) { if (resourceId != null) { - historyDetailPO.setOperateDetail(keyFieldValue+"已存在"); + historyDetailPO.setOperateDetail(keyFieldValue + "已存在"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); continue; @@ -1488,7 +1513,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String workCode = Util.null2String(map.get("work_code")); try { // 自动编号 - workCode = HrmResourceServiceImpl.repeatDetermine(workCode); + try { + workCode = HrmResourceServiceImpl.repeatDetermine(workCode); + } catch (OrganizationRunTimeException e) { + historyDetailPO.setOperateDetail(e.getMessage()); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + continue; + } map.put("work_code", workCode); } catch (Exception e) { historyDetailPO.setOperateDetail(Util.null2String(e.getMessage())); @@ -1976,12 +2008,12 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ object = Integer.parseInt(cellValue); } else if ("float".equals(valueType)) { object = Float.parseFloat(cellValue); - } else if ("text".equals(valueType)){ + } else if ("text".equals(valueType)) { object = cellValue; } else { try { object = new BigDecimal(cellValue).toPlainString(); - }catch (NumberFormatException ignore){ + } catch (NumberFormatException ignore) { object = cellValue; } } @@ -2090,34 +2122,34 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ departmentColumn = column; iterator.remove(); } - if("方案编号".equals(column)){ + if ("方案编号".equals(column)) { schemeList.add(column); levelList.add(column); gradeList.add(column); } - if("方案名称".equals(column)){ + if ("方案名称".equals(column)) { schemeList.add(column); } - if("方案说明".equals(column)){ + if ("方案说明".equals(column)) { schemeList.add(column); } - if("职等编号".equals(column)){ - levelList.add(0,column); + if ("职等编号".equals(column)) { + levelList.add(0, column); gradeList.add(column); } - if("职等名称".equals(column)){ - levelList.add(1,column); + if ("职等名称".equals(column)) { + levelList.add(1, column); } - if("职等说明".equals(column)){ + if ("职等说明".equals(column)) { levelList.add(column); } - if("职级编号".equals(column)){ - gradeList.add(0,column); + if ("职级编号".equals(column)) { + gradeList.add(0, column); } - if("职级名称".equals(column)){ - gradeList.add(1,column); + if ("职级名称".equals(column)) { + gradeList.add(1, column); } - if("职级说明".equals(column)){ + if ("职级说明".equals(column)) { gradeList.add(column); } } @@ -2136,14 +2168,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if ("joblevel".equals(importType)) { excelSheetData.clear(); excelSheetData.add(schemeList); - ExcelUtil.genWorkbookV3(sheets,excelSheetData,0, "方案"); + ExcelUtil.genWorkbookV3(sheets, excelSheetData, 0, "方案"); excelSheetData.clear(); excelSheetData.add(levelList); - ExcelUtil.genWorkbookV3(sheets,excelSheetData,1, "职等"); + ExcelUtil.genWorkbookV3(sheets, excelSheetData, 1, "职等"); excelSheetData.clear(); excelSheetData.add(gradeList); - ExcelUtil.genWorkbookV3(sheets,excelSheetData,2, "职级"); - }else{ + ExcelUtil.genWorkbookV3(sheets, excelSheetData, 2, "职级"); + } else { sheets = ExcelUtil.genWorkbookV2(excelSheetData, importType); } String excelPath = outPutPath + File.separator + importType + ".xls"; diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index ec6ab1d3..44f6e191 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -754,9 +754,8 @@ public class JobServiceImpl extends Service implements JobService { List list = getJobMapper().listByNo(Util.null2String(jobNo)); OrganizationAssert.isEmpty(list, "编号不允许重复"); } else { - if (null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable())) { - jobNo = autoCreateCompanyNo(); - } + OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); + jobNo = autoCreateCompanyNo(); } return jobNo; } From 0404c4b7fd060f4782fe74dee7336f572b0a98aa Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 17 Nov 2022 09:05:00 +0800 Subject: [PATCH 021/203] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/ImportCommonServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 18d588d3..e3ef4e03 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -2088,7 +2088,11 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ * 日志导入详细信息日志 */ private void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) { - String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据,[" + historyDetailPO.getRelatedName() + "]" + historyDetailPO.getOperateDetail(); + String relatedName = historyDetailPO.getRelatedName(); + if (StringUtils.isNotBlank(relatedName)) { + relatedName = "[" + relatedName + "]"; + } + String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据," + relatedName + historyDetailPO.getOperateDetail(); historyDetailPO.setOperateDetail(detailMsg); MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(historyDetailPO); } From a27300871593a59affbe4439f7b6ac312e514dc0 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 17 Nov 2022 11:36:52 +0800 Subject: [PATCH 022/203] =?UTF-8?q?=E5=AF=BC=E5=85=A5BUG=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/employee/EmployeeMapper.java | 3 + .../mapper/employee/EmployeeMapper.xml | 5 + .../mapper/extend/ExtendInfoMapper.java | 2 +- .../service/impl/ImportCommonServiceImpl.java | 92 ++++++++++++++++++- 4 files changed, 97 insertions(+), 5 deletions(-) diff --git a/src/com/engine/organization/mapper/employee/EmployeeMapper.java b/src/com/engine/organization/mapper/employee/EmployeeMapper.java index 0419a3cf..004a2077 100644 --- a/src/com/engine/organization/mapper/employee/EmployeeMapper.java +++ b/src/com/engine/organization/mapper/employee/EmployeeMapper.java @@ -19,5 +19,8 @@ public interface EmployeeMapper { List getResourceIds(@Param("lastName") String lastName); + List getResourceIdsByName(@Param("lastName") String lastName); + + List> getBrowserDatas(@Param("ids") Collection ids); } diff --git a/src/com/engine/organization/mapper/employee/EmployeeMapper.xml b/src/com/engine/organization/mapper/employee/EmployeeMapper.xml index 8419c565..99d1dcd3 100644 --- a/src/com/engine/organization/mapper/employee/EmployeeMapper.xml +++ b/src/com/engine/organization/mapper/employee/EmployeeMapper.xml @@ -43,5 +43,10 @@ #{id} + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java b/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java index 48dfee3f..c2fa5b3c 100644 --- a/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java +++ b/src/com/engine/organization/mapper/extend/ExtendInfoMapper.java @@ -37,7 +37,7 @@ public interface ExtendInfoMapper { int updateExtendGroupId(@Param("groupId") Long groupId, @Param("ids") Collection ids); - ExtendInfoPO getInfoByExtendAndLabelName(@Param("extendType") Long extendType, @Param("labelName") String labelName); + List getInfoByExtendAndLabelName(@Param("extendType") Long extendType, @Param("labelName") String labelName); } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index e3ef4e03..9d32e575 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -29,6 +29,7 @@ import com.engine.organization.enums.OrgImportEnum; import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.hrmresource.HrmResourceMapper; @@ -46,6 +47,7 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.excel.ExcelUtil; import com.engine.organization.util.relation.EcHrmRelationUtil; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.xssf.usermodel.XSSFCell; @@ -695,8 +697,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ XSSFCell cell = row.getCell((short) cellIndex); String cellValue = getCellValue(cell).trim(); if (i == 0) { + List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(COMPANY_TYPE, cellValue); + boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + if (isBreak) { + break nextRow; + } // 首行 初始化字段信息 - ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(COMPANY_TYPE, cellValue); + ExtendInfoPO extendInfoPO = infoPOList.get(0); extendInfoPOS.add(extendInfoPO); } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); @@ -751,6 +758,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ companyName = split[split.length - 1]; map.put("comp_name", companyName); } + + if ("comp_principal".equals(infoPO.getFieldName())) { + boolean hasSameName = hasSameName(historyDetailPO, cellValue); + if (hasSameName) { + continue nextRow; + } + } } } // 校验、数据交互 @@ -890,7 +904,12 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String cellValue = getCellValue(cell).trim(); if (i == 0) { // 首行 初始化字段信息 - ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(DEPARTMENT_TYPE, cellValue); + List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(DEPARTMENT_TYPE, cellValue); + boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + if (isBreak) { + break nextRow; + } + ExtendInfoPO extendInfoPO = infoPOList.get(0); extendInfoPOS.add(extendInfoPO); } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); @@ -975,6 +994,12 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ departmentName = split[split.length - 1]; map.put("dept_name", departmentName); } + if ("dept_principal".equals(infoPO.getFieldName())) { + boolean hasSameName = hasSameName(historyDetailPO, cellValue); + if (hasSameName) { + continue nextRow; + } + } } } // 校验、数据交互 @@ -1114,7 +1139,12 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String cellValue = getCellValue(cell).trim(); if (i == 0) { // 首行 初始化字段信息 - ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(JOB_TYPE, cellValue); + List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(JOB_TYPE, cellValue); + boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + if (isBreak) { + break nextRow; + } + ExtendInfoPO extendInfoPO = infoPOList.get(0); extendInfoPOS.add(extendInfoPO); } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); @@ -1370,7 +1400,12 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String cellValue = getCellValue(cell).trim(); if (i == 0) { // 首行 初始化字段信息 - ExtendInfoPO extendInfoPO = getExtendInfoMapper().getInfoByExtendAndLabelName(RESOURCE_TYPE, cellValue); + List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(RESOURCE_TYPE, cellValue); + boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + if (isBreak) { + break nextRow; + } + ExtendInfoPO extendInfoPO = infoPOList.get(0); extendInfoPOS.add(extendInfoPO); } else { ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); @@ -2205,4 +2240,53 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return "1".equals(Util.null2String(resultMap.get("status"))) || "1".equals(Util.null2String(resultMap.get("sign"))); } + /** + * 判断表头是否正确 + * + * @param historyDetailPO + * @param cellValue + * @param infoPOList + * @return + */ + private boolean isBreak(JclImportHistoryDetailPO historyDetailPO, String cellValue, List infoPOList) { + String operateDetail = ""; + if (CollectionUtils.isEmpty(infoPOList)) { + operateDetail = "[" + cellValue + "]未找到对应字段"; + } + if (infoPOList.size() > 1) { + operateDetail = "[" + cellValue + "]在表中定义多个,请修改后重新导入"; + } + if (StringUtils.isNotBlank(operateDetail)) { + historyDetailPO.setOperateDetail(operateDetail); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + return true; + } + return false; + } + + /** + * 判断负责人是否有重名人员、若有重复人员、给出反馈信息。不处理该条数据 + * + * @param historyDetailPO + * @param cellValue + * @return + */ + private boolean hasSameName(JclImportHistoryDetailPO historyDetailPO, String cellValue) { + String operateDetail = ""; + List resourceIds = MapperProxyFactory.getProxy(EmployeeMapper.class).getResourceIdsByName(cellValue); + if (CollectionUtils.isEmpty(resourceIds)) { + operateDetail = "[" + cellValue + "]未找到对应人员"; + } + if (resourceIds.size() > 1) { + operateDetail = "[" + cellValue + "]查询到多个人员,请在导入完成后自行执行该负责人"; + } + if (StringUtils.isNotBlank(operateDetail)) { + historyDetailPO.setOperateDetail(operateDetail); + historyDetailPO.setStatus("0"); + saveImportDetailLog(historyDetailPO); + return true; + } + return false; + } } From 25d3db4d81b6cc0a99656790fc1a856a1500605d Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 17 Nov 2022 15:36:26 +0800 Subject: [PATCH 023/203] =?UTF-8?q?=E5=AF=BC=E5=85=A5BUG=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 7 ++--- .../util/saveimport/StaffInfoImportUtil.java | 30 ++++++++++++++----- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 9d32e575..0e616815 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -1705,7 +1705,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) { - historyDetailPO.setRelatedName(""); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); saveImportDetailLog(historyDetailPO); @@ -2123,9 +2122,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ * 日志导入详细信息日志 */ private void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) { - String relatedName = historyDetailPO.getRelatedName(); - if (StringUtils.isNotBlank(relatedName)) { - relatedName = "[" + relatedName + "]"; + String relatedName = ""; + if (StringUtils.isNotBlank(historyDetailPO.getRelatedName())) { + relatedName = "[" + historyDetailPO.getRelatedName() + "]"; } String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据," + relatedName + historyDetailPO.getOperateDetail(); historyDetailPO.setOperateDetail(detailMsg); diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index 7515af01..fbc9770c 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -2,8 +2,10 @@ package com.engine.organization.util.saveimport; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; +import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.staff.bo.StaffBO; import com.engine.organization.entity.staff.param.StaffSearchParam; import com.engine.organization.entity.staff.po.StaffPO; @@ -249,21 +251,33 @@ public class StaffInfoImportUtil { param.setJobId(null); break; case "2":// 部门 - if (null == parentCompanyId) { - checkMsg = "编制维度选择分部时,分部必填!"; - } else if (null == parentDepartmentId) { + if (null == parentDepartmentId) { checkMsg = "编制维度选择部门时,部门必填!"; + } else { + DepartmentPO deptById = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(parentDepartmentId); + if (null == deptById) { + checkMsg = "未找到对应部门!"; + } else { + param.setCompId(deptById.getParentComp()); + param.setEcCompany(deptById.getEcCompany()); + } } // 取消岗位赋值 param.setJobId(null); break; case "3": // 岗位 - if (null == parentCompanyId) { - checkMsg = "编制维度选择分部时,分部必填!"; - } else if (null == parentDepartmentId) { - checkMsg = "编制维度选择部门时,部门必填!"; - } else if (null == parentJobId) { + if (null == parentJobId) { checkMsg = "编制维度选择岗位时,岗位必填!"; + } else { + JobPO jobPO = MapperProxyFactory.getProxy(JobMapper.class).getJobById(parentJobId); + if (null == jobPO) { + checkMsg = "未找到对应岗位!"; + } else { + param.setCompId(jobPO.getParentComp()); + param.setEcCompany(jobPO.getEcCompany()); + param.setDeptId(jobPO.getParentDept()); + param.setEcDepartment(jobPO.getEcDepartment()); + } } break; default: From e45ff3daa34faa9616560139ee113acedadb73c8 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 17 Nov 2022 17:02:45 +0800 Subject: [PATCH 024/203] =?UTF-8?q?=E5=AF=BC=E5=85=A5BUG=EF=BC=8C=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 18 ++++++++++++++++++ .../util/saveimport/PostInfoImportUtil.java | 4 +++- .../util/saveimport/StaffInfoImportUtil.java | 3 +++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 0e616815..98d15b15 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -687,6 +687,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); Long parentCompanyId = null; @@ -892,6 +895,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); Long parentCompanyId = null; @@ -1126,6 +1132,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); Long parentCompanyId = null; @@ -1388,6 +1397,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); Long parentCompanyId = null; @@ -1665,6 +1677,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); SchemePO schemePO = new SchemePO(); @@ -2273,6 +2288,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ */ private boolean hasSameName(JclImportHistoryDetailPO historyDetailPO, String cellValue) { String operateDetail = ""; + if (StringUtils.isBlank(cellValue)) { + return false; + } List resourceIds = MapperProxyFactory.getProxy(EmployeeMapper.class).getResourceIdsByName(cellValue); if (CollectionUtils.isEmpty(resourceIds)) { operateDetail = "[" + cellValue + "]未找到对应人员"; diff --git a/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java b/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java index 7a94e567..1aaca042 100644 --- a/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/PostInfoImportUtil.java @@ -4,7 +4,6 @@ import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; import com.engine.organization.entity.postion.po.PostInfoPO; import com.engine.organization.entity.postion.po.PostPO; -import com.engine.organization.entity.staff.po.StaffPlanPO; import com.engine.organization.mapper.post.PostInfoMapper; import com.engine.organization.mapper.post.PostMapper; import com.engine.organization.util.OrganizationAssert; @@ -66,6 +65,9 @@ public class PostInfoImportUtil { historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); PostInfoPO postInfoPO = null; diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index fbc9770c..d3936eb9 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -78,6 +78,9 @@ public class StaffInfoImportUtil { historyDetailPO = new JclImportHistoryDetailPO(); historyDetailPO.setPid(importHistoryId); XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } // 组装待处理数据 Map map = new HashMap<>(); Long parentCompanyId = null; From 7d1fc84fad2f4627eb855d44a86e3b7d0f90fe91 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 18 Nov 2022 16:28:02 +0800 Subject: [PATCH 025/203] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9E=B6=E6=9E=84?= =?UTF-8?q?=E6=A0=91=E6=8E=92=E5=BA=8F=E3=80=81=E4=BA=BA=E5=91=98=E5=8D=A1?= =?UTF-8?q?=E7=89=87BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/personnelcard/UserCard.java | 17 +++++++++--- .../personnelcard/PersonnelCardMapper.xml | 4 +-- .../thread/OrganizationSyncEc.java | 5 ++++ .../util/saveimport/OrgImportUtil.java | 26 ++++++++++++++++++- .../util/tree/SearchTreeUtil.java | 23 +++++++++------- 5 files changed, 59 insertions(+), 16 deletions(-) diff --git a/src/com/engine/organization/entity/personnelcard/UserCard.java b/src/com/engine/organization/entity/personnelcard/UserCard.java index c286cd50..f870ee66 100644 --- a/src/com/engine/organization/entity/personnelcard/UserCard.java +++ b/src/com/engine/organization/entity/personnelcard/UserCard.java @@ -27,10 +27,21 @@ public class UserCard { private String email; private String phone; private String belongTo; + private String accountType; private String status; - public String getBelongTo() { - return StringUtils.isBlank(belongTo) ? "主账号" : "次账号"; + public String getAccountType() { + if (StringUtils.isBlank(accountType)) { + return ""; + } + switch (accountType) { + case "0": + return "主账号"; + case "1": + return "次账号"; + default: + return ""; + } } public String getStatus() { @@ -43,7 +54,7 @@ public class UserCard { public String getImage() { weaver.hrm.User user = new weaver.hrm.User(); user.setLanguage(LanguageService.getDefaultLang()); - if(StringUtils.isNotBlank(image)&& image.contains("/")){ + if (StringUtils.isNotBlank(image) && image.contains("/")) { return image; } return FieldDefinedValueUtil.getFieldValue(user, ExtendInfoPO.builder().controlType(6).browserType("1").build(), image); diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml index a9184400..1b19be40 100644 --- a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml @@ -8,7 +8,7 @@ - + @@ -33,7 +33,7 @@ sex, email, mobile, - belong_to, + account_type, status from jcl_org_hrmresource where id = #{id} diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 16d97e93..36636eeb 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -225,6 +225,11 @@ public class OrganizationSyncEc { String oldName = oldJobPO.getJobName(); String newName = Util.null2String(params.get("job_name")); + if(newName.equals(oldName)){ + this.resultMap = new HashMap<>(); + this.resultMap.put("sign", "1"); + return; + } RecordInfo oldHrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); Map map = new HashMap<>(); diff --git a/src/com/engine/organization/util/saveimport/OrgImportUtil.java b/src/com/engine/organization/util/saveimport/OrgImportUtil.java index cfda1908..07879d32 100644 --- a/src/com/engine/organization/util/saveimport/OrgImportUtil.java +++ b/src/com/engine/organization/util/saveimport/OrgImportUtil.java @@ -30,17 +30,35 @@ import java.util.stream.Collectors; */ public class OrgImportUtil { + /** + * 插入导入日志信息 + * + * @param importType + * @param operateType + * @param user + * @return + */ public static Long saveImportLog(String importType, String operateType, User user) { JclImportHistoryPO historyPO = JclImportHistoryPO.builder().operator((long) user.getUID()).operateTime(DateUtil.getFullDate()).clientAddress(user.getLoginip()).importType(importType).sourceFrom("excel").operateType(operateType).status("importing").build(); MapperProxyFactory.getProxy(JclImportHistoryMapper.class).insertHistory(historyPO); return historyPO.getId(); } + /** + * 插入导入日志详细信息 + * + * @param historyDetailPO + */ public static void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) { - String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据," + historyDetailPO.getRelatedName() + historyDetailPO.getOperateDetail(); + String relatedName = ""; + if (StringUtils.isNotBlank(historyDetailPO.getRelatedName())) { + relatedName = "[" + historyDetailPO.getRelatedName() + "]"; + } + String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据," + relatedName + historyDetailPO.getOperateDetail(); historyDetailPO.setOperateDetail(detailMsg); MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(historyDetailPO); } + /** * 转换存入数据库的值 */ @@ -97,6 +115,12 @@ public class OrgImportUtil { return object; } + /** + * 读取表格中的内容 + * + * @param cell + * @return + */ public static String getCellValue(XSSFCell cell) { String cellValue = ""; if (cell == null) diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 7d235349..71eb06c5 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -35,7 +35,7 @@ public class SearchTreeUtil { // 排序,设置是否为叶子节点 List collect = treeList.stream().peek(item -> item.setIsParent(CollectionUtils.isNotEmpty(item.getSubs())) - ).sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); + ).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(collect)) { treeDatas.addAll(collect); } @@ -87,14 +87,16 @@ public class SearchTreeUtil { * @return */ public static List builderTreeMode(List treeList) { - List sortedList = treeList.stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); - Map> collects = sortedList.stream().collect(Collectors.groupingBy(TreeNode::getPid)); + Map> collects = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid)); Set leafIds = new HashSet<>(); - List collect = sortedList.stream().peek(e -> { - e.setSubs(collects.get(e.getId())); - leafIds.add(e.getId()); - if (CollectionUtils.isNotEmpty(e.getSubs())) { - e.setIsParent(true); + List collect = treeList.stream().peek(e -> { + if (null != collects && CollectionUtils.isNotEmpty(collects.get(e.getId()))) { + List nodes = collects.get(e.getId()).stream().sorted(Comparator.comparing(item -> null == item.getOrderNum() ? 0 : item.getOrderNum())).collect(Collectors.toList()); + e.setSubs(nodes); + leafIds.add(e.getId()); + if (CollectionUtils.isNotEmpty(e.getSubs())) { + e.setIsParent(true); + } } }).collect(Collectors.toList()); return collect.stream().filter(item -> !leafIds.contains(item.getPid())).collect(Collectors.toList()); @@ -113,13 +115,14 @@ public class SearchTreeUtil { boolean isAdd = !childMap.isEmpty(); Set leafIds = new HashSet<>(); List collect = treeList.stream().peek(e -> { - Set treeNodes = new HashSet<>(); + Set treeNodes = new LinkedHashSet<>(); List nodes = parentMap.get(e.getId()); if (CollectionUtils.isNotEmpty(nodes)) { treeNodes.addAll(nodes); } if (isAdd && CollectionUtils.isNotEmpty(childMap.get(e.getId()))) { - treeNodes.addAll(childMap.get(e.getId())); + List searchTrees = childMap.get(e.getId()).stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); + treeNodes.addAll(searchTrees); } if (CollectionUtils.isNotEmpty(e.getSubs())) { treeNodes.addAll(e.getSubs()); From ae2e5bb5a44aec4cadf59fde25ee3de01bca674f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 21 Nov 2022 10:58:12 +0800 Subject: [PATCH 026/203] =?UTF-8?q?=E4=BA=BA=E5=91=98Mapper=E6=95=B4?= =?UTF-8?q?=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/hrmresource/HrmResourceMapper.java | 51 ---------------- .../mapper/hrmresource/HrmResourceMapper.xml | 61 ------------------- .../mapper/resource/ResourceMapper.java | 18 +++++- .../mapper/resource/ResourceMapper.xml | 26 ++++++++ .../service/impl/ExtServiceImpl.java | 6 +- .../impl/HrmPersonnelCardServiceImpl.java | 10 +-- .../service/impl/HrmResourceServiceImpl.java | 7 +-- .../service/impl/ImportCommonServiceImpl.java | 6 +- .../impl/ManagerDetachServiceImpl.java | 10 +-- .../thread/HrmResourceTriggerRunnable.java | 8 +-- .../util/relation/ResourceSyncUtil.java | 4 +- 11 files changed, 66 insertions(+), 141 deletions(-) delete mode 100644 src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.java delete mode 100644 src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.xml diff --git a/src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.java b/src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.java deleted file mode 100644 index 8ee8675d..00000000 --- a/src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.engine.organization.mapper.hrmresource; - -import org.apache.ibatis.annotations.Param; - -/** - * @description: - * @author:dxfeng - * @createTime: 2022/05/20 - * @version: 1.0 - */ -public interface HrmResourceMapper { - - /** - * 获取最大ID - * - * @return - */ - Long getMaxId(); - - Long getMaxShowOrder(); - - - /** - * 根据ID查询姓名 - * - * @param id - * @return - */ - String getLastNameById(@Param("id") Long id); - - /** - * 根据所选关键字段查询ID - * - * @param keyField - * @param keyFieldValue - * @return - */ - Long getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); - - ///** - // * 根据所选关键字段,查询关键列 - // * - // * @param keyField - // * @return - // */ - //List getKeyMapByKetField(@Param("keyField") String keyField); - - String getEcResourceId(@Param("jclResourceId") String jclResourceId); - - Long getJclResourceId(@Param("ecResourceId") String ecResourceId); -} diff --git a/src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.xml deleted file mode 100644 index 6e8b2355..00000000 --- a/src/com/engine/organization/mapper/hrmresource/HrmResourceMapper.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - t - . - id - , t.creator - , t.delete_type - , t.create_time - , t.update_time - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index 1dfe0889..7b331550 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -15,7 +15,7 @@ import java.util.List; **/ public interface ResourceMapper { - List listAll(@Param("ids")List ids); + List listAll(@Param("ids") List ids); List listDetachAll(@Param("ids") List ids, @Param("companyIds") List companyIds); @@ -26,4 +26,20 @@ public interface ResourceMapper { HrmResourcePO getResourceById(@Param("id") String id); List listByNo(@Param("workCode") String workCode); + + Long getMaxShowOrder(); + + /** + * 根据所选关键字段查询ID + * + * @param keyField + * @param keyFieldValue + * @return + */ + Long getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); + + String getEcResourceId(@Param("jclResourceId") String jclResourceId); + + Long getJclResourceId(@Param("ecResourceId") String ecResourceId); + } diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.xml b/src/com/engine/organization/mapper/resource/ResourceMapper.xml index a212a80e..fecb80df 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.xml @@ -128,6 +128,32 @@ order by t.show_order asc; + + + + + + + + AND t.last_name like CONCAT('%',#{param.lastName},'%') diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 0d50d97f..908b92e4 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -16,8 +16,8 @@ import com.engine.organization.entity.personnelcard.po.CardButtonPO; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.extend.*; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.mapper.personnelcard.CardButtonMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.service.ExtService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; @@ -74,7 +74,7 @@ public class ExtServiceImpl extends Service implements ExtService { } List readOnlyFieldList = new ArrayList<>(Arrays.asList(readOnlyFields)); if ("4".equals(extendType) && noEditRight(user)) { - String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); + String ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(String.valueOf(id)); if (Util.null2String(user.getUID()).equals(ecResourceId)) { List readOnlyList = infoPOList.stream().filter(item -> !"1".equals(Util.null2String(item.getIsModify()))).map(ExtendInfoPO::getFieldName).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(readOnlyList)) { @@ -162,7 +162,7 @@ public class ExtServiceImpl extends Service implements ExtService { boolean checkRight = true; if (2 == viewAttr && "4".equals(extendType) && noEditRight(user)) { checkRight = false; - String ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(String.valueOf(id)); + String ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(String.valueOf(id)); if (Util.null2String(user.getUID()).equals(ecResourceId)) { infoPOList.removeIf(item -> !"1".equals(Util.null2String(item.getIsModify()))); } else { diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index fbdc1007..9ed1f2e9 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -18,10 +18,10 @@ import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendGroupMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.mapper.personnelcard.CardAccessMapper; import com.engine.organization.mapper.personnelcard.CardButtonMapper; import com.engine.organization.mapper.personnelcard.PersonnelCardMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.service.HrmPersonnelCardService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; @@ -71,8 +71,8 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel return MapperProxyFactory.getProxy(ExtMapper.class); } - private HrmResourceMapper getHrmResourceMapper() { - return MapperProxyFactory.getProxy(HrmResourceMapper.class); + private ResourceMapper getResourceMapper() { + return MapperProxyFactory.getProxy(ResourceMapper.class); } private CardButtonMapper getCardButtonMapper() { @@ -85,9 +85,9 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel Map resultMap = new HashMap<>(); UserCard userInfo; if (null == uId) { - uId = getHrmResourceMapper().getJclResourceId(Util.null2String(user.getUID())); + uId = getResourceMapper().getJclResourceId(Util.null2String(user.getUID())); } - String ecResourceId = getHrmResourceMapper().getEcResourceId(uId.toString()); + String ecResourceId = getResourceMapper().getEcResourceId(uId.toString()); userInfo = getPersonnelCardMapper().getUserById(uId); userInfo.setEcId(ecResourceId); diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 0ab4686c..5f6fd416 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -36,7 +36,6 @@ import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.post.PostInfoMapper; @@ -158,10 +157,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(JobMapper.class); } - private HrmResourceMapper getHrmResourceMapper() { - return MapperProxyFactory.getProxy(HrmResourceMapper.class); - } - private static ResourceMapper getResourceMapper() { return MapperProxyFactory.getProxy(ResourceMapper.class); } @@ -733,7 +728,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String showOrder = Util.null2String(params.get("show_order")); // 初始化排序字段 if (StringUtils.isBlank(showOrder)) { - Long orderNum = getHrmResourceMapper().getMaxShowOrder(); + Long orderNum = getResourceMapper().getMaxShowOrder(); params.put("show_order", null == orderNum ? 1 : orderNum + 1); } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 98d15b15..a5987bac 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -32,11 +32,11 @@ import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; import com.engine.organization.mapper.job.JobMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.mapper.scheme.SchemeMapper; @@ -1547,7 +1547,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(keyFieldValue); // 判断当前人员是否存在 - Long resourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); + Long resourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); if ("add".equals(operateType)) { if (resourceId != null) { historyDetailPO.setOperateDetail(keyFieldValue + "已存在"); @@ -1580,7 +1580,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String showOrder = Util.null2String(map.get("show_order")); if (StringUtils.isBlank(showOrder)) { - Long maxShowOrder = MapperProxyFactory.getProxy(HrmResourceMapper.class).getMaxShowOrder(); + Long maxShowOrder = MapperProxyFactory.getProxy(ResourceMapper.class).getMaxShowOrder(); if (null == maxShowOrder) { maxShowOrder = 0L; } diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java index 36b3b456..fd3c2307 100644 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -13,8 +13,8 @@ import com.engine.organization.entity.detach.po.ManagerDetachPO; import com.engine.organization.entity.detach.vo.ManagerDetachVO; import com.engine.organization.mapper.detach.ManagerDetachMapper; import com.engine.organization.mapper.employee.EmployeeMapper; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.service.ManagerDetachService; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationFormItemUtil; @@ -46,8 +46,8 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe return MapperProxyFactory.getProxy(ManagerDetachMapper.class); } - public HrmResourceMapper getHrmResourceMapper() { - return MapperProxyFactory.getProxy(HrmResourceMapper.class); + public ResourceMapper getResourceMapper() { + return MapperProxyFactory.getProxy(ResourceMapper.class); } public EmployeeMapper getEmployeeMapper() { @@ -123,7 +123,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() .managerType(0) .ecManager(param.getEcManager()) - .jclManager(getHrmResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) + .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) .ecRolelevel(param.getEcRolelevel()) .jclRolelevel(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel()) != null ? String.valueOf(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel())) : null) .manageModule("组织管理") @@ -141,7 +141,7 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() .id(param.getId()) .ecManager(param.getEcManager()) - .jclManager(getHrmResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) + .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) .ecRolelevel(param.getEcRolelevel()) .jclRolelevel(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel()) != null ? String.valueOf(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel())) : null) .build(); diff --git a/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java b/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java index 0a19fe93..b4e01fbd 100644 --- a/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java +++ b/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java @@ -4,9 +4,9 @@ import com.engine.organization.entity.hrmresource.po.HrmResourcePO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.map.JclOrgMap; import com.engine.organization.entity.personnelcard.UserCard; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.job.JobMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.trigger.CompTriggerMapper; import com.engine.organization.mapper.trigger.HrmResourceTriggerMapper; import com.engine.organization.util.OrganizationDateUtil; @@ -32,8 +32,8 @@ public class HrmResourceTriggerRunnable implements Runnable { private HrmResourceTriggerMapper getHrmResourceTriggerMapper() { return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class); } - private HrmResourceMapper getHrmResourceMapper() { - return MapperProxyFactory.getProxy(HrmResourceMapper.class); + private ResourceMapper getResourceMapper() { + return MapperProxyFactory.getProxy(ResourceMapper.class); } private JclOrgMapper getJclOrgMapper() { return MapperProxyFactory.getProxy(JclOrgMapper.class); @@ -52,7 +52,7 @@ public class HrmResourceTriggerRunnable implements Runnable { JclOrgMap jclMap = new JclOrgMap(); jclMap.setFType(4); // 查询当前人员信息数据 - String ecResourceId = getHrmResourceMapper().getEcResourceId(userId.toString()); + String ecResourceId = getResourceMapper().getEcResourceId(userId.toString()); // EC人员 HrmResource ecHrmResource = getHrmResourceTriggerMapper().getHrmResource(Long.parseLong(ecResourceId)); // 聚才林人员 diff --git a/src/com/engine/organization/util/relation/ResourceSyncUtil.java b/src/com/engine/organization/util/relation/ResourceSyncUtil.java index 274032ff..3b397301 100644 --- a/src/com/engine/organization/util/relation/ResourceSyncUtil.java +++ b/src/com/engine/organization/util/relation/ResourceSyncUtil.java @@ -17,7 +17,7 @@ import com.engine.hrm.util.HrmWeakPasswordUtil; import com.engine.hrm.util.face.HrmFaceCheckManager; import com.engine.hrm.util.face.ValidateFieldManager; import com.engine.hrm.util.face.bean.CheckItemBean; -import com.engine.organization.mapper.hrmresource.HrmResourceMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.util.db.MapperProxyFactory; import com.weaver.general.BaseBean; import ln.LN; @@ -986,7 +986,7 @@ public class ResourceSyncUtil { String jclResourceId = Util.null2String(params.get("id")); String ecResourceId = ""; if(StringUtils.isNotBlank(jclResourceId)){ - ecResourceId = MapperProxyFactory.getProxy(HrmResourceMapper.class).getEcResourceId(jclResourceId); + ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(jclResourceId); } // 更新人员时,初始化人员参数 if(StringUtils.isNotBlank(ecResourceId)){ From 5d2b880ed5550face51ebf562fab1a97e4c4b361 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 22 Nov 2022 09:41:11 +0800 Subject: [PATCH 027/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=90=8C=E6=AD=A5BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=8C=E5=AF=BC=E5=85=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 281 ++++++------------ .../thread/OrganizationSyncEc.java | 58 +++- .../util/relation/ResourceSyncUtil.java | 45 +-- .../util/saveimport/OrgImportUtil.java | 13 +- 4 files changed, 165 insertions(+), 232 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index a5987bac..2770d96b 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -1,23 +1,18 @@ package com.engine.organization.service.impl; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; -import com.engine.hrm.entity.FieldSelectOptionBean; import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.SelectOptionParam; import com.engine.organization.entity.commom.RecordInfo; import com.engine.organization.entity.extend.ExtendInfoOperateType; import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.fieldset.param.FieldTransferParam; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; -import com.engine.organization.entity.jclimport.po.JclImportHistoryPO; import com.engine.organization.entity.jclimport.vo.JclImportHistoryDetailVO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.scheme.po.GradePO; @@ -34,7 +29,6 @@ import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; -import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; @@ -47,6 +41,7 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.excel.ExcelUtil; import com.engine.organization.util.relation.EcHrmRelationUtil; +import com.engine.organization.util.saveimport.OrgImportUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFDateUtil; @@ -54,19 +49,16 @@ import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import weaver.common.DateUtil; import weaver.file.ImageFileManager; import weaver.general.BaseBean; import weaver.general.GCONST; import weaver.general.Util; -import weaver.hrm.definedfield.HrmFieldManager; import weaver.systeminfo.SystemEnv; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; -import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -662,7 +654,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ * 导入分部 */ private Long companyImport(String operateType, String excelFile) { - Long importHistoryId = saveImportLog("company", operateType); + Long importHistoryId = OrgImportUtil.saveImportLog("company", operateType, user); JclImportHistoryDetailPO historyDetailPO; ImageFileManager manager = new ImageFileManager(); @@ -714,23 +706,23 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"comp_no".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } Object reallyValue; try { - reallyValue = getReallyValue(infoPO, cellValue); + reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); } catch (Exception e) { historyDetailPO.setOperateDetail(cellValue + "转换失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue))) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } map.put(infoPO.getFieldName(), reallyValue); @@ -741,7 +733,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("分部层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (int index = 0; index < split.length - 1; index++) { @@ -749,7 +741,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(split[index] + "分部未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -780,7 +772,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (companyId != null) { historyDetailPO.setOperateDetail("数据已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } // 自动编号 @@ -789,7 +781,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } catch (OrganizationRunTimeException e) { historyDetailPO.setOperateDetail(e.getMessage()); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } map.put("comp_no", compNo); @@ -825,14 +817,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else if ("update".equals(operateType)) { // 查询对应ID if (StringUtils.isNotBlank(compNo)) { if (companyId == null) { historyDetailPO.setOperateDetail("未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } if (checkRepeatNo(compNo, COMPANY_TYPE, companyId)) { @@ -850,16 +842,16 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else { historyDetailPO.setOperateDetail(compNo + "编号已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } else { historyDetailPO.setOperateDetail("编号为空,更新失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } } @@ -870,7 +862,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ * 导入部门 */ private Long departmentImport(String operateType, String excelFile) { - Long importHistoryId = saveImportLog("department", operateType); + Long importHistoryId = OrgImportUtil.saveImportLog("department", operateType, user); JclImportHistoryDetailPO historyDetailPO; ImageFileManager manager = new ImageFileManager(); @@ -923,23 +915,23 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"dept_no".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } Object reallyValue; try { - reallyValue = getReallyValue(infoPO, cellValue); + reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); } catch (Exception e) { historyDetailPO.setOperateDetail(cellValue + "转换失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } map.put(infoPO.getFieldName(), reallyValue); @@ -950,7 +942,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("分部层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (String s : split) { @@ -958,7 +950,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -969,7 +961,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } historyDetailPO.setRelatedName(cellValue); @@ -978,7 +970,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("部门层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (int index = 0; index < split.length - 1; index++) { @@ -986,7 +978,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentDepartmentId) { historyDetailPO.setOperateDetail(split[index] + "部门未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1018,7 +1010,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (departmentId != null) { historyDetailPO.setOperateDetail("数据已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } // 自动编号 @@ -1027,7 +1019,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } catch (OrganizationRunTimeException e) { historyDetailPO.setOperateDetail(e.getMessage()); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } map.put("dept_no", deptNo); @@ -1063,14 +1055,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else if ("update".equals(operateType)) { // 查询对应ID if (StringUtils.isNotBlank(deptNo)) { if (departmentId == null) { historyDetailPO.setOperateDetail("未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } if (checkRepeatNo(deptNo, DEPARTMENT_TYPE, departmentId)) { @@ -1088,16 +1080,16 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else { historyDetailPO.setOperateDetail(deptNo + "编号已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } else { historyDetailPO.setOperateDetail("编号为空,更新失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } } @@ -1108,7 +1100,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ * 岗位导入 */ private Long jobImport(String operateType, String excelFile) { - Long importHistoryId = saveImportLog("jobtitle", operateType); + Long importHistoryId = OrgImportUtil.saveImportLog("jobtitle", operateType, user); JclImportHistoryDetailPO historyDetailPO; ImageFileManager manager = new ImageFileManager(); @@ -1161,23 +1153,23 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"job_no".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } Object reallyValue; try { - reallyValue = getReallyValue(infoPO, cellValue); + reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); } catch (Exception e) { historyDetailPO.setOperateDetail(cellValue + "转换失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } map.put(infoPO.getFieldName(), reallyValue); @@ -1188,7 +1180,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("分部层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (String s : split) { @@ -1196,7 +1188,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1210,7 +1202,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("部门层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (String s : split) { @@ -1218,7 +1210,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentDepartmentId) { historyDetailPO.setOperateDetail(cellValue + "部门未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1229,7 +1221,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } historyDetailPO.setRelatedName(cellValue); @@ -1238,7 +1230,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("岗位层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (int index = 0; index < split.length - 1; index++) { @@ -1246,7 +1238,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentJobId) { historyDetailPO.setOperateDetail(split[index] + "岗位未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1274,7 +1266,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (jobId != null) { historyDetailPO.setOperateDetail("数据已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } // 自动编号 @@ -1283,7 +1275,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } catch (OrganizationRunTimeException e) { historyDetailPO.setOperateDetail(e.getMessage()); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } map.put("job_no", jobNo); @@ -1323,14 +1315,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else if ("update".equals(operateType)) { // 查询对应ID if (StringUtils.isNotBlank(jobNo)) { if (jobId == null) { historyDetailPO.setOperateDetail("未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } if (checkRepeatNo(jobNo, JOB_TYPE, jobId)) { @@ -1356,16 +1348,16 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else { historyDetailPO.setOperateDetail(jobNo + "编号已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } else { historyDetailPO.setOperateDetail("编号为空,更新失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } } @@ -1373,7 +1365,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } private Long hrmResourceImport(String operateType, String excelFile, String keyField) { - Long importHistoryId = saveImportLog("resource", operateType); + Long importHistoryId = OrgImportUtil.saveImportLog("resource", operateType, user); JclImportHistoryDetailPO historyDetailPO; ImageFileManager manager = new ImageFileManager(); @@ -1425,23 +1417,23 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"work_code".equalsIgnoreCase(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } Object reallyValue; try { - reallyValue = getReallyValue(infoPO, cellValue); + reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); } catch (Exception e) { historyDetailPO.setOperateDetail(cellValue + "转换失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName()) && !"job_title".equals(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } map.put(infoPO.getFieldName(), reallyValue); @@ -1452,7 +1444,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("分部层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (String s : split) { @@ -1460,7 +1452,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1474,7 +1466,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("部门层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (String s : split) { @@ -1482,7 +1474,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentDepartmentId) { historyDetailPO.setOperateDetail(cellValue + "部门未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1493,7 +1485,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } String[] split = cellValue.split(">"); @@ -1501,7 +1493,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (split.length > 8) { historyDetailPO.setOperateDetail("岗位层级不能大于10"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } for (String s : split) { @@ -1509,7 +1501,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null == parentJobId) { historyDetailPO.setOperateDetail(s + "岗位未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1541,7 +1533,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (StringUtils.isBlank(keyFieldValue)) { historyDetailPO.setOperateDetail("所选重复验证字段为空"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } historyDetailPO.setRelatedName(keyFieldValue); @@ -1552,7 +1544,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (resourceId != null) { historyDetailPO.setOperateDetail(keyFieldValue + "已存在"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } @@ -1565,14 +1557,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } catch (OrganizationRunTimeException e) { historyDetailPO.setOperateDetail(e.getMessage()); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } map.put("work_code", workCode); } catch (Exception e) { historyDetailPO.setOperateDetail(Util.null2String(e.getMessage())); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } map.put("creator", user.getUID()); map.put("delete_type", 0); @@ -1603,13 +1595,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else if ("update".equals(operateType)) { // 查询对应ID if (resourceId == null) { historyDetailPO.setOperateDetail("未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } map.put("update_time", new Date()); @@ -1627,7 +1619,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); historyDetailPO.setStatus("0"); } - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } return importHistoryId; @@ -1638,7 +1630,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ */ private Long jobLevelImport(String operateType, String excelFile) { - Long importHistoryId = saveImportLog("joblevel", operateType); + Long importHistoryId = OrgImportUtil.saveImportLog("joblevel", operateType, user); JclImportHistoryDetailPO historyDetailPO; ImageFileManager manager = new ImageFileManager(); @@ -1704,25 +1696,25 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } Object reallyValue; try { // 数据格式转换 - reallyValue = getReallyValue(infoPO, cellValue); + reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); } catch (Exception e) { historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail(cellValue + "转换失败"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) { historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } map.put(infoPO.getFieldName(), reallyValue); @@ -1733,7 +1725,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("方案编号[" + reallyValue + "]与原有编号重复"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1744,7 +1736,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1755,7 +1747,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + reallyValue + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1769,7 +1761,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } @@ -1814,7 +1806,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName("职等编号"); historyDetailPO.setOperateDetail("职等页导入:同一方案" + schemeNo + "下,职等编号不可重复"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } else { levelPO.setLevelNo(levelNo); @@ -1834,7 +1826,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } break; @@ -1848,7 +1840,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } @@ -1872,7 +1864,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (levelIds != null) { @@ -1887,7 +1879,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("同一方案[" + schemeNo2 + "]下,职级编号不可重复"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } else { // 关联职等id @@ -1900,7 +1892,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } historyDetailPO.setOperateDetail("添加成功"); historyDetailPO.setStatus("1"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } else if ("update".equals(operateType)) { switch (s) { case 0: @@ -1914,7 +1906,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + map.get("scheme_no") + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } break; @@ -1935,14 +1927,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } } else { historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案,无法更新"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } break; @@ -1954,7 +1946,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的方案"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } // 处理职级编号 @@ -1967,7 +1959,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (levelIds != null) { @@ -1990,7 +1982,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号[" + schemeNo2 + "]的职级,无法更新"); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } @@ -2000,7 +1992,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } historyDetailPO.setOperateDetail("更新成功"); historyDetailPO.setStatus("1"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); } } @@ -2039,68 +2031,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ cellValue = Util.toHtmlForHrm(cellValue); return cellValue; } - - /** - * 转换存入数据库的值 - */ - private Object getReallyValue(ExtendInfoPO extendInfo, String cellValue) throws Exception { - if (StringUtils.isBlank(cellValue)) { - return null; - } - Object object = null; - JSONArray jsonArray = JSONObject.parseArray(extendInfo.getCustomValue()); - switch (extendInfo.getControlType()) { - case 1: - String valueType = (String) jsonArray.get(1); - // INPUT - if ("int".equals(valueType)) { - object = Integer.parseInt(cellValue); - } else if ("float".equals(valueType)) { - object = Float.parseFloat(cellValue); - } else if ("text".equals(valueType)) { - object = cellValue; - } else { - try { - object = new BigDecimal(cellValue).toPlainString(); - } catch (NumberFormatException ignore) { - object = cellValue; - } - } - break; - case 3: - // BROWSER - org.json.JSONObject jsonObject = new org.json.JSONObject(); - jsonObject.put("fieldhtmltype", extendInfo.getControlType()); - jsonObject.put("type", extendInfo.getBrowserType()); - jsonObject.put("fieldvalue", cellValue); - if ("161".equals(extendInfo.getBrowserType()) || "162".equals(extendInfo.getBrowserType())) { - jsonObject.put("dmlurl", SelectOptionParam.getCustomBrowserId(extendInfo.getCustomValue())); - } else { - jsonObject.put("dmlurl", extendInfo.getBrowserType()); - } - jsonObject.put("fieldid", 0); - object = HrmFieldManager.getReallyFieldvalue(jsonObject); - break; - case 5: - // SELECT - JSONObject o = (JSONObject) jsonArray.get(2); - JSONArray datas = o.getJSONArray("datas"); - List options = datas.toJavaList(FieldSelectOptionBean.class); - Map optionMap = options.stream().collect(Collectors.toMap(FieldSelectOptionBean::getOption, FieldSelectOptionBean::getId, (k1, k2) -> k1)); - object = optionMap.get(cellValue); - break; - case 6: - // FILEUPLOAD - break; - case 4:// CHECKBOX - case 7:// TEXT - case 2:// TEXTAREA - default: - object = cellValue; - break; - } - return object; - } + /** * 校验重复编号 @@ -2124,28 +2055,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return false; } - /** - * 生成记录日志 - */ - private Long saveImportLog(String importType, String operateType) { - JclImportHistoryPO historyPO = JclImportHistoryPO.builder().operator((long) user.getUID()).operateTime(DateUtil.getFullDate()).clientAddress(user.getLoginip()).importType(importType).sourceFrom("excel").operateType(operateType).status("importing").build(); - MapperProxyFactory.getProxy(JclImportHistoryMapper.class).insertHistory(historyPO); - return historyPO.getId(); - } - - /** - * 日志导入详细信息日志 - */ - private void saveImportDetailLog(JclImportHistoryDetailPO historyDetailPO) { - String relatedName = ""; - if (StringUtils.isNotBlank(historyDetailPO.getRelatedName())) { - relatedName = "[" + historyDetailPO.getRelatedName() + "]"; - } - String detailMsg = "导入第" + historyDetailPO.getRowNums() + "行数据," + relatedName + historyDetailPO.getOperateDetail(); - historyDetailPO.setOperateDetail(detailMsg); - MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(historyDetailPO); - } - /** * 生成导入模板文件 */ @@ -2273,7 +2182,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (StringUtils.isNotBlank(operateDetail)) { historyDetailPO.setOperateDetail(operateDetail); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); return true; } return false; @@ -2301,7 +2210,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (StringUtils.isNotBlank(operateDetail)) { historyDetailPO.setOperateDetail(operateDetail); historyDetailPO.setStatus("0"); - saveImportDetailLog(historyDetailPO); + OrgImportUtil.saveImportDetailLog(historyDetailPO); return true; } return false; diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 36636eeb..ff309262 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -19,6 +19,7 @@ import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.relation.ResourceSyncUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -155,7 +156,7 @@ public class OrganizationSyncEc { } } - private void refreshResource(){ + private void refreshResource() { switch (operateType) { case ADD: addResource(); @@ -225,7 +226,7 @@ public class OrganizationSyncEc { String oldName = oldJobPO.getJobName(); String newName = Util.null2String(params.get("job_name")); - if(newName.equals(oldName)){ + if (newName.equals(oldName)) { this.resultMap = new HashMap<>(); this.resultMap.put("sign", "1"); return; @@ -420,8 +421,7 @@ public class OrganizationSyncEc { */ private void updateDepartment() { Map map = new HashMap<>(); - // 获取ec表ID - map.put("id", EcHrmRelationUtil.getEcDepartmentId(Util.null2String(params.get("id")))); + buildEcDepartmentData(map); map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); map.put("departmentname", Util.null2String(params.get("dept_name"))); @@ -468,8 +468,8 @@ public class OrganizationSyncEc { private void updateCompany() { Map map = new HashMap<>(); // 获取ec表ID - map.put("id", EcHrmRelationUtil.getEcCompanyId(Util.null2String(params.get("id")))); - + params.put("id", EcHrmRelationUtil.getEcCompanyId(Util.null2String(params.get("id")))); + buildEcCompanyData(map); // 上级分部通过UUID联查ec表ID String parentCompany = Util.null2String(params.get("parent_company")); if (StringUtils.isNotBlank(parentCompany)) { @@ -519,4 +519,50 @@ public class OrganizationSyncEc { this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyCancel(map, user); } } + + private void buildEcCompanyData(Map map) { + String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(params.get("id"))); + + map.put("id", ecCompanyId); + RecordSet rs = new RecordSet(); + // 先查拓展表 + rs.execute("select * from hrmsubcompanydefined where subcomid = '" + ecCompanyId + "'"); + int colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + // 再查主表 + rs.execute("select * from hrmsubcompany where id = '" + ecCompanyId + "'"); + colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + } + + private void buildEcDepartmentData(Map map) { + String ecDepartment = EcHrmRelationUtil.getEcDepartmentId(Util.null2String(params.get("id"))); + + map.put("id", ecDepartment); + RecordSet rs = new RecordSet(); + // 先查拓展表 + rs.execute("select * from hrmdepartmentdefined where deptid = '" + ecDepartment + "'"); + int colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + // 再查主表 + rs.execute("select * from hrmdepartment where id = '" + ecDepartment + "'"); + colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + } } diff --git a/src/com/engine/organization/util/relation/ResourceSyncUtil.java b/src/com/engine/organization/util/relation/ResourceSyncUtil.java index 3b397301..d5dbb6cb 100644 --- a/src/com/engine/organization/util/relation/ResourceSyncUtil.java +++ b/src/com/engine/organization/util/relation/ResourceSyncUtil.java @@ -989,47 +989,14 @@ public class ResourceSyncUtil { ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(jclResourceId); } // 更新人员时,初始化人员参数 - if(StringUtils.isNotBlank(ecResourceId)){ + if (StringUtils.isNotBlank(ecResourceId)) { RecordSet rs = new RecordSet(); rs.execute("select * from hrmresource where id = '" + ecResourceId + "'"); - if(rs.next()){ - convertParams.put("id",rs.getString("id")); - convertParams.put("loginid",rs.getString("loginid")); - convertParams.put("accounttype",rs.getString("accounttype")); - convertParams.put("password",rs.getString("password")); - convertParams.put("seclevel",rs.getString("seclevel")); - convertParams.put("workstartdate",rs.getString("workstartdate")); - convertParams.put("companystartdate",rs.getString("companystartdate")); - convertParams.put("dsporder",rs.getString("dsporder")); - convertParams.put("workcode",rs.getString("workcode")); - convertParams.put("lastname",rs.getString("lastname")); - convertParams.put("sex",rs.getString("sex")); - convertParams.put("resourceimageid",rs.getString("resourceimageid")); - convertParams.put("joblevel",rs.getString("joblevel")); - convertParams.put("jobactivitydesc",rs.getString("jobactivitydesc")); - convertParams.put("managerid",rs.getString("managerid")); - convertParams.put("assistantid",rs.getString("assistantid")); - convertParams.put("status",rs.getString("status")); - convertParams.put("locationid",rs.getString("locationid")); - convertParams.put("workroom",rs.getString("workroom")); - convertParams.put("telephone",rs.getString("telephone")); - convertParams.put("mobile",rs.getString("mobile")); - convertParams.put("mobilecall",rs.getString("mobilecall")); - convertParams.put("fax",rs.getString("fax")); - convertParams.put("jobcall",rs.getString("jobcall")); - convertParams.put("email",rs.getString("email")); - convertParams.put("systemlanguage",rs.getString("systemlanguage")); - convertParams.put("belongto",rs.getString("belongto")); - - convertParams.put("mobileshowtype",rs.getString("mobileshowtype")); - convertParams.put("costcenterid",rs.getString("costcenterid")); - convertParams.put("cmd",rs.getString("cmd")); - convertParams.put("rcId",rs.getString("rcId")); - convertParams.put("departmentvirtualids",rs.getString("departmentvirtualids")); - // 更新EC人员用到参数 - convertParams.put("editcontact",rs.getString("editcontact")); - convertParams.put("resourceimageBase64",rs.getString("resourceimageBase64")); - convertParams.put("oldresourceimage",rs.getString("oldresourceimage")); + int colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + convertParams.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } } } diff --git a/src/com/engine/organization/util/saveimport/OrgImportUtil.java b/src/com/engine/organization/util/saveimport/OrgImportUtil.java index 07879d32..a5b7a346 100644 --- a/src/com/engine/organization/util/saveimport/OrgImportUtil.java +++ b/src/com/engine/organization/util/saveimport/OrgImportUtil.java @@ -9,8 +9,10 @@ import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryPO; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; +import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.validator.GenericValidator; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.xssf.usermodel.XSSFCell; import weaver.common.DateUtil; @@ -18,6 +20,7 @@ import weaver.general.Util; import weaver.hrm.User; import weaver.hrm.definedfield.HrmFieldManager; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.List; import java.util.Map; @@ -77,7 +80,11 @@ public class OrgImportUtil { } else if ("float".equals(valueType)) { object = Float.parseFloat(cellValue); } else { - object = cellValue; + try { + object = new BigDecimal(cellValue).toPlainString(); + } catch (NumberFormatException ignore) { + object = cellValue; + } } break; case 3: @@ -93,6 +100,10 @@ public class OrgImportUtil { } jsonObject.put("fieldid", 0); object = HrmFieldManager.getReallyFieldvalue(jsonObject); + // 如果是日期,校验日期的合法性 + if ("2".equals(extendInfo.getBrowserType())) { + OrganizationAssert.isTrue(GenericValidator.isDate(Util.null2String(object), "yyyy-MM-dd", true), Util.null2String(object) + "日期转换失败"); + } break; case 5: // SELECT From f7758e5298f6707e21894681059833712366a37e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 23 Nov 2022 09:34:06 +0800 Subject: [PATCH 028/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/ResourceMapper.java | 2 +- .../service/impl/ImportCommonServiceImpl.java | 62 +++++++++++-------- .../thread/OrganizationSyncEc.java | 2 +- 3 files changed, 39 insertions(+), 27 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index 7b331550..0a3ce993 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -36,7 +36,7 @@ public interface ResourceMapper { * @param keyFieldValue * @return */ - Long getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); + List getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); String getEcResourceId(@Param("jclResourceId") String jclResourceId); diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 2770d96b..f2ab24a5 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -245,28 +245,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("pId", jobImport(operateType, excelFile)); break; case "resource": - //Long importHistoryId = saveImportLog("resource", operateType); - //HrmImportAdaptExcelE9 importAdapt = new HrmImportAdaptExcelE9(); - //FileUploadToPath fu = new FileUploadToPath(request); - // - //List errorInfo = importAdapt.creatImportMap(fu); - // - ////如果读取数据和验证模板没有发生错误 - //if (errorInfo.isEmpty()) { - // Map hrMap = importAdapt.getHrmImportMap(); - // - // HrmImportProcessE9 importProcess = new HrmImportProcessE9(); - // importProcess.init(request, importHistoryId); - // - // - // importProcess.processMap(hrMap); - //} else { - // for (String s : errorInfo) { - // MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(JclImportHistoryDetailPO.builder().pid(importHistoryId).operateDetail(Util.null2String(s)).status("0").build()); - // } - //} - //returnMap.put("pId", importHistoryId); - returnMap.put("pId", hrmResourceImport(operateType, excelFile, keyField)); break; case "joblevel": @@ -1537,9 +1515,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } historyDetailPO.setRelatedName(keyFieldValue); - // 判断当前人员是否存在 - Long resourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); + boolean hasSameKeyFieldValue = hasSameKeyFieldValue(historyDetailPO, keyField, keyFieldValue); + ; + if (hasSameKeyFieldValue) { + continue; + } + + Long resourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue).get(0); if ("add".equals(operateType)) { if (resourceId != null) { historyDetailPO.setOperateDetail(keyFieldValue + "已存在"); @@ -2031,7 +2014,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ cellValue = Util.toHtmlForHrm(cellValue); return cellValue; } - + /** * 校验重复编号 @@ -2215,4 +2198,33 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } return false; } + + /** + * 判断所选关键字段是否查出多条数据 + * + * @param historyDetailPO + * @param keyField + * @param keyFieldValue + * @return + */ + private boolean hasSameKeyFieldValue(JclImportHistoryDetailPO historyDetailPO, String keyField, String keyFieldValue) { + String operateDetail = ""; + if (StringUtils.isBlank(keyFieldValue)) { + return false; + } + List resourceIds = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); + if (CollectionUtils.isEmpty(resourceIds)) { + operateDetail = "[" + keyFieldValue + "]未找到对应人员"; + } + if (resourceIds.size() > 1) { + operateDetail = "[" + keyFieldValue + "]查询到多个人员,请确认"; + } + if (StringUtils.isNotBlank(operateDetail)) { + historyDetailPO.setOperateDetail(operateDetail); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + return true; + } + return false; + } } diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index ff309262..54f587f8 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -557,7 +557,7 @@ public class OrganizationSyncEc { } } // 再查主表 - rs.execute("select * from hrmdepartment where id = '" + ecDepartment + "'"); + rs.execute("select id,departmentmark,departmentname,subcompanyid1,supdepid,allsupdepid,canceled,departmentcode,coadjutant,outkey,budgetatuomoveorder,ecology_pinyin_search,tlevel,created,creater,modified,modifier,uuid,showorder,showorderoftree,tenant_key from hrmdepartment where id = '" + ecDepartment + "'"); colcount = rs.getColCounts(); if (rs.next()) { for (int i = 1; i <= colcount; i++) { From 682a98764d901c0bcbdce63b6138948e6f2b2e50 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 23 Nov 2022 15:43:32 +0800 Subject: [PATCH 029/203] =?UTF-8?q?v1.0=E7=89=88=E6=9C=AC=E5=B0=81?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index b50051f8..2ae76c1a 100644 --- a/README.md +++ b/README.md @@ -3,35 +3,16 @@ #### 介绍 聚才林组织模块代码 -#### 软件架构 -软件架构说明 +#### 版本1.0 已封版 +该版本组织分为2套数据 采用单向同步的方式 -#### 安装教程 +#### 功能介绍 -1. xxxx -2. xxxx -3. xxxx +组织架构图 +组织分权 +人员卡片等自定义功能 -#### 使用说明 -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +#### 迭代计划 +由于当前版本两套数据不好管理 下版计划将数据源统一换成ecology数据源 \ No newline at end of file From 416471a283a1121313b41cefc53a87307c08c9ee Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 24 Nov 2022 17:56:32 +0800 Subject: [PATCH 030/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9E=E3=80=81=E5=88=A0=E9=99=A4=E3=80=81?= =?UTF-8?q?=E8=BD=AC=E7=A7=BB=E5=8A=9F=E8=83=BD=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/company/bo/CompanyBO.java | 130 +++++++ .../entity/company/dto/CompanyListDTO.java | 77 +++++ .../entity/company/param/CompanyParam.java | 32 ++ .../entity/company/po/CompanyPO.java | 37 ++ .../mapper/comp/CompanyMapper.java | 41 +++ .../mapper/comp/CompanyMapper.xml | 130 +++++++ .../organization/service/CompService.java | 13 +- .../service/impl/CompServiceImpl.java | 320 +++++++++++------- .../thread/OrganizationSyncEc.java | 27 +- .../organization/util/PageInfoSortUtil.java | 4 +- .../organization/web/CompController.java | 42 ++- .../organization/wrapper/CompWrapper.java | 40 +-- 12 files changed, 697 insertions(+), 196 deletions(-) create mode 100644 src/com/engine/organization/entity/company/bo/CompanyBO.java create mode 100644 src/com/engine/organization/entity/company/dto/CompanyListDTO.java create mode 100644 src/com/engine/organization/entity/company/param/CompanyParam.java create mode 100644 src/com/engine/organization/entity/company/po/CompanyPO.java create mode 100644 src/com/engine/organization/mapper/comp/CompanyMapper.java create mode 100644 src/com/engine/organization/mapper/comp/CompanyMapper.xml diff --git a/src/com/engine/organization/entity/company/bo/CompanyBO.java b/src/com/engine/organization/entity/company/bo/CompanyBO.java new file mode 100644 index 00000000..c0b14f8b --- /dev/null +++ b/src/com/engine/organization/entity/company/bo/CompanyBO.java @@ -0,0 +1,130 @@ +package com.engine.organization.entity.company.bo; + +import com.engine.organization.entity.company.dto.CompanyListDTO; +import com.engine.organization.entity.company.param.CompanyParam; +import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections.CollectionUtils; +import weaver.general.Util; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2022/11/24 + * @version: 1.0 + */ +public class CompanyBO { + + private static CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); + } + + /** + * 搜索条件转换实体对象 + * + * @param param + * @param userId + * @return + */ + public static CompanyPO convertParamToPO(CompanyParam param, Integer userId) { + if (null == param) { + return null; + } + return CompanyPO + .builder() + .id(param.getId() == null ? 0 : param.getId()) + .subCompanyName(param.getSubCompanyName()) + .subCompanyDesc(param.getSubCompanyDesc()) + // 所属集团默认为1 + .companyId(null == param.getCompanyId() ? 1 : param.getCompanyId()) + .supSubComId(param.getSupSubComId()) + .url(param.getUrl()) + .canceled(param.getCanceled() == null ? null : param.getCanceled() ? 0 : 1) + .subCompanyCode(param.getSubCompanyCode()) + .outKey(param.getOutKey()) + .limitUsers(null == param.getLimitUsers() ? 0 : param.getLimitUsers()) + .uuid(param.getUuid()) + .showOrder(param.getShowOrder()) + .showOrderOfTree(param.getShowOrderOfTree()) + .created(new Date()) + .creater(userId) + .modified(new Date()) + .modifier(userId) + .build(); + } + + public static List buildCompDTOList(Collection list, List filterList) { + // 搜索结果为空,直接返回空 + if (CollectionUtils.isEmpty(filterList)) { + return Collections.emptyList(); + } + // 递归添加父级数据 + Map poMaps = list.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item)); + List addedList = new ArrayList<>(); + for (CompanyPO po : filterList) { + dealParentData(addedList, po, poMaps); + } + + return buildCompDTOList(addedList); + } + + public static List buildCompDTOList(List list) { + + Map poMaps = list.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item)); + + List dtoList = list.stream().map(e -> + CompanyListDTO + .builder() + .id(e.getId()) + .subCompanyCode(e.getSubCompanyCode()) + .subCompanyDesc(e.getSubCompanyDesc()) + .subCompanyName(e.getSubCompanyName()) + .supSubComId(e.getSupSubComId()) + .supSubComName(null == poMaps.get(e.getSupSubComId()) ? "" : poMaps.get(e.getSupSubComId()).getSubCompanyName()) + .showOrder(e.getShowOrder()) + .canceled(null == e.getCanceled() ? 0 : e.getCanceled()) + .build()).collect(Collectors.toList()); + Map> collects = dtoList.stream().filter(item -> 0 != item.getSupSubComId()).collect(Collectors.groupingBy(CompanyListDTO::getSupSubComId)); + // 处理被引用数据 + List usedIds = getCompanyMapper().listUsedId(); + // 兼容MySQL + usedIds.addAll(getCompanyMapper().listUsedIds()); + List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList()); + Set leafs = new HashSet<>(); + List collectTree = dtoList.stream().peek(e -> { + List childList = collects.get(e.getId()); + leafs.add(e.getId()); + if (CollectionUtils.isNotEmpty(childList)) { + e.setChildren(childList); + e.setIsUsed(1); + } else { + if (collect.contains(Util.null2String(e.getId()))) { + e.setIsUsed(1); + } else { + e.setIsUsed(0); + } + } + }).collect(Collectors.toList()); + return collectTree.stream().filter(item -> !leafs.contains(item.getSupSubComId())).collect(Collectors.toList()); + } + + /** + * 递归获取查询后数据的父级数据 + * + * @param addedList + * @param po + * @param poMaps + */ + private static void dealParentData(List addedList, CompanyPO po, Map poMaps) { + if (!addedList.contains(po)) { + addedList.add(po); + } + CompanyPO parentCompPO = poMaps.get(po.getSupSubComId()); + if (null != parentCompPO) { + dealParentData(addedList, parentCompPO, poMaps); + } + } +} diff --git a/src/com/engine/organization/entity/company/dto/CompanyListDTO.java b/src/com/engine/organization/entity/company/dto/CompanyListDTO.java new file mode 100644 index 00000000..3b634598 --- /dev/null +++ b/src/com/engine/organization/entity/company/dto/CompanyListDTO.java @@ -0,0 +1,77 @@ +package com.engine.organization.entity.company.dto; + +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.TableTitle; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2022/11/24 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "dcfd9d27-6ba2-11ed-996a-00ffcbed7508") +public class CompanyListDTO { + /** + * 主键id + */ + private Integer id; + /** + * 是否被引用 + */ + private Integer isUsed; + /** + * 名称 + */ + @TableTitle(title = "名称", dataIndex = "subCompanyDesc", key = "subCompanyDesc") + private String subCompanyDesc; + + /** + * 编号 + */ + @TableTitle(title = "编号", dataIndex = "subCompanyCode", key = "subCompanyCode") + private String subCompanyCode; + + /** + * 简称 + */ + @TableTitle(title = "简称", dataIndex = "subCompanyName", key = "subCompanyName") + private String subCompanyName; + + /** + * 上级公司 + */ + @TableTitle(title = "上级分部", dataIndex = "supSubComName", key = "supSubComName") + private String supSubComName; + + private Integer supSubComId; + + + @TableTitle(title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true) + private Integer showOrder; + + /** + * 禁用标记 + */ + @TableTitle(title = "是否启用", dataIndex = "canceled", key = "canceled") + private Integer canceled; + + /** + * 操作列 + */ + @TableTitle(title = "", dataIndex = "operate", key = "operate") + private String operate; + + /** + * 子节点 + */ + private List children; +} diff --git a/src/com/engine/organization/entity/company/param/CompanyParam.java b/src/com/engine/organization/entity/company/param/CompanyParam.java new file mode 100644 index 00000000..a720477f --- /dev/null +++ b/src/com/engine/organization/entity/company/param/CompanyParam.java @@ -0,0 +1,32 @@ +package com.engine.organization.entity.company.param; + +import com.engine.organization.common.BaseQueryParam; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/11/24 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CompanyParam extends BaseQueryParam { + private Integer Id; + private String subCompanyName; + private String subCompanyDesc; + private Integer companyId; + private Integer supSubComId; + private String url; + private Boolean canceled; + private String subCompanyCode; + private String outKey; + private Integer limitUsers; + private String uuid; + private Integer showOrder; + private Integer showOrderOfTree; +} diff --git a/src/com/engine/organization/entity/company/po/CompanyPO.java b/src/com/engine/organization/entity/company/po/CompanyPO.java new file mode 100644 index 00000000..f95f8fdc --- /dev/null +++ b/src/com/engine/organization/entity/company/po/CompanyPO.java @@ -0,0 +1,37 @@ +package com.engine.organization.entity.company.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author:dxfeng + * @createTime: 2022/11/24 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CompanyPO { + private Integer id; + private String subCompanyName; + private String subCompanyDesc; + private Integer companyId; + private Integer supSubComId; + private String url; + private Integer canceled; + private String subCompanyCode; + private String outKey; + private Integer limitUsers; + private Date created; + private Integer creater; + private Date modified; + private Integer modifier; + private String uuid; + private Integer showOrder; + private Integer showOrderOfTree; +} diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.java b/src/com/engine/organization/mapper/comp/CompanyMapper.java new file mode 100644 index 00000000..c64aa20b --- /dev/null +++ b/src/com/engine/organization/mapper/comp/CompanyMapper.java @@ -0,0 +1,41 @@ +package com.engine.organization.mapper.comp; + +import com.engine.organization.entity.company.po.CompanyPO; +import org.apache.ibatis.annotations.Param; + +import java.util.Collection; +import java.util.List; + +/** + * @description: + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public interface CompanyMapper { + /** + * 列表查询 + * + * @return + */ + List listAll(@Param("orderSql") String orderSql); + + List listByFilter(@Param("CompanyPO") CompanyPO CompanyPO, @Param("orderSql") String orderSql); + + /** + * 查询所有被引用的ID + * + * @return + */ + List listUsedId(); + + List listUsedIds(); + + /** + * 获取子层级数据 + * + * @param ids + * @return + */ + List listChild(@Param("ids") Collection ids); +} diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.xml b/src/com/engine/organization/mapper/comp/CompanyMapper.xml new file mode 100644 index 00000000..0cf3f16e --- /dev/null +++ b/src/com/engine/organization/mapper/comp/CompanyMapper.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + t + . + id + , t.subCompanyName + , t.subCompanyDesc + , t.companyId + , t.supSubComId + , t.url + , t.canceled + , t.subCompanyCode + , t.outKey + , t.limitUsers + , t.uuid + , t.showOrder + , t.showOrderOfTree + + + + + + + + + + + + + + + and t.subCompanyCode like CONCAT('%',#{CompanyPO.subCompanyCode},'%') + + + and t.subCompanyDesc like CONCAT('%',#{CompanyPO.subCompanyDesc},'%') + + + and t.subCompanyName like CONCAT('%',#{CompanyPO.subCompanyName},'%') + + + + + + and t.subCompanyCode like '%'||#{CompanyPO.subCompanyCode}||'%' + + + and t.subCompanyDesc like '%'||#{CompanyPO.subCompanyDesc}||'%' + + + and t.subCompanyName like '%'||#{CompanyPO.subCompanyName}||'%' + + + + + + and t.subCompanyCode like '%'+#{CompanyPO.subCompanyCode}+'%' + + + and t.subCompanyDesc like '%'+#{CompanyPO.subCompanyDesc}+'%' + + + and t.subCompanyName like '%'+#{CompanyPO.subCompanyName}+'%' + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/CompService.java b/src/com/engine/organization/service/CompService.java index fede7178..c353e9b6 100644 --- a/src/com/engine/organization/service/CompService.java +++ b/src/com/engine/organization/service/CompService.java @@ -2,10 +2,10 @@ package com.engine.organization.service; import com.api.browser.bean.SearchConditionGroup; import com.engine.organization.entity.company.param.CompSearchParam; +import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.util.MenuBtn; -import java.util.Collection; import java.util.List; import java.util.Map; @@ -23,7 +23,7 @@ public interface CompService { * @param params * @return */ - Map listPage(CompSearchParam params); + Map listPage(CompanyParam params); /** * 保存公司/分部基础信息 @@ -53,17 +53,16 @@ public interface CompService { /** * 根据ID批量删除 * - * @param ids + * @param params */ - int deleteByIds(Collection ids); + Map deleteByIds(Map params); /** * 获取搜索条件 * - * @param params * @return */ - Map getSearchCondition(Map params); + Map getSearchCondition(); /** * 获取列表页面按钮信息 @@ -85,7 +84,7 @@ public interface CompService { * * @return */ - Map getCompSaveForm(); + Map getCompSaveForm(Map params); /** * 转移分部表单 diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 44a91e3a..03a0e128 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -4,28 +4,31 @@ package com.engine.organization.service.impl; import com.alibaba.fastjson.JSONObject; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; -import com.api.browser.bean.SearchConditionOption; +import com.api.hrm.bean.HrmFieldBean; +import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.hrm.entity.RuleCodeType; +import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.codesetting.po.CodeRulePO; -import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.bo.CompBO; +import com.engine.organization.entity.company.bo.CompanyBO; import com.engine.organization.entity.company.dto.CompListDTO; +import com.engine.organization.entity.company.dto.CompanyListDTO; import com.engine.organization.entity.company.param.CompSearchParam; +import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.extend.ExtDTMapper; -import com.engine.organization.mapper.extend.ExtMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.service.CompService; @@ -34,16 +37,19 @@ import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; import com.engine.organization.util.coderule.CodeRuleUtil; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; -import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.User; +import weaver.hrm.company.SubCompanyComInfo; +import weaver.hrm.definedfield.HrmDeptFieldManagerE9; +import weaver.hrm.definedfield.HrmFieldComInfo; +import weaver.hrm.definedfield.HrmFieldGroupComInfo; +import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.stream.Collectors; @@ -84,6 +90,10 @@ public class CompServiceImpl extends Service implements CompService { */ private static final Long GROUP_ID = 1L; + private static CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); + } + private static CompMapper getCompMapper() { return MapperProxyFactory.getProxy(CompMapper.class); } @@ -102,35 +112,37 @@ public class CompServiceImpl extends Service implements CompService { @Override - public Map listPage(CompSearchParam params) { + public Map listPage(CompanyParam params) { Map datas = new HashMap<>(); boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); datas.put("hasRight", hasRight); if (!hasRight) { return datas; } - CompPO compPO = CompBO.convertParamToPO(params, (long) user.getUID()); - boolean filter = isFilter(compPO); - PageInfo pageInfos; + CompanyPO companyPO = CompanyBO.convertParamToPO(params, user.getUID()); + boolean filter = isFilter(companyPO); + PageInfo pageInfos; String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()); - List allList = getCompMapper().list(orderSql); - new DetachUtil(user.getUID()).filterCompanyList(allList); + List allList = getCompanyMapper().listAll(orderSql); + + //TODO new DetachUtil(user.getUID()).filterCompanyList(allList); + // 通过子级遍历父级元素 if (filter) { // 根据条件获取元素 - List filterCompPOs = getCompMapper().listByFilter(compPO, orderSql); - new DetachUtil(user.getUID()).filterCompanyList(filterCompPOs); + List filterCompPOs = getCompanyMapper().listByFilter(companyPO, orderSql); + //TODO new DetachUtil(user.getUID()).filterCompanyList(filterCompPOs); // 添加父级元素 - List compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs); - List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); - pageInfos = new PageInfo<>(subList, CompListDTO.class); + List compListDTOS = CompanyBO.buildCompDTOList(allList, filterCompPOs); + List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); + pageInfos = new PageInfo<>(subList, CompanyListDTO.class); pageInfos.setTotal(compListDTOS.size()); } else { // 组合list - List compListDTOS = CompBO.buildCompDTOList(allList); - List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); - pageInfos = new PageInfo<>(subList, CompListDTO.class); + List compListDTOS = CompanyBO.buildCompDTOList(allList); + List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); + pageInfos = new PageInfo<>(subList, CompanyListDTO.class); pageInfos.setTotal(compListDTOS.size()); } @@ -140,9 +152,7 @@ public class CompServiceImpl extends Service implements CompService { OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompListDTO.class); List columns = pageInfos.getColumns(); List weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); - table.setColumns(weaTableColumn); - WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); @@ -155,29 +165,10 @@ public class CompServiceImpl extends Service implements CompService { @Override public Long saveBaseComp(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - String compNo = (String) params.get("comp_no"); - // 判断是否开启自动编号 - compNo = repeatDetermine(compNo); - params.put("comp_no", compNo); - if (null == params.get("show_order") || StringUtils.isBlank(params.get("show_order").toString())) { - Integer maxShowOrder = getCompMapper().getMaxShowOrder(); - if (null == maxShowOrder) { - maxShowOrder = 0; - } - params.put("show_order", maxShowOrder + 1); - } - // 赋值上级分部 - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - params.put("parent_company", EcHrmRelationUtil.getJclCompanyId(ecCompany).getId()); - } Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.ADD, params).sync(); - String ecCompanyID = Util.null2String(syncMap.get("id")); - OrganizationAssert.isTrue(StringUtils.isNotBlank(ecCompanyID), syncMap.get("message").toString()); - // 查询UUID - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_COMPANY, ecCompanyID); - params.put("uuid", recordInfo.getUuid()); - return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", null); + String companyId = Util.null2String(syncMap.get("id")); + OrganizationAssert.isTrue(StringUtils.isNotBlank(companyId), syncMap.get("message").toString()); + return Long.parseLong(companyId); } @@ -228,56 +219,29 @@ public class CompServiceImpl extends Service implements CompService { } @Override - public int deleteByIds(Collection ids) { + public Map deleteByIds(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); - Map map = new HashMap<>(); - for (Long id : ids) { - map.put("id", id); - new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.CANCELED, map).sync(); - // 删除拓展表、明细表 - MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_compext", id); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_compext_dt1", id, null); - } - return getCompMapper().deleteByIds(ids); + return ServiceUtil.getService(OrganizationServiceImpl.class, user).delSubCompany(params, user); } @Override - public Map getSearchCondition(Map params) { + public Map getSearchCondition() { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); // 编号 - SearchConditionItem compNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "compNo"); + SearchConditionItem subCompanyCodeItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "subCompanyCode"); // 名称 - SearchConditionItem compNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "compName"); + SearchConditionItem subCompanyDescItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "subCompanyDesc"); // 简称 - SearchConditionItem compNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "简称", "compNameShort"); + SearchConditionItem subCompanyNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "简称", "subCompanyName"); // 上级公司 - SearchConditionItem compBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "上级公司", "164", "ecCompany", ""); - // 组织机构代码 - SearchConditionItem orgCodeItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "组织机构代码", "orgCode"); - // 行业 - SearchConditionItem industryItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "行业", "63", "industry", ""); - // 负责人 - SearchConditionItem compPrincipalItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "负责人", "1", "compPrincipal", ""); - // 禁用标记 - List selectOptions = new ArrayList<>(); - SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); - SearchConditionOption disableOption = new SearchConditionOption("false", "禁用"); - selectOptions.add(enableOption); - selectOptions.add(disableOption); - SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "禁用标记", "forbiddenTag"); - - conditionItems.add(compNoItem); - conditionItems.add(compNameItem); - conditionItems.add(compNameShortItem); - conditionItems.add(compBrowserItem); - conditionItems.add(orgCodeItem); - conditionItems.add(industryItem); - conditionItems.add(compPrincipalItem); - conditionItems.add(forbiddenTagItem); + SearchConditionItem supSubComIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "164", "supSubComId", ""); + conditionItems.add(subCompanyCodeItem); + conditionItems.add(subCompanyDescItem); + conditionItems.add(subCompanyNameItem); + conditionItems.add(supSubComIdItem); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); apiDatas.put("conditions", addGroups); return apiDatas; @@ -333,20 +297,145 @@ public class CompServiceImpl extends Service implements CompService { @Override - public Map getCompSaveForm() { + public Map getCompSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - List addGroups = new ArrayList<>(); - List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); - if (CollectionUtils.isNotEmpty(extendTitles)) { - for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_COMP, 2, extendTitle.getId() + "", "comp_no", RuleCodeType.SUBCOMPANY.getValue(), null); - if (CollectionUtils.isNotEmpty(items)) { - addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); + List> grouplist = new ArrayList<>(); + + String id = Util.null2String(params.get("id")); + int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); + + String addType = Util.null2String(params.get("addType")); + SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo(); + String supsubcomid = ""; + if (addType.equals("sibling")) { + supsubcomid = subCompanyComInfo.getSupsubcomid(id); + } else if (addType.equals("child")) { + supsubcomid = id; + } + if (StringUtils.isNotBlank(addType)) { + id = ""; + } + + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); + HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + + + HrmDeptFieldManagerE9 hfm; + try { + hfm = new HrmDeptFieldManagerE9(4); + } catch (Exception e) { + throw new RuntimeException(""); + } + hfm.isReturnDecryptData(true); + hfm.getCustomData(Util.getIntValue(id)); + List lsGroup = hfm.getLsGroup(); + for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + String groupId = (String) lsGroup.get(tmp); + List lsField = hfm.getLsField(groupId); + + boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)).equals("1"); + String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); + List itemList = new ArrayList<>(); + Map groupItem = new HashMap<>(); + groupItem.put("title", SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage())); + groupItem.put("hide", groupHide); + groupItem.put("defaultshow", true); + for (int j = 0; j < lsField.size(); j++) { + String fieldId = (String) lsField.get(j); + String fieldName = HrmFieldComInfo.getFieldname(fieldId); + String isUse = HrmFieldComInfo.getIsused(fieldId); + if (!isUse.equals("1")) { + continue; + } + int tmpViewAttr = viewAttr; + String rules = ""; + String fieldLabel = HrmFieldComInfo.getLabel(fieldId); + String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); + String type = HrmFieldComInfo.getFieldType(fieldId); + String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); + String fieldValue = ""; + if (StringUtils.isNotBlank(addType)) { + } else { + if (HrmFieldComInfo.getIssystem(fieldId).equals("1")) { + fieldValue = hfm.getData(fieldName); + } else { + fieldValue = hfm.getData("hrmsubcompanydefined", fieldName); + } + } + + if (!groupHide && tmpViewAttr == 2 && HrmFieldComInfo.getIsmand(fieldId).equals("1")) { + tmpViewAttr = 3; + if ("1".equals(fieldHtmlType) && "2".equals(type)) { + rules = "required|integer"; + } else { + rules = "required|string"; + } + } + + if ("84".equals(fieldId)) { + if (user.getUID() != 1) + continue; + fieldValue = fieldValue.equals("0") ? "" : fieldValue; + } + if (supsubcomid.length() > 0 && fieldName.equals("supsubcomid")) { + fieldValue = supsubcomid; + } + + if (fieldName.equals("subshowid")) { + if (StringUtils.isNotBlank(addType)) { + continue; + } else { + fieldValue = id; + tmpViewAttr = 1; + } + } + + HrmFieldBean hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(fieldId); + hrmFieldBean.setFieldname(fieldName); + hrmFieldBean.setFieldlabel(fieldLabel); + hrmFieldBean.setFieldhtmltype(fieldHtmlType); + hrmFieldBean.setType(type); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setFieldvalue(fieldValue); + hrmFieldBean.setDmlurl(dmlUrl); + hrmFieldBean.setViewAttr(tmpViewAttr); + hrmFieldBean.setRules(rules); + hrmFieldBean.setIssystem("1"); + if (hrmFieldBean.getFieldname().equals("supsubcomid")) { + hrmFieldBean.setHideVirtualOrg(true); + } + if (hrmFieldBean.getFieldname().equals("subcompanycode")) { + hrmFieldBean.setMultilang(false); + } + SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + if (searchConditionItem != null) { + searchConditionItem.setLabelcol(8); + searchConditionItem.setFieldcol(16); + if (hrmFieldBean.getFieldname().equals("showorder")) { + searchConditionItem.setPrecision(2); + } + if (fieldName.equals("subshowid")) { + Map otherParams = new HashMap<>(); + otherParams.put("hasBorder", true); + searchConditionItem.setOtherParams(otherParams); + } + + if ("6".equals(fieldHtmlType)) {//附件 + Map otherParams1 = new HashMap<>(); + otherParams1.put("showOrder", false); + searchConditionItem.setOtherParams(otherParams1); + } + + itemList.add(searchConditionItem); } } + groupItem.put("items", itemList); + grouplist.add(groupItem); } - apiDatas.put("condition", addGroups); + apiDatas.put("condition", grouplist); return apiDatas; } @@ -364,52 +453,33 @@ public class CompServiceImpl extends Service implements CompService { @Override public int moveCompany(DepartmentMoveParam moveParam) { - Long targetCompanyId = moveParam.getCompany(); - //OrganizationAssert.notNull(targetCompanyId, "请选择要转移到的分部"); - Long companyId = moveParam.getId(); + Integer companyId = moveParam.getId().intValue(); + Integer targetCompanyId = moveParam.getCompany().intValue(); // 判断目标分部是否为它本身以及子元素 - Set disableIds = new HashSet<>(); + Set disableIds = new HashSet<>(); disableIds.add(companyId); - List compPOS = getCompMapper().listChild(DeleteParam.builder().ids(companyId.toString()).build().getIds()); + List compPOS = getCompanyMapper().listChild(DeleteParam.builder().ids(companyId.toString()).build().getIds()); if (CollectionUtils.isNotEmpty(compPOS)) { addDisableIds(disableIds, compPOS); } OrganizationAssert.isFalse(disableIds.contains(targetCompanyId), "请勿选择当前分部本身及其子分部"); - CompPO compPO = getCompMapper().listById(companyId); - compPO.setEcCompany(targetCompanyId); - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(targetCompanyId)); - if (null != jclCompanyId) { - compPO.setParentCompany(jclCompanyId.getId()); - } else { - compPO.setParentCompany(null); - } + Map map = new HashMap<>(); - map.put("id", compPO.getId()); - map.put("parent_company", compPO.getParentCompany()); - map.put("comp_no", compPO.getCompNo()); - map.put("comp_name_short", compPO.getCompNameShort()); - map.put("comp_name", compPO.getCompName()); - map.put("show_order", compPO.getShowOrder()); + map.put("id", companyId.toString()); + map.put("supsubcomid", targetCompanyId.toString()); new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map).sync(); - return getCompMapper().updateBaseComp(compPO); + return companyId; } /** * 是否为搜索查询 * - * @param compPO + * @param companyPO * @return */ - private boolean isFilter(CompPO compPO) { - return !(StringUtil.isEmpty(compPO.getCompName()) - && StringUtil.isEmpty(compPO.getCompNo()) - && StringUtil.isEmpty(compPO.getCompNameShort()) - && StringUtil.isEmpty(compPO.getOrgCode()) - && null == compPO.getEcCompany() - && null == compPO.getIndustry() - && null == compPO.getCompPrincipal() - && null == compPO.getForbiddenTag()); + private boolean isFilter(CompanyPO companyPO) { + return StringUtils.isNotBlank(companyPO.getSubCompanyCode()) || StringUtils.isNotBlank(companyPO.getSubCompanyDesc()) || StringUtils.isNotBlank(companyPO.getSubCompanyName()) || null != companyPO.getSupSubComId(); } @@ -451,10 +521,10 @@ public class CompServiceImpl extends Service implements CompService { * @param disableIds * @param compPOS */ - private void addDisableIds(Set disableIds, List compPOS) { - for (CompPO compPO : compPOS) { + private void addDisableIds(Set disableIds, List compPOS) { + for (CompanyPO compPO : compPOS) { disableIds.add(compPO.getId()); - List childCompPOS = getCompMapper().listChild(DeleteParam.builder().ids(compPO.getId().toString()).build().getIds()); + List childCompPOS = getCompanyMapper().listChild(DeleteParam.builder().ids(compPO.getId().toString()).build().getIds()); addDisableIds(disableIds, childCompPOS); } } diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 54f587f8..ebce9276 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -447,19 +447,7 @@ public class OrganizationSyncEc { * 新增分部 */ private void addCompany() { - Map map = new HashMap<>(); - map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); - - // 上级分部通过UUID联查ec表ID - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - map.put("supsubcomid", ecCompany); - } - - map.put("subcompanycode", params.get("comp_no").toString()); - map.put("subcompanydesc", params.get("comp_name").toString()); - map.put("showorder", Util.null2String(params.get("show_order"))); - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addSubCompany(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addSubCompany(params, user); } /** @@ -468,17 +456,8 @@ public class OrganizationSyncEc { private void updateCompany() { Map map = new HashMap<>(); // 获取ec表ID - params.put("id", EcHrmRelationUtil.getEcCompanyId(Util.null2String(params.get("id")))); buildEcCompanyData(map); - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_company")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("supsubcomid", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - map.put("subcompanycode", Util.null2String(params.get("comp_no"))); - map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); - map.put("subcompanydesc", Util.null2String(params.get("comp_name"))); - map.put("showorder", Util.null2String(params.get("show_order"))); + map.putAll(params); this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(map, user); } @@ -521,7 +500,7 @@ public class OrganizationSyncEc { } private void buildEcCompanyData(Map map) { - String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(params.get("id"))); + String ecCompanyId = Util.null2String(params.get("id")); map.put("id", ecCompanyId); RecordSet rs = new RecordSet(); diff --git a/src/com/engine/organization/util/PageInfoSortUtil.java b/src/com/engine/organization/util/PageInfoSortUtil.java index 79d267e0..c56b690c 100644 --- a/src/com/engine/organization/util/PageInfoSortUtil.java +++ b/src/com/engine/organization/util/PageInfoSortUtil.java @@ -24,11 +24,11 @@ public class PageInfoSortUtil { JSONArray jsonArray = JSONObject.parseArray(sortParams); if (CollectionUtils.isNotEmpty(jsonArray)) { JSONObject jsonObject = (JSONObject) jsonArray.get(0); - String orderKey = upperCharToUnderLine(jsonObject.getString("orderkey")); + String orderKey = jsonObject.getString("orderkey"); String sortOrder = jsonObject.getString("sortOrder").replace("end", ""); return "t." + orderKey + " " + sortOrder; } - return " show_order "; + return " showOrder "; } /** diff --git a/src/com/engine/organization/web/CompController.java b/src/com/engine/organization/web/CompController.java index 549789f2..068f4c4d 100644 --- a/src/com/engine/organization/web/CompController.java +++ b/src/com/engine/organization/web/CompController.java @@ -4,10 +4,12 @@ import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.company.param.CompSearchParam; +import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.CompWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; +import org.apache.commons.lang.StringUtils; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -43,12 +45,12 @@ public class CompController { @POST @Path("/listComp") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult listComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompSearchParam params) { + public ReturnResult listComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompanyParam params) { try { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).listPage(params)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -88,7 +90,7 @@ public class CompController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).updateForbiddenTagById(param)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -108,7 +110,7 @@ public class CompController { Map map = ParamUtil.request2Map(request); return ReturnResult.successed(getCompWrapper(user).updateComp(map)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -118,7 +120,6 @@ public class CompController { * * @param request * @param response - * @param param * @return */ @POST @@ -127,9 +128,11 @@ public class CompController { public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeleteParam param) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getCompWrapper(user).deleteByIds(param.getIds())); + Map params = ParamUtil.request2Map(request); + params.put("id", StringUtils.join(param.getIds(), ",")); + return ReturnResult.successed(getCompWrapper(user).deleteByIds(params)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -146,10 +149,9 @@ public class CompController { public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getCompWrapper(user).getSearchCondition(map)); + return ReturnResult.successed(getCompWrapper(user).getSearchCondition()); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -168,7 +170,7 @@ public class CompController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).getHasRight()); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -185,10 +187,11 @@ public class CompController { public ReturnResult getCompBaseForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getCompWrapper(user).getCompBaseForm(map)); + Map params = ParamUtil.request2Map(request); + params.put("viewattr", 2); + return ReturnResult.successed(getCompWrapper(user).getCompSaveForm(params)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -206,9 +209,12 @@ public class CompController { public ReturnResult getCompSaveForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getCompWrapper(user).getCompSaveForm()); + Map params = ParamUtil.request2Map(request); + params.put("addType", "normal"); + params.put("viewattr", 2); + return ReturnResult.successed(getCompWrapper(user).getCompSaveForm(params)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -220,7 +226,7 @@ public class CompController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).getMoveForm()); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } @@ -232,7 +238,7 @@ public class CompController { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).moveCompany(param)); } catch (Exception e) { - return ReturnResult.exceptionHandle(e); + return ReturnResult.exceptionHandle(e); } } diff --git a/src/com/engine/organization/wrapper/CompWrapper.java b/src/com/engine/organization/wrapper/CompWrapper.java index bb4ca578..9c24725a 100644 --- a/src/com/engine/organization/wrapper/CompWrapper.java +++ b/src/com/engine/organization/wrapper/CompWrapper.java @@ -5,6 +5,7 @@ import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.company.param.CompSearchParam; +import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.enums.LogModuleNameEnum; @@ -18,7 +19,6 @@ import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.db.MapperProxyFactory; import weaver.hrm.User; -import java.util.Collection; import java.util.List; import java.util.Map; @@ -43,7 +43,7 @@ public class CompWrapper extends OrganizationWrapper { * @param params * @return */ - public Map listPage(CompSearchParam params) { + public Map listPage(CompanyParam params) { return getCompService(user).listPage(params); } @@ -57,9 +57,10 @@ public class CompWrapper extends OrganizationWrapper { @Log(operateType = OperateTypeEnum.ADD, operateDesc = "新增分部", operateModule = LogModuleNameEnum.COMPANY) public Long saveBaseComp(Map params) { Long companyId = getCompService(user).saveBaseComp(params); - writeOperateLog(new Object() { - }.getClass(), params.get("comp_name").toString(), JSON.toJSONString(params), "新增分部"); - new Thread(new CompanyTriggerRunnable(companyId)).start(); + // TODO + //writeOperateLog(new Object() { + //}.getClass(), params.get("comp_name").toString(), JSON.toJSONString(params), "新增分部"); + //new Thread(new CompanyTriggerRunnable(companyId)).start(); return companyId; } @@ -100,18 +101,18 @@ public class CompWrapper extends OrganizationWrapper { /** * 根据ID批量删除 * - * @param ids + * @param params */ @Log(operateType = OperateTypeEnum.DELETE, operateDesc = "删除分部信息", operateModule = LogModuleNameEnum.COMPANY) - public int deleteByIds(Collection ids) { - List compsByIds = getCompMapper().getCompsByIds(ids); - int deleteByIds = getCompService(user).deleteByIds(ids); - for (CompPO compsById : compsByIds) { - writeOperateLog(new Object() { - }.getClass(), compsById.getCompName(), JSON.toJSONString(ids), "删除分部信息"); - new CompanyTriggerRunnable(compsById).run(); - } - return deleteByIds; + public Map deleteByIds(Map params) { + //List compsByIds = getCompMapper().getCompsByIds(ids); + return getCompService(user).deleteByIds(params); + //for (CompPO compsById : compsByIds) { + // writeOperateLog(new Object() { + // }.getClass(), compsById.getCompName(), JSON.toJSONString(ids), "删除分部信息"); + // new CompanyTriggerRunnable(compsById).run(); + //} + //return deleteByIds; } /** @@ -134,11 +135,10 @@ public class CompWrapper extends OrganizationWrapper { /** * 获取搜索条件 * - * @param params * @return */ - public Map getSearchCondition(Map params) { - return getCompService(user).getSearchCondition(params); + public Map getSearchCondition() { + return getCompService(user).getSearchCondition(); } /** @@ -165,8 +165,8 @@ public class CompWrapper extends OrganizationWrapper { * * @return */ - public Map getCompSaveForm() { - return getCompService(user).getCompSaveForm(); + public Map getCompSaveForm(Map params) { + return getCompService(user).getCompSaveForm(params); } /** From e754d6f8fe531e47b9307d30a99b69b614674b1d Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Fri, 25 Nov 2022 17:34:36 +0800 Subject: [PATCH 031/203] =?UTF-8?q?=E5=BB=BA=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表结构SQL/MySQL.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/表结构SQL/MySQL.sql b/docs/表结构SQL/MySQL.sql index 0895cbd4..a205b5e3 100644 --- a/docs/表结构SQL/MySQL.sql +++ b/docs/表结构SQL/MySQL.sql @@ -593,4 +593,17 @@ create table JCL_ORG_CARDBUTTON ( create_time date null, update_time date null, constraint JCL_ORG_CARDBUTTON_PK primary key (id) +); + + +--v2.0新增表 + +-- JCl_ORG_RESOURCEEXTEND //id是人员ID 非自增 +create table JCl_ORG_RESOURCEEXTEND ( + id int not null, + scheme int null, + level_id int null, + grade int null, + sequence int null, + constraint JCl_ORG_RESOURCEEXTEND_PK primary key (id) ); \ No newline at end of file From aa3d0742ffbb762e469a72199cc2ed599aff0c0f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 28 Nov 2022 11:15:54 +0800 Subject: [PATCH 032/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=95=B4=E7=90=86=E3=80=81=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 30 +- .../organization/entity/DeleteParam.java | 4 +- .../entity/company/bo/CompBO.java | 154 ----- .../entity/company/bo/CompanyBO.java | 19 + .../entity/company/dto/CompListDTO.java | 95 --- .../entity/company/param/CompSearchParam.java | 71 --- .../entity/company/po/CompPO.java | 85 --- .../entity/department/bo/DepartmentBO.java | 4 +- .../department/param/DepartmentMoveParam.java | 2 +- .../department/param/DeptSearchParam.java | 6 +- .../entity/department/po/DepartmentPO.java | 4 +- .../department/vo/SingleDeptTreeVO.java | 2 +- .../entity/job/param/JobSearchParam.java | 4 +- .../organization/entity/job/po/JobPO.java | 4 +- .../entity/staff/param/StaffSearchParam.java | 4 +- .../organization/entity/staff/po/StaffPO.java | 4 +- .../organization/mapper/comp/CompMapper.java | 181 ------ .../organization/mapper/comp/CompMapper.xml | 550 ------------------ .../mapper/comp/CompanyMapper.java | 43 ++ .../mapper/comp/CompanyMapper.xml | 81 +++ .../mapper/department/DepartmentMapper.java | 3 + .../organization/mapper/job/JobMapper.java | 2 +- .../mapper/resource/ResourceMapper.java | 2 +- .../organization/service/CompService.java | 5 +- .../service/impl/CompServiceImpl.java | 116 ++-- .../service/impl/DepartmentServiceImpl.java | 253 ++++---- .../service/impl/HrmResourceServiceImpl.java | 34 +- .../service/impl/ImportCommonServiceImpl.java | 20 +- .../service/impl/JobServiceImpl.java | 68 +-- .../impl/ManagerDetachServiceImpl.java | 3 - .../service/impl/StaffPlanServiceImpl.java | 27 +- .../service/impl/StaffServiceImpl.java | 20 +- .../thread/CompanyTriggerRunnable.java | 285 +++++---- .../thread/OrganizationRunable.java | 478 --------------- .../thread/OrganizationSyncEc.java | 39 +- .../thread/StaffTriggerRunnable.java | 22 +- .../transmethod/CompTransMethod.java | 11 +- .../transmethod/HrmResourceTransMethod.java | 4 +- .../organization/util/detach/DetachUtil.java | 6 +- .../util/relation/EcHrmRelationUtil.java | 35 +- .../util/saveimport/StaffInfoImportUtil.java | 4 +- .../organization/web/CompController.java | 12 +- .../organization/wrapper/CompWrapper.java | 69 +-- .../organization/wrapper/JclOrgWrapper.java | 38 +- 44 files changed, 630 insertions(+), 2273 deletions(-) delete mode 100644 src/com/engine/organization/entity/company/bo/CompBO.java delete mode 100644 src/com/engine/organization/entity/company/dto/CompListDTO.java delete mode 100644 src/com/engine/organization/entity/company/param/CompSearchParam.java delete mode 100644 src/com/engine/organization/entity/company/po/CompPO.java delete mode 100644 src/com/engine/organization/mapper/comp/CompMapper.java delete mode 100644 src/com/engine/organization/mapper/comp/CompMapper.xml delete mode 100644 src/com/engine/organization/thread/OrganizationRunable.java diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 0eea6cbd..60a8299f 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -9,12 +9,12 @@ import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.browser.bo.CusBowserTreeBO; import com.engine.organization.entity.browser.enums.TreeNodeTypeEnum; import com.engine.organization.entity.browser.po.CusBrowserTree; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.vo.JobBrowserVO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; @@ -165,41 +165,41 @@ public class JobBrowserService extends BrowserService { List compHasSubs; if (detachUtil.isDETACH()) { if (CollectionUtils.isNotEmpty(jclRoleLevelList)) { - compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasDetachSubs(jclRoleLevelList); + compHasSubs = MapperProxyFactory.getProxy(CompanyMapper.class).hasDetachSubs(jclRoleLevelList); } else { compHasSubs = new ArrayList<>(); } } else { - compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasSubs(); + compHasSubs = MapperProxyFactory.getProxy(CompanyMapper.class).hasSubs(); } // 部门存在下级的ID List hasSubDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).hasSubs(); if ("0".equals(params.getId())) { - List compList; + List compList; if (detachUtil.isDETACH()) { if (CollectionUtils.isNotEmpty(jclRoleLevelList)) { - compList = MapperProxyFactory.getProxy(CompMapper.class).getCompsByIds(jclRoleLevelList); + compList = MapperProxyFactory.getProxy(CompanyMapper.class).getCompsByIds(jclRoleLevelList); // 处理上下级关系 - Set collectIds = compList.stream().map(CompPO::getId).collect(Collectors.toSet()); - compList.removeIf(item->collectIds.contains(item.getParentCompany())); + Set collectIds = compList.stream().map(CompanyPO::getId).collect(Collectors.toSet()); + compList.removeIf(item -> collectIds.contains(item.getSupSubComId())); } else { compList = new ArrayList<>(); } } else { - compList = MapperProxyFactory.getProxy(CompMapper.class).listParent(); + compList = MapperProxyFactory.getProxy(CompanyMapper.class).listParent(); } // 获取顶层分部 - compList.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); + compList.stream().sorted(Comparator.comparing(CompanyPO::getShowOrder)).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); } else if ("1".equals(params.getType())) { // 当前节点下的元素 - CompPO compBuild = CompPO.builder().parentCompany(Long.parseLong(params.getId())).forbiddenTag(0).deleteType(0).build(); - List compList = MapperProxyFactory.getProxy(CompMapper.class).listByFilter(compBuild, "show_order"); + CompanyPO compBuild = CompanyPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); + List compList = MapperProxyFactory.getProxy(CompanyMapper.class).listByFilter(compBuild, "show_order"); if (detachUtil.isDETACH()) { detachUtil.filterCompanyList(compList); } - DepartmentPO departmentBuild = DepartmentPO.builder().parentComp(Long.parseLong(params.getId())).forbiddenTag(0).deleteType(0).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().parentComp(Integer.parseInt(params.getId())).forbiddenTag(0).deleteType(0).build(); List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "show_order"); compList.forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); @@ -222,11 +222,11 @@ public class JobBrowserService extends BrowserService { * @param compHasSubs * @param company */ - private void buildCompNodes(List treeNodes, List compHasSubs, CompPO company) { + private void buildCompNodes(List treeNodes, List compHasSubs, CompanyPO company) { SearchTree searchTree = new SearchTree(); searchTree.setId(company.getId().toString()); searchTree.setType(TreeNodeTypeEnum.TYPE_COMP.getValue()); - searchTree.setName(company.getCompName()); + searchTree.setName(company.getSubCompanyName()); searchTree.setIsParent(compHasSubs.contains(company.getId().toString())); treeNodes.add(searchTree); } diff --git a/src/com/engine/organization/entity/DeleteParam.java b/src/com/engine/organization/entity/DeleteParam.java index 724745d0..6583844b 100644 --- a/src/com/engine/organization/entity/DeleteParam.java +++ b/src/com/engine/organization/entity/DeleteParam.java @@ -8,7 +8,7 @@ import weaver.general.StringUtil; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; +import java.util.List; import java.util.stream.Collectors; /** @@ -24,7 +24,7 @@ import java.util.stream.Collectors; public class DeleteParam { private String ids; - public Collection getIds() { + public List getIds() { if(StringUtil.isEmpty(ids)){ return new ArrayList<>(); } diff --git a/src/com/engine/organization/entity/company/bo/CompBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java deleted file mode 100644 index d26b8bd9..00000000 --- a/src/com/engine/organization/entity/company/bo/CompBO.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.engine.organization.entity.company.bo; - -import com.engine.organization.entity.company.dto.CompListDTO; -import com.engine.organization.entity.company.param.CompSearchParam; -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.entity.searchtree.SearchTree; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.collections.CollectionUtils; -import weaver.crm.Maint.SectorInfoComInfo; -import weaver.general.StringUtil; -import weaver.general.Util; -import weaver.hrm.resource.ResourceComInfo; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * @description: - * @author:dxfeng - * @createTime: 2022/05/16 - * @version: 1.0 - */ -public class CompBO { - - public static List buildCompDTOList(Collection list) { - - Map poMaps = list.stream().collect(Collectors.toMap(CompPO::getId, item -> item)); - - List dtoList = list.stream().map(e -> - CompListDTO - .builder() - .id(e.getId()) - .compNo(e.getCompNo()) - .compName(e.getCompName()) - .compNameShort(e.getCompNameShort()) - .parentCompany(e.getParentCompany()) - .parentCompName(null == poMaps.get(e.getParentCompany()) ? "" : poMaps.get(e.getParentCompany()).getCompName()) - .orgCode(e.getOrgCode()) - .industry(new SectorInfoComInfo().getSectorInfoname(Util.null2String(e.getIndustry()))) - .compPrincipal(getUserNameById( Util.null2String(e.getCompPrincipal()))) - .showOrder(e.getShowOrder()) - .forbiddenTag(e.getForbiddenTag()) - .build()).collect(Collectors.toList()); - Map> collects = dtoList.stream().filter(item -> null != item.getParentCompany() && 0 != item.getParentCompany()).collect(Collectors.groupingBy(CompListDTO::getParentCompany)); - // 处理被引用数据 - List usedIds = MapperProxyFactory.getProxy(CompMapper.class).listUsedId(); - // 兼容MySQL - usedIds.addAll(MapperProxyFactory.getProxy(CompMapper.class).listUsedIds()); - List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList()); - Set leafs = new HashSet<>(); - List collectTree = dtoList.stream().peek(e -> { - List childList = collects.get(e.getId()); - leafs.add(e.getId()); - if (CollectionUtils.isNotEmpty(childList)) { - e.setChildren(childList); - e.setIsUsed(1); - } else { - if (collect.contains(Util.null2String(e.getId()))) { - e.setIsUsed(1); - } else { - e.setIsUsed(0); - } - } - }).collect(Collectors.toList()); - return collectTree.stream().filter(item->!leafs.contains(item.getParentCompany())).collect(Collectors.toList()); - } - - public static List buildCompDTOList(Collection list, List filterList) { - // 搜索结果为空,直接返回空 - if (CollectionUtils.isEmpty(filterList)) { - return Collections.emptyList(); - } - // 递归添加父级数据 - Map poMaps = list.stream().collect(Collectors.toMap(CompPO::getId, item -> item)); - List addedList = new ArrayList<>(); - for (CompPO po : filterList) { - dealParentData(addedList, po, poMaps); - } - - return buildCompDTOList(addedList); - } - - public static CompPO convertParamToPO(CompSearchParam param, Long employeeId) { - if (null == param) { - return null; - } - return CompPO - .builder() - .id(param.getId() == null ? 0 : param.getId()) - .compNo(param.getCompNo()) - .compName(param.getCompName()) - .compNameShort(param.getCompNameShort()) - .parentCompany(param.getParentCompany()) - .ecCompany(param.getEcCompany()) - .orgCode(param.getOrgCode()) - .industry(param.getIndustry()) - .compPrincipal(param.getCompPrincipal()) - .description(param.getDescription()) - .forbiddenTag(param.getForbiddenTag() == null ? null : param.getForbiddenTag() ? 0 : 1) - .deleteType(0) - .createTime(new Date()) - .updateTime(new Date()) - .creator(employeeId) - .build(); - - } - - public static List buildSetToSearchTree(Set comps) { - return comps.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).map(item -> { - SearchTree tree = new SearchTree(); - tree.setCanClick(true); - tree.setCanceled(item.getForbiddenTag() != 0); - tree.setIcon("icon-coms-LargeArea"); - tree.setId(item.getId().toString()); - tree.setIsParent(false); - tree.setIsVirtual("0"); - tree.setName(item.getCompName()); - tree.setPid(null == item.getParentCompany() ? "0" : item.getParentCompany().toString()); - tree.setSelected(false); - tree.setType("1"); - tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); - return tree; - }).collect(Collectors.toList()); - } - - /** - * 递归获取查询后数据的父级数据 - * - * @param addedList - * @param po - * @param poMaps - */ - private static void dealParentData(List addedList, CompPO po, Map poMaps) { - if (!addedList.contains(po)) { - addedList.add(po); - } - CompPO parentCompPO = poMaps.get(po.getParentCompany()); - if (null != parentCompPO) { - dealParentData(addedList, parentCompPO, poMaps); - } - } - - private static String getUserNameById(String userId) { - try { - if (StringUtil.isEmpty(userId)) { - return ""; - } - return new ResourceComInfo().getLastname(userId); - } catch (Exception e) { - throw new RuntimeException(e); - } - } -} diff --git a/src/com/engine/organization/entity/company/bo/CompanyBO.java b/src/com/engine/organization/entity/company/bo/CompanyBO.java index c0b14f8b..7d02358d 100644 --- a/src/com/engine/organization/entity/company/bo/CompanyBO.java +++ b/src/com/engine/organization/entity/company/bo/CompanyBO.java @@ -3,6 +3,7 @@ package com.engine.organization.entity.company.bo; import com.engine.organization.entity.company.dto.CompanyListDTO; import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; @@ -22,6 +23,24 @@ public class CompanyBO { return MapperProxyFactory.getProxy(CompanyMapper.class); } + public static List buildSetToSearchTree(Set comps) { + return comps.stream().sorted(Comparator.comparing(CompanyPO::getShowOrder)).map(item -> { + SearchTree tree = new SearchTree(); + tree.setCanClick(true); + tree.setCanceled(item.getCanceled() != 0); + tree.setIcon("icon-coms-LargeArea"); + tree.setId(item.getId().toString()); + tree.setIsParent(false); + tree.setIsVirtual("0"); + tree.setName(item.getSubCompanyName()); + tree.setPid(item.getSupSubComId().toString()); + tree.setSelected(false); + tree.setType("1"); + tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); + return tree; + }).collect(Collectors.toList()); + } + /** * 搜索条件转换实体对象 * diff --git a/src/com/engine/organization/entity/company/dto/CompListDTO.java b/src/com/engine/organization/entity/company/dto/CompListDTO.java deleted file mode 100644 index b533ce18..00000000 --- a/src/com/engine/organization/entity/company/dto/CompListDTO.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.engine.organization.entity.company.dto; - -import com.engine.organization.annotation.OrganizationTable; -import com.engine.organization.annotation.TableTitle; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -/** - * @description: - * @author:dxfeng - * @createTime: 2022/05/16 - * @version: 1.0 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@OrganizationTable(pageId = "2c66b3a4-d4f8-11ec-9774-00ffcbed7508") -public class CompListDTO { - /** - * 主键id - */ - private Long id; - /** - * 是否被引用 - */ - private Integer isUsed; - /** - * 名称 - */ - @TableTitle(title = "名称", dataIndex = "compName", key = "compName") - private String compName; - - /** - * 编号 - */ - @TableTitle(title = "编号", dataIndex = "compNo", key = "compNo") - private String compNo; - - /** - * 简称 - */ - @TableTitle(title = "简称", dataIndex = "compNameShort", key = "compNameShort") - private String compNameShort; - - /** - * 上级公司 - */ - @TableTitle(title = "上级分部", dataIndex = "parentCompName", key = "parentCompName") - private String parentCompName; - - private Long parentCompany; - - /** - * 组织机构代码 - */ - @TableTitle(title = "组织机构代码", dataIndex = "orgCode", key = "orgCode") - private String orgCode; - - /** - * 行业 - */ - @TableTitle(title = "行业", dataIndex = "industry", key = "industry") - private String industry; - - /** - * 负责人 - */ - @TableTitle(title = "负责人", dataIndex = "compPrincipal", key = "compPrincipal") - private String compPrincipal; - - @TableTitle(title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true) - private Integer showOrder; - - /** - * 禁用标记 - */ - @TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag") - private int forbiddenTag; - - /** - * 操作列 - */ - @TableTitle(title = "", dataIndex = "operate", key = "operate") - private String operate; - - /** - * 子节点 - */ - private List children; -} diff --git a/src/com/engine/organization/entity/company/param/CompSearchParam.java b/src/com/engine/organization/entity/company/param/CompSearchParam.java deleted file mode 100644 index 425bb5a5..00000000 --- a/src/com/engine/organization/entity/company/param/CompSearchParam.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.engine.organization.entity.company.param; - -import com.engine.organization.common.BaseQueryParam; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author:dxfeng - * @createTime: 2022/05/16 - * @version: 1.0 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class CompSearchParam extends BaseQueryParam { - - /** - * 主键 - */ - private Long id; - - /** - * 编号 - */ - private String compNo; - - /** - * 名称 - */ - private String compName; - - /** - * 简称 - */ - private String compNameShort; - - /** - * 上级公司 - */ - private Long parentCompany; - private Long ecCompany; - - /** - * 组织机构代码 - */ - private String orgCode; - - /** - * 行业 - */ - private Integer industry; - - /** - * 负责人 - */ - private Integer compPrincipal; - - /** - * 说明 - */ - private String description; - - /** - * 禁用标记 - */ - private Boolean forbiddenTag; -} diff --git a/src/com/engine/organization/entity/company/po/CompPO.java b/src/com/engine/organization/entity/company/po/CompPO.java deleted file mode 100644 index 98bfc5c5..00000000 --- a/src/com/engine/organization/entity/company/po/CompPO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.engine.organization.entity.company.po; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -/** - * @description: - * @author:dxfeng - * @createTime: 2022/05/16 - * @version: 1.0 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class CompPO { - - /** - * 主键 - */ - private Long id; - - /** - * 编号 - */ - private String compNo; - - /** - * 名称 - */ - private String compName; - - /** - * 简称 - */ - private String compNameShort; - - /** - * 上级公司 - */ - private Long parentCompany; - - private Long ecCompany; - - /** - * 组织机构代码 - */ - private String orgCode; - - /** - * 行业 - */ - private Integer industry; - - /** - * 负责人 - */ - private Integer compPrincipal; - - /** - * 说明 - */ - private String description; - - /** - * 禁用标记 - */ - private Integer forbiddenTag; - - /** - * 显示顺序 - */ - private Integer showOrder; - - private String uuid; - - private Long creator; - private int deleteType; - private Date createTime; - private Date updateTime; -} diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 40024d09..e221e858 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -5,7 +5,7 @@ import com.engine.organization.entity.department.param.DeptSearchParam; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO; import com.engine.organization.entity.searchtree.SearchTree; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.util.db.MapperProxyFactory; @@ -34,7 +34,7 @@ public class DepartmentBO { .deptNo(e.getDeptNo()) .deptName(e.getDeptName()) .deptNameShort(e.getDeptNameShort()) - .parentComp(null == e.getParentComp() ? "" : MapperProxyFactory.getProxy(CompMapper.class).listById(e.getParentComp()).getCompName()) + .parentComp(null == e.getParentComp() ? "" : MapperProxyFactory.getProxy(CompanyMapper.class).listById(e.getParentComp().intValue()).getSubCompanyName()) .parentDept(e.getParentDept()) .parentDeptName(null == poMaps.get(e.getParentDept()) ? "" : poMaps.get(e.getParentDept()).getDeptName()) .deptPrincipal(getEmployeeNameById(e.getDeptPrincipal())) diff --git a/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java b/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java index a3aee686..313bb356 100644 --- a/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java +++ b/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java @@ -18,6 +18,6 @@ import lombok.NoArgsConstructor; public class DepartmentMoveParam { private Long id; private String moveType; - private Long company; + private Integer company; private Long department; } diff --git a/src/com/engine/organization/entity/department/param/DeptSearchParam.java b/src/com/engine/organization/entity/department/param/DeptSearchParam.java index ed70fcfe..cf7b1c9c 100644 --- a/src/com/engine/organization/entity/department/param/DeptSearchParam.java +++ b/src/com/engine/organization/entity/department/param/DeptSearchParam.java @@ -25,8 +25,8 @@ public class DeptSearchParam extends BaseQueryParam { private String deptNameShort; - private Long parentComp; - private Long ecCompany; + private Integer parentComp; + private Integer ecCompany; private Long parentDept; private Long ecDepartment; @@ -39,7 +39,7 @@ public class DeptSearchParam extends BaseQueryParam { private Boolean forbiddenTag; - private Long subcompanyid1; + private Integer subcompanyid1; private Long departmentid; } diff --git a/src/com/engine/organization/entity/department/po/DepartmentPO.java b/src/com/engine/organization/entity/department/po/DepartmentPO.java index ab4fcbf2..fd155d66 100644 --- a/src/com/engine/organization/entity/department/po/DepartmentPO.java +++ b/src/com/engine/organization/entity/department/po/DepartmentPO.java @@ -27,8 +27,8 @@ public class DepartmentPO { private String deptNameShort; - private Long parentComp; - private Long ecCompany; + private Integer parentComp; + private Integer ecCompany; private Long parentDept; private Long ecDepartment; diff --git a/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java b/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java index 5ba4493d..f843ae3b 100644 --- a/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java +++ b/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java @@ -32,7 +32,7 @@ public class SingleDeptTreeVO { @TableTitle(title = "部门名称", dataIndex = "deptName", key = "deptName") private String deptName; - private Long parentComp; //上级分部 + private Integer parentComp; //上级分部 private Long parentDept; //上级部门id diff --git a/src/com/engine/organization/entity/job/param/JobSearchParam.java b/src/com/engine/organization/entity/job/param/JobSearchParam.java index 9989867d..89a09ec0 100644 --- a/src/com/engine/organization/entity/job/param/JobSearchParam.java +++ b/src/com/engine/organization/entity/job/param/JobSearchParam.java @@ -32,7 +32,7 @@ public class JobSearchParam extends BaseQueryParam { /** * ec分部 */ - private Long ecCompany; + private Integer ecCompany; /** * ec部门 */ @@ -79,7 +79,7 @@ public class JobSearchParam extends BaseQueryParam { */ private Integer showOrder; - private Long subcompanyid1; + private Integer subcompanyid1; private Long departmentid; } diff --git a/src/com/engine/organization/entity/job/po/JobPO.java b/src/com/engine/organization/entity/job/po/JobPO.java index 3de9c18a..84329c04 100644 --- a/src/com/engine/organization/entity/job/po/JobPO.java +++ b/src/com/engine/organization/entity/job/po/JobPO.java @@ -33,12 +33,12 @@ public class JobPO { /** * 所属分部 */ - private Long parentComp; + private Integer parentComp; /** * ec分部 */ - private Long ecCompany; + private Integer ecCompany; /** * 所属部门 */ diff --git a/src/com/engine/organization/entity/staff/param/StaffSearchParam.java b/src/com/engine/organization/entity/staff/param/StaffSearchParam.java index 29e944ae..a4aaf2d5 100644 --- a/src/com/engine/organization/entity/staff/param/StaffSearchParam.java +++ b/src/com/engine/organization/entity/staff/param/StaffSearchParam.java @@ -27,8 +27,8 @@ public class StaffSearchParam { /** * 分部 */ - private Long compId; - private Long ecCompany; + private Integer compId; + private Integer ecCompany; /** * 部门 */ diff --git a/src/com/engine/organization/entity/staff/po/StaffPO.java b/src/com/engine/organization/entity/staff/po/StaffPO.java index 82db7e65..1d489d85 100644 --- a/src/com/engine/organization/entity/staff/po/StaffPO.java +++ b/src/com/engine/organization/entity/staff/po/StaffPO.java @@ -29,8 +29,8 @@ public class StaffPO { /** * 分部 */ - private Long compId; - private Long ecCompany; + private Integer compId; + private Integer ecCompany; /** * 部门 */ diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java deleted file mode 100644 index 1f636132..00000000 --- a/src/com/engine/organization/mapper/comp/CompMapper.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.engine.organization.mapper.comp; - -import com.engine.organization.entity.company.po.CompPO; -import org.apache.ibatis.annotations.Param; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -/** - * @description: - * @author:dxfeng - * @createTime: 2022/05/16 - * @version: 1.0 - */ -public interface CompMapper { - /** - * 列表查询 - * - * @return - */ - List list(@Param("orderSql") String orderSql); - - /** - * 查询所有被引用的ID - * - * @return - */ - List listUsedId(); - - List listUsedIds(); - - List hasSubs(); - - List hasDetachSubs(@Param("companyIds") Collection companyIds); - - /** - * 根据搜索条件查询数据 - * - * @return - */ - List listByFilter(@Param("compPO") CompPO compPO, @Param("orderSql") String orderSql); - - /** - * 获取顶级数据 - * - * @return - */ - List listParent(); - - /** - * 获取子层级数据 - * - * @param ids - * @return - */ - List listChild(@Param("ids") Collection ids); - - /** - * 获取当前ID的子元素 - * - * @param pid - * @return - */ - List listChildByPID(@Param("pid") String pid); - - - /** - * 获取当前ID的子元素个数 - * - * @param pid - * @return - */ - int countChildByPID(@Param("pid") long pid); - - /** - * 根据ID查询数据 - * - * @param id - * @return - */ - CompPO listById(@Param("id") Long id); - - /** - * 根据UUID查询数据 - * - * @param uuid - * @return - */ - CompPO getCompanyByUUID(@Param("uuid") String uuid); - - - /** - * 根据No查询数据 - * - * @param compNo - * @return - */ - List listByNo(@Param("compNo") String compNo); - - - /** - * 浏览按钮展示数据查询 - * - * @param ids - * @return - */ - List> listCompsByIds(@Param("ids") Collection ids); - - /** - * 根据ID批量查询数据 - * - * @param ids - * @return - */ - List getCompsByIds(@Param("ids") Collection ids); - - - /** - * 保存公司/分部基础信息 - * - * @param compPO - * @return - */ - int insertIgnoreNull(CompPO compPO); - - - /** - * 更新主表内容 - * - * @param compPO - * @return - */ - int updateBaseComp(CompPO compPO); - - /** - * 更新禁用标记 - * - * @param compPO - * @return - */ - int updateForbiddenTagById(CompPO compPO); - - /** - * 批量删除 - * - * @param ids - */ - int deleteByIds(@Param("ids") Collection ids); - - /** - * 获取最大排序 - * - * @return - */ - Integer getMaxShowOrder(); - - /** - * 根据名称和上级查找ID - * - * @param companyName - * @param parentCompany - * @return - */ - Long getIdByNameAndPid(@Param("companyName") String companyName, @Param("parentCompany") Long parentCompany); - - /** - * 统计顶层分部个数 - * - * @param parentCompany - * @return - */ - Integer countTopCompany(@Param("parentCompany") Long parentCompany); - - int checkRepeatNo(@Param("companyNo") String companyNo, @Param("id") Long id); - - CompPO getCompanyByNo(@Param("companyNo") String companyNo); - - List getCompanyIdsByUuid(@Param("uuids") List uuids); - -} diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml deleted file mode 100644 index 63e2fcf2..00000000 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - t - . - id - , t.comp_no - , t.comp_name - , t.comp_name_short - , t.parent_company - , t.ec_company - , t.org_code - , t.industry - , t.comp_principal - , t.description - , t.forbidden_tag - , t.show_order - , t.creator - , t.delete_type - , t.create_time - , t.update_time - , t.uuid - - - - and ifnull(parent_company,'0')='0' - - - - and isnull(parent_company,'0')='0' - - - - and NVL(parent_company,'0')='0' - - - - and ifnull(parent_company,0) = - #{parentCompany} - - - - and isnull(parent_company,0) = - #{parentCompany} - - - - and NVL(parent_company,0) = - #{parentCompany} - - - - INSERT INTO jcl_org_comp - - - creator, - - - delete_type, - - - create_time, - - - update_time, - - - comp_no, - - - comp_name, - - - comp_name_short, - - - parent_company, - - - ec_company, - - - org_code, - - - industry, - - - comp_principal, - - - description, - - forbidden_tag, - - show_order, - - - - - #{creator}, - - - #{deleteType}, - - - #{createTime}, - - - #{updateTime}, - - - #{compNo}, - - - #{compName}, - - - #{compNameShort}, - - - #{parentCompany}, - - - #{ecCompany}, - - - #{orgCode}, - - - #{industry}, - - - #{compPrincipal}, - - - #{description}, - - 0, - - #{showOrder}, - - - - - - - select JCL_ORG_COMP_ID.currval from dual - - INSERT INTO jcl_org_comp - - - creator, - - - delete_type, - - - create_time, - - - update_time, - - - comp_no, - - - comp_name, - - - comp_name_short, - - - parent_company, - - - ec_company, - - - org_code, - - - industry, - - - comp_principal, - - - description, - - forbidden_tag, - - show_order, - - - - - #{creator}, - - - #{deleteType}, - - - #{createTime}, - - - #{updateTime}, - - - #{compNo}, - - - #{compName}, - - - #{compNameShort}, - - - #{parentCompany}, - - - #{ecCompany}, - - - #{orgCode}, - - - #{industry}, - - - #{compPrincipal}, - - - #{description}, - - 0, - - #{showOrder}, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - update jcl_org_comp - - forbidden_tag=#{forbiddenTag}, - - WHERE id = #{id} AND delete_type = 0 - - - - UPDATE jcl_org_comp - SET delete_type = 1 - WHERE delete_type = 0 - AND id IN - - #{id} - - - - - update jcl_org_comp - - creator=#{creator}, - update_time=#{updateTime}, - comp_name=#{compName}, - comp_name_short=#{compNameShort}, - parent_company=#{parentCompany}, - ec_company=#{ecCompany}, - org_code=#{orgCode}, - industry=#{industry}, - comp_principal=#{compPrincipal}, - description=#{description}, - show_order=#{showOrder}, - - WHERE id = #{id} AND delete_type = 0 - - - - - and t.comp_no like CONCAT('%',#{compPO.compNo},'%') - - - and t.comp_name like CONCAT('%',#{compPO.compName},'%') - - - and t.comp_name_short like CONCAT('%',#{compPO.compNameShort},'%') - - - and t.org_code like CONCAT('%',#{compPO.orgCode},'%') - - - - - - and t.comp_no like '%'||#{compPO.compNo}||'%' - - - and t.comp_name like '%'||#{compPO.compName}||'%' - - - and t.comp_name_short like '%'||#{compPO.compNameShort}||'%' - - - and t.org_code like '%'||#{compPO.orgCode}||'%' - - - - - - and t.comp_no like '%'+#{compPO.compNo}+'%' - - - and t.comp_name like '%'+#{compPO.compName}+'%' - - - and t.comp_name_short like '%'+#{compPO.compNameShort}+'%' - - - and t.org_code like '%'+#{compPO.orgCode}+'%' - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.java b/src/com/engine/organization/mapper/comp/CompanyMapper.java index c64aa20b..2eff33a9 100644 --- a/src/com/engine/organization/mapper/comp/CompanyMapper.java +++ b/src/com/engine/organization/mapper/comp/CompanyMapper.java @@ -38,4 +38,47 @@ public interface CompanyMapper { * @return */ List listChild(@Param("ids") Collection ids); + + /** + * 根据ID查询数据 + * + * @param id + * @return + */ + CompanyPO listById(@Param("id") Integer id); + + /** + * 根据ID批量查询数据 + * + * @param ids + * @return + */ + List getCompsByIds(@Param("ids") Collection ids); + + /** + * 获取顶级数据 + * + * @return + */ + List listParent(); + + List hasSubs(); + + List hasDetachSubs(@Param("companyIds") Collection companyIds); + + /** + * 根据名称和上级查找ID + * + * @param subCompanyName + * @param supSubComId + * @return + */ + Long getIdByNameAndPid(@Param("subCompanyName") String subCompanyName, @Param("supSubComId") Integer supSubComId); + + /** + * 获取最大排序 + * + * @return + */ + Integer getMaxShowOrder(); } diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.xml b/src/com/engine/organization/mapper/comp/CompanyMapper.xml index 0cf3f16e..a0ee2652 100644 --- a/src/com/engine/organization/mapper/comp/CompanyMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompanyMapper.xml @@ -91,6 +91,77 @@ + + + + + + + + + + + + + + + and t.subCompanyCode like CONCAT('%',#{CompanyPO.subCompanyCode},'%') @@ -127,4 +198,14 @@ + + and ifnull(canceled,0)=0 + + + and nvl(canceled,0)=0 + + + and isnull(canceled,0)=0 + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index 4e205c53..2b2e3fb6 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -138,4 +138,7 @@ public interface DepartmentMapper { List hasSubs(); int countUsedInJob(@Param("departmentId") Long departmentId); + + /**************************************************/ + } diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 9b6eab4f..7eeea256 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -176,7 +176,7 @@ public interface JobMapper { * @param parentCompany * @return */ - int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Long parentCompany, @Param("ecCompany") String ecCompany); + int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") String ecCompany); int isHasResource(@Param("jobId") Long jobId); } diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index 0a3ce993..ce9a5e4d 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -21,7 +21,7 @@ public interface ResourceMapper { List getResourceListByJobId(@Param("jobId") Long jobId); - int updateResourceJob(@Param("originalJobId") Long originalJobId, @Param("targetJobId") Long targetJobId, @Param("parentComp") Long parentComp, @Param("parentDept") Long parentDept, @Param("ecCompany") Long ecCompany, @Param("ecDepartment") Long ecDepartment); + int updateResourceJob(@Param("originalJobId") Long originalJobId, @Param("targetJobId") Long targetJobId, @Param("parentComp") Integer parentComp, @Param("parentDept") Long parentDept, @Param("ecCompany") Integer ecCompany, @Param("ecDepartment") Long ecDepartment); HrmResourcePO getResourceById(@Param("id") String id); diff --git a/src/com/engine/organization/service/CompService.java b/src/com/engine/organization/service/CompService.java index c353e9b6..fe9f7398 100644 --- a/src/com/engine/organization/service/CompService.java +++ b/src/com/engine/organization/service/CompService.java @@ -1,7 +1,6 @@ package com.engine.organization.service; import com.api.browser.bean.SearchConditionGroup; -import com.engine.organization.entity.company.param.CompSearchParam; import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.util.MenuBtn; @@ -38,7 +37,7 @@ public interface CompService { * * @param params */ - int updateForbiddenTagById(CompSearchParam params); + int updateForbiddenTagById(CompanyParam params); /** @@ -72,7 +71,7 @@ public interface CompService { Map> getHasRight(); /** - * 获取基本信息表单 + * 获取编辑表单 * * @param params * @return diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 03a0e128..c3d65b37 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -1,7 +1,6 @@ package com.engine.organization.service.impl; -import com.alibaba.fastjson.JSONObject; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.api.hrm.bean.HrmFieldBean; @@ -10,37 +9,28 @@ import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.hrm.entity.RuleCodeType; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.company.bo.CompanyBO; -import com.engine.organization.entity.company.dto.CompListDTO; import com.engine.organization.entity.company.dto.CompanyListDTO; -import com.engine.organization.entity.company.param.CompSearchParam; import com.engine.organization.entity.company.param.CompanyParam; -import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; -import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.service.CompService; import com.engine.organization.service.ExtService; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; -import com.engine.organization.util.coderule.CodeRuleUtil; import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; -import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import weaver.general.Util; @@ -94,18 +84,10 @@ public class CompServiceImpl extends Service implements CompService { return MapperProxyFactory.getProxy(CompanyMapper.class); } - private static CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); - } - private ExtendTitleMapper getExtendTitleMapper() { return MapperProxyFactory.getProxy(ExtendTitleMapper.class); } - private SystemDataMapper getSystemDataMapper() { - return MapperProxyFactory.getProxy(SystemDataMapper.class); - } - private ExtService getExtService(User user) { return ServiceUtil.getService(ExtServiceImpl.class, user); } @@ -125,13 +107,13 @@ public class CompServiceImpl extends Service implements CompService { String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()); List allList = getCompanyMapper().listAll(orderSql); - //TODO new DetachUtil(user.getUID()).filterCompanyList(allList); + new DetachUtil(user.getUID()).filterCompanyList(allList); // 通过子级遍历父级元素 if (filter) { // 根据条件获取元素 List filterCompPOs = getCompanyMapper().listByFilter(companyPO, orderSql); - //TODO new DetachUtil(user.getUID()).filterCompanyList(filterCompPOs); + new DetachUtil(user.getUID()).filterCompanyList(filterCompPOs); // 添加父级元素 List compListDTOS = CompanyBO.buildCompDTOList(allList, filterCompPOs); @@ -149,7 +131,7 @@ public class CompServiceImpl extends Service implements CompService { pageInfos.setPageNum(params.getCurrent()); pageInfos.setPageSize(params.getPageSize()); - OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompListDTO.class); + OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompanyListDTO.class); List columns = pageInfos.getColumns(); List weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); table.setColumns(weaTableColumn); @@ -173,49 +155,22 @@ public class CompServiceImpl extends Service implements CompService { } @Override - public int updateForbiddenTagById(CompSearchParam params) { + public int updateForbiddenTagById(CompanyParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - CompPO compPO = CompPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); + CompanyPO compPO = CompanyPO.builder().id(params.getId()).canceled(params.getCanceled() ? 0 : 1).build(); Map map = new HashMap<>(); - map.put("id", compPO.getId()); - map.put("forbiddenTag", compPO.getForbiddenTag()); + map.put("id", compPO.getId().toString()); + map.put("forbiddenTag", compPO.getCanceled()); new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.CANCELED, map).sync(); - return getCompMapper().updateForbiddenTagById(compPO); + return 1; } @Override public Long updateComp(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - CompSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), CompSearchParam.class); - String groupId = (String) params.get("viewCondition"); - if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { - String oldCompNo = getCompMapper().listById(searchParam.getId()).getCompNo(); - String compNo = searchParam.getCompNo(); - if (!compNo.equals(oldCompNo)) { - compNo = repeatDetermine(compNo); - params.put("comp_no", compNo); - } - // 上级分部 - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - Long parent_company = Objects.requireNonNull(EcHrmRelationUtil.getJclCompanyId(ecCompany)).getId(); - // 上级分部不能选择本身 - OrganizationAssert.isFalse(parent_company.equals(searchParam.getId()), "上级分部不能选择本身"); - params.put("parent_company", parent_company); - } else { - params.put("parent_company", ""); - } - new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, params).sync(); - // 更新主表数据 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMP, params, "", searchParam.getId()); - } - - // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_COMPEXT, params, "", searchParam.getId()); - //更新明细表 - getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_COMPEXT_DT1, params, searchParam.getId()); - - return searchParam.getId(); + String ecCompanyId = Util.null2String(params.get("id")); + new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, params).sync(); + return Long.parseLong(ecCompanyId); } @Override @@ -489,31 +444,32 @@ public class CompServiceImpl extends Service implements CompService { * @return */ public static String repeatDetermine(String compNo) { - CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.SUBCOMPANY.getValue()); - if (StringUtils.isNotBlank(compNo)) { - compNo = CodeRuleUtil.generateCode(RuleCodeType.SUBCOMPANY, compNo); - List list = getCompMapper().listByNo(Util.null2String(compNo)); - OrganizationAssert.isEmpty(list, "编号不允许重复"); - } else { - OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); - compNo = autoCreateCompanyNo(); - } - return compNo; + //CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.SUBCOMPANY.getValue()); + //if (StringUtils.isNotBlank(compNo)) { + // compNo = CodeRuleUtil.generateCode(RuleCodeType.SUBCOMPANY, compNo); + // List list = getCompMapper().listByNo(Util.null2String(compNo)); + // OrganizationAssert.isEmpty(list, "编号不允许重复"); + //} else { + // OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); + // compNo = autoCreateCompanyNo(); + //} + //return compNo; + return ""; } - /** - * 自动编号处理 - * - * @return - */ - private static String autoCreateCompanyNo() { - String generateCode = CodeRuleUtil.generateCode(RuleCodeType.SUBCOMPANY, ""); - List list = getCompMapper().listByNo(Util.null2String(generateCode)); - if (CollectionUtils.isNotEmpty(list)) { - generateCode = autoCreateCompanyNo(); - } - return generateCode; - } + ///** + // * 自动编号处理 + // * + // * @return + // */ + //private static String autoCreateCompanyNo() { + // String generateCode = CodeRuleUtil.generateCode(RuleCodeType.SUBCOMPANY, ""); + // List list = getCompMapper().listByNo(Util.null2String(generateCode)); + // if (CollectionUtils.isNotEmpty(list)) { + // generateCode = autoCreateCompanyNo(); + // } + // return generateCode; + //} /** * 添加子元素ID diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index bb3bab40..ca5a1514 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -1,6 +1,5 @@ package com.engine.organization.service.impl; -import com.alibaba.fastjson.JSONObject; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; @@ -13,8 +12,8 @@ import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.bo.CompBO; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.bo.CompanyBO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.dto.DepartmentListDTO; import com.engine.organization.entity.department.param.*; @@ -31,7 +30,7 @@ import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtDTMapper; import com.engine.organization.mapper.extend.ExtMapper; @@ -111,8 +110,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return MapperProxyFactory.getProxy(JobMapper.class); } - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); + private CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); } private ExtendTitleMapper getExtendTitleMapper() { @@ -218,44 +217,45 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public Long saveBaseForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - String deptNo = (String) params.get("dept_no"); - // 判断是否开启自动编号 - deptNo = repeatDetermine(deptNo); - params.put("dept_no", deptNo); - if (StringUtils.isBlank(Util.null2String(params.get("show_order")))) { - Integer maxShowOrder = getDepartmentMapper().getMaxShowOrder(); - if (null == maxShowOrder) { - maxShowOrder = 0; - } - params.put("show_order", maxShowOrder + 1); - } - // 上级分部 - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); - if (null != jclCompanyId) { - params.put("parent_comp", jclCompanyId.getId()); - } - } - // 上级部门 - String ecDepartment = Util.null2String(params.get("ec_department")); - if (StringUtils.isNotBlank(ecDepartment)) { - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); - if (null != jclDepartmentId) { - params.put("parent_dept", jclDepartmentId.getId()); - // 部门不为空,自动指定所属分部 - params.put("parent_comp", jclDepartmentId.getParentComp()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); - } - - } - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, params).sync(); - String ecCompanyID = Util.null2String(syncMap.get("id")); - OrganizationAssert.isTrue(StringUtils.isNotBlank(ecCompanyID), syncMap.get("message").toString()); - // 查询UUID - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecCompanyID); - params.put("uuid", recordInfo.getUuid()); - return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", null); + //String deptNo = (String) params.get("dept_no"); + //// 判断是否开启自动编号 + //deptNo = repeatDetermine(deptNo); + //params.put("dept_no", deptNo); + //if (StringUtils.isBlank(Util.null2String(params.get("show_order")))) { + // Integer maxShowOrder = getDepartmentMapper().getMaxShowOrder(); + // if (null == maxShowOrder) { + // maxShowOrder = 0; + // } + // params.put("show_order", maxShowOrder + 1); + //} + //// 上级分部 + //String ecCompany = Util.null2String(params.get("ec_company")); + //if (StringUtils.isNotBlank(ecCompany)) { + // CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); + // if (null != jclCompanyId) { + // params.put("parent_comp", jclCompanyId.getId()); + // } + //} + //// 上级部门 + //String ecDepartment = Util.null2String(params.get("ec_department")); + //if (StringUtils.isNotBlank(ecDepartment)) { + // DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); + // if (null != jclDepartmentId) { + // params.put("parent_dept", jclDepartmentId.getId()); + // // 部门不为空,自动指定所属分部 + // params.put("parent_comp", jclDepartmentId.getParentComp()); + // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); + // } + // + //} + //Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, params).sync(); + //String ecCompanyID = Util.null2String(syncMap.get("id")); + //OrganizationAssert.isTrue(StringUtils.isNotBlank(ecCompanyID), syncMap.get("message").toString()); + //// 查询UUID + //RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecCompanyID); + //params.put("uuid", recordInfo.getUuid()); + //return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", null); + return 1L; } @Override @@ -278,60 +278,61 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public Long updateForm(Map params) { - HasRightUtil.hasRight(user, RIGHT_NAME, false); - DeptSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), DeptSearchParam.class); - String groupId = (String) params.get("viewCondition"); - if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { - DepartmentPO oldDept = getDepartmentMapper().getDeptById(searchParam.getId()); - String deptNo = searchParam.getDeptNo(); - if (!deptNo.equals(oldDept.getDeptNo())) { - deptNo = repeatDetermine(deptNo); - params.put("dept_no", deptNo); - } - // 上级分部 - String ecCompany = Util.null2String(params.get("ec_company")); - if (StringUtils.isNotBlank(ecCompany)) { - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); - if (null != jclCompanyId) { - params.put("parent_comp", jclCompanyId.getId()); - } - } - // 上级部门 - String ecDepartment = Util.null2String(params.get("ec_department")); - if (StringUtils.isNotBlank(ecDepartment)) { - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); - if (null != jclDepartmentId) { - // 上级部门不能选择本身 - OrganizationAssert.isFalse(jclDepartmentId.getId().equals(searchParam.getId()), "上级部门不能选择本身"); - params.put("parent_dept", jclDepartmentId.getId()); - // 部门不为空,自动指定所属分部 - params.put("parent_comp", jclDepartmentId.getParentComp()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); - } - - } else { - params.put("parent_dept", ""); - } - new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); - // 更新主表数据 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", searchParam.getId()); - - DepartmentPO newDeptById = getDepartmentMapper().getDeptById(searchParam.getId()); - new DepartmentTriggerRunnable(oldDept, newDeptById).run(); - - Long parentComp = StringUtils.isNotEmpty(Util.null2String(params.get("parent_comp"))) ? Long.parseLong(Util.null2String(params.get("parent_comp"))) : null; - // 刷新岗位所属分部 - refreshJobComp(searchParam.getId(), parentComp); - List childList = getDepartmentMapper().getDeptListByPId(searchParam.getId()); - String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentComp)); - forbiddenChildTag(parentComp, ecCompanyId, childList); - } - // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPTEXT, params, "", searchParam.getId()); - //更新明细表 - getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_DEPTEXT_DT1, params, searchParam.getId()); - - return searchParam.getId(); + //HasRightUtil.hasRight(user, RIGHT_NAME, false); + //DeptSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), DeptSearchParam.class); + //String groupId = (String) params.get("viewCondition"); + //if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { + // DepartmentPO oldDept = getDepartmentMapper().getDeptById(searchParam.getId()); + // String deptNo = searchParam.getDeptNo(); + // if (!deptNo.equals(oldDept.getDeptNo())) { + // deptNo = repeatDetermine(deptNo); + // params.put("dept_no", deptNo); + // } + // // 上级分部 + // String ecCompany = Util.null2String(params.get("ec_company")); + // if (StringUtils.isNotBlank(ecCompany)) { + // CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); + // if (null != jclCompanyId) { + // params.put("parent_comp", jclCompanyId.getId()); + // } + // } + // // 上级部门 + // String ecDepartment = Util.null2String(params.get("ec_department")); + // if (StringUtils.isNotBlank(ecDepartment)) { + // DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); + // if (null != jclDepartmentId) { + // // 上级部门不能选择本身 + // OrganizationAssert.isFalse(jclDepartmentId.getId().equals(searchParam.getId()), "上级部门不能选择本身"); + // params.put("parent_dept", jclDepartmentId.getId()); + // // 部门不为空,自动指定所属分部 + // params.put("parent_comp", jclDepartmentId.getParentComp()); + // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); + // } + // + // } else { + // params.put("parent_dept", ""); + // } + // new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); + // // 更新主表数据 + // getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", searchParam.getId()); + // + // DepartmentPO newDeptById = getDepartmentMapper().getDeptById(searchParam.getId()); + // new DepartmentTriggerRunnable(oldDept, newDeptById).run(); + // + // Long parentComp = StringUtils.isNotEmpty(Util.null2String(params.get("parent_comp"))) ? Long.parseLong(Util.null2String(params.get("parent_comp"))) : null; + // // 刷新岗位所属分部 + // refreshJobComp(searchParam.getId(), parentComp); + // List childList = getDepartmentMapper().getDeptListByPId(searchParam.getId()); + // String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentComp)); + // forbiddenChildTag(parentComp, ecCompanyId, childList); + //} + //// 更新主表拓展表 + //getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPTEXT, params, "", searchParam.getId()); + ////更新明细表 + //getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_DEPTEXT_DT1, params, searchParam.getId()); + // + //return searchParam.getId(); + return 1L; } @Override @@ -451,10 +452,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Map params = new HashMap<>(); // 分部 if (StringUtils.isNotBlank(Util.null2String(param.getSubcompanyid1()))) { - CompPO compPO = getCompMapper().listById(param.getSubcompanyid1()); - if (null != compPO) { - params.put("parent_comp", compPO.getId()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(compPO.getId().toString())); + CompanyPO companyPO = getCompanyMapper().listById(param.getSubcompanyid1()); + if (null != companyPO) { + params.put("parent_comp", companyPO.getId()); + params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(companyPO.getId().toString())); } } // 部门 @@ -521,19 +522,19 @@ public class DepartmentServiceImpl extends Service implements DepartmentService maxShowOrder = null == maxShowOrder ? 0 : maxShowOrder; for (Long departmentId : idList) { // 复制当前部门 - recursionCopyDept(departmentId, null, Long.parseLong(copyParam.getCompany()), maxShowOrder, copyParam.getCopyJob(), copyParam.getCopySubDept(), copyParam.getCopySubJob()); + recursionCopyDept(departmentId, null,Integer.parseInt(copyParam.getCompany()), maxShowOrder, copyParam.getCopyJob(), copyParam.getCopySubDept(), copyParam.getCopySubJob()); } return insertCount; } - private void recursionCopyDept(Long originalDeptId, Long parentDepartmentId, Long companyId, Integer maxShowOrder, String copyJob, String copySubDept, String copySubJob) { + private void recursionCopyDept(Long originalDeptId, Long parentDepartmentId, Integer companyId, Integer maxShowOrder, String copyJob, String copySubDept, String copySubJob) { // 源部门 DepartmentPO deptById = getDepartmentMapper().getDeptById(originalDeptId); long timeMillis = System.currentTimeMillis(); // 处理自动编号 deptById.setDeptNo(CodeRuleUtil.generateCode(RuleCodeType.DEPARTMENT, deptById.getDeptNo(), timeMillis)); // 设置上级分部 - deptById.setParentComp(EcHrmRelationUtil.getJclCompanyId(Util.null2String(companyId)).getId()); + deptById.setParentComp(companyId); deptById.setEcCompany(companyId); deptById.setParentDept(parentDepartmentId); if (null != parentDepartmentId) { @@ -718,10 +719,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService DepartmentPO deptById = getDepartmentMapper().getDeptById(moveParam.getId()); // 0:公司/分部 1:部门 if ("0".equals(moveParam.getMoveType())) { - Long company = moveParam.getCompany(); + Integer company = moveParam.getCompany(); OrganizationAssert.notNull(company, "请选择要转移到的分部"); deptById.setEcCompany(company); - deptById.setParentComp(Objects.requireNonNull(EcHrmRelationUtil.getJclCompanyId(Util.null2String(company))).getId()); + deptById.setParentComp(company); deptById.setParentDept(null); deptById.setEcDepartment(null); @@ -775,11 +776,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentComp * @param deptList */ - void forbiddenChildTag(Long parentComp, String ecCompanyId, List deptList) { + void forbiddenChildTag(Integer parentComp, String ecCompanyId, List deptList) { if (CollectionUtils.isNotEmpty(deptList)) { for (DepartmentPO departmentPO : deptList) { departmentPO.setParentComp(parentComp); - departmentPO.setEcCompany(Long.parseLong(ecCompanyId)); + departmentPO.setEcCompany(Integer.parseInt(ecCompanyId)); // 更新EC表部门 updateEcDepartment(departmentPO); @@ -832,20 +833,20 @@ public class DepartmentServiceImpl extends Service implements DepartmentService */ private List getFilterCompany(String id, String keyword) { // 查询部门信息 - Long parentCompId = StringUtil.isEmpty(id) ? null : Long.parseLong(id); - CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).forbiddenTag(0).build(); - List allCompanys = getCompMapper().list("show_order"); + Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); + CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); + List allCompanys = getCompanyMapper().listAll("show_order"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - List filterComps = getCompMapper().listByFilter(compBuild, "show_order"); + List filterComps = getCompanyMapper().listByFilter(compBuild, "show_order"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); - Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); - Set builderComps = new HashSet<>(); - for (CompPO compPO : filterComps) { - buildParentComps(compPO, builderComps, allMaps); + Set builderComps = new HashSet<>(); + for (CompanyPO companyPO : filterComps) { + buildParentComps(companyPO, builderComps, allMaps); } - return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps)); + return SearchTreeUtil.builderTreeMode(CompanyBO.buildSetToSearchTree(builderComps)); } @@ -855,10 +856,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param compPO * @param builderComps */ - private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { + private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); - CompPO parentComp = allMaps.get(compPO.getParentCompany()); - if (null != parentComp && 0 == parentComp.getForbiddenTag()) { + CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); + if (null != parentComp && 0 == parentComp.getCanceled()) { buildParentComps(parentComp, builderComps, allMaps); } } @@ -903,7 +904,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentDeptId * @param orderNum */ - private void recursionCopyJob(List jobPOS, Long parentCompId, Long parentDeptId, Long currentParentJobId, int orderNum, long timeMillis) { + private void recursionCopyJob(List jobPOS, Integer parentCompId, Long parentDeptId, Long currentParentJobId, int orderNum, long timeMillis) { for (JobPO jobPO : jobPOS) { orderNum++; @@ -921,10 +922,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } // 所属分部赋值 jobPO.setEcCompany(parentCompId); - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(parentCompId)); - if (null != jclCompanyId) { - jobPO.setParentComp(jclCompanyId.getId()); - } + jobPO.setParentComp(parentCompId); + // 指定上级岗位 jobPO.setParentJob(currentParentJobId); jobPO.setCreator((long) user.getUID()); @@ -1004,7 +1003,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentDepartment * @param parentComp */ - private void refreshJobComp(Long parentDepartment, Long parentComp) { + private void refreshJobComp(Long parentDepartment, Integer parentComp) { List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(jobPOS)) { diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 5f6fd416..1c4ba90a 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -14,8 +14,8 @@ import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.bo.CompBO; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.bo.CompanyBO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.po.ExtendTitlePO; @@ -32,7 +32,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; @@ -149,8 +149,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(DepartmentMapper.class); } - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); + private CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); } private JobMapper getJobMapper() { @@ -541,9 +541,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List searchTree = new ArrayList<>(); // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { - Long parentCompId = StringUtil.isEmpty(id) ? null : Long.parseLong(id); + Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentComp(parentCompId).build(); - CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).build(); + CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId.intValue()).build(); // 所属分部下的岗位 JobPO jobBuild = JobPO.builder().jobName(keyword).parentComp(parentCompId).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild, jobBuild); @@ -574,7 +574,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @param jobBuild * @return */ - private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompPO compBuild, JobPO jobBuild) { + private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompanyPO compBuild, JobPO jobBuild) { List jobPOS = getJobMapper().listPOsByFilter(jobBuild); new DetachUtil(user.getUID()).filterJobList(jobPOS); List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "show_order"); @@ -607,7 +607,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } // 查询分部信息 - List filterComps = getCompMapper().listByFilter(compBuild, "show_order"); + List filterComps = getCompanyMapper().listByFilter(compBuild, "show_order"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -619,19 +619,19 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 添加部门的上级分部 String parentCompS = deptTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentCompS)) { - List compsByIds = getCompMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); + List compsByIds = getCompanyMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); if (CollectionUtils.isNotEmpty(compsByIds)) { filterComps.addAll(compsByIds); } } - List allCompanys = getCompMapper().list("show_order"); + List allCompanys = getCompanyMapper().listAll("show_order"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); - Set builderComps = new HashSet<>(); - for (CompPO compPO : filterComps) { + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); + Set builderComps = new HashSet<>(); + for (CompanyPO compPO : filterComps) { buildParentComps(compPO, builderComps, allMaps); } - return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), searchTrees); + return SearchTreeUtil.builderTreeMode(CompanyBO.buildSetToSearchTree(builderComps), searchTrees); } private List buildTreeByDeptAndJob(DepartmentPO departmentBuild, JobPO jobBuild) { @@ -704,9 +704,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @param compPO * @param builderComps */ - private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { + private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); - CompPO parentComp = allMaps.get(compPO.getParentCompany()); + CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); if (null != parentComp) { buildParentComps(parentComp, builderComps, allMaps); } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index f2ab24a5..9ccd1817 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -22,7 +22,7 @@ import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.enums.OrgImportEnum; import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.extend.ExtMapper; @@ -715,7 +715,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (int index = 0; index < split.length - 1; index++) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId.intValue()); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(split[index] + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -745,7 +745,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } String compNo = (String) map.get("comp_no"); - Long companyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId); + Long companyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId.intValue()); if ("add".equals(operateType)) { if (companyId != null) { historyDetailPO.setOperateDetail("数据已存在"); @@ -772,7 +772,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } String showOrder = Util.null2String(map.get("show_order")); if (StringUtils.isBlank(showOrder)) { - Integer maxShowOrder = MapperProxyFactory.getProxy(CompMapper.class).getMaxShowOrder(); + Integer maxShowOrder = MapperProxyFactory.getProxy(CompanyMapper.class).getMaxShowOrder(); if (null == maxShowOrder) { maxShowOrder = 0; } @@ -788,7 +788,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_COMP").params(map).build(); MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams); // 刷新组织架构图 - new CompanyTriggerRunnable(infoParams.getId()).run(); + //TODO new CompanyTriggerRunnable(infoParams.getId()).run(); historyDetailPO.setOperateDetail("添加成功"); historyDetailPO.setStatus("1"); } else { @@ -813,7 +813,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.remove("id"); MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(companyId).tableName("JCL_ORG_COMP").params(map).build()); // 刷新组织架构图 - new CompanyTriggerRunnable(companyId).run(); + //TODO new CompanyTriggerRunnable(companyId).run(); historyDetailPO.setOperateDetail("更新成功"); historyDetailPO.setStatus("1"); } else { @@ -924,7 +924,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -1162,7 +1162,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -1426,7 +1426,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -2026,7 +2026,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (null != extendType) { switch (extendType.toString()) { case "1": - return 0 == MapperProxyFactory.getProxy(CompMapper.class).checkRepeatNo(no, id); + // return 0 == MapperProxyFactory.getProxy(CompMapper.class).checkRepeatNo(no, id); case "2": return 0 == MapperProxyFactory.getProxy(DepartmentMapper.class).checkRepeatNo(no, id); case "3": diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 44f6e191..bbc53f53 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -15,8 +15,8 @@ import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.bo.CompBO; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.bo.CompanyBO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.employee.vo.EmployeeTableVO; @@ -33,7 +33,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtDTMapper; import com.engine.organization.mapper.extend.ExtMapper; @@ -117,8 +117,8 @@ public class JobServiceImpl extends Service implements JobService { return MapperProxyFactory.getProxy(JobMapper.class); } - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); + private CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); } private DepartmentMapper getDepartmentMapper() { @@ -275,7 +275,7 @@ public class JobServiceImpl extends Service implements JobService { Map params = new HashMap<>(); // 分部 if (StringUtils.isNotBlank(Util.null2String(param.getSubcompanyid1()))) { - CompPO compPO = getCompMapper().listById(param.getSubcompanyid1()); + CompanyPO compPO = getCompanyMapper().listById(param.getSubcompanyid1()); if (null != compPO) { params.put("parent_comp", compPO.getId()); params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(compPO.getId().toString())); @@ -600,7 +600,7 @@ public class JobServiceImpl extends Service implements JobService { } - void recursionMergeJob(List jobs, Long parentCompany, Long ecCompany, Long parentDepartment, Long ecDepartment, Long parentJob) { + void recursionMergeJob(List jobs, Integer parentCompany, Integer ecCompany, Long parentDepartment, Long ecDepartment, Long parentJob) { for (JobPO job : jobs) { job.setParentComp(parentCompany); job.setEcCompany(ecCompany); @@ -642,10 +642,10 @@ public class JobServiceImpl extends Service implements JobService { * @param compPO * @param builderComps */ - private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { + private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); - CompPO parentComp = allMaps.get(compPO.getParentCompany()); - if (null != parentComp && 0 == parentComp.getForbiddenTag()) { + CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); + if (null != parentComp && 0 == parentComp.getCanceled()) { buildParentComps(parentComp, builderComps, allMaps); } } @@ -662,9 +662,9 @@ public class JobServiceImpl extends Service implements JobService { List searchTree = new ArrayList<>(); // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { - Long parentCompId = StringUtil.isEmpty(id) ? null : Long.parseLong(id); + Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentComp(parentCompId).forbiddenTag(0).build(); - CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).forbiddenTag(0).build(); + CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild); } else if (TYPE_DEPT.equals(type)) { // @@ -687,11 +687,11 @@ public class JobServiceImpl extends Service implements JobService { * @param compBuild * @return */ - private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompPO compBuild) { + private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompanyPO compBuild) { List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "show_order"); new DetachUtil(user.getUID()).filterDepartmentList(filterDeparts); // 查询分部信息 - List filterComps = getCompMapper().listByFilter(compBuild, "show_order"); + List filterComps = getCompanyMapper().listByFilter(compBuild, "show_order"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -701,19 +701,19 @@ public class JobServiceImpl extends Service implements JobService { // 添加部门的上级分部 String parentCompS = deptTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentCompS)) { - List compsByIds = getCompMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); + List compsByIds = getCompanyMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); if (CollectionUtils.isNotEmpty(compsByIds)) { filterComps.addAll(compsByIds); } } - List allCompanys = getCompMapper().list("show_order"); + List allCompanys = getCompanyMapper().listAll("show_order"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); - Set builderComps = new HashSet<>(); - for (CompPO compPO : filterComps) { + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); + Set builderComps = new HashSet<>(); + for (CompanyPO compPO : filterComps) { buildParentComps(compPO, builderComps, allMaps); } - return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), deptTrees); + return SearchTreeUtil.builderTreeMode(CompanyBO.buildSetToSearchTree(builderComps), deptTrees); } @@ -774,30 +774,6 @@ public class JobServiceImpl extends Service implements JobService { return generateCode; } - /** - * 获取所有子部门id - * - * @param parentComp - * @param parentDept - * @param jobList - */ - void forbiddenChildTag(Long parentComp, Long parentDept, Long parentJob, List jobList) { - if (CollectionUtils.isNotEmpty(jobList)) { - for (JobPO job : jobList) { - job.setParentComp(parentComp); - job.setParentDept(parentDept); - job.setParentJob(parentJob); - job.setForbiddenTag(1); - new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, job).sync(); - getJobMapper().updateBaseJob(job); - // 更新组织架构图 - new JobTriggerRunnable(job.getId()).run(); - List childJobs = getJobMapper().getJobsByPid(job.getId()); - forbiddenChildTag(parentComp, parentDept, job.getId(), childJobs); - } - } - } - /** * 添加子元素ID * @@ -879,9 +855,9 @@ public class JobServiceImpl extends Service implements JobService { // 更新岗位下的人员 Long originalJobId = originalJob.getId(); Long targetJobId = targetJob.getId(); - Long parentComp = targetJob.getParentComp(); + Integer parentComp = targetJob.getParentComp(); Long parentDept = targetJob.getParentDept(); - Long ecCompany = targetJob.getEcCompany(); + Integer ecCompany = targetJob.getEcCompany(); Long ecDepartment = targetJob.getEcDepartment(); List resourceList = getResourceMapper().getResourceListByJobId(originalJobId); getResourceMapper().updateResourceJob(originalJobId, targetJobId, parentComp, parentDept, ecCompany, ecDepartment); diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java index fd3c2307..e40644b0 100644 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -20,7 +20,6 @@ import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.relation.EcHrmRelationUtil; import com.weaver.file.ConfigOperator; import com.weaver.general.BaseBean; import org.apache.commons.collections.CollectionUtils; @@ -125,7 +124,6 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe .ecManager(param.getEcManager()) .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) .ecRolelevel(param.getEcRolelevel()) - .jclRolelevel(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel()) != null ? String.valueOf(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel())) : null) .manageModule("组织管理") .creator((long)user.getUID()) .deleteType(0) @@ -143,7 +141,6 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe .ecManager(param.getEcManager()) .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) .ecRolelevel(param.getEcRolelevel()) - .jclRolelevel(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel()) != null ? String.valueOf(EcHrmRelationUtil.getBatchJclCompanyId(param.getEcRolelevel())) : null) .build(); return getMangeDetachMapper().updateDetach(managerDetachPO); } diff --git a/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java b/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java index 2775b5fe..0a4accc1 100644 --- a/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffPlanServiceImpl.java @@ -6,19 +6,16 @@ import com.api.browser.bean.SearchConditionOption; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.staff.bo.StaffPlanBO; import com.engine.organization.entity.staff.param.StaffPlanSearchParam; import com.engine.organization.entity.staff.po.StaffPlanPO; import com.engine.organization.entity.staff.vo.StaffPlanTableVO; -import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.staff.StaffPlanMapper; import com.engine.organization.service.StaffPlanService; import com.engine.organization.util.*; import com.engine.organization.util.browser.OrganizationBrowserUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.lang3.StringUtils; import weaver.common.DateUtil; import weaver.conn.RecordSet; @@ -40,11 +37,7 @@ public class StaffPlanServiceImpl extends Service implements StaffPlanService { private StaffPlanMapper getStaffPlanMapper() { return MapperProxyFactory.getProxy(StaffPlanMapper.class); } - - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); - } - + @Override public Map listPage(StaffPlanSearchParam params) { Map resultMap = new HashMap<>(); @@ -74,7 +67,7 @@ public class StaffPlanServiceImpl extends Service implements StaffPlanService { // 结束时间大于开始时间 StaffPlanPO staffPlanPO = StaffPlanBO.convertParamToPO(param, (long) user.getUID()); // 多选赋值 - staffPlanPO.setCompanyId(getJclCompanyIdsByEcIds(staffPlanPO.getEcCompany())); + staffPlanPO.setCompanyId(staffPlanPO.getEcCompany()); String timeStart = param.getTimeStart(); String timeEnd = param.getTimeEnd(); Date startDate = DateUtil.parseToDate(timeStart); @@ -100,7 +93,7 @@ public class StaffPlanServiceImpl extends Service implements StaffPlanService { Date endDate = DateUtil.parseToDate(timeEnd); OrganizationAssert.isFalse(startDate.after(endDate), "开始时间不允许在结束时间之后"); // 多选赋值 - staffPlanPO.setCompanyId(getJclCompanyIdsByEcIds(staffPlanPO.getEcCompany())); + staffPlanPO.setCompanyId(staffPlanPO.getEcCompany()); return getStaffPlanMapper().updateStaffPlan(staffPlanPO); } @@ -285,18 +278,4 @@ public class StaffPlanServiceImpl extends Service implements StaffPlanService { } return sqlWhere; } - - private String getJclCompanyIdsByEcIds(String ecIds) { - List jclCompanyIds = new ArrayList<>(); - String[] split = ecIds.split(","); - for (String s : split) { - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(s); - if (null != jclCompanyId) { - jclCompanyIds.add(jclCompanyId.getId().toString()); - } - } - return StringUtils.join(jclCompanyIds, ","); - } - - } diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index 11fb24c3..5d29a827 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -10,7 +10,6 @@ import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.browser.po.CustomBrowserBean; -import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.staff.bo.StaffBO; @@ -19,8 +18,6 @@ import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPlanPO; import com.engine.organization.entity.staff.po.StaffsPO; import com.engine.organization.entity.staff.vo.StaffTableVO; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.mapper.staff.StaffPlanMapper; @@ -64,14 +61,6 @@ public class StaffServiceImpl extends Service implements StaffService { return MapperProxyFactory.getProxy(StaffPlanMapper.class); } - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); - } - - private DepartmentMapper getDepartmentMapper() { - return MapperProxyFactory.getProxy(DepartmentMapper.class); - } - private JobMapper getJobMapper() { return MapperProxyFactory.getProxy(JobMapper.class); } @@ -373,7 +362,7 @@ public class StaffServiceImpl extends Service implements StaffService { } else { sqlWhere = " where 1 = 2 "; } - Long compId = param.getCompId(); + Integer compId = param.getCompId(); if (null != compId) { sqlWhere += " AND t.comp_id = '" + compId + "'"; } @@ -381,7 +370,7 @@ public class StaffServiceImpl extends Service implements StaffService { if (null != deptId) { sqlWhere += " AND t.dept_id = '" + deptId + "'"; } - Long ecCompany = param.getEcCompany(); + Integer ecCompany = param.getEcCompany(); if (null != ecCompany) { sqlWhere += " AND t.ec_company = '" + ecCompany + "'"; } @@ -440,10 +429,7 @@ public class StaffServiceImpl extends Service implements StaffService { switch (staffPlanByID.getControlDimension()) { case "1":// 分部 OrganizationAssert.notNull(staffPO.getEcCompany(), "编制维度选择分部时,分部必填!"); - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(Util.null2String(staffPO.getEcCompany())); - if (null != jclCompanyId) { - staffPO.setCompId(jclCompanyId.getId()); - } + staffPO.setCompId(staffPO.getEcCompany()); break; case "2":// 部门 OrganizationAssert.notNull(staffPO.getEcDepartment(), "编制维度选择部门时,部门必填!"); diff --git a/src/com/engine/organization/thread/CompanyTriggerRunnable.java b/src/com/engine/organization/thread/CompanyTriggerRunnable.java index 278ba515..5c094f08 100644 --- a/src/com/engine/organization/thread/CompanyTriggerRunnable.java +++ b/src/com/engine/organization/thread/CompanyTriggerRunnable.java @@ -1,159 +1,140 @@ package com.engine.organization.thread; -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; -import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.entity.personnelcard.UserCard; -import com.engine.organization.entity.staff.po.StaffPO; -import com.engine.organization.enums.ModuleTypeEnum; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.staff.StaffMapper; -import com.engine.organization.mapper.trigger.CompTriggerMapper; -import com.engine.organization.util.OrganizationDateUtil; -import com.engine.organization.util.db.MapperProxyFactory; -import weaver.common.DateUtil; - -import java.sql.Date; -import java.util.Calendar; - /** * @author:dxfeng * @createTime: 2022/08/30 * @version: 1.0 */ -public class CompanyTriggerRunnable implements Runnable { - - private final CompPO oldCompany; - private final CompPO newCompany; - - private CompTriggerMapper getCompTriggerMapper() { - return MapperProxyFactory.getProxy(CompTriggerMapper.class); - } - - public CompanyTriggerRunnable(CompPO oldCompany, CompPO newCompany) { - this.oldCompany = oldCompany; - this.newCompany = newCompany; - } - - public CompanyTriggerRunnable(Long companyId) { - this.oldCompany = new CompPO(); - this.newCompany = MapperProxyFactory.getProxy(CompMapper.class).listById(companyId); - } - - public CompanyTriggerRunnable(CompPO newCompany) { - this.oldCompany = new CompPO(); - this.newCompany = newCompany; - this.newCompany.setDeleteType(1); - } - - @Override - public void run() { - // 判断 - JclOrgMap jclMap = new JclOrgMap(); - - jclMap.setFType(1); - // 更新逻辑 - jclMap.setFObjId(newCompany.getId().intValue()); - jclMap.setId(newCompany.getId().intValue()); - jclMap.setUuid(newCompany.getUuid()); - jclMap.setFNumber(newCompany.getCompNo()); - jclMap.setFName(newCompany.getCompName()); - jclMap.setFParentId(null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue()); - jclMap.setFObjParentId(null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue()); - jclMap.setFEcId(getCompTriggerMapper().getEcCompanyIdByUuid(jclMap.getUuid())); - - - jclMap.setFClass(0); - jclMap.setFClassName("行政维度"); - - Integer ecResourceId = newCompany.getCompPrincipal(); - HrmResourcePO hrmResourcePO = getCompTriggerMapper().getResourceByEcId(ecResourceId); - if (null != hrmResourcePO) { - jclMap.setFLeader(hrmResourcePO.getId().intValue()); - jclMap.setFLeaderName(hrmResourcePO.getLastName()); - jclMap.setFLeaderJobId(hrmResourcePO.getJobTitle().intValue()); - jclMap.setFLeaderSt(hrmResourcePO.getJobGrade()); - jclMap.setFLeaderLv(hrmResourcePO.getJobLevel()); - String image = UserCard.builder().image(hrmResourcePO.getResourceImageId()).build().getImage(); - jclMap.setFLeaderImg(image); - if (null != hrmResourcePO.getJobTitle()) { - JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResourcePO.getJobTitle()); - if (null != jobById) { - jclMap.setFLeaderJob(jobById.getJobName()); - } - } - } - - - String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); - jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); - jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - - StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(jclMap.getFType(), jclMap.getFObjId().toString(), null, null); - JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.subcompanyfielddefined.getValue().toString(), jclMap.getFObjId().toString()); - if (null != jclOrgMapByObjID) { - jclMap.setFPlan(jclOrgMapByObjID.getFPlan()); - jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); - } else { - jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - jclMap.setFOnJob(0); - } - jclMap.setFIsVitual(0); - - Calendar cal = Calendar.getInstance(); - cal.setTime(jclMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); - getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); - - if (1 != newCompany.getDeleteType() && 1 != newCompany.getForbiddenTag()) { - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); - } - if (null != jclOrgMapByObjID) { - if (null != jclOrgMapByObjID.getFParentId()) { - updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString()); - } - } - if (null != oldCompany) { - if (null != oldCompany.getId()) { - updateParentPlanAndJob(jclMap.getFDateBegin(), oldCompany.getId().toString()); - } - } - } - - /** - * 更新上级部门在编、在岗数 - */ - void updateParentPlanAndJob(Date currentDate, String parentId) { - JclOrgMap parentJclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapById(currentDate, parentId); - if (null != parentJclOrgMap) { - // 上级部门当前在编、在岗数 - JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); - StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(parentJclOrgMap.getFType(), parentId, null, null); - if (null != jclOrgMapSum) { - parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); - parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); - } else { - parentJclOrgMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - parentJclOrgMap.setFOnJob(0); - } - parentJclOrgMap.setFDateBegin(currentDate); - parentJclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - - Calendar cal = Calendar.getInstance(); - cal.setTime(parentJclOrgMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getCompTriggerMapper().deleteMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin()); - getCompTriggerMapper().updateMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin(), time); - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(parentJclOrgMap); - if (null != parentJclOrgMap.getFParentId() && -1 != parentJclOrgMap.getFParentId()) { - updateParentPlanAndJob(currentDate, parentJclOrgMap.getFParentId().toString()); - } - } - } -} +//public class CompanyTriggerRunnable implements Runnable { +// +// private final CompPO oldCompany; +// private final CompPO newCompany; +// +// private CompTriggerMapper getCompTriggerMapper() { +// return MapperProxyFactory.getProxy(CompTriggerMapper.class); +// } +// +// public CompanyTriggerRunnable(CompPO oldCompany, CompPO newCompany) { +// this.oldCompany = oldCompany; +// this.newCompany = newCompany; +// } +// +// public CompanyTriggerRunnable(Long companyId) { +// this.oldCompany = new CompPO(); +// this.newCompany = MapperProxyFactory.getProxy(CompMapper.class).listById(companyId); +// } +// +// public CompanyTriggerRunnable(CompPO newCompany) { +// this.oldCompany = new CompPO(); +// this.newCompany = newCompany; +// this.newCompany.setDeleteType(1); +// } +// +// @Override +// public void run() { +// // 判断 +// JclOrgMap jclMap = new JclOrgMap(); +// +// jclMap.setFType(1); +// // 更新逻辑 +// jclMap.setFObjId(newCompany.getId().intValue()); +// jclMap.setId(newCompany.getId().intValue()); +// jclMap.setUuid(newCompany.getUuid()); +// jclMap.setFNumber(newCompany.getCompNo()); +// jclMap.setFName(newCompany.getCompName()); +// jclMap.setFParentId(null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue()); +// jclMap.setFObjParentId(null == newCompany.getParentCompany() ? 0 : newCompany.getParentCompany().intValue()); +// jclMap.setFEcId(getCompTriggerMapper().getEcCompanyIdByUuid(jclMap.getUuid())); +// +// +// jclMap.setFClass(0); +// jclMap.setFClassName("行政维度"); +// +// Integer ecResourceId = newCompany.getCompPrincipal(); +// HrmResourcePO hrmResourcePO = getCompTriggerMapper().getResourceByEcId(ecResourceId); +// if (null != hrmResourcePO) { +// jclMap.setFLeader(hrmResourcePO.getId().intValue()); +// jclMap.setFLeaderName(hrmResourcePO.getLastName()); +// jclMap.setFLeaderJobId(hrmResourcePO.getJobTitle().intValue()); +// jclMap.setFLeaderSt(hrmResourcePO.getJobGrade()); +// jclMap.setFLeaderLv(hrmResourcePO.getJobLevel()); +// String image = UserCard.builder().image(hrmResourcePO.getResourceImageId()).build().getImage(); +// jclMap.setFLeaderImg(image); +// if (null != hrmResourcePO.getJobTitle()) { +// JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResourcePO.getJobTitle()); +// if (null != jobById) { +// jclMap.setFLeaderJob(jobById.getJobName()); +// } +// } +// } +// +// +// String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); +// jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); +// jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// +// StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(jclMap.getFType(), jclMap.getFObjId().toString(), null, null); +// JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.subcompanyfielddefined.getValue().toString(), jclMap.getFObjId().toString()); +// if (null != jclOrgMapByObjID) { +// jclMap.setFPlan(jclOrgMapByObjID.getFPlan()); +// jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); +// } else { +// jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// jclMap.setFOnJob(0); +// } +// jclMap.setFIsVitual(0); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(jclMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); +// +// if (1 != newCompany.getDeleteType() && 1 != newCompany.getForbiddenTag()) { +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); +// } +// if (null != jclOrgMapByObjID) { +// if (null != jclOrgMapByObjID.getFParentId()) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString()); +// } +// } +// if (null != oldCompany) { +// if (null != oldCompany.getId()) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), oldCompany.getId().toString()); +// } +// } +// } +// +// /** +// * 更新上级部门在编、在岗数 +// */ +// void updateParentPlanAndJob(Date currentDate, String parentId) { +// JclOrgMap parentJclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapById(currentDate, parentId); +// if (null != parentJclOrgMap) { +// // 上级部门当前在编、在岗数 +// JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); +// StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(parentJclOrgMap.getFType(), parentId, null, null); +// if (null != jclOrgMapSum) { +// parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); +// parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); +// } else { +// parentJclOrgMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// parentJclOrgMap.setFOnJob(0); +// } +// parentJclOrgMap.setFDateBegin(currentDate); +// parentJclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(parentJclOrgMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getCompTriggerMapper().deleteMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin(), time); +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(parentJclOrgMap); +// if (null != parentJclOrgMap.getFParentId() && -1 != parentJclOrgMap.getFParentId()) { +// updateParentPlanAndJob(currentDate, parentJclOrgMap.getFParentId().toString()); +// } +// } +// } +//} diff --git a/src/com/engine/organization/thread/OrganizationRunable.java b/src/com/engine/organization/thread/OrganizationRunable.java deleted file mode 100644 index 90689f41..00000000 --- a/src/com/engine/organization/thread/OrganizationRunable.java +++ /dev/null @@ -1,478 +0,0 @@ -package com.engine.organization.thread; - -import com.engine.common.util.ServiceUtil; -import com.engine.hrm.service.impl.HrmJobServiceImpl; -import com.engine.hrm.service.impl.OrganizationServiceImpl; -import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.entity.department.po.DepartmentPO; -import com.engine.organization.entity.extend.param.ExtendInfoParams; -import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.enums.LogModuleNameEnum; -import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.extend.ExtMapper; -import com.engine.organization.mapper.hrmresource.SystemDataMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.relation.EcHrmRelationUtil; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; -import weaver.general.Util; -import weaver.hrm.User; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @author:dxfeng - * @createTime: 2022/07/12 - * @version: 1.0 - */ -public class OrganizationRunable implements Runnable { - private LogModuleNameEnum moduleName; - private OperateTypeEnum operateType; - private Map params; - private User user; - private JobPO oldJobPO; - - private static final String HRM_COMPANY = "hrmsubcompany"; - private static final String HRM_DEPARTMENT = "hrmdepartment"; - - private static final String JCL_COMPANY = "jcl_org_comp"; - private static final String JCL_DEPARTMENT = "jcl_org_dept"; - - private SystemDataMapper getSystemDataMapper() { - return MapperProxyFactory.getProxy(SystemDataMapper.class); - } - - private ExtMapper getExtMapper() { - return MapperProxyFactory.getProxy(ExtMapper.class); - } - - public OrganizationRunable(User user, LogModuleNameEnum moduleName, OperateTypeEnum operateType, Map params) { - this.moduleName = moduleName; - this.operateType = operateType; - this.params = params; - this.user = user; - } - - public OrganizationRunable(User user, LogModuleNameEnum moduleName, OperateTypeEnum operateType, Map params, JobPO oldJobPO) { - this.moduleName = moduleName; - this.operateType = operateType; - this.params = params; - this.user = user; - this.oldJobPO = oldJobPO; - } - - - @Override - public void run() { - switch (moduleName) { - case COMPANY: - refreshCompany(); - break; - case DEPARTMENT: - refreshDepartment(); - break; - case JOB: - refreshJob(); - break; - default: - break; - } - } - - /** - * 刷新HrmSubCompany表数据 - */ - private void refreshCompany() { - switch (operateType) { - case ADD: - addCompany(); - break; - case UPDATE: - updateCompany(); - break; - case CANCELED: - cancelCompany(); - break; - default: - break; - } - } - - /** - * 刷新HrmDepartment表数据 - */ - private void refreshDepartment() { - switch (operateType) { - case ADD: - addDepartment(); - break; - case UPDATE: - updateDepartment(); - break; - case CANCELED: - cancelDepartment(); - break; - default: - break; - } - } - - private void refreshJob() { - switch (operateType) { - case ADD: - addJob(); - break; - case UPDATE: - updateJob(); - break; - case CANCELED: - cancelJob(); - break; - default: - break; - } - } - - /** - * 新增岗位 - * - *

- * 1、EC表HrmJobTitles - *

- * 2、系统中新建“聚才林”、“默认职务”(sql写入) - *

- * 3、检索岗位名称jobtitlename,如果已存在,判断是否封存,对已封存数据解封操作 - *

- * 4、如果不存在,在“聚才林--默认职务”下新建岗位 - */ - private void addJob() { - // 判断是否存在同名岗位、存在不做处理,不存在,在“默认职务分类--默认职务”下新建岗位 - String jobName = Util.null2String(params.get("job_name")); - RecordInfo hrmJobActivity = getSystemDataMapper().getHrmJobTitleByName(jobName); - Map map = new HashMap<>(); - //存在且已封存,对岗位解封 - if (null != hrmJobActivity && "1".equals(hrmJobActivity.getCanceled())) { - map.put("ids", hrmJobActivity.getId()); - map.put("canceled", "docanceled"); - ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - // 不存在则新建职务 - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", jobName); - map.put("jobtitlename", jobName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no"))); - - ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); - } - } - - /** - * 更新岗位 - */ - private void updateJob() { - Long jclJobId = oldJobPO.getId(); - String oldName = oldJobPO.getJobName(); - - String newName = Util.null2String(params.get("job_name")); - RecordInfo oldHrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); - - Map map = new HashMap<>(); - // 修改前不存在共用 - if (EcHrmRelationUtil.isNotExistJob(oldName, jclJobId)) { - // 修改后不存在共用、直接修改EC岗位表数据 - if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { - // 查询ec表ID - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); - map.put("id", Util.null2String(hrmJobTitle.getId())); - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", newName); - map.put("jobtitlename", newName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no"))); - // 修改岗位表数据 - ServiceUtil.getService(HrmJobServiceImpl.class, user).editJobTitle(map, user); - } else { - // 修改后存在共用、不修改岗位表数据,更新对应人员的岗位信息为当前岗位的ID - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); - // 查询原分部、原岗位下的人员,并更新岗位ID - List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getId()); - getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.getId()), hrmResourceIds); - // 封存原名称岗位 - map.clear(); - map.put("ids", oldHrmJobTitle.getId()); - map.put("canceled", "canceled"); - ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } - } else { - // 修改前存在共用,不对原有数据进行操作。 - - // 修改后不存在共用、新建岗位,更新原有岗位下人员的岗位ID - if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { - // 不存在则新建职务 - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", newName); - map.put("jobtitlename", newName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no"))); - ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); - // 新建岗位 - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); - // 查询原分部、原岗位下的人员,并更新岗位ID - List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getId()); - getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.getId()), hrmResourceIds); - } else { - // 修改后存在共用,更新原有岗位下人员的岗位ID - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); - // 查询原分部、原岗位下的人员,并更新岗位ID - List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getId()); - getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.getId()), hrmResourceIds); - } - } - } - - /** - * 封存、解封岗位 - */ - private void cancelJob() { - Map map = new HashMap<>(); - RecordInfo hrmJobTitleByName = getSystemDataMapper().getHrmJobTitleByName(oldJobPO.getJobName()); - if (0 == oldJobPO.getForbiddenTag()) { - // 启用 - map.put("ids", hrmJobTitleByName.getId()); - map.put("canceled", "docanceled"); - ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - // 禁用 - List jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listByNameExceptId(oldJobPO.getJobName(), oldJobPO.getId()); - // 不存在共用 - if (CollectionUtils.isEmpty(jobPOS)) { - map.put("ids", hrmJobTitleByName.getId()); - map.put("canceled", "canceled"); - ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - List collect = jobPOS.stream().filter(item -> 0 == item.getForbiddenTag()).collect(Collectors.toList()); - // 不存在非禁用 - if (CollectionUtils.isEmpty(collect)) { - map.put("ids", hrmJobTitleByName.getId()); - map.put("canceled", "canceled"); - ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } - } - } - } - - /** - * 新增部门 - */ - private void addDepartment() { - Map map = new HashMap<>(); - map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); - map.put("departmentname", Util.null2String(params.get("dept_name"))); - - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_comp")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("subcompanyid1", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - - // 上级部门通过UUID联查ec表ID - String parentDepartment = Util.null2String(params.get("parent_dept")); - if (StringUtils.isNotBlank(parentDepartment)) { - map.put("supdepid", EcHrmRelationUtil.getEcDepartmentId(parentDepartment)); - } - - map.put("showorder", Util.null2String(params.get("show_order"))); - map.put("departmentcode", Util.null2String(params.get("dept_no"))); - map.put("coadjutant", Util.null2String(params.get("dept_principal"))); - Map returnMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addDepartment(map, user); - // 更新jcl_org_dept表 uuid字段 - if ("1".equals(Util.null2String(returnMap.get("status"))) && null != returnMap.get("id")) { - updateJclUUID(Util.null2String(returnMap.get("id")), HRM_DEPARTMENT, JCL_DEPARTMENT); - } - } - - /** - * 封存、解封部门 - */ - private void cancelDepartment() { - String departmentIds = Util.null2String(params.get("id")); - String forbiddenTag = Util.null2String(params.get("forbiddenTag")); - List idList = new ArrayList<>(); - String[] split = departmentIds.split(","); - if (StringUtils.isBlank(forbiddenTag)) { - long currentTimeMillis = System.currentTimeMillis(); - for (String s : split) { - DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(Long.parseLong(s)); - params.put("dept_name_short", departmentPO.getDeptNameShort() + currentTimeMillis); - params.put("dept_name", departmentPO.getDeptName() + currentTimeMillis); - params.put("parent_comp", departmentPO.getParentComp()); - params.put("parent_dept", departmentPO.getParentDept()); - params.put("show_order", departmentPO.getShowOrder()); - params.put("dept_no", departmentPO.getDeptNo()); - params.put("dept_principal", departmentPO.getDeptPrincipal()); - updateDepartment(); - idList.add(EcHrmRelationUtil.getEcDepartmentId(s)); - } - } else { - for (String s : split) { - idList.add(EcHrmRelationUtil.getEcDepartmentId(s)); - } - } - Map map = new HashMap<>(); - map.put("id", StringUtils.join(idList, ",")); - if ("0".equals(forbiddenTag)) { - // 解封 - ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentISCanceled(map, user); - } else { - // 封存 - ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentCancel(map, user); - } - } - - /** - * 更新部门 - */ - private void updateDepartment() { - Map map = new HashMap<>(); - // 获取ec表ID - map.put("id", EcHrmRelationUtil.getEcDepartmentId(Util.null2String(params.get("id")))); - map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); - map.put("departmentname", Util.null2String(params.get("dept_name"))); - - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_comp")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("subcompanyid1", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - - // 上级部门通过UUID联查ec表ID - String parentDepartment = Util.null2String(params.get("parent_dept")); - if (StringUtils.isNotBlank(parentDepartment)) { - map.put("supdepid", EcHrmRelationUtil.getEcDepartmentId(parentDepartment)); - } - - map.put("showorder", Util.null2String(params.get("show_order"))); - map.put("departmentcode", Util.null2String(params.get("dept_no"))); - map.put("coadjutant", Util.null2String(params.get("dept_principal"))); - ServiceUtil.getService(OrganizationServiceImpl.class, user).editDepartment(map, user); - } - - /** - * 新增分部 - */ - private void addCompany() { - Map map = new HashMap<>(); - map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); - - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_company")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("supsubcomid", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - - map.put("subcompanycode", params.get("comp_no").toString()); - map.put("subcompanydesc", params.get("comp_name").toString()); - map.put("showorder", Util.null2String(params.get("show_order"))); - Map returnMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addSubCompany(map, user); - - // 更新jcl_org_comp表 uuid字段 - if ("1".equals(Util.null2String(returnMap.get("status"))) && null != returnMap.get("id")) { - updateJclUUID(Util.null2String(returnMap.get("id")), HRM_COMPANY, JCL_COMPANY); - } - } - - /** - * 更新分部 - */ - private void updateCompany() { - Map map = new HashMap<>(); - // 获取ec表ID - map.put("id", EcHrmRelationUtil.getEcCompanyId(Util.null2String(params.get("id")))); - - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_company")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("supsubcomid", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - map.put("subcompanycode", Util.null2String(params.get("comp_no"))); - map.put("subcompanyname", Util.null2String(params.get("comp_name_short"))); - map.put("subcompanydesc", Util.null2String(params.get("comp_name"))); - map.put("showorder", Util.null2String(params.get("show_order"))); - ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(map, user); - } - - /** - * 封存、解封分部 - */ - private void cancelCompany() { - String companyIds = Util.null2String(params.get("id")); - String forbiddenTag = Util.null2String(params.get("forbiddenTag")); - List idList = new ArrayList<>(); - String[] split = companyIds.split(","); - if (StringUtils.isBlank(forbiddenTag)) { - long currentTimeMillis = System.currentTimeMillis(); - for (String s : split) { - // 更新名称为:名称+时间戳 - CompPO comp = MapperProxyFactory.getProxy(CompMapper.class).listById(Long.parseLong(s)); - params.put("parent_company", comp.getParentCompany()); - params.put("comp_no", comp.getCompNo()); - params.put("comp_name", comp.getCompName() + currentTimeMillis); - params.put("comp_name_short", comp.getCompNameShort() + currentTimeMillis); - params.put("show_order", comp.getShowOrder()); - updateCompany(); - idList.add(EcHrmRelationUtil.getEcCompanyId(s)); - } - } else { - for (String s : split) { - idList.add(EcHrmRelationUtil.getEcCompanyId(s)); - } - } - Map map = new HashMap<>(); - map.put("id", StringUtils.join(idList, ",")); - - if ("0".equals(forbiddenTag)) { - // 解封 - ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyISCanceled(map, user); - } else { - // 删除封存、禁用封存 - ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyCancel(map, user); - } - } - - - /** - * 更新聚才林组织UUID - * - * @param id - * @param ecTableName - * @param jclTableName - */ - private void updateJclUUID(String id, String ecTableName, String jclTableName) { - RecordInfo hrmDepartment = getSystemDataMapper().getHrmObjectByID(ecTableName, id); - String uuid = hrmDepartment.getUuid(); - Map departmentMap = new HashMap<>(); - departmentMap.put("uuid", uuid); - long jclTableId = Long.parseLong(Util.null2String(params.get("id"))); - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName(jclTableName).params(departmentMap).id(jclTableId).build(); - getExtMapper().updateTable(infoParams); - } - -} diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index ebce9276..49f4f9e1 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -4,12 +4,10 @@ import com.engine.common.util.ServiceUtil; import com.engine.hrm.service.impl.HrmJobServiceImpl; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -465,40 +463,21 @@ public class OrganizationSyncEc { * 封存、解封分部 */ private void cancelCompany() { - String companyIds = Util.null2String(params.get("id")); + // TODO String forbiddenTag = Util.null2String(params.get("forbiddenTag")); - List idList = new ArrayList<>(); - String[] split = companyIds.split(","); - if (StringUtils.isBlank(forbiddenTag)) { - long currentTimeMillis = System.currentTimeMillis(); - for (String s : split) { - // 更新名称为:名称+时间戳 - CompPO comp = MapperProxyFactory.getProxy(CompMapper.class).listById(Long.parseLong(s)); - params.put("parent_company", comp.getParentCompany()); - params.put("comp_no", comp.getCompNo() + currentTimeMillis); - params.put("comp_name", comp.getCompName() + currentTimeMillis); - params.put("comp_name_short", comp.getCompNameShort() + currentTimeMillis); - params.put("show_order", comp.getShowOrder()); - updateCompany(); - idList.add(EcHrmRelationUtil.getEcCompanyId(s)); - } - } else { - for (String s : split) { - idList.add(EcHrmRelationUtil.getEcCompanyId(s)); - } - } - Map map = new HashMap<>(); - map.put("id", StringUtils.join(idList, ",")); - if ("0".equals(forbiddenTag)) { // 解封 - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyISCanceled(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyISCanceled(params, user); } else { // 删除封存、禁用封存 - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyCancel(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doSubCompanyCancel(params, user); } } + /** + * 补全分部参数信息 + * @param map + */ private void buildEcCompanyData(Map map) { String ecCompanyId = Util.null2String(params.get("id")); @@ -522,6 +501,10 @@ public class OrganizationSyncEc { } } + /** + * 补全部门参数信息 + * @param map + */ private void buildEcDepartmentData(Map map) { String ecDepartment = EcHrmRelationUtil.getEcDepartmentId(Util.null2String(params.get("id"))); diff --git a/src/com/engine/organization/thread/StaffTriggerRunnable.java b/src/com/engine/organization/thread/StaffTriggerRunnable.java index 39e5affa..a2d95ca8 100644 --- a/src/com/engine/organization/thread/StaffTriggerRunnable.java +++ b/src/com/engine/organization/thread/StaffTriggerRunnable.java @@ -1,13 +1,13 @@ package com.engine.organization.thread; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.map.JclOrgMap; import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPlanPO; import com.engine.organization.enums.ModuleTypeEnum; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.job.JobMapper; @@ -37,8 +37,8 @@ public class StaffTriggerRunnable implements Runnable { return MapperProxyFactory.getProxy(StaffTriggerMapper.class); } - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); + private CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); } private DepartmentMapper getDepartmentMapper() { @@ -84,18 +84,18 @@ public class StaffTriggerRunnable implements Runnable { switch (fType) { case "1": // 更新分部编制 - refreshCompanyStaff(staffPO.getCompId()); + refreshCompanyStaff(staffPO.getCompId().intValue()); break; case "2": // 更新部门编制 refreshDepartmentStaff(staffPO.getDeptId()); - refreshCompanyStaff(staffPO.getCompId()); + refreshCompanyStaff(staffPO.getCompId().intValue()); break; case "3": // 更新岗位编制 refreshJobStaff(staffPO.getJobId()); refreshDepartmentStaff(staffPO.getDeptId()); - refreshCompanyStaff(staffPO.getCompId()); + refreshCompanyStaff(staffPO.getCompId().intValue()); break; default: break; @@ -104,15 +104,15 @@ public class StaffTriggerRunnable implements Runnable { } } - private void refreshCompanyStaff(Long companyId) { + private void refreshCompanyStaff(Integer companyId) { if (null == companyId) { return; } - CompPO compPO = getCompMapper().listById(companyId); + CompanyPO compPO = getCompanyMapper().listById(companyId); if (null != compPO) { updateOrgMap(ModuleTypeEnum.subcompanyfielddefined.getValue().toString(), companyId.toString()); - if (null != compPO.getParentCompany() && 0 != compPO.getParentCompany()) { - refreshCompanyStaff(compPO.getParentCompany()); + if (null != compPO.getSupSubComId() && 0 != compPO.getSupSubComId()) { + refreshCompanyStaff(compPO.getSupSubComId()); } else { // 刷新集团数据 refreshGroupStaff(); diff --git a/src/com/engine/organization/transmethod/CompTransMethod.java b/src/com/engine/organization/transmethod/CompTransMethod.java index cbe1df11..05a2b2ed 100644 --- a/src/com/engine/organization/transmethod/CompTransMethod.java +++ b/src/com/engine/organization/transmethod/CompTransMethod.java @@ -1,11 +1,11 @@ package com.engine.organization.transmethod; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.util.db.MapperProxyFactory; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /** @@ -17,9 +17,8 @@ import java.util.stream.Collectors; public class CompTransMethod { public static String getSpanById(String planId) { - CompMapper compMapper = MapperProxyFactory.getProxy(CompMapper.class); - List> maps = compMapper.listCompsByIds(DeleteParam.builder().ids(planId).build().getIds()); - String names = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); - return names; + CompanyMapper compMapper = MapperProxyFactory.getProxy(CompanyMapper.class); + List maps = compMapper.getCompsByIds(DeleteParam.builder().ids(planId).build().getIds()); + return maps.stream().map(CompanyPO::getSubCompanyName).collect(Collectors.joining(",")); } } diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index a575dc77..04ede710 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -1,6 +1,6 @@ package com.engine.organization.transmethod; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -19,7 +19,7 @@ public class HrmResourceTransMethod { } public static String getCompanyName(String companyId) { - return MapperProxyFactory.getProxy(CompMapper.class).listById(Long.parseLong(companyId)).getCompName(); + return MapperProxyFactory.getProxy(CompanyMapper.class).listById(Integer.parseInt(companyId)).getSubCompanyName(); } public static String getJobName(String jobTitle) { return MapperProxyFactory.getProxy(JobMapper.class).getJobById(Long.parseLong(jobTitle)).getJobName(); diff --git a/src/com/engine/organization/util/detach/DetachUtil.java b/src/com/engine/organization/util/detach/DetachUtil.java index 7b047c29..8d50ed40 100644 --- a/src/com/engine/organization/util/detach/DetachUtil.java +++ b/src/com/engine/organization/util/detach/DetachUtil.java @@ -1,6 +1,6 @@ package com.engine.organization.util.detach; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; @@ -36,9 +36,9 @@ public class DetachUtil { /** * 根据分权配置过滤分部 */ - public void filterCompanyList(List companyList) { + public void filterCompanyList(List companyList) { if (DETACH && CollectionUtils.isNotEmpty(companyList)) { - companyList.removeIf(item -> !jclRoleLevels.contains(item.getId())); + companyList.removeIf(item -> !jclRoleLevels.contains((long) item.getId())); } } diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java index eca283eb..1f35985c 100644 --- a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -1,10 +1,10 @@ package com.engine.organization.util.relation; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -12,7 +12,6 @@ import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; -import java.util.Arrays; import java.util.List; /** @@ -30,8 +29,8 @@ public class EcHrmRelationUtil { return MapperProxyFactory.getProxy(SystemDataMapper.class); } - private static CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); + private static CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); } private static DepartmentMapper getDepartmentMapper() { @@ -49,7 +48,7 @@ public class EcHrmRelationUtil { * @return */ public static String getEcCompanyId(String companyId) { - CompPO compPO = getCompMapper().listById(Long.parseLong(companyId)); + CompanyPO compPO = getCompanyMapper().listById(Integer.parseInt(companyId)); RecordInfo supSubCompany = getSystemDataMapper().getHrmObjectByUUID(HRM_COMPANY, compPO.getUuid()); if (null == supSubCompany) { return "0"; @@ -69,30 +68,6 @@ public class EcHrmRelationUtil { return supDepartment.getId(); } - public static CompPO getJclCompanyId(String ecCompanyId) { - if (StringUtils.isBlank(ecCompanyId)) { - return null; - } - RecordInfo ecCompany = getSystemDataMapper().getHrmObjectByID(HRM_COMPANY, ecCompanyId); - if (null == ecCompany) { - return null; - } - String uuid = ecCompany.getUuid(); - return getCompMapper().getCompanyByUUID(uuid); - } - - public static String getBatchJclCompanyId(String ecBatchCompanyId) { - if (StringUtils.isBlank(ecBatchCompanyId)) { - return null; - } - List strings = Arrays.asList(ecBatchCompanyId.split(",")); - List uuids = getSystemDataMapper().getBatchUuidByIds(HRM_COMPANY, strings); - List companyIdsByUuid = getCompMapper().getCompanyIdsByUuid(uuids); - if (CollectionUtils.isNotEmpty(companyIdsByUuid)) { - return StringUtils.join(companyIdsByUuid, ","); - } - return ""; - } public static DepartmentPO getJclDepartmentId(String ecDepartmentId) { diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index d3936eb9..16174e5b 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -10,7 +10,7 @@ import com.engine.organization.entity.staff.bo.StaffBO; import com.engine.organization.entity.staff.param.StaffSearchParam; import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPlanPO; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.staff.StaffMapper; @@ -151,7 +151,7 @@ public class StaffInfoImportUtil { continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); diff --git a/src/com/engine/organization/web/CompController.java b/src/com/engine/organization/web/CompController.java index 068f4c4d..87eabd06 100644 --- a/src/com/engine/organization/web/CompController.java +++ b/src/com/engine/organization/web/CompController.java @@ -3,13 +3,11 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.company.param.CompSearchParam; import com.engine.organization.entity.company.param.CompanyParam; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.CompWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; -import org.apache.commons.lang.StringUtils; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -65,10 +63,10 @@ public class CompController { @POST @Path("/saveBaseComp") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult saveBaseComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map params) { + public ReturnResult saveBaseComp(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getCompWrapper(user).saveBaseComp(params)); + return ReturnResult.successed(getCompWrapper(user).saveBaseComp(ParamUtil.request2Map(request))); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } @@ -85,7 +83,7 @@ public class CompController { @POST @Path("/updateForbiddenTagById") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompSearchParam param) { + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompanyParam param) { try { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).updateForbiddenTagById(param)); @@ -128,9 +126,7 @@ public class CompController { public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeleteParam param) { try { User user = HrmUserVarify.getUser(request, response); - Map params = ParamUtil.request2Map(request); - params.put("id", StringUtils.join(param.getIds(), ",")); - return ReturnResult.successed(getCompWrapper(user).deleteByIds(params)); + return ReturnResult.successed(getCompWrapper(user).deleteByIds(param.getIds())); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } diff --git a/src/com/engine/organization/wrapper/CompWrapper.java b/src/com/engine/organization/wrapper/CompWrapper.java index 9c24725a..f9e7a7f8 100644 --- a/src/com/engine/organization/wrapper/CompWrapper.java +++ b/src/com/engine/organization/wrapper/CompWrapper.java @@ -4,21 +4,21 @@ import com.alibaba.fastjson.JSON; import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; -import com.engine.organization.entity.company.param.CompSearchParam; import com.engine.organization.entity.company.param.CompanyParam; -import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.service.CompService; import com.engine.organization.service.impl.CompServiceImpl; -import com.engine.organization.thread.CompanyTriggerRunnable; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.lang.StringUtils; import weaver.hrm.User; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -33,8 +33,8 @@ public class CompWrapper extends OrganizationWrapper { return ServiceUtil.getService(CompServiceImpl.class, user); } - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); + private CompanyMapper getCompanyMapper() { + return MapperProxyFactory.getProxy(CompanyMapper.class); } /** @@ -57,10 +57,9 @@ public class CompWrapper extends OrganizationWrapper { @Log(operateType = OperateTypeEnum.ADD, operateDesc = "新增分部", operateModule = LogModuleNameEnum.COMPANY) public Long saveBaseComp(Map params) { Long companyId = getCompService(user).saveBaseComp(params); - // TODO - //writeOperateLog(new Object() { - //}.getClass(), params.get("comp_name").toString(), JSON.toJSONString(params), "新增分部"); - //new Thread(new CompanyTriggerRunnable(companyId)).start(); + writeOperateLog(new Object() { + }.getClass(), params.get("subcompanyname").toString(), JSON.toJSONString(params), "新增分部"); + //TODO new Thread(new CompanyTriggerRunnable(companyId)).start(); return companyId; } @@ -70,13 +69,13 @@ public class CompWrapper extends OrganizationWrapper { * @param params */ @Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新分部禁用标识", operateModule = LogModuleNameEnum.COMPANY) - public int updateForbiddenTagById(CompSearchParam params) { - CompPO compPO = getCompMapper().listById(params.getId()); + public int updateForbiddenTagById(CompanyParam params) { + CompanyPO compPO = getCompanyMapper().listById(params.getId()); int updateForbiddenTagById = getCompService(user).updateForbiddenTagById(params); - CompPO newCompPO = getCompMapper().listById(params.getId()); + CompanyPO newCompPO = getCompanyMapper().listById(params.getId()); writeOperateLog(new Object() { - }.getClass(), compPO.getCompName(), JSON.toJSONString(params), compPO, newCompPO); - new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); + }.getClass(), compPO.getSubCompanyName(), JSON.toJSONString(params), compPO, newCompPO); + //TODO new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); return updateForbiddenTagById; } @@ -88,31 +87,33 @@ public class CompWrapper extends OrganizationWrapper { */ @Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新分部信息", operateModule = LogModuleNameEnum.COMPANY) public Long updateComp(Map params) { - long id = Long.parseLong(params.get("id").toString()); - CompPO compPO = getCompMapper().listById(id); + Integer id = Integer.parseInt(params.get("id").toString()); + CompanyPO compPO = getCompanyMapper().listById(id); Long companyId = getCompService(user).updateComp(params); - CompPO newCompPO = getCompMapper().listById(id); + CompanyPO newCompPO = getCompanyMapper().listById(id); writeOperateLog(new Object() { - }.getClass(), compPO.getCompName(), JSON.toJSONString(params), compPO, newCompPO); - new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); + }.getClass(), compPO.getSubCompanyName(), JSON.toJSONString(params), compPO, newCompPO); + //TODO new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); return companyId; } /** * 根据ID批量删除 * - * @param params + * @param ids */ @Log(operateType = OperateTypeEnum.DELETE, operateDesc = "删除分部信息", operateModule = LogModuleNameEnum.COMPANY) - public Map deleteByIds(Map params) { - //List compsByIds = getCompMapper().getCompsByIds(ids); - return getCompService(user).deleteByIds(params); - //for (CompPO compsById : compsByIds) { - // writeOperateLog(new Object() { - // }.getClass(), compsById.getCompName(), JSON.toJSONString(ids), "删除分部信息"); - // new CompanyTriggerRunnable(compsById).run(); - //} - //return deleteByIds; + public Map deleteByIds(List ids) { + Map params = new HashMap<>(); + params.put("id", StringUtils.join(ids, ",")); + List compsByIds = getCompanyMapper().getCompsByIds(ids); + Map map = getCompService(user).deleteByIds(params); + for (CompanyPO compsById : compsByIds) { + writeOperateLog(new Object() { + }.getClass(), compsById.getSubCompanyName(), JSON.toJSONString(ids), "删除分部信息"); + //TODO new CompanyTriggerRunnable(compsById).run(); + } + return map; } /** @@ -123,12 +124,12 @@ public class CompWrapper extends OrganizationWrapper { */ @Log(operateType = OperateTypeEnum.MOVE, operateDesc = "转移分部", operateModule = LogModuleNameEnum.COMPANY) public int moveCompany(DepartmentMoveParam moveParam) { - CompPO compPO = getCompMapper().listById(moveParam.getId()); + CompanyPO compPO = getCompanyMapper().listById(moveParam.getId().intValue()); int moveCompany = getCompService(user).moveCompany(moveParam); - CompPO newCompPO = getCompMapper().listById(moveParam.getId()); + CompanyPO newCompPO = getCompanyMapper().listById(moveParam.getId().intValue()); writeOperateLog(new Object() { - }.getClass(), compPO.getCompName(), JSON.toJSONString(moveParam), compPO, newCompPO); - new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); + }.getClass(), compPO.getSubCompanyName(), JSON.toJSONString(moveParam), compPO, newCompPO); + //TODO new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); return moveCompany; } diff --git a/src/com/engine/organization/wrapper/JclOrgWrapper.java b/src/com/engine/organization/wrapper/JclOrgWrapper.java index 393729f2..14769594 100644 --- a/src/com/engine/organization/wrapper/JclOrgWrapper.java +++ b/src/com/engine/organization/wrapper/JclOrgWrapper.java @@ -1,7 +1,5 @@ package com.engine.organization.wrapper; -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.lang3.StringUtils; @@ -33,24 +31,24 @@ public class JclOrgWrapper extends OrganizationWrapper { if (StringUtils.isAnyBlank(ecId, type)) { return null; } - String jclOrgId = ""; - switch (type) { - case "1": - CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecId); - if (null != jclCompanyId) { - jclOrgId = jclCompanyId.getId().toString(); - } - break; - case "2": - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecId); - if (null != jclDepartmentId) { - jclOrgId = jclDepartmentId.getId().toString(); - } - case "3": - default: - break; - } - return jclOrgId; + //String jclOrgId = ""; + //switch (type) { + // case "1": + // CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecId); + // if (null != jclCompanyId) { + // jclOrgId = jclCompanyId.getId().toString(); + // } + // break; + // case "2": + // DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecId); + // if (null != jclDepartmentId) { + // jclOrgId = jclDepartmentId.getId().toString(); + // } + // case "3": + // default: + // break; + //} + return ecId; } public void syncCusFieldData(String id) { From 9a2eabc8bdd97ea1a859714075e92a76c70025ad Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 29 Nov 2022 09:54:18 +0800 Subject: [PATCH 033/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=BA=90=E3=80=81=E5=AE=9E=E4=BD=93=E7=B1=BB?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 8 +- .../entity/codesetting/bo/CodeSettingBO.java | 2 +- .../organization/entity/commom/FieldInfo.java | 8 +- .../entity/department/bo/DepartmentBO.java | 88 ++-- .../department/dto/DepartmentListDTO.java | 48 +- .../param/DepartmentMergeParam.java | 4 +- .../department/param/DepartmentMoveParam.java | 4 +- .../department/param/DeptSearchParam.java | 36 +- .../param/QuerySingleDeptListParam.java | 4 +- .../entity/department/po/DepartmentPO.java | 46 +- .../department/vo/SingleDeptTreeVO.java | 22 +- .../entity/extend/bo/ExtendInfoBO.java | 22 +- .../extend/param/ExtendInfoFieldParam.java | 46 +- .../organization/entity/job/bo/JobBO.java | 4 +- .../entity/job/dto/JobListDTO.java | 2 +- .../entity/job/param/JobSearchParam.java | 4 +- .../organization/entity/job/po/JobPO.java | 4 +- .../entity/job/vo/SingleJobTreeVO.java | 2 +- .../entity/logview/bo/FieldInfo.java | 8 +- .../entity/searchtree/SearchTree.java | 8 +- .../entity/staff/param/StaffSearchParam.java | 4 +- .../organization/entity/staff/po/StaffPO.java | 4 +- .../mapper/comp/CompanyMapper.java | 2 +- .../mapper/comp/CompanyMapper.xml | 2 +- .../mapper/department/DepartmentMapper.java | 71 +-- .../mapper/department/DepartmentMapper.xml | 464 +++--------------- .../mapper/hrmresource/SystemDataMapper.java | 2 +- .../organization/mapper/job/JobMapper.java | 4 +- .../mapper/resource/ResourceMapper.java | 2 +- .../service/DepartmentService.java | 3 +- .../service/impl/CompServiceImpl.java | 33 +- .../service/impl/DepartmentServiceImpl.java | 298 +++++------ .../service/impl/FieldDefinedServiceImpl.java | 6 +- .../service/impl/HrmResourceServiceImpl.java | 12 +- .../service/impl/ImportCommonServiceImpl.java | 107 ++-- .../service/impl/JobServiceImpl.java | 60 +-- .../impl/ManagerDetachServiceImpl.java | 6 +- .../service/impl/StaffServiceImpl.java | 16 +- .../thread/DepartmentTriggerRunnable.java | 416 ++++++++-------- .../thread/OrganizationSyncEc.java | 31 +- .../thread/StaffTriggerRunnable.java | 6 +- .../transmethod/HrmResourceTransMethod.java | 2 +- .../engine/organization/util/ConfigTrans.java | 5 +- .../organization/util/PageInfoSortUtil.java | 2 +- .../organization/util/ResponseResult.java | 2 +- .../organization/util/detach/DetachUtil.java | 6 +- .../util/field/FieldDefinedValueUtil.java | 16 +- .../util/relation/EcHrmRelationUtil.java | 15 +- .../util/relation/ResourceSyncUtil.java | 197 +++++--- .../util/saveimport/OrgImportUtil.java | 6 +- .../util/saveimport/StaffInfoImportUtil.java | 10 +- .../hrmimport/HrmImportProcessE9.java | 268 ++++++---- .../util/tree/SearchTreeUtil.java | 4 + .../web/DepartmentController.java | 2 +- .../wrapper/DepartmentWrapper.java | 33 +- 55 files changed, 1054 insertions(+), 1433 deletions(-) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 60a8299f..5ee67204 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -199,13 +199,13 @@ public class JobBrowserService extends BrowserService { if (detachUtil.isDETACH()) { detachUtil.filterCompanyList(compList); } - DepartmentPO departmentBuild = DepartmentPO.builder().parentComp(Integer.parseInt(params.getId())).forbiddenTag(0).deleteType(0).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().subCompanyId1(Integer.parseInt(params.getId())).canceled(0).build(); List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "show_order"); compList.forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); - departmentList.stream().filter(item -> null == item.getParentDept() || 0 == item.getParentDept()).forEach(item -> buildDeptNodes(treeNodes, hasSubDepartment, item)); + departmentList.stream().filter(item -> null == item.getSupDepId() || 0 == item.getSupDepId()).forEach(item -> buildDeptNodes(treeNodes, hasSubDepartment, item)); } else if ("2".equals(params.getType())) { - DepartmentPO departmentBuild = DepartmentPO.builder().parentDept(Long.parseLong(params.getId())).forbiddenTag(0).deleteType(0).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().supDepId(Integer.parseInt(params.getId())).canceled(0).build(); List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "show_order"); departmentList.forEach(item -> buildDeptNodes(treeNodes, hasSubDepartment, item)); } @@ -241,7 +241,7 @@ public class JobBrowserService extends BrowserService { private void buildDeptNodes(List treeNodes, List hasSubDepartment, DepartmentPO department) { SearchTree searchTree = new SearchTree(); searchTree.setId(department.getId().toString()); - searchTree.setName(department.getDeptName()); + searchTree.setName(department.getDepartmentName()); searchTree.setType(TreeNodeTypeEnum.TYPE_DEPT.getValue()); searchTree.setIsParent(hasSubDepartment.contains(department.getId().toString())); treeNodes.add(searchTree); diff --git a/src/com/engine/organization/entity/codesetting/bo/CodeSettingBO.java b/src/com/engine/organization/entity/codesetting/bo/CodeSettingBO.java index eb170cb8..26c5eb66 100644 --- a/src/com/engine/organization/entity/codesetting/bo/CodeSettingBO.java +++ b/src/com/engine/organization/entity/codesetting/bo/CodeSettingBO.java @@ -73,7 +73,7 @@ public class CodeSettingBO { if(Objects.nonNull(param)) { String enable = Util.null2String(param.getEnable(),"0"); String key = param.getKey(); - if (enable.equals("1") && StringUtils.isNotEmpty(key)) { + if ("1".equals(enable) && StringUtils.isNotEmpty(key)) { sb.append(key); sb.append(","); } diff --git a/src/com/engine/organization/entity/commom/FieldInfo.java b/src/com/engine/organization/entity/commom/FieldInfo.java index 481e4cd6..99c76d41 100644 --- a/src/com/engine/organization/entity/commom/FieldInfo.java +++ b/src/com/engine/organization/entity/commom/FieldInfo.java @@ -96,8 +96,12 @@ public class FieldInfo { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } FieldInfo fieldInfo = (FieldInfo) o; return Objects.equals(fieldName, fieldInfo.fieldName) && Objects.equals(firstFieldType, fieldInfo.firstFieldType) && diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index e221e858..bd2193e6 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -26,22 +26,22 @@ public class DepartmentBO { public static List buildDeptDTOList(Collection list) { // 递归添加父级数据 - Map poMaps = list.stream().collect(Collectors.toMap(DepartmentPO::getId, item -> item)); + Map poMaps = list.stream().collect(Collectors.toMap(DepartmentPO::getId, item -> item)); List dtoList = list.stream().map(e -> DepartmentListDTO .builder() .id(e.getId()) - .deptNo(e.getDeptNo()) - .deptName(e.getDeptName()) - .deptNameShort(e.getDeptNameShort()) - .parentComp(null == e.getParentComp() ? "" : MapperProxyFactory.getProxy(CompanyMapper.class).listById(e.getParentComp().intValue()).getSubCompanyName()) - .parentDept(e.getParentDept()) - .parentDeptName(null == poMaps.get(e.getParentDept()) ? "" : poMaps.get(e.getParentDept()).getDeptName()) - .deptPrincipal(getEmployeeNameById(e.getDeptPrincipal())) + .departmentMark(e.getDepartmentMark()) + .departmentName(e.getDepartmentName()) + .subCompanyId1(e.getSubCompanyId1()) + .subCompanyName(0 == e.getSubCompanyId1() ? "" : MapperProxyFactory.getProxy(CompanyMapper.class).listById(e.getSubCompanyId1()).getSubCompanyName()) + .supDepId(e.getSupDepId()) + .supDepName(null == poMaps.get(e.getSupDepId()) ? "" : poMaps.get(e.getSupDepId()).getDepartmentName()) + // .deptPrincipal(getEmployeeNameById(e.getDeptPrincipal())) .showOrder(null == e.getShowOrder() ? 0 : e.getShowOrder()) - .forbiddenTag(e.getForbiddenTag()) + .canceled(e.getCanceled()) .build()).collect(Collectors.toList()); - Map> collects = dtoList.stream().filter(item -> null != item.getParentDept() && 0 != item.getParentDept()).collect(Collectors.groupingBy(DepartmentListDTO::getParentDept)); + Map> collects = dtoList.stream().filter(item -> 0 != item.getSupDepId()).collect(Collectors.groupingBy(DepartmentListDTO::getSupDepId)); // 处理被引用数据 List usedIds = MapperProxyFactory.getProxy(DepartmentMapper.class).listUsedId(); List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList()); @@ -57,7 +57,7 @@ public class DepartmentBO { e.setIsUsed(0); } } - }).filter(item -> null == item.getParentDept() || 0 == item.getParentDept()).collect(Collectors.toList()); + }).filter(item -> null == item.getSupDepId() || 0 == item.getSupDepId()).collect(Collectors.toList()); } public static List buildDeptDTOList(Collection list, List filterList) { @@ -66,7 +66,7 @@ public class DepartmentBO { return Collections.emptyList(); } // 递归添加父级数据 - Map poMaps = list.stream().collect(Collectors.toMap(DepartmentPO::getId, item -> item)); + Map poMaps = list.stream().collect(Collectors.toMap(DepartmentPO::getId, item -> item)); List addedList = new ArrayList<>(); for (DepartmentPO po : filterList) { dealParentData(addedList, po, poMaps); @@ -74,32 +74,32 @@ public class DepartmentBO { return buildDeptDTOList(addedList); } - public static DepartmentPO convertParamsToPO(DeptSearchParam param, long employeeId) { + public static DepartmentPO convertParamsToPO(DeptSearchParam param, Integer employeeId) { if (null == param) { return null; } return DepartmentPO .builder() .id(param.getId() == null ? 0 : param.getId()) - .deptNo(param.getDeptNo()) - .deptName(param.getDepartmentName()) - .deptNameShort(param.getDeptNameShort()) - .parentComp(null == param.getParentComp() ? param.getSubcompanyid1() : param.getParentComp()) - .ecCompany(param.getEcCompany()) - .parentDept(null == param.getParentDept() ? param.getDepartmentid() : param.getParentDept()) - .ecDepartment(param.getEcDepartment()) - .deptPrincipal(param.getDeptPrincipal()) + .departmentMark(param.getDepartmentMark()) + .departmentName(param.getDepartmentName()) + .subCompanyId1(param.getSubCompanyId1()) + .supDepId(param.getSupDepId()) + .allSupDepId(param.getAllSupDepId()) + .canceled(param.getCanceled() == null ? null : param.getCanceled() ? 0 : 1) + .departmentCode(param.getDepartmentCode()) + .coadjutant(param.getCoadjutant()) + .uuid(param.getUuid()) .showOrder(param.getShowOrder()) - .forbiddenTag(param.getForbiddenTag() == null ? null : param.getForbiddenTag() ? 0 : 1) - .description(param.getDescription()) - .deleteType(0) - .createTime(new Date()) - .updateTime(new Date()) - .creator(employeeId) + .showOrderOfTree(param.getShowOrderOfTree()) + .created(new Date()) + .modified(new Date()) + .creater(employeeId) + .modifier(employeeId) .build(); } - public static List buildSingleDeptTreeVOS(List departmentPOs, Long parentComp) { + public static List buildSingleDeptTreeVOS(List departmentPOs, Integer parentComp) { if (CollectionUtils.isEmpty(departmentPOs)) { return Collections.emptyList(); @@ -109,17 +109,17 @@ public class DepartmentBO { SingleDeptTreeVO .builder() .id(e.getId()) - .deptNo(e.getDeptNo()) - .deptName(e.getDeptName()) - .parentComp(e.getParentComp()) - .parentDept(e.getParentDept()) - .parentDeptName(e.getParentDept() == null ? "" : getDeptNameById(e.getParentDept())) - .deptPrincipalName(getEmployeeNameById(e.getDeptPrincipal())) + .departmentCode(e.getDepartmentCode()) + .departmentMark(e.getDepartmentMark()) + .subCompanyId1(e.getSubCompanyId1()) + .supDepId(e.getSupDepId()) + .supDepName(e.getSupDepId() == 0 ? "" : getDeptNameById(e.getSupDepId())) + //.deptPrincipalName(getEmployeeNameById(e.getDeptPrincipal())) .build()).collect(Collectors.toList()); //获取非一级部门 - Map> collects = singleDeptTreeVOS.stream().filter(item -> !parentComp.equals(item.getParentComp()) && null != item.getParentDept()).collect(Collectors.groupingBy(SingleDeptTreeVO::getParentDept)); + Map> collects = singleDeptTreeVOS.stream().filter(item -> !parentComp.equals(item.getSubCompanyId1()) && 0 != item.getSupDepId()).collect(Collectors.groupingBy(SingleDeptTreeVO::getSupDepId)); - return singleDeptTreeVOS.stream().peek(e -> e.setChildren(collects.get(e.getId()))).filter(item -> parentComp.equals(item.getParentComp())).collect(Collectors.toList()); + return singleDeptTreeVOS.stream().peek(e -> e.setChildren(collects.get(e.getId()))).filter(item -> parentComp.equals(item.getSubCompanyId1())).collect(Collectors.toList()); } public static List buildSetToSearchTree(Set departmentPOS) { @@ -131,23 +131,23 @@ public class DepartmentBO { return departmentPOS.stream().map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); - tree.setCanceled(item.getForbiddenTag() != 0); + tree.setCanceled(item.getCanceled() != 0); tree.setIcon(isLeaf ? "icon-coms-Branch" : "icon-coms-LargeArea"); tree.setId(item.getId().toString()); tree.setIsParent(false); tree.setIsVirtual("0"); - tree.setName(item.getDeptName()); - tree.setPid(null == item.getParentDept() ? "0" : item.getParentDept().toString()); + tree.setName(item.getDepartmentName()); + tree.setPid(item.getSupDepId().toString()); tree.setSelected(false); tree.setType("2"); - tree.setParentComp(null == item.getParentComp() ? "0" : item.getParentComp().toString()); - tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); + tree.setParentComp(item.getSubCompanyId1().toString()); + tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder().intValue()); return tree; }).collect(Collectors.toList()); } - public static String getDeptNameById(Long id) { + public static String getDeptNameById(Integer id) { return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(id); } @@ -163,11 +163,11 @@ public class DepartmentBO { * @param po * @param poMaps */ - private static void dealParentData(List addedList, DepartmentPO po, Map poMaps) { + private static void dealParentData(List addedList, DepartmentPO po, Map poMaps) { if (!addedList.contains(po)) { addedList.add(po); } - DepartmentPO parentPO = poMaps.get(po.getParentDept()); + DepartmentPO parentPO = poMaps.get(po.getSupDepId()); if (null != parentPO) { dealParentData(addedList, parentPO, poMaps); } diff --git a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java index 4da3d4ea..5b6e0892 100644 --- a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java +++ b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java @@ -24,7 +24,7 @@ import java.util.List; tableType = WeaTableType.NONE) public class DepartmentListDTO { - private Long id; + private Integer id; /** * 是否被引用 */ @@ -33,58 +33,54 @@ public class DepartmentListDTO { /** * 名称 */ - @TableTitle(title = "名称", dataIndex = "deptName", key = "deptName",width = "200") - private String deptName; + @TableTitle(title = "名称", dataIndex = "departmentMark", key = "departmentMark", width = "200") + private String departmentMark; /** * 编号 */ - @TableTitle(title = "编号", dataIndex = "deptNo", key = "deptNo") - private String deptNo; + @TableTitle(title = "编号", dataIndex = "departmentCode", key = "departmentCode") + private String departmentCode; /** * 简称 */ - @TableTitle(title = "简称", dataIndex = "deptNameShort", key = "deptNameShort") - private String deptNameShort; + @TableTitle(title = "简称", dataIndex = "departmentName", key = "departmentName") + private String departmentName; /** * 所属分部 */ - @TableTitle(title = "所属分部", dataIndex = "parentComp", key = "parentComp") - private String parentComp; + @TableTitle(title = "所属分部", dataIndex = "subCompanyName", key = "subCompanyName") + private String subCompanyName; + private Integer subCompanyId1; /** * 上级部门 */ - @TableTitle(title = "上级部门", dataIndex = "parentDeptName", key = "parentDeptName") - private String parentDeptName; + @TableTitle(title = "上级部门", dataIndex = "supDepName", key = "supDepName") + private String supDepName; - private Long parentDept; + private Integer supDepId; - /** - * 部门负责人 - */ - @TableTitle(title = "部门负责人", dataIndex = "deptPrincipal", key = "deptPrincipal") - private String deptPrincipal; + ///** + // * 部门负责人 + // */ + //@TableTitle(title = "部门负责人", dataIndex = "deptPrincipal", key = "deptPrincipal") + //private String deptPrincipal; /** * 显示顺序 */ - @TableTitle(title = "显示顺序", dataIndex = "showOrder", key = "showOrder",sorter = true) - private int showOrder; + @TableTitle(title = "显示顺序", dataIndex = "showOrder", key = "showOrder", sorter = true) + private Double showOrder; - ///** - // * 说明 - // */ - //@TableTitle(title = "说明", dataIndex = "description", key = "description") - //private String description; /** * 禁用标记 */ - @TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag") - private int forbiddenTag; + @TableTitle(title = "是否启用", dataIndex = "canceled", key = "canceled") + private int canceled; /** * 操作列 */ diff --git a/src/com/engine/organization/entity/department/param/DepartmentMergeParam.java b/src/com/engine/organization/entity/department/param/DepartmentMergeParam.java index e4468c7b..b6976c5f 100644 --- a/src/com/engine/organization/entity/department/param/DepartmentMergeParam.java +++ b/src/com/engine/organization/entity/department/param/DepartmentMergeParam.java @@ -19,11 +19,11 @@ public class DepartmentMergeParam { /** * 所选部门 */ - private Long id; + private Integer id; /** * 合并部门 */ - private Long department; + private Integer department; /** * 合并后名称 */ diff --git a/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java b/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java index 313bb356..40f101f8 100644 --- a/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java +++ b/src/com/engine/organization/entity/department/param/DepartmentMoveParam.java @@ -16,8 +16,8 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor public class DepartmentMoveParam { - private Long id; + private Integer id; private String moveType; private Integer company; - private Long department; + private Integer department; } diff --git a/src/com/engine/organization/entity/department/param/DeptSearchParam.java b/src/com/engine/organization/entity/department/param/DeptSearchParam.java index cf7b1c9c..3b29ee4f 100644 --- a/src/com/engine/organization/entity/department/param/DeptSearchParam.java +++ b/src/com/engine/organization/entity/department/param/DeptSearchParam.java @@ -17,29 +17,17 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor public class DeptSearchParam extends BaseQueryParam { - private Long id; - - private String deptNo; - + private Integer id; + private String departmentMark; private String departmentName; - - private String deptNameShort; - - private Integer parentComp; - private Integer ecCompany; - - private Long parentDept; - private Long ecDepartment; - - private Long deptPrincipal; - - private Integer showOrder; - - private String description; - - private Boolean forbiddenTag; - - private Integer subcompanyid1; - - private Long departmentid; + private Integer subCompanyId1; + private Integer supDepId; + private String allSupDepId; + private Boolean canceled; + private String departmentCode; + private Integer coadjutant; + + private String uuid; + private Double showOrder; + private Integer showOrderOfTree; } diff --git a/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java b/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java index 2845d015..9972fa6c 100644 --- a/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java +++ b/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java @@ -18,8 +18,8 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class QuerySingleDeptListParam extends BaseQueryParam { - private Long parentComp; + private Integer parentComp; - private Long parentDept; + private Integer parentDept; } diff --git a/src/com/engine/organization/entity/department/po/DepartmentPO.java b/src/com/engine/organization/entity/department/po/DepartmentPO.java index fd155d66..80833e4d 100644 --- a/src/com/engine/organization/entity/department/po/DepartmentPO.java +++ b/src/com/engine/organization/entity/department/po/DepartmentPO.java @@ -18,36 +18,22 @@ import java.util.Date; @AllArgsConstructor @NoArgsConstructor public class DepartmentPO { - - private Long id; - - private String deptNo; - - private String deptName; - - private String deptNameShort; - - private Integer parentComp; - private Integer ecCompany; - - private Long parentDept; - private Long ecDepartment; - - private Long deptPrincipal; //部门负责人 - - private Integer showOrder; - - private String description; - - private Integer forbiddenTag; - + private Integer id; + private String departmentMark; + private String departmentName; + private Integer subCompanyId1; + private Integer supDepId; + private String allSupDepId; + private Integer canceled; + private String departmentCode; + private Integer coadjutant; + + private Date created; + private Integer creater; + private Date modified; + private Integer modifier; private String uuid; + private Double showOrder; + private Integer showOrderOfTree; - private Long creator; - - private int deleteType; - - private Date createTime; - - private Date updateTime; } diff --git a/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java b/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java index f843ae3b..d6fbed46 100644 --- a/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java +++ b/src/com/engine/organization/entity/department/vo/SingleDeptTreeVO.java @@ -24,23 +24,23 @@ import java.util.List; tableType = WeaTableType.NONE) public class SingleDeptTreeVO { - private Long id; + private Integer id; - @TableTitle(title = "编号", dataIndex = "deptNo", key = "deptNo") - private String deptNo; + @TableTitle(title = "编号", dataIndex = "departmentCode", key = "departmentCode") + private String departmentCode; - @TableTitle(title = "部门名称", dataIndex = "deptName", key = "deptName") - private String deptName; + @TableTitle(title = "部门名称", dataIndex = "departmentMark", key = "departmentMark") + private String departmentMark; - private Integer parentComp; //上级分部 + private Integer subCompanyId1; //上级分部 - private Long parentDept; //上级部门id + private Integer supDepId; //上级部门id - @TableTitle(title = "上级部门", dataIndex = "parentDeptName", key = "parentDeptName") - private String parentDeptName; //上级部门 + @TableTitle(title = "上级部门", dataIndex = "supDepName", key = "supDepName") + private String supDepName; //上级部门 - @TableTitle(title = "部门负责人", dataIndex = "deptPrincipalName", key = "deptPrincipalName") - private String deptPrincipalName; //部门负责人 + //@TableTitle(title = "部门负责人", dataIndex = "deptPrincipalName", key = "deptPrincipalName") + //private String deptPrincipalName; //部门负责人 //子节点 private List children; diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index f1d21517..567a829b 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -296,7 +296,7 @@ public class ExtendInfoBO { switch (fieldhtmltype) { case "1": //单行文本框 - if (detailtype.equals("2")) {//数字 + if ("2".equals(detailtype)) {//数字 searchConditionItem = conditionFactory.createCondition(ConditionType.INPUTNUMBER, fieldlabel, fieldname, isQuickSearch); } else { searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, "25034", fieldname, isQuickSearch); @@ -347,14 +347,14 @@ public class ExtendInfoBO { break; } default: - if (detailtype.equals("161") || detailtype.equals("162") || detailtype.equals("256") || detailtype.equals("257")) { + if ("161".equals(detailtype) || "162".equals(detailtype) || "256".equals(detailtype) || "257".equals(detailtype)) { BrowserBean browserbean = new BrowserBean(Util.null2String(detailtype)); BrowserInitUtil browserInitUtil = new BrowserInitUtil(); String fielddbtype = customValue; if (!customValue.startsWith("browser.")) { fielddbtype = "browser." + customValue; } - if (detailtype.equals("161") || detailtype.equals("162")) { + if ("161".equals(detailtype) || "162".equals(detailtype)) { browserInitUtil.initCustomizeBrow(browserbean, fielddbtype, Util.getIntValue(detailtype), user.getUID()); } else { browserbean.getDataParams().put("cube_treeid", customValue); @@ -382,7 +382,9 @@ public class ExtendInfoBO { String[] fieldvalues = Util.splitString(tmpFieldValue, ","); for (int i = 0; fieldvalues != null && i < fieldvalues.length; i++) { String fieldshowname = Util.null2String(shiftManagementToolKit.getShiftOnOffWorkSections(fieldvalues[i], user.getLanguage())); - if (fieldshowname.length() == 0) continue; + if (fieldshowname.length() == 0) { + continue; + } Map replaceData = new HashMap<>(); replaceData.put("id", fieldvalues[i]); replaceData.put("name", fieldshowname); @@ -395,7 +397,9 @@ public class ExtendInfoBO { String[] fieldvalues = Util.splitString(tmpFieldValue, ","); for (int i = 0; fieldvalues != null && i < fieldvalues.length; i++) { String fieldshowname = Util.null2String(sensitiveWordTypeComInfo.getName(fieldvalues[i])); - if (fieldshowname.length() == 0) continue; + if (fieldshowname.length() == 0) { + continue; + } Map replaceData = new HashMap<>(); replaceData.put("id", fieldvalues[i]); replaceData.put("name", fieldshowname); @@ -423,7 +427,7 @@ public class ExtendInfoBO { String fieldshowname = hrmFieldManager.getFieldvalue(user, customValue, Util.getIntValue(fieldid), Util.getIntValue(fieldhtmltype), Util.getIntValue(detailtype), tmpFieldValue, 0); String[] fieldvalues = Util.splitString(tmpFieldValue, ","); String[] fieldshownames = Util.splitString(fieldshowname, ","); - if (detailtype.equals("257")) { + if ("257".equals(detailtype)) { if (fieldshowname.endsWith(" ")) { fieldshowname = fieldshowname.substring(0, fieldshowname.length() - 5); } @@ -450,7 +454,7 @@ public class ExtendInfoBO { break; case "4": //Check框 searchConditionItem = conditionFactory.createCondition(ConditionType.CHECKBOX, fieldlabel, fieldname); - if (detailtype.equals("2")) { + if ("2".equals(detailtype)) { searchConditionItem.setConditionType(ConditionType.SWITCH); } @@ -459,7 +463,7 @@ public class ExtendInfoBO { List searchConditionOptions = SelectOptionParam.convertJsonToListOption(customValue); searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, fieldlabel, fieldname, searchConditionOptions); - if (detailtype.equals("") || detailtype.equals("0")) { + if ("".equals(detailtype) || "0".equals(detailtype)) { detailtype = "1"; } searchConditionItem.setKey(Util.null2String(fieldvalue)); @@ -467,7 +471,7 @@ public class ExtendInfoBO { searchConditionItem.setDetailtype(Util.getIntValue(detailtype, 3)); break; case "6": //附件 - if (fieldname.equals("resourceimageid")) { + if ("resourceimageid".equals(fieldname)) { searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, fieldlabel, fieldname, isQuickSearch); } else { searchConditionItem = conditionFactory.createCondition(ConditionType.UPLOAD, fieldlabel, fieldname, isQuickSearch); diff --git a/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java b/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java index f55992af..8cc8e12c 100644 --- a/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java +++ b/src/com/engine/organization/entity/extend/param/ExtendInfoFieldParam.java @@ -38,17 +38,17 @@ public class ExtendInfoFieldParam { public String getControlType() { JSONArray fieldType = (JSONArray) this.getFieldType(); String fieldHtmlType = Util.null2String(fieldType.get(0)); - if (fieldHtmlType.equals("input")) { + if ("input".equals(fieldHtmlType)) { fieldHtmlType = "1"; - } else if (fieldHtmlType.equals("textarea")) { + } else if ("textarea".equals(fieldHtmlType)) { fieldHtmlType = "2"; - } else if (fieldHtmlType.equals("browser")) { + } else if ("browser".equals(fieldHtmlType)) { fieldHtmlType = "3"; - } else if (fieldHtmlType.equals("check")) { + } else if ("check".equals(fieldHtmlType)) { fieldHtmlType = "4"; - } else if (fieldHtmlType.equals("select")) { + } else if ("select".equals(fieldHtmlType)) { fieldHtmlType = "5"; - } else if (fieldHtmlType.equals("upload")) { + } else if ("upload".equals(fieldHtmlType)) { fieldHtmlType = "6"; } return fieldHtmlType; @@ -60,27 +60,27 @@ public class ExtendInfoFieldParam { if (fieldType.size() > 1) { browserType = Util.null2String(fieldType.get(1)); } - if (controlType.equals("1")) { - if (browserType.equals("text")) { + if ("1".equals(controlType)) { + if ("text".equals(browserType)) { browserType = "1"; - } else if (browserType.equals("int")) { + } else if ("int".equals(browserType)) { browserType = "2"; - } else if (browserType.equals("float")) { + } else if ("float".equals(browserType)) { browserType = "3"; - } else if (browserType.equals("file")) { + } else if ("file".equals(browserType)) { browserType = "1"; } } - if (controlType.equals("2")) { + if ("2".equals(controlType)) { browserType = "1"; - } else if (controlType.equals("3")) { + } else if ("3".equals(controlType)) { browserType = Util.null2String(((JSONObject) fieldType.get(1)).get("value")); - } else if (controlType.equals("4")) { + } else if ("4".equals(controlType)) { browserType = "1"; - } else if (controlType.equals("5")) { + } else if ("5".equals(controlType)) { browserType = "1"; - } else if (controlType.equals("6")) { - if (browserType.equals("file")) { + } else if ("6".equals(controlType)) { + if ("file".equals(browserType)) { browserType = "1"; } } @@ -89,7 +89,7 @@ public class ExtendInfoFieldParam { public String getDbType(String controlType, String browserType) { FieldParam fp = new FieldParam(); - if (controlType.equals("1")) { + if ("1".equals(controlType)) { JSONArray fieldType = (JSONArray) this.getFieldType(); String dbLength = "100"; if (fieldType.size() > 2) { @@ -101,15 +101,15 @@ public class ExtendInfoFieldParam { } fp.setSimpleText(Util.getIntValue(browserType, -1), dbLength); - } else if (controlType.equals("2")) { + } else if ("2".equals(controlType)) { fp.setText(); - } else if (controlType.equals("3")) { + } else if ("3".equals(controlType)) { fp.setBrowser(Util.getIntValue(browserType, -1)); - } else if (controlType.equals("4")) { + } else if ("4".equals(controlType)) { fp.setCheck(); - } else if (controlType.equals("5")) { + } else if ("5".equals(controlType)) { fp.setSelect(); - } else if (controlType.equals("6")) { + } else if ("6".equals(controlType)) { fp.setAttach(); } return fp.getFielddbtype(); diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index b212c7b9..a3feafda 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -53,7 +53,7 @@ public class JobBO { } - public static List buildSingleJobTreeVOS(List jobPOS, Long parentDept) { + public static List buildSingleJobTreeVOS(List jobPOS, Integer parentDept) { if (CollectionUtils.isEmpty(jobPOS)) { return Collections.emptyList(); } @@ -78,8 +78,6 @@ public class JobBO { public static List buildDTOList(Collection list) { // 递归添加父级数据 - Map poMaps = list.stream().collect(Collectors.toMap(JobListDTO::getId, item -> item)); - List dtoList = list.stream().map(e -> JobListDTO.builder() .id(e.getId()) diff --git a/src/com/engine/organization/entity/job/dto/JobListDTO.java b/src/com/engine/organization/entity/job/dto/JobListDTO.java index be769e5f..55f41399 100644 --- a/src/com/engine/organization/entity/job/dto/JobListDTO.java +++ b/src/com/engine/organization/entity/job/dto/JobListDTO.java @@ -68,7 +68,7 @@ public class JobListDTO { //@TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName") private String parentJobName; private Long parentJob; - private Long parentComp; + private Integer parentComp; /** * 是否关键岗 */ diff --git a/src/com/engine/organization/entity/job/param/JobSearchParam.java b/src/com/engine/organization/entity/job/param/JobSearchParam.java index 89a09ec0..bb929e44 100644 --- a/src/com/engine/organization/entity/job/param/JobSearchParam.java +++ b/src/com/engine/organization/entity/job/param/JobSearchParam.java @@ -36,7 +36,7 @@ public class JobSearchParam extends BaseQueryParam { /** * ec部门 */ - private Long ecDepartment; + private Integer ecDepartment; /** * 岗位序列 */ @@ -81,5 +81,5 @@ public class JobSearchParam extends BaseQueryParam { private Integer subcompanyid1; - private Long departmentid; + private Integer departmentid; } diff --git a/src/com/engine/organization/entity/job/po/JobPO.java b/src/com/engine/organization/entity/job/po/JobPO.java index 84329c04..2fd5fe58 100644 --- a/src/com/engine/organization/entity/job/po/JobPO.java +++ b/src/com/engine/organization/entity/job/po/JobPO.java @@ -42,11 +42,11 @@ public class JobPO { /** * 所属部门 */ - private Long parentDept; + private Integer parentDept; /** * ec部门 */ - private Long ecDepartment; + private Integer ecDepartment; /** * 岗位序列 diff --git a/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java b/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java index 00ac4781..ea304e53 100644 --- a/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java +++ b/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java @@ -37,7 +37,7 @@ public class SingleJobTreeVO { private Long parentJob; - private Long parentDept; + private Integer parentDept; private List children; diff --git a/src/com/engine/organization/entity/logview/bo/FieldInfo.java b/src/com/engine/organization/entity/logview/bo/FieldInfo.java index 11a9f68b..dfb36f74 100644 --- a/src/com/engine/organization/entity/logview/bo/FieldInfo.java +++ b/src/com/engine/organization/entity/logview/bo/FieldInfo.java @@ -98,8 +98,12 @@ public class FieldInfo { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } FieldInfo fieldInfo = (FieldInfo) o; return Objects.equals(fieldName, fieldInfo.fieldName) && Objects.equals(firstFieldType, fieldInfo.firstFieldType) && diff --git a/src/com/engine/organization/entity/searchtree/SearchTree.java b/src/com/engine/organization/entity/searchtree/SearchTree.java index 1c05c440..ddb769e6 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTree.java +++ b/src/com/engine/organization/entity/searchtree/SearchTree.java @@ -24,8 +24,12 @@ public class SearchTree extends TreeNode { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } SearchTree that = (SearchTree) o; return isCanceled == that.isCanceled && Objects.equals(this.getId(), that.getId()) &&Objects.equals(companyid, that.companyid) && Objects.equals(isVirtual, that.isVirtual) && Objects.equals(psubcompanyid, that.psubcompanyid) && Objects.equals(displayType, that.displayType) && Objects.equals(requestParams, that.requestParams) && Objects.equals(parentComp, that.parentComp) && Objects.equals(orderNum, that.orderNum); } diff --git a/src/com/engine/organization/entity/staff/param/StaffSearchParam.java b/src/com/engine/organization/entity/staff/param/StaffSearchParam.java index a4aaf2d5..003231c5 100644 --- a/src/com/engine/organization/entity/staff/param/StaffSearchParam.java +++ b/src/com/engine/organization/entity/staff/param/StaffSearchParam.java @@ -32,8 +32,8 @@ public class StaffSearchParam { /** * 部门 */ - private Long deptId; - private Long ecDepartment; + private Integer deptId; + private Integer ecDepartment; /** * 岗位 */ diff --git a/src/com/engine/organization/entity/staff/po/StaffPO.java b/src/com/engine/organization/entity/staff/po/StaffPO.java index 1d489d85..f1681d3c 100644 --- a/src/com/engine/organization/entity/staff/po/StaffPO.java +++ b/src/com/engine/organization/entity/staff/po/StaffPO.java @@ -34,8 +34,8 @@ public class StaffPO { /** * 部门 */ - private Long deptId; - private Long ecDepartment; + private Integer deptId; + private Integer ecDepartment; /** * 岗位 */ diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.java b/src/com/engine/organization/mapper/comp/CompanyMapper.java index 2eff33a9..ba71a66f 100644 --- a/src/com/engine/organization/mapper/comp/CompanyMapper.java +++ b/src/com/engine/organization/mapper/comp/CompanyMapper.java @@ -73,7 +73,7 @@ public interface CompanyMapper { * @param supSubComId * @return */ - Long getIdByNameAndPid(@Param("subCompanyName") String subCompanyName, @Param("supSubComId") Integer supSubComId); + Integer getIdByNameAndPid(@Param("subCompanyName") String subCompanyName, @Param("supSubComId") Integer supSubComId); /** * 获取最大排序 diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.xml b/src/com/engine/organization/mapper/comp/CompanyMapper.xml index a0ee2652..41085e82 100644 --- a/src/com/engine/organization/mapper/comp/CompanyMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompanyMapper.xml @@ -149,7 +149,7 @@ - select id from hrmsubcompany where subcompanyname = #{subCompanyName} diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index 2b2e3fb6..2d11b779 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -14,28 +14,22 @@ import java.util.Map; * @Version V1.0 **/ public interface DepartmentMapper { - - List getDeptListByCompId(@Param("parentComp") Integer parentComp); - - List getDeptListByPId(@Param("PId") Long PId); - - int countChildByPID(@Param("pid") Long pid); - + List getDeptListByPId(@Param("PId") Integer PId); /** * 查询所有数据 * * @return */ - List list(@Param("orderSql") String orderSql); + List listAll(@Param("orderSql") String orderSql); /** * 根据No查询数据 * - * @param deptNo + * @param departmentCode * @return */ - List listByNo(@Param("deptNo") String deptNo); + List listByNo(@Param("departmentCode") String departmentCode); /** * 根据搜索条件查询数据 @@ -60,15 +54,7 @@ public interface DepartmentMapper { * @param id * @return */ - DepartmentPO getDeptById(@Param("id") Long id); - - /** - * 根据UUID查询数据 - * - * @param uuid - * @return - */ - DepartmentPO getDepartmentByUUID(@Param("uuid") String uuid); + DepartmentPO getDeptById(@Param("id") Integer id); /** * 根据ID查询名称 @@ -76,38 +62,7 @@ public interface DepartmentMapper { * @param id * @return */ - String getDeptNameById(@Param("id") Long id); - - /** - * 添加数据 - * - * @param departmentPO - * @return - */ - int insertIgnoreNull(DepartmentPO departmentPO); - - /** - * 更新主表内容 - * - * @param departmentPO - * @return - */ - int updateBaseDept(DepartmentPO departmentPO); - - /** - * 更新禁用标记 - * - * @param departmentPO - * @return - */ - int updateForbiddenTagById(DepartmentPO departmentPO); - - /** - * 批量删除 - * - * @param ids - */ - int deleteByIds(@Param("ids") Collection ids); + String getDeptNameById(@Param("id") Integer id); /** * 查询所有被引用的ID @@ -121,24 +76,22 @@ public interface DepartmentMapper { * * @return */ - Integer getMaxShowOrder(); + Double getMaxShowOrder(); /** * 根据名称、上级 查询部门元素 * * @param departmentName - * @param parentCompany - * @param parentDepartment + * @param subCompanyId1 + * @param supDepId * @return */ - Long getIdByNameAndPid(@Param("departmentName") String departmentName, @Param("parentCompany") Long parentCompany, @Param("parentDepartment") Long parentDepartment); + Integer getIdByNameAndPid(@Param("departmentName") String departmentName, @Param("subCompanyId1") Integer subCompanyId1, @Param("supDepId") Integer supDepId); - int checkRepeatNo(@Param("departmentNo") String departmentNo, @Param("id") Long id); + int checkRepeatNo(@Param("departmentCode") String departmentCode, @Param("id") Long id); List hasSubs(); - int countUsedInJob(@Param("departmentId") Long departmentId); - - /**************************************************/ + int countUsedInJob(@Param("supDepId") Long supDepId); } diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 018fd1a2..16e8381f 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -3,22 +3,15 @@ - - - - - - - - - - - - - - - - + + + + + + + + + @@ -28,39 +21,28 @@ . id , - t.dept_no, - t.dept_name, - t.dept_name_short, - t.parent_comp, - t.ec_company, - t.parent_dept, - t.ec_department, - t.dept_principal, - t.show_order, - t.description, - t.forbidden_tag, + t.departmentMark, + t.departmentName, + t.subCompanyId1, + t.supDepId, + t.allSupDepId, + t.canceled, + t.departmentCode, + t.coadjutant, + t.showOrder, t.uuid - - @@ -68,69 +50,45 @@ resultMap="BaseResultMap"> select - from jcl_org_dept t - where delete_type = 0 + from hrmdepartment t + where 1=1 - - and t.ec_company = #{departmentPO.ecCompany} - - - and t.ec_department = #{departmentPO.ecDepartment} - - - and t.parent_comp = #{departmentPO.parentComp} - - - and t.parent_dept = #{departmentPO.parentDept} - - - and t.dept_principal = #{departmentPO.deptPrincipal} - - - and t.show_order = #{departmentPO.showOrder} + + and t.subCompanyId1 = #{departmentPO.subCompanyId1} - - and t.forbidden_tag = #{departmentPO.forbiddenTag} + + and t.supDepId = #{departmentPO.supDepId} order by ${orderSql} - select - from jcl_org_dept t - where delete_type = 0 - and id = #{id} + from hrmdepartment t + where id = #{id} - SELECT - FROM jcl_org_dept t - WHERE t.delete_type = 0 order by ${orderSql} + FROM hrmdepartment t order by ${orderSql} - select - from jcl_org_dept t - where delete_type = 0 - AND id IN + from hrmdepartment t + where id IN #{id} - + select max(showOrder) + from hrmdepartment - select id - from jcl_org_dept - where delete_type = 0 and dept_name = #{departmentName} - and parent_comp = #{parentCompany} - - - - - and ifnull(parent_dept,0) = - #{parentDepartment} - - - - and isnull(parent_dept,0) = - #{parentDepartment} - - - - and NVL(parent_dept,0) = - #{parentDepartment} - - - - INSERT INTO jcl_org_dept - - - creator, - - - delete_type, - - - create_time, - - - update_time, - - - - dept_no, - - - dept_name, - - - dept_name_short, - - - parent_comp, - - - ec_company, - - - parent_dept, - - - ec_department, - - - dept_principal, - - - show_order, - - - description, - - - uuid, - - forbidden_tag, - - - - #{creator}, - - - #{deleteType}, - - - #{createTime}, - - - #{updateTime}, - - - #{deptNo}, - - - #{deptName}, - - - #{deptNameShort}, - - - #{parentComp}, - - - #{ecCompany}, - - - #{parentDept}, - - - #{ecDepartment}, - - - #{deptPrincipal}, - - - #{showOrder}, - - - #{description}, - - - #{uuid}, - - 0, - - - - - select JCL_ORG_DEPT_ID.currval from dual - - INSERT INTO jcl_org_dept - - - creator, - - - delete_type, - - - create_time, - - - update_time, - - - - dept_no, - - - dept_name, - - - dept_name_short, - - - parent_comp, - - - ec_company, - - - parent_dept, - - - ec_department, - - - dept_principal, - - - show_order, - - - description, - - - uuid, - - forbidden_tag, - - - - #{creator}, - - - #{deleteType}, - - - #{createTime}, - - - #{updateTime}, - - - #{deptNo}, - - - #{deptName}, - - - #{deptNameShort}, - - - #{parentComp}, - - - #{ecCompany}, - - - #{parentDept}, - - - #{ecDepartment}, - - - #{deptPrincipal}, - - - #{showOrder}, - - - #{description}, - - - #{uuid}, - - 0, - - - - - update jcl_org_dept - - creator=#{creator}, - update_time=#{updateTime}, - dept_name=#{deptName}, - dept_name_short=#{deptNameShort}, - parent_comp=#{parentComp}, - ec_company=#{ecCompany}, - parent_dept=#{parentDept}, - ec_department=#{ecDepartment}, - dept_principal=#{deptPrincipal}, - show_order=#{showOrder}, - description=#{description}, - - forbidden_tag=#{forbiddenTag}, - - - WHERE id = #{id} AND delete_type = 0 - - - - update jcl_org_dept - - forbidden_tag=#{forbiddenTag}, - - WHERE id = #{id} AND delete_type = 0 - - - - UPDATE jcl_org_dept - SET delete_type = 1 - WHERE delete_type = 0 - AND id IN - - #{id} - - - - - and t.dept_no like CONCAT('%',#{departmentPO.deptNo},'%') + + and t.departmentCode like CONCAT('%',#{departmentPO.departmentCode},'%') - - and t.dept_name like CONCAT('%',#{departmentPO.deptName},'%') - - - and t.dept_name_short like CONCAT('%',#{departmentPO.deptNameShort},'%') + + and t.departmentName like CONCAT('%',#{departmentPO.departmentMarkShort},'%') - - and t.dept_no like '%'||#{departmentPO.deptNo}||'%' - - - and t.dept_name like '%'||#{departmentPO.deptName}||'%' + + and t.departmentCode like '%'||#{departmentPO.departmentCode}||'%' - - and t.dept_name_short like '%'||#{departmentPO.deptNameShort}||'%' + + and t.departmentName like '%'||#{departmentPO.departmentName}||'%' - - and t.dept_no like '%'+#{departmentPO.deptNo}+'%' - - - and t.dept_name like '%'+#{departmentPO.deptName}+'%' + + and t.departmentCode like '%'+#{departmentPO.departmentCode}+'%' - - and t.dept_name_short like '%'+#{departmentPO.deptNameShort}+'%' + + and t.departmentName like '%'+#{departmentPO.departmentName}+'%' - - and ifnull(parent_dept,'0')='0' - - - - and isnull(parent_dept,'0')='0' - - - - and NVL(parent_dept,'0')='0' - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java index 4e6353a6..c768484a 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java @@ -31,7 +31,7 @@ public interface SystemDataMapper { RecordInfo getHrmJobTitleByName(@Param("name") String name); - List getHrmResourceIds(@Param("departmentId") Long departmentId, @Param("jobTitle") String jobTitle); + List getHrmResourceIds(@Param("departmentId") Integer departmentId, @Param("jobTitle") String jobTitle); List getHrmResourceIdsByDept(@Param("departmentId") String departmentId); diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 7eeea256..5a217c41 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -96,7 +96,7 @@ public interface JobMapper { * @param ecDepartment * @return */ - Integer countRepeatNameByPid(@Param("jobName") String jobName, @Param("id") Long id, @Param("parentJob") Long parentJob, @Param("ecDepartment") Long ecDepartment); + Integer countRepeatNameByPid(@Param("jobName") String jobName, @Param("id") Long id, @Param("parentJob") Long parentJob, @Param("ecDepartment") Integer ecDepartment); /** * 根据所属部门查询数据 @@ -163,7 +163,7 @@ public interface JobMapper { * @param parentJob * @return */ - Long getIdByNameAndPid(@Param("jobName") String jobName, @Param("parentCompany") Long parentCompany, @Param("parentDepartment") Long parentDepartment, @Param("parentJob") Long parentJob); + Long getIdByNameAndPid(@Param("jobName") String jobName, @Param("parentCompany") Integer parentCompany, @Param("parentDepartment") Integer parentDepartment, @Param("parentJob") Long parentJob); Long getIdByNameAndEcId(@Param("jobName") String jobName, @Param("ecCompany") String ecCompany, @Param("ecDepartment") String ecDepartment); diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index ce9a5e4d..9515880c 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -21,7 +21,7 @@ public interface ResourceMapper { List getResourceListByJobId(@Param("jobId") Long jobId); - int updateResourceJob(@Param("originalJobId") Long originalJobId, @Param("targetJobId") Long targetJobId, @Param("parentComp") Integer parentComp, @Param("parentDept") Long parentDept, @Param("ecCompany") Integer ecCompany, @Param("ecDepartment") Long ecDepartment); + int updateResourceJob(@Param("originalJobId") Long originalJobId, @Param("targetJobId") Long targetJobId, @Param("parentComp") Integer parentComp, @Param("parentDept") Integer parentDept, @Param("ecCompany") Integer ecCompany, @Param("ecDepartment") Integer ecDepartment); HrmResourcePO getResourceById(@Param("id") String id); diff --git a/src/com/engine/organization/service/DepartmentService.java b/src/com/engine/organization/service/DepartmentService.java index d405d497..34ed7ce7 100644 --- a/src/com/engine/organization/service/DepartmentService.java +++ b/src/com/engine/organization/service/DepartmentService.java @@ -8,7 +8,6 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.page.PageInfo; -import java.util.Collection; import java.util.List; import java.util.Map; @@ -83,7 +82,7 @@ public interface DepartmentService { * * @param ids */ - int deleteByIds(Collection ids); + Map deleteByIds(Map params); /** * 获取搜索条件 diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index c3d65b37..ca2485f9 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -263,9 +263,9 @@ public class CompServiceImpl extends Service implements CompService { String addType = Util.null2String(params.get("addType")); SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo(); String supsubcomid = ""; - if (addType.equals("sibling")) { + if ("sibling".equals(addType)) { supsubcomid = subCompanyComInfo.getSupsubcomid(id); - } else if (addType.equals("child")) { + } else if ("child".equals(addType)) { supsubcomid = id; } if (StringUtils.isNotBlank(addType)) { @@ -290,7 +290,7 @@ public class CompServiceImpl extends Service implements CompService { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); - boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)).equals("1"); + boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId))); String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); List itemList = new ArrayList<>(); Map groupItem = new HashMap<>(); @@ -301,7 +301,7 @@ public class CompServiceImpl extends Service implements CompService { String fieldId = (String) lsField.get(j); String fieldName = HrmFieldComInfo.getFieldname(fieldId); String isUse = HrmFieldComInfo.getIsused(fieldId); - if (!isUse.equals("1")) { + if (!"1".equals(isUse)) { continue; } int tmpViewAttr = viewAttr; @@ -313,14 +313,14 @@ public class CompServiceImpl extends Service implements CompService { String fieldValue = ""; if (StringUtils.isNotBlank(addType)) { } else { - if (HrmFieldComInfo.getIssystem(fieldId).equals("1")) { + if ("1".equals(HrmFieldComInfo.getIssystem(fieldId))) { fieldValue = hfm.getData(fieldName); } else { fieldValue = hfm.getData("hrmsubcompanydefined", fieldName); } } - if (!groupHide && tmpViewAttr == 2 && HrmFieldComInfo.getIsmand(fieldId).equals("1")) { + if (!groupHide && tmpViewAttr == 2 && "1".equals(HrmFieldComInfo.getIsmand(fieldId))) { tmpViewAttr = 3; if ("1".equals(fieldHtmlType) && "2".equals(type)) { rules = "required|integer"; @@ -330,15 +330,16 @@ public class CompServiceImpl extends Service implements CompService { } if ("84".equals(fieldId)) { - if (user.getUID() != 1) + if (user.getUID() != 1) { continue; - fieldValue = fieldValue.equals("0") ? "" : fieldValue; + } + fieldValue = "0".equals(fieldValue) ? "" : fieldValue; } - if (supsubcomid.length() > 0 && fieldName.equals("supsubcomid")) { + if (supsubcomid.length() > 0 && "supsubcomid".equals(fieldName)) { fieldValue = supsubcomid; } - if (fieldName.equals("subshowid")) { + if ("subshowid".equals(fieldName)) { if (StringUtils.isNotBlank(addType)) { continue; } else { @@ -359,20 +360,20 @@ public class CompServiceImpl extends Service implements CompService { hrmFieldBean.setViewAttr(tmpViewAttr); hrmFieldBean.setRules(rules); hrmFieldBean.setIssystem("1"); - if (hrmFieldBean.getFieldname().equals("supsubcomid")) { + if ("supsubcomid".equals(hrmFieldBean.getFieldname())) { hrmFieldBean.setHideVirtualOrg(true); } - if (hrmFieldBean.getFieldname().equals("subcompanycode")) { + if ("subcompanycode".equals(hrmFieldBean.getFieldname())) { hrmFieldBean.setMultilang(false); } SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); if (searchConditionItem != null) { searchConditionItem.setLabelcol(8); searchConditionItem.setFieldcol(16); - if (hrmFieldBean.getFieldname().equals("showorder")) { + if ("showorder".equals(hrmFieldBean.getFieldname())) { searchConditionItem.setPrecision(2); } - if (fieldName.equals("subshowid")) { + if ("subshowid".equals(fieldName)) { Map otherParams = new HashMap<>(); otherParams.put("hasBorder", true); searchConditionItem.setOtherParams(otherParams); @@ -408,8 +409,8 @@ public class CompServiceImpl extends Service implements CompService { @Override public int moveCompany(DepartmentMoveParam moveParam) { - Integer companyId = moveParam.getId().intValue(); - Integer targetCompanyId = moveParam.getCompany().intValue(); + Integer companyId = moveParam.getId(); + Integer targetCompanyId = moveParam.getCompany(); // 判断目标分部是否为它本身以及子元素 Set disableIds = new HashSet<>(); disableIds.add(companyId); diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index ca5a1514..3ea4baef 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -8,10 +8,9 @@ import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.hrm.entity.RuleCodeType; +import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.codesetting.po.CodeRulePO; -import com.engine.organization.entity.commom.RecordInfo; import com.engine.organization.entity.company.bo.CompanyBO; import com.engine.organization.entity.company.po.CompanyPO; import com.engine.organization.entity.department.bo.DepartmentBO; @@ -35,13 +34,10 @@ import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtDTMapper; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; -import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.DepartmentService; import com.engine.organization.service.ExtService; -import com.engine.organization.thread.DepartmentTriggerRunnable; -import com.engine.organization.thread.HrmResourceTriggerRunnable; import com.engine.organization.thread.JobTriggerRunnable; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; @@ -99,8 +95,6 @@ public class DepartmentServiceImpl extends Service implements DepartmentService */ private static final Long GROUP_ID = 2L; - private static final String HRM_DEPARTMENT = "hrmdepartment"; - private static DepartmentMapper getDepartmentMapper() { return MapperProxyFactory.getProxy(DepartmentMapper.class); @@ -118,10 +112,6 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return MapperProxyFactory.getProxy(ExtendTitleMapper.class); } - private SystemDataMapper getSystemDataMapper() { - return MapperProxyFactory.getProxy(SystemDataMapper.class); - } - private ExtService getExtService(User user) { return ServiceUtil.getService(ExtServiceImpl.class, user); } @@ -131,7 +121,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public PageInfo getDeptListByPid(QuerySingleDeptListParam param) { //1.查询分部下所有部门 //PageUtil.start(param.getCurrent(), param.getPageSize()); - List departmentPOS = MapperProxyFactory.getProxy(DepartmentMapper.class).list("show_order"); + List departmentPOS = MapperProxyFactory.getProxy(DepartmentMapper.class).listAll("showOrder"); PageInfo pageInfo = new PageInfo<>(departmentPOS); List singleDeptTreeVOS = DepartmentBO.buildSingleDeptTreeVOS(departmentPOS, param.getParentComp()); PageInfo pageInfos = new PageInfo<>(singleDeptTreeVOS, SingleDeptTreeVO.class); @@ -176,7 +166,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService boolean filter = isFilter(departmentPO); PageInfo pageInfos; String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams()); - List allList = getDepartmentMapper().list(orderSql); + List allList = getDepartmentMapper().listAll(orderSql); new DetachUtil(user.getUID()).filterDepartmentList(allList); // 通过子级遍历父级元素 if (filter) { @@ -261,19 +251,12 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public int updateForbiddenTagById(DeptSearchParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - DepartmentPO departmentPO = DepartmentPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); - - if (!params.getForbiddenTag()) { - // 判断当前岗位下是否有启用岗位,如有启用岗位,部门无法禁用 - int countUsedInJob = getDepartmentMapper().countUsedInJob(params.getId()); - OrganizationAssert.isTrue(countUsedInJob == 0, "部门存在下级岗位,不能封存"); - } - + DepartmentPO departmentPO = DepartmentPO.builder().id(params.getId()).canceled(params.getCanceled() ? 0 : 1).build(); Map map = new HashMap<>(); map.put("id", departmentPO.getId()); - map.put("forbiddenTag", departmentPO.getForbiddenTag()); + map.put("forbiddenTag", departmentPO.getCanceled()); new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); - return getDepartmentMapper().updateForbiddenTagById(departmentPO); + return 1; } @Override @@ -336,20 +319,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } @Override - public int deleteByIds(Collection ids) { + public Map deleteByIds(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); - Map map = new HashMap<>(); - - for (Long id : ids) { - map.put("id", id); - new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); - // 删除拓展表、明细表 - MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_deptext", id); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", id, null); - } - - return getDepartmentMapper().deleteByIds(ids); + return ServiceUtil.getService(OrganizationServiceImpl.class, user).delDepartment(params, user); } @Override @@ -446,36 +418,36 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public Map getSaveForm(DeptSearchParam param) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - List addGroups = new ArrayList<>(); - List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); - if (CollectionUtils.isNotEmpty(extendTitles)) { - Map params = new HashMap<>(); - // 分部 - if (StringUtils.isNotBlank(Util.null2String(param.getSubcompanyid1()))) { - CompanyPO companyPO = getCompanyMapper().listById(param.getSubcompanyid1()); - if (null != companyPO) { - params.put("parent_comp", companyPO.getId()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(companyPO.getId().toString())); - } - } - // 部门 - if (StringUtils.isNotBlank(Util.null2String(param.getDepartmentid()))) { - DepartmentPO deptById = getDepartmentMapper().getDeptById(param.getDepartmentid()); - if (null != deptById) { - params.put("parent_dept", deptById.getId()); - params.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(deptById.getId().toString())); - params.put("parent_comp", deptById.getParentComp()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(deptById.getParentComp().toString())); - } - } - for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_DEPT, 2, extendTitle.getId().toString(), "dept_no", RuleCodeType.DEPARTMENT.getValue(), params); - if (CollectionUtils.isNotEmpty(items)) { - addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - } - } - } - apiDatas.put("condition", addGroups); + //List addGroups = new ArrayList<>(); + //List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); + //if (CollectionUtils.isNotEmpty(extendTitles)) { + // Map params = new HashMap<>(); + // // 分部 + // if (StringUtils.isNotBlank(Util.null2String(param.getSubcompanyid1()))) { + // CompanyPO companyPO = getCompanyMapper().listById(param.getSubcompanyid1()); + // if (null != companyPO) { + // params.put("parent_comp", companyPO.getId()); + // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(companyPO.getId().toString())); + // } + // } + // // 部门 + // if (StringUtils.isNotBlank(Util.null2String(param.getDepartmentid()))) { + // DepartmentPO deptById = getDepartmentMapper().getDeptById(param.getDepartmentid()); + // if (null != deptById) { + // params.put("parent_dept", deptById.getId()); + // params.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(deptById.getId().toString())); + // params.put("parent_comp", deptById.getParentComp()); + // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(deptById.getParentComp().toString())); + // } + // } + // for (ExtendTitlePO extendTitle : extendTitles) { + // List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_DEPT, 2, extendTitle.getId().toString(), "dept_no", RuleCodeType.DEPARTMENT.getValue(), params); + // if (CollectionUtils.isNotEmpty(items)) { + // addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); + // } + // } + //} + //apiDatas.put("condition", addGroups); return apiDatas; } @@ -517,45 +489,34 @@ public class DepartmentServiceImpl extends Service implements DepartmentService OrganizationAssert.notBlank(copyParam.getCompany(), "请指定需要复制的公司/分部"); int insertCount = 0; // 需复制的部门 - List idList = Arrays.stream(copyParam.getIds().split(",")).map(Long::parseLong).collect(Collectors.toList()); - Integer maxShowOrder = getDepartmentMapper().getMaxShowOrder(); + List idList = Arrays.stream(copyParam.getIds().split(",")).map(Integer::parseInt).collect(Collectors.toList()); + Double maxShowOrder = getDepartmentMapper().getMaxShowOrder(); maxShowOrder = null == maxShowOrder ? 0 : maxShowOrder; - for (Long departmentId : idList) { + for (Integer departmentId : idList) { // 复制当前部门 - recursionCopyDept(departmentId, null,Integer.parseInt(copyParam.getCompany()), maxShowOrder, copyParam.getCopyJob(), copyParam.getCopySubDept(), copyParam.getCopySubJob()); + recursionCopyDept(departmentId, null, Integer.parseInt(copyParam.getCompany()), maxShowOrder, copyParam.getCopyJob(), copyParam.getCopySubDept(), copyParam.getCopySubJob()); } return insertCount; } - private void recursionCopyDept(Long originalDeptId, Long parentDepartmentId, Integer companyId, Integer maxShowOrder, String copyJob, String copySubDept, String copySubJob) { + private void recursionCopyDept(Integer originalDeptId, Integer parentDepartmentId, Integer companyId, Double maxShowOrder, String copyJob, String copySubDept, String copySubJob) { // 源部门 DepartmentPO deptById = getDepartmentMapper().getDeptById(originalDeptId); long timeMillis = System.currentTimeMillis(); // 处理自动编号 - deptById.setDeptNo(CodeRuleUtil.generateCode(RuleCodeType.DEPARTMENT, deptById.getDeptNo(), timeMillis)); + deptById.setDepartmentCode(null); // 设置上级分部 - deptById.setParentComp(companyId); - deptById.setEcCompany(companyId); - deptById.setParentDept(parentDepartmentId); - if (null != parentDepartmentId) { - deptById.setEcDepartment(Long.parseLong(EcHrmRelationUtil.getEcDepartmentId(Util.null2String(parentDepartmentId)))); - } + deptById.setSubCompanyId1(companyId); + deptById.setSupDepId(parentDepartmentId); // 显示顺序字段 deptById.setShowOrder(++maxShowOrder); - deptById.setCreator((long) user.getUID()); - deptById.setCreateTime(new Date()); - deptById.setDeptPrincipal(null); // 新增EC表部门 Map syncMap = addEcDepartment(deptById); String ecDepartmentID = Util.null2String(syncMap.get("id")); OrganizationAssert.isTrue(StringUtils.isNotBlank(ecDepartmentID), syncMap.get("message").toString()); - // 查询UUID - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecDepartmentID); - deptById.setUuid(recordInfo.getUuid()); - getDepartmentMapper().insertIgnoreNull(deptById); // 更新组织架构图 - new DepartmentTriggerRunnable(deptById.getId()).run(); + //TODO new DepartmentTriggerRunnable(deptById.getId()).run(); // 复制当前部门岗位信息 if ("1".equals(copyJob)) { @@ -598,11 +559,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public int mergeDepartment(DepartmentMergeParam mergeParam) { HasRightUtil.hasRight(user, RIGHT_NAME, false); // 被合并部门 - Long ecParamDepartment = mergeParam.getDepartment(); - DepartmentPO targetDepartment = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(ecParamDepartment)); + Integer ecParamDepartment = mergeParam.getDepartment(); + DepartmentPO targetDepartment = getDepartmentMapper().getDeptById(ecParamDepartment); // map表中合并部门parentID - Long oldParamDepartment = mergeParam.getId(); - DepartmentPO oldDepartment = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(oldParamDepartment)); + Integer oldParamDepartment = mergeParam.getId(); + DepartmentPO oldDepartment = getDepartmentMapper().getDeptById(oldParamDepartment); Integer oldFParentId = null; if (null != oldDepartment) { java.sql.Date currentDate = new java.sql.Date(OrganizationDateUtil.stringToDate(OrganizationDateUtil.getFormatLocalDate(new Date())).getTime()); @@ -619,7 +580,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService OrganizationAssert.notBlank(mergeParam.getMergeName(), "请输入合并后的名称"); // 不可选择合并的数据,本身及子部门 - Set disableIds = new HashSet<>(); + Set disableIds = new HashSet<>(); // 添加选择部门本身 disableIds.add(mergeParam.getId()); List deptListByPId = getDepartmentMapper().getDeptListByPId(mergeParam.getId()); @@ -632,40 +593,37 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List firstChildDeptList = getDepartmentMapper().getDeptListByPId(mergeParam.getId()); // 更新所属部门、所属分部 for (DepartmentPO departmentPO : firstChildDeptList) { - departmentPO.setParentDept(targetDepartment.getId()); - departmentPO.setEcDepartment(ecParamDepartment); - departmentPO.setParentComp(targetDepartment.getParentComp()); - departmentPO.setEcCompany(targetDepartment.getEcCompany()); + departmentPO.setSupDepId(targetDepartment.getId()); + departmentPO.setSubCompanyId1(targetDepartment.getSubCompanyId1()); updateEcDepartment(departmentPO); - getDepartmentMapper().updateBaseDept(departmentPO); // 更新组织架构图 - new DepartmentTriggerRunnable(departmentPO.getId()).run(); + //TODO new DepartmentTriggerRunnable(departmentPO.getId()).run(); } // 查询该部门一级岗位、更新岗位所属分部、所属部门 List firstChildJobList = getJobMapper().listJobsByDepartmentId(mergeParam.getId()); firstChildJobList = firstChildJobList.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); // 批量更新部门、所属分部 RecordSet rs = new RecordSet(); - String targetEcDeptId = EcHrmRelationUtil.getEcDepartmentId(targetDepartment.getId().toString()); - String mergeEcDeptId = EcHrmRelationUtil.getEcDepartmentId(mergeParam.getId().toString()); - rs.executeUpdate("update jcl_org_job set parent_comp =?,ec_company =?,parent_dept =?,ec_department =? where parent_dept =?", targetDepartment.getParentComp(), targetDepartment.getEcCompany(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); + String targetEcDeptId = targetDepartment.getId().toString(); + String mergeEcDeptId = mergeParam.getId().toString(); + rs.executeUpdate("update jcl_org_job set parent_comp =?,ec_company =?,parent_dept =?,ec_department =? where ec_department =?", targetDepartment.getSubCompanyId1(), targetDepartment.getSubCompanyId1(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); // 更新岗位组织架构图 for (JobPO jobPO : firstChildJobList) { // 刷新组织架构图 new JobTriggerRunnable(jobPO.getId()).run(); } // 更新当前部门下的人员 - List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(mergeParam.getId().toString()); - rs.executeUpdate("update hrmresource set SUBCOMPANYID1 =?,DEPARTMENTID =? where DEPARTMENTID =?", targetDepartment.getEcCompany(), targetEcDeptId, mergeEcDeptId); - new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? ,department_id = ?, ec_department = ?where department_id =?", targetDepartment.getParentComp(), targetDepartment.getEcCompany(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); - // 更新人员组织架构图 - for (Long hrmResourceId : hrmResourceIds) { - new HrmResourceTriggerRunnable(hrmResourceId).run(); - } + rs.executeUpdate("update hrmresource set SUBCOMPANYID1 =?,DEPARTMENTID =? where DEPARTMENTID =?", targetDepartment.getSubCompanyId1(), targetEcDeptId, mergeEcDeptId); + //new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? ,department_id = ?, ec_department = ?where department_id =?", targetDepartment.getParentComp(), targetDepartment.getEcCompany(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); + //List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(mergeParam.getId().toString()); + //// 更新人员组织架构图 + //for (Long hrmResourceId : hrmResourceIds) { + //TODO new HrmResourceTriggerRunnable(hrmResourceId).run(); + //} // 更新子部门下岗位的所属分部 for (DepartmentPO departmentPO : firstChildDeptList) { List deptList = getDepartmentMapper().getDeptListByPId(departmentPO.getId()); - forbiddenChildTag(targetDepartment.getParentComp(), Util.null2String(targetDepartment.getEcCompany()), deptList); + forbiddenChildTag(targetDepartment.getSubCompanyId1(), Util.null2String(targetDepartment.getSubCompanyId1()), deptList); } // 原部门删除 DepartmentPO mergeDepartment = getDepartmentMapper().getDeptById(mergeParam.getId()); @@ -675,16 +633,15 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_deptext", mergeParam.getId()); MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", mergeParam.getId(), null); - getDepartmentMapper().deleteByIds(DeleteParam.builder().ids(mergeParam.getId().toString()).build().getIds()); + // TODO 删除 getDepartmentMapper().deleteByIds(DeleteParam.builder().ids(mergeParam.getId().toString()).build().getIds()); // 更新组织架构图 - new DepartmentTriggerRunnable(mergeDepartment).run(); + // TODO new DepartmentTriggerRunnable(mergeDepartment).run(); // 更新部门合并后名称 - targetDepartment.setDeptName(mergeParam.getMergeName()); - targetDepartment.setDeptNameShort(mergeParam.getMergeName()); + targetDepartment.setDepartmentName(mergeParam.getMergeName()); + targetDepartment.setDepartmentMark(mergeParam.getMergeName()); updateEcDepartment(targetDepartment); - getDepartmentMapper().updateBaseDept(targetDepartment); // 更新组织架构图 - new DepartmentTriggerRunnable(oldFParentId, targetDepartment.getId()).run(); + // TODO new DepartmentTriggerRunnable(oldFParentId, targetDepartment.getId()).run(); return 0; } @@ -721,53 +678,44 @@ public class DepartmentServiceImpl extends Service implements DepartmentService if ("0".equals(moveParam.getMoveType())) { Integer company = moveParam.getCompany(); OrganizationAssert.notNull(company, "请选择要转移到的分部"); - deptById.setEcCompany(company); - deptById.setParentComp(company); - deptById.setParentDept(null); - deptById.setEcDepartment(null); + deptById.setSubCompanyId1(company); + deptById.setSupDepId(null); // 更新组织架构图 - new DepartmentTriggerRunnable(company.toString(), deptById).run(); + //TODO new DepartmentTriggerRunnable(company.toString(), deptById).run(); } else if ("1".equals(moveParam.getMoveType())) { - Long department = moveParam.getDepartment(); - Long departmentId = Objects.requireNonNull(EcHrmRelationUtil.getJclDepartmentId(Util.null2String(department))).getId(); + Integer departmentId = moveParam.getDepartment(); OrganizationAssert.notNull(departmentId, "请选择要转移到的部门"); List deptListByPId = getDepartmentMapper().getDeptListByPId(moveParam.getId()); - Set disableIds = new HashSet<>(); + Set disableIds = new HashSet<>(); disableIds.add(moveParam.getId()); if (CollectionUtils.isNotEmpty(deptListByPId)) { addDisableIds(disableIds, deptListByPId); } OrganizationAssert.isFalse(disableIds.contains(departmentId), "请勿选择当前部门本身及其子部门"); - deptById.setParentDept(departmentId); - deptById.setEcDepartment(department); + deptById.setSupDepId(departmentId); DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(departmentId); - deptById.setParentComp(parentDepartment.getParentComp()); - deptById.setEcCompany(parentDepartment.getEcCompany()); + deptById.setSubCompanyId1(parentDepartment.getSubCompanyId1()); // 更新组织架构图 - new DepartmentTriggerRunnable(Integer.toString(100000000 + department.intValue()), deptById).run(); + // TODO new DepartmentTriggerRunnable(Integer.toString(100000000 + department.intValue()), deptById).run(); } // 更新EC部门 updateEcDepartment(deptById); - int updateBaseDept = getDepartmentMapper().updateBaseDept(deptById); // 刷新岗位分部 - refreshJobComp(deptById.getId(), deptById.getParentComp()); + refreshJobComp(deptById.getId(), deptById.getSubCompanyId1()); List deptList = getDepartmentMapper().getDeptListByPId(deptById.getId()); - String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(deptById.getParentComp())); // 更新当前部门下的人员 - List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(deptById.getId().toString()); - String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(deptById.getId().toString()); - new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", ecCompanyId, ecDepartmentId); - new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? where department_id =?", deptById.getParentComp(), ecCompanyId, deptById.getId()); - // 更新人员组织架构图 - for (Long hrmResourceId : hrmResourceIds) { - new HrmResourceTriggerRunnable(hrmResourceId).run(); - } - forbiddenChildTag(deptById.getParentComp(), ecCompanyId, deptList); + new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", deptById.getSubCompanyId1(), deptById.getId()); + //// 更新人员组织架构图 + //List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(deptById.getId().toString()); + //for (Long hrmResourceId : hrmResourceIds) { + //TODO new HrmResourceTriggerRunnable(hrmResourceId).run(); + //} + forbiddenChildTag(deptById.getSubCompanyId1(), Util.null2String(deptById.getSubCompanyId1()), deptList); // 递归更新下级部门、岗位 - return updateBaseDept; + return 1; } /** @@ -779,25 +727,23 @@ public class DepartmentServiceImpl extends Service implements DepartmentService void forbiddenChildTag(Integer parentComp, String ecCompanyId, List deptList) { if (CollectionUtils.isNotEmpty(deptList)) { for (DepartmentPO departmentPO : deptList) { - departmentPO.setParentComp(parentComp); - departmentPO.setEcCompany(Integer.parseInt(ecCompanyId)); + departmentPO.setSubCompanyId1(parentComp); // 更新EC表部门 updateEcDepartment(departmentPO); - getDepartmentMapper().updateBaseDept(departmentPO); // 更新组织架构图 - new DepartmentTriggerRunnable(departmentPO.getId()).run(); + // TODO new DepartmentTriggerRunnable(departmentPO.getId()).run(); // 刷新岗位所属分部 refreshJobComp(departmentPO.getId(), parentComp); // 更新当前部门下的人员 - List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(departmentPO.getId().toString()); String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(departmentPO.getId().toString()); new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", ecCompanyId, ecDepartmentId); new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? where department_id =?", parentComp, ecCompanyId, departmentPO.getId()); - // 更新人员组织架构图 - for (Long hrmResourceId : hrmResourceIds) { - new HrmResourceTriggerRunnable(hrmResourceId).run(); - } + //List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(departmentPO.getId().toString()); + //// 更新人员组织架构图 + //for (Long hrmResourceId : hrmResourceIds) { + //TODO new HrmResourceTriggerRunnable(hrmResourceId).run(); + //} List childList = getDepartmentMapper().getDeptListByPId(departmentPO.getId()); forbiddenChildTag(parentComp, ecCompanyId, childList); } @@ -811,16 +757,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @return */ private boolean isFilter(DepartmentPO departmentPO) { - return !(StringUtil.isEmpty(departmentPO.getDeptNo()) - && StringUtil.isEmpty(departmentPO.getDeptName()) - && StringUtil.isEmpty(departmentPO.getDeptNameShort()) - && null == departmentPO.getEcCompany() - && null == departmentPO.getEcDepartment() - && null == departmentPO.getParentComp() - && null == departmentPO.getParentDept() - && null == departmentPO.getDeptPrincipal() - && null == departmentPO.getShowOrder() - && null == departmentPO.getForbiddenTag()); + return !(StringUtil.isEmpty(departmentPO.getDepartmentCode()) + && StringUtil.isEmpty(departmentPO.getDepartmentName()) + && null == departmentPO.getSubCompanyId1() + && null == departmentPO.getSupDepId()); } @@ -904,7 +844,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentDeptId * @param orderNum */ - private void recursionCopyJob(List jobPOS, Integer parentCompId, Long parentDeptId, Long currentParentJobId, int orderNum, long timeMillis) { + private void recursionCopyJob(List jobPOS, Integer parentCompId, Integer parentDeptId, Long currentParentJobId, int orderNum, long timeMillis) { for (JobPO jobPO : jobPOS) { orderNum++; @@ -916,10 +856,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 所属部门赋值 jobPO.setParentDept(parentDeptId); - String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(parentDeptId.toString()); - if (StringUtils.isNotBlank(ecDepartmentId)) { - jobPO.setEcDepartment(Long.parseLong(ecDepartmentId)); - } + jobPO.setEcDepartment(parentDeptId); + // 所属分部赋值 jobPO.setEcCompany(parentCompId); jobPO.setParentComp(parentCompId); @@ -947,13 +885,13 @@ public class DepartmentServiceImpl extends Service implements DepartmentService */ private void updateEcDepartment(DepartmentPO departmentPO) { Map map = new HashMap<>(); - map.put("dept_name_short", departmentPO.getDeptNameShort()); - map.put("dept_name", departmentPO.getDeptName()); - map.put("parent_comp", departmentPO.getParentComp()); - map.put("parent_dept", departmentPO.getParentDept()); - map.put("show_order", departmentPO.getShowOrder()); - map.put("dept_no", departmentPO.getDeptNo()); - map.put("dept_principal", departmentPO.getDeptPrincipal()); + map.put("departmentmark", departmentPO.getDepartmentMark()); + map.put("departmentname", departmentPO.getDepartmentName()); + map.put("subcompanyid1", departmentPO.getSubCompanyId1()); + map.put("supdepid", departmentPO.getSupDepId()); + map.put("showorder", departmentPO.getShowOrder()); + map.put("departmentcode", departmentPO.getDepartmentCode()); + map.put("coadjutant", departmentPO.getCoadjutant()); map.put("id", departmentPO.getId()); new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map).sync(); } @@ -966,14 +904,12 @@ public class DepartmentServiceImpl extends Service implements DepartmentService */ private Map addEcDepartment(DepartmentPO departmentPO) { Map map = new HashMap<>(); - map.put("dept_name_short", departmentPO.getDeptNameShort()); - map.put("dept_name", departmentPO.getDeptName()); - map.put("parent_comp", departmentPO.getParentComp()); - map.put("parent_dept", departmentPO.getParentDept()); - map.put("show_order", departmentPO.getShowOrder()); - map.put("dept_no", departmentPO.getDeptNo()); - map.put("dept_principal", departmentPO.getDeptPrincipal()); - map.put("id", departmentPO.getId()); + map.put("departmentmark", departmentPO.getDepartmentMark()); + map.put("departmentname", departmentPO.getDepartmentName()); + map.put("subcompanyid1", departmentPO.getSubCompanyId1()); + map.put("supdepid", departmentPO.getSupDepId()); + map.put("showorder", departmentPO.getShowOrder()); + map.put("departmentcode", departmentPO.getDepartmentCode()); return new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, map).sync(); } @@ -989,7 +925,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); } - private void addDisableIds(Set disableIds, List deptListByPId) { + private void addDisableIds(Set disableIds, List deptListByPId) { for (DepartmentPO departmentPO : deptListByPId) { disableIds.add(departmentPO.getId()); List childDeptPOS = getDepartmentMapper().getDeptListByPId(departmentPO.getId()); @@ -1003,7 +939,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentDepartment * @param parentComp */ - private void refreshJobComp(Long parentDepartment, Integer parentComp) { + private void refreshJobComp(Integer parentDepartment, Integer parentComp) { List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(jobPOS)) { diff --git a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java index d3b0c104..c8715fa2 100644 --- a/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java +++ b/src/com/engine/organization/service/impl/FieldDefinedServiceImpl.java @@ -337,7 +337,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ fieldTypeObj.add(tmp); fieldType = SystemEnv.getHtmlLabelName(695, user.getLanguage()); fieldType += " " + SystemEnv.getHtmlLabelName(Util.getIntValue(BrowserComInfo.getBrowserlabelid(browserType), 0), user.getLanguage()); - if (browserType.equals("161") || browserType.equals("162") || browserType.equals("256") || browserType.equals("257")) { + if ("161".equals(browserType) || "162".equals(browserType) || "256".equals(browserType) || "257".equals(browserType)) { tmp = new HashMap<>(); tmp.put("value", SelectOptionParam.getCustomBrowserId(customValue)); tmp.put("valueSpan", SelectOptionParam.getCustomBrowserValueSpan(customValue)); @@ -448,7 +448,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ lsComDetialInfo = new ArrayList<>(); comDetialInfo = new HashMap<>(); comDetialInfo.put("label", ""); - comDetialInfo.put("type", fieldHtmlType.equals("5") ? "CUSTOMFIELD" : "TEXT"); + comDetialInfo.put("type", "5".equals(fieldHtmlType) ? "CUSTOMFIELD" : "TEXT"); comDetialInfo.put("width", "60%"); comDetialInfo.put("key", "fieldType"); lsComDetialInfo.add(comDetialInfo); @@ -462,7 +462,7 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ fieldTypeInfo.add("select"); Map fieldTypeParamInfo = new HashMap<>(); - if (fieldHtmlType.equals("5")) { + if ("5".equals(fieldHtmlType)) { fieldTypeParamInfo.put("datas", SelectOptionParam.getSelectFields(customValue)); fieldTypeParamInfo.put("sort", "horizontal"); diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 1c4ba90a..9aa19baf 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -542,14 +542,14 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); - DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentComp(parentCompId).build(); - CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId.intValue()).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(parentCompId).build(); + CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).build(); // 所属分部下的岗位 JobPO jobBuild = JobPO.builder().jobName(keyword).parentComp(parentCompId).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild, jobBuild); } else if (TYPE_DEPT.equals(type)) { - Long parentDeptId = Long.parseLong(id); - DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentDept(parentDeptId).build(); + Integer parentDeptId = Integer.parseInt(id); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).supDepId(parentDeptId).build(); // 所属分部下的岗位 JobPO jobBuild = JobPO.builder().jobName(keyword).parentDept(parentDeptId).build(); searchTree = buildTreeByDeptAndJob(departmentBuild, jobBuild); @@ -689,10 +689,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic */ private void buildParentDepts(DepartmentPO departmentPO, Set builderDeparts) { builderDeparts.add(departmentPO); - if (SearchTreeUtil.isTop(departmentPO.getParentDept())) { + if (SearchTreeUtil.isTop(departmentPO.getSupDepId())) { return; } - DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getParentDept()); + DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getSupDepId()); if (null != parentDept) { buildParentDepts(parentDept, builderDeparts); } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 9ccd1817..ac69a4c7 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -662,7 +662,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } // 组装待处理数据 Map map = new HashMap<>(); - Long parentCompanyId = null; + Integer parentCompanyId = null; String companyName = ""; historyDetailPO.setRowNums(String.valueOf(i + 1)); @@ -715,7 +715,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (int index = 0; index < split.length - 1; index++) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId.intValue()); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(split[index] + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -745,7 +745,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } String compNo = (String) map.get("comp_no"); - Long companyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId.intValue()); + Integer companyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId); if ("add".equals(operateType)) { if (companyId != null) { historyDetailPO.setOperateDetail("数据已存在"); @@ -805,13 +805,13 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } - if (checkRepeatNo(compNo, COMPANY_TYPE, companyId)) { + if (checkRepeatNo(compNo, COMPANY_TYPE, Long.valueOf(companyId))) { map.put("update_time", new Date()); map.put("id", companyId); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map, false).sync(); if (isThrowError(syncMap)) { map.remove("id"); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(companyId).tableName("JCL_ORG_COMP").params(map).build()); + MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(Long.valueOf(companyId)).tableName("JCL_ORG_COMP").params(map).build()); // 刷新组织架构图 //TODO new CompanyTriggerRunnable(companyId).run(); historyDetailPO.setOperateDetail("更新成功"); @@ -870,8 +870,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } // 组装待处理数据 Map map = new HashMap<>(); - Long parentCompanyId = null; - Long parentDepartmentId = null; + Integer parentCompanyId = null; + Integer parentDepartmentId = null; String departmentName = ""; historyDetailPO.setRowNums(String.valueOf(i + 1)); @@ -924,7 +924,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -983,7 +983,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } String deptNo = (String) map.get("dept_no"); - Long departmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(departmentName, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); + Integer departmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(departmentName, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); if ("add".equals(operateType)) { if (departmentId != null) { historyDetailPO.setOperateDetail("数据已存在"); @@ -1010,9 +1010,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } String showOrder = Util.null2String(map.get("show_order")); if (StringUtils.isBlank(showOrder)) { - Integer maxShowOrder = MapperProxyFactory.getProxy(DepartmentMapper.class).getMaxShowOrder(); + Double maxShowOrder = MapperProxyFactory.getProxy(DepartmentMapper.class).getMaxShowOrder(); if (null == maxShowOrder) { - maxShowOrder = 0; + maxShowOrder = 0D; } map.put("show_order", maxShowOrder + 1); } @@ -1025,7 +1025,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_DEPT").params(map).build(); MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams); // 刷新组织架构图 - new DepartmentTriggerRunnable(infoParams.getId()).run(); + //TODO new DepartmentTriggerRunnable(infoParams.getId()).run(); map.put("id", infoParams.getId()); historyDetailPO.setOperateDetail("添加成功"); historyDetailPO.setStatus("1"); @@ -1043,15 +1043,15 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } - if (checkRepeatNo(deptNo, DEPARTMENT_TYPE, departmentId)) { + if (checkRepeatNo(deptNo, DEPARTMENT_TYPE, Long.valueOf(departmentId))) { map.put("update_time", new Date()); map.put("id", departmentId); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map, false).sync(); if (isThrowError(syncMap)) { map.remove("id"); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(departmentId).tableName("JCL_ORG_DEPT").params(map).build()); + MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(Long.valueOf(departmentId)).tableName("JCL_ORG_DEPT").params(map).build()); // 刷新组织架构图 - new DepartmentTriggerRunnable(departmentId).run(); + //TODO new DepartmentTriggerRunnable(departmentId).run(); historyDetailPO.setOperateDetail("更新成功"); historyDetailPO.setStatus("1"); } else { @@ -1107,8 +1107,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } // 组装待处理数据 Map map = new HashMap<>(); - Long parentCompanyId = null; - Long parentDepartmentId = null; + Integer parentCompanyId = null; + Integer parentDepartmentId = null; Long parentJobId = null; String jobName = ""; @@ -1162,7 +1162,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -1372,8 +1372,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } // 组装待处理数据 Map map = new HashMap<>(); - Long parentCompanyId = null; - Long parentDepartmentId = null; + Integer parentCompanyId = null; + Integer parentDepartmentId = null; Long parentJobId = null; historyDetailPO.setRowNums(String.valueOf(i + 1)); @@ -1426,7 +1426,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -1517,7 +1517,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setRelatedName(keyFieldValue); // 判断当前人员是否存在 boolean hasSameKeyFieldValue = hasSameKeyFieldValue(historyDetailPO, keyField, keyFieldValue); - ; if (hasSameKeyFieldValue) { continue; } @@ -1630,7 +1629,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ XSSFSheet sheetAt = workbook.getSheetAt(s); int lastRow = sheetAt.getLastRowNum(); allRow = allRow + lastRow; - String relatedName = ""; + String relatedName; switch (s) { case 0: relatedName = "方案页"; @@ -1658,11 +1657,11 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ // 组装待处理数据 Map map = new HashMap<>(); SchemePO schemePO = new SchemePO(); - SchemePO schemeNew = new SchemePO(); + SchemePO schemeNew; GradePO gradePO = new GradePO(); GradePO gradeNew = new GradePO(); LevelPO levelPO = new LevelPO(); - LevelPO levelNew = new LevelPO(); + LevelPO levelNew; historyDetailPO.setRowNums(String.valueOf(i + 1)); for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { @@ -1738,11 +1737,11 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if ("level_no".equals(infoPO.getFieldName()) && s == 2) { String[] split = Util.null2String(reallyValue).split(","); if (split.length > 0) { - for (int index = 0; index < split.length; index++) { - List levelPOS = MapperProxyFactory.getProxy(LevelMapper.class).listByNo(split[index]); + for (String value : split) { + List levelPOS = MapperProxyFactory.getProxy(LevelMapper.class).listByNo(value); if (levelPOS.size() == 0) { historyDetailPO.setRelatedName(relatedName); - historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); + historyDetailPO.setOperateDetail("未找到编号为[" + value + "]的职等"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; @@ -1790,7 +1789,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("职等页导入:同一方案" + schemeNo + "下,职等编号不可重复"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } else { levelPO.setLevelNo(levelNo); levelPO.setLevelName((String) map.get("level_name")); @@ -1810,7 +1809,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } break; case 2: @@ -1824,7 +1823,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的方案"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } gradePO.setGradeNo(gradeNo2); @@ -1839,21 +1838,21 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ gradePO.setCreateTime((Date) map.get("create_time")); gradePO.setUpdateTime((Date) map.get("update_time")); String[] split = levelNo2.split(","); - String levelIds = null; + StringBuilder levelIds = null; if (split.length > 0) { - for (int index = 0; index < split.length; index++) { - levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(split[index], schemeNew.getId()); + for (String value : split) { + levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(value, schemeNew.getId()); if (levelNew == null) { historyDetailPO.setRelatedName(relatedName); - historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); + historyDetailPO.setOperateDetail("未找到编号为[" + value + "]的职等"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (levelIds != null) { - levelIds = levelIds + "," + levelNew.getId(); + levelIds.append(",").append(levelNew.getId()); } else { - levelIds = String.valueOf(levelNew.getId()); + levelIds = new StringBuilder(String.valueOf(levelNew.getId())); } } } @@ -1863,10 +1862,10 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("同一方案[" + schemeNo2 + "]下,职级编号不可重复"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } else { // 关联职等id - gradePO.setLevelId(levelIds); + gradePO.setLevelId(levelIds.toString()); MapperProxyFactory.getProxy(GradeMapper.class).insertIgnoreNull(gradePO); } break; @@ -1890,7 +1889,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("未找到编号为[" + map.get("scheme_no") + "]的方案"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } break; case 1: @@ -1911,14 +1910,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } } else { historyDetailPO.setRelatedName(relatedName); historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo + "]的方案,无法更新"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } break; case 2: @@ -1930,25 +1929,25 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("未找到编号为[" + schemeNo2 + "]的方案"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } // 处理职级编号 String[] split = levelNo2.split(","); - String levelIds = null; + StringBuilder levelIds = null; if (split.length > 0) { - for (int index = 0; index < split.length; index++) { - levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(split[index], schemeNew.getId()); + for (String value : split) { + levelNew = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByNoAndSid(value, schemeNew.getId()); if (levelNew == null) { historyDetailPO.setRelatedName(relatedName); - historyDetailPO.setOperateDetail("未找到编号为[" + split[index] + "]的职等"); + historyDetailPO.setOperateDetail("未找到编号为[" + value + "]的职等"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); continue nextRow; } if (levelIds != null) { - levelIds = levelIds + "," + levelNew.getId(); + levelIds.append(",").append(levelNew.getId()); } else { - levelIds = String.valueOf(levelNew.getId()); + levelIds = new StringBuilder(String.valueOf(levelNew.getId())); } } } @@ -1958,7 +1957,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ gradeNew.setGradeName((String) map.get("grade_name")); gradeNew.setDescription((String) map.get("grade_description")); // 关联职等id - gradeNew.setLevelId(levelIds); + gradeNew.setLevelId(levelIds.toString()); gradeNew.setUpdateTime((Date) map.get("update_time")); MapperProxyFactory.getProxy(GradeMapper.class).updateGrade(gradeNew); } else { @@ -1966,7 +1965,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ historyDetailPO.setOperateDetail("未找到编号[" + schemeNo2 + "]的职级,无法更新"); historyDetailPO.setStatus("0"); OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; + continue; } break; @@ -1988,8 +1987,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ */ private String getCellValue(XSSFCell cell) { String cellValue = ""; - if (cell == null) + if (cell == null) { return ""; + } switch (cell.getCellType()) { case BOOLEAN: // 得到Boolean对象的方法 cellValue = String.valueOf(cell.getBooleanCellValue()); @@ -2000,8 +2000,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ cellValue = sft.format(cell.getDateCellValue()); // 读取日期格式 } else { cellValue = String.valueOf(new Double(cell.getNumericCellValue())); // 读取数字 - if (cellValue.endsWith(".0")) + if (cellValue.endsWith(".0")) { cellValue = cellValue.substring(0, cellValue.indexOf(".")); + } } break; case FORMULA: // 读取公式 diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index bbc53f53..4eb922ec 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -286,9 +286,9 @@ public class JobServiceImpl extends Service implements JobService { DepartmentPO deptById = getDepartmentMapper().getDeptById(param.getDepartmentid()); if (null != deptById) { params.put("parent_dept", deptById.getId()); - params.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(deptById.getId().toString())); - params.put("parent_comp", deptById.getParentComp()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(deptById.getParentComp().toString())); + params.put("ec_department", deptById.getId()); + params.put("parent_comp", deptById.getSubCompanyId1()); + params.put("ec_company", deptById.getSubCompanyId1()); } } for (ExtendTitlePO extendTitle : extendTitles) { @@ -371,12 +371,12 @@ public class JobServiceImpl extends Service implements JobService { params.put("ec_company", parentJob.getEcCompany()); params.put("ec_department", parentJob.getEcDepartment()); } else { - Long ecDepartment = searchParam.getEcDepartment(); - DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(ecDepartment)); + Integer ecDepartment = searchParam.getEcDepartment(); + DepartmentPO jclDepartment = getDepartmentMapper().getDeptById(ecDepartment); params.put("parent_dept", jclDepartment.getId()); - params.put("parent_comp", jclDepartment.getParentComp()); - if (null != jclDepartment.getParentComp()) { - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartment.getParentComp()))); + params.put("parent_comp", jclDepartment.getSubCompanyId1()); + if (null != jclDepartment.getSubCompanyId1()) { + params.put("ec_company", jclDepartment.getSubCompanyId1()); } } @@ -422,12 +422,12 @@ public class JobServiceImpl extends Service implements JobService { params.put("ec_company", parentJob.getEcCompany()); params.put("ec_department", parentJob.getEcDepartment()); } else { - Long ecDepartment = searchParam.getEcDepartment(); - DepartmentPO jclDepartment = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(ecDepartment)); + Integer ecDepartment = searchParam.getEcDepartment(); + DepartmentPO jclDepartment = getDepartmentMapper().getDeptById(ecDepartment); params.put("parent_dept", jclDepartment.getId()); - params.put("parent_comp", jclDepartment.getParentComp()); - if (null != jclDepartment.getParentComp()) { - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartment.getParentComp()))); + params.put("parent_comp", jclDepartment.getSubCompanyId1()); + if (null != jclDepartment.getSubCompanyId1()) { + params.put("ec_company", jclDepartment.getSubCompanyId1()); } } params.put("jobactivityid", JOB_ACTIVITY_ID); @@ -461,13 +461,13 @@ public class JobServiceImpl extends Service implements JobService { // 处理自动编号 jobById.setJobNo(CodeRuleUtil.generateCode(RuleCodeType.JOBTITLES, jobById.getJobNo(), System.currentTimeMillis())); // 部门赋值 - jobById.setEcDepartment(Long.parseLong(department)); - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(department); + jobById.setEcDepartment(Integer.parseInt(department)); + DepartmentPO jclDepartmentId = getDepartmentMapper().getDeptById(jobById.getEcDepartment()); if (null != jclDepartmentId) { jobById.setParentDept(jclDepartmentId.getId()); //分部赋值 - jobById.setEcCompany(jclDepartmentId.getEcCompany()); - jobById.setParentComp(jclDepartmentId.getParentComp()); + jobById.setEcCompany(jclDepartmentId.getSubCompanyId1()); + jobById.setParentComp(jclDepartmentId.getSubCompanyId1()); } // 清空上级岗位 jobById.setParentJob(null); @@ -489,7 +489,7 @@ public class JobServiceImpl extends Service implements JobService { if (params.getForbiddenTag()) { // 启用:判断上级部门是否启用,上级部门启用,岗位才可启用 DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(jobById.getParentDept()); - OrganizationAssert.isTrue(0 == parentDepartment.getForbiddenTag(), "该岗位不能解封,请先解封上级部门"); + OrganizationAssert.isTrue(0 == parentDepartment.getCanceled(), "该岗位不能解封,请先解封上级部门"); // 启用:判断上级岗位是否启用,上级岗位启用,岗位才可启用 if (null != jobById.getParentJob()) { @@ -600,7 +600,7 @@ public class JobServiceImpl extends Service implements JobService { } - void recursionMergeJob(List jobs, Integer parentCompany, Integer ecCompany, Long parentDepartment, Long ecDepartment, Long parentJob) { + void recursionMergeJob(List jobs, Integer parentCompany, Integer ecCompany, Integer parentDepartment, Integer ecDepartment, Long parentJob) { for (JobPO job : jobs) { job.setParentComp(parentCompany); job.setEcCompany(ecCompany); @@ -627,11 +627,11 @@ public class JobServiceImpl extends Service implements JobService { */ private void buildParentDepts(DepartmentPO departmentPO, Set builderDeparts) { builderDeparts.add(departmentPO); - if (SearchTreeUtil.isTop(departmentPO.getParentDept())) { + if (SearchTreeUtil.isTop(departmentPO.getSupDepId())) { return; } - DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getParentDept()); - if (null != parentDept && 0 == parentDept.getForbiddenTag()) { + DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getSupDepId()); + if (null != parentDept && 0 == parentDept.getCanceled()) { buildParentDepts(parentDept, builderDeparts); } } @@ -663,13 +663,13 @@ public class JobServiceImpl extends Service implements JobService { // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); - DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentComp(parentCompId).forbiddenTag(0).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(parentCompId).canceled(0).build(); CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild); } else if (TYPE_DEPT.equals(type)) { // // 查询部门信息 - List filterDeparts = getDepartmentMapper().listByFilter(DepartmentPO.builder().deptName(keyword).forbiddenTag(0).parentDept(Long.parseLong(id)).build(), "show_order"); + List filterDeparts = getDepartmentMapper().listByFilter(DepartmentPO.builder().departmentName(keyword).canceled(0).supDepId(Integer.parseInt(id)).build(), "show_order"); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { buildParentDepts(departmentPO, builderDeparts); @@ -808,7 +808,7 @@ public class JobServiceImpl extends Service implements JobService { /** * 判断相同层级下有无同名岗位 */ - public static void assertNameRepeat(Long jobId, Long departmentId, Long parentJobId, String jobName) { + public static void assertNameRepeat(Long jobId, Integer departmentId, Long parentJobId, String jobName) { assertNameRepeat(jobId, departmentId, parentJobId, jobName, true); } @@ -816,7 +816,7 @@ public class JobServiceImpl extends Service implements JobService { * 判断相同层级下有无同名岗位 */ public static boolean assertNameRepeat(String jobId, String departmentId, String parentJobId, String jobName) { - return assertNameRepeat(StringUtils.isBlank(jobId) ? null : Long.parseLong(jobId), StringUtils.isBlank(departmentId) ? null : Long.parseLong(departmentId), StringUtils.isBlank(parentJobId) ? null : Long.parseLong(parentJobId), jobName, false); + return assertNameRepeat(StringUtils.isBlank(jobId) ? null : Long.parseLong(jobId), StringUtils.isBlank(departmentId) ? null : Integer.parseInt(departmentId), StringUtils.isBlank(parentJobId) ? null : Long.parseLong(parentJobId), jobName, false); } /** @@ -829,8 +829,8 @@ public class JobServiceImpl extends Service implements JobService { * @param throwException * @return */ - public static boolean assertNameRepeat(Long jobId, Long departmentId, Long parentJobId, String jobName, boolean throwException) { - int count = 0; + public static boolean assertNameRepeat(Long jobId, Integer departmentId, Long parentJobId, String jobName, boolean throwException) { + int count; // 有上级岗位、判断相同层级下有无相同名称岗位 if (null != jobId) { count = getJobMapper().countRepeatNameByPid(jobName, jobId, parentJobId, departmentId); @@ -856,9 +856,9 @@ public class JobServiceImpl extends Service implements JobService { Long originalJobId = originalJob.getId(); Long targetJobId = targetJob.getId(); Integer parentComp = targetJob.getParentComp(); - Long parentDept = targetJob.getParentDept(); + Integer parentDept = targetJob.getParentDept(); Integer ecCompany = targetJob.getEcCompany(); - Long ecDepartment = targetJob.getEcDepartment(); + Integer ecDepartment = targetJob.getEcDepartment(); List resourceList = getResourceMapper().getResourceListByJobId(originalJobId); getResourceMapper().updateResourceJob(originalJobId, targetJobId, parentComp, parentDept, ecCompany, ecDepartment); diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java index e40644b0..a5a93482 100644 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -174,12 +174,12 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe * @param uId * @return */ - public static List getJclRoleLevels(Integer uId) { - List ecRoleLevels = new ArrayList<>(); + public static List getJclRoleLevels(Integer uId) { + List ecRoleLevels = new ArrayList<>(); ManagerDetachMapper mangeDetachMapper = MapperProxyFactory.getProxy(ManagerDetachMapper.class); List detachListById = mangeDetachMapper.getDetachListById(uId); for (ManagerDetachPO managerDetachPO : detachListById) { - List ids = Stream.of(managerDetachPO.getJclRolelevel().split(",")).map(Long::parseLong).collect(Collectors.toList()); + List ids = Stream.of(managerDetachPO.getJclRolelevel().split(",")).map(Integer::parseInt).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(ids)) { ecRoleLevels.addAll(ids); } diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index 5d29a827..8db6350b 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -18,6 +18,7 @@ import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPlanPO; import com.engine.organization.entity.staff.po.StaffsPO; import com.engine.organization.entity.staff.vo.StaffTableVO; +import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.mapper.staff.StaffPlanMapper; @@ -29,7 +30,6 @@ import com.engine.organization.util.browser.OrganizationBrowserUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.excel.ExcelUtil; -import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.lang3.StringUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.conn.RecordSet; @@ -65,6 +65,10 @@ public class StaffServiceImpl extends Service implements StaffService { return MapperProxyFactory.getProxy(JobMapper.class); } + private DepartmentMapper getDepartmentMapper() { + return MapperProxyFactory.getProxy(DepartmentMapper.class); + } + // 判断编制导入模板是否存在,不存在则创建该文件 static { try { @@ -366,7 +370,7 @@ public class StaffServiceImpl extends Service implements StaffService { if (null != compId) { sqlWhere += " AND t.comp_id = '" + compId + "'"; } - Long deptId = param.getDeptId(); + Integer deptId = param.getDeptId(); if (null != deptId) { sqlWhere += " AND t.dept_id = '" + deptId + "'"; } @@ -374,7 +378,7 @@ public class StaffServiceImpl extends Service implements StaffService { if (null != ecCompany) { sqlWhere += " AND t.ec_company = '" + ecCompany + "'"; } - Long ecDepartment = param.getEcDepartment(); + Integer ecDepartment = param.getEcDepartment(); if (null != ecDepartment) { sqlWhere += " AND t.ec_department = '" + ecDepartment + "'"; } @@ -433,11 +437,11 @@ public class StaffServiceImpl extends Service implements StaffService { break; case "2":// 部门 OrganizationAssert.notNull(staffPO.getEcDepartment(), "编制维度选择部门时,部门必填!"); - DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(Util.null2String(staffPO.getEcDepartment())); + DepartmentPO jclDepartmentId = getDepartmentMapper().getDeptById(staffPO.getEcDepartment()); if (null != jclDepartmentId) { staffPO.setDeptId(jclDepartmentId.getId()); - staffPO.setCompId(jclDepartmentId.getParentComp()); - staffPO.setEcCompany(jclDepartmentId.getEcCompany()); + staffPO.setCompId(jclDepartmentId.getSubCompanyId1()); + staffPO.setEcCompany(jclDepartmentId.getSubCompanyId1()); } break; case "3": // 岗位 diff --git a/src/com/engine/organization/thread/DepartmentTriggerRunnable.java b/src/com/engine/organization/thread/DepartmentTriggerRunnable.java index 402833c0..e23a530c 100644 --- a/src/com/engine/organization/thread/DepartmentTriggerRunnable.java +++ b/src/com/engine/organization/thread/DepartmentTriggerRunnable.java @@ -1,227 +1,203 @@ package com.engine.organization.thread; -import com.engine.organization.entity.department.po.DepartmentPO; -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; -import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.entity.logview.bo.FieldBaseEquator; -import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.entity.personnelcard.UserCard; -import com.engine.organization.entity.staff.po.StaffPO; -import com.engine.organization.enums.ModuleTypeEnum; -import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.staff.StaffMapper; -import com.engine.organization.mapper.trigger.CompTriggerMapper; -import com.engine.organization.mapper.trigger.DepartmentTriggerMapper; -import com.engine.organization.util.OrganizationDateUtil; -import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.collections.CollectionUtils; -import weaver.common.DateUtil; -import weaver.general.Util; - -import java.sql.Date; -import java.util.Calendar; -import java.util.List; - /** * @author:dxfeng * @createTime: 2022/08/30 * @version: 1.0 */ -public class DepartmentTriggerRunnable implements Runnable { - - private DepartmentPO oldDepartment; - private final DepartmentPO newDepartment; - private String oldFparentId; - private String moveTarget; - private Boolean forbiddenTag = false; - - private CompTriggerMapper getCompTriggerMapper() { - return MapperProxyFactory.getProxy(CompTriggerMapper.class); - } - - private DepartmentTriggerMapper getDepartmentTriggerMapper() { - return MapperProxyFactory.getProxy(DepartmentTriggerMapper.class); - } - - public DepartmentTriggerRunnable(DepartmentPO oldDepartment, DepartmentPO newDepartment) { - this.oldDepartment = oldDepartment; - this.newDepartment = newDepartment; - } - - public DepartmentTriggerRunnable(Boolean forbiddenTag,DepartmentPO oldDepartment, DepartmentPO newDepartment) { - this.oldDepartment = oldDepartment; - this.newDepartment = newDepartment; - this.forbiddenTag = forbiddenTag; - } - - public DepartmentTriggerRunnable(Long departmentId) { - this.oldDepartment = new DepartmentPO(); - this.newDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(departmentId); - } - - public DepartmentTriggerRunnable(String moveTarget,DepartmentPO newDepartment) { - this.oldDepartment = new DepartmentPO(); - this.newDepartment = newDepartment; - this.moveTarget = moveTarget; - } - - public DepartmentTriggerRunnable(Integer oldFparentId, Long departmentId) { - this.oldFparentId = null == oldFparentId ? null : oldFparentId.toString(); - this.newDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(departmentId); - } - - public DepartmentTriggerRunnable(DepartmentPO newDepartment) { - this.oldDepartment = new DepartmentPO(); - this.newDepartment = newDepartment; - this.newDepartment.setDeleteType(1); - } - - @Override - public void run() { - FieldBaseEquator fieldBaseEquator = new FieldBaseEquator(); - List diffFields = fieldBaseEquator.getDiffFieldList(oldDepartment, newDepartment); - if (CollectionUtils.isEmpty(diffFields)) { - return; - } - - // 判断 - if (diffFields.contains("deptName") || diffFields.contains("deptPrincipal") || diffFields.contains("parentComp") || diffFields.contains("parentDept") || diffFields.contains("forbiddenTag") || diffFields.contains("deleteType")) { - JclOrgMap jclMap = new JclOrgMap(); - jclMap.setFType(2); - int st = 100000000; - - // 更新逻辑 - jclMap.setFObjId(newDepartment.getId().intValue()); - jclMap.setId(newDepartment.getId().intValue() + st); - jclMap.setUuid(newDepartment.getUuid()); - jclMap.setFNumber(newDepartment.getDeptNo()); - jclMap.setFName(newDepartment.getDeptName()); - jclMap.setFParentId(null == newDepartment.getParentDept() ? newDepartment.getParentComp().intValue() : newDepartment.getParentDept().intValue() + st); - jclMap.setFObjParentId(null == newDepartment.getParentDept() ? newDepartment.getParentComp().intValue() : newDepartment.getParentDept().intValue()); - - jclMap.setFEcId(getDepartmentTriggerMapper().getEcDepartmentIdByUuid(jclMap.getUuid())); - - jclMap.setFClass(0); - jclMap.setFClassName("行政维度"); - Integer ecResourceId = null == newDepartment.getDeptPrincipal() ? null : newDepartment.getDeptPrincipal().intValue(); - HrmResourcePO hrmResourcePO = getCompTriggerMapper().getResourceByEcId(ecResourceId); - if (null != hrmResourcePO) { - jclMap.setFLeader(hrmResourcePO.getId().intValue()); - jclMap.setFLeaderName(hrmResourcePO.getLastName()); - jclMap.setFLeaderJobId(hrmResourcePO.getJobTitle().intValue()); - jclMap.setFLeaderSt(hrmResourcePO.getJobGrade()); - jclMap.setFLeaderLv(hrmResourcePO.getJobLevel()); - String image = UserCard.builder().image(hrmResourcePO.getResourceImageId()).build().getImage(); - jclMap.setFLeaderImg(image); - if (null != hrmResourcePO.getJobTitle()) { - JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResourcePO.getJobTitle()); - if (null != jobById) { - jclMap.setFLeaderJob(jobById.getJobName()); - } - } - } - - String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); - jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); - jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - - // 获取当前生效的本部门map记录 - JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.departmentfielddefined.getValue().toString(), Util.null2String(jclMap.getFObjId())); - StaffPO staffPO = new StaffPO(); - switch (jclMap.getFType()) { - // 分部 - case 1: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1,jclMap.getFObjId().toString(), null, null); - break; - // 部门 - case 2: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2,null, jclMap.getFObjId().toString(), null); - break; - } - // 取出以该部门为上级部门的在编、在岗数,转移无需计算 - JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(jclMap.getFDateBegin(), jclMap.getId().toString()); - if (null != moveTarget) { - jclOrgMap = null; - } - if (null != jclOrgMapByObjID) { - if (null != jclOrgMap) { - jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan()); - jclMap.setFOnJob(jclOrgMap.getFOnJob()); - } else { - jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); - } - } else { - jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - jclMap.setFOnJob(0); - } - jclMap.setFIsVitual(0); - - Calendar cal = Calendar.getInstance(); - cal.setTime(jclMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); - getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); - - if (1 != newDepartment.getDeleteType() && 1 != newDepartment.getForbiddenTag()) { - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); - } - if(null != jclOrgMapByObjID) { - updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString()); - } - // 部门启用,刷新上级数据 - if(forbiddenTag){ - updateParentPlanAndJob(jclMap.getFDateBegin(), jclMap.getFParentId().toString()); - } - if(null != moveTarget){ - updateParentPlanAndJob(jclMap.getFDateBegin(), moveTarget); - } - if (null != oldFparentId) { - updateParentPlanAndJob(jclMap.getFDateBegin(), oldFparentId); - } - } - } - - private void updateParentPlanAndJob(Date currentDate, String parentId) { - // 获取上级部门 - JclOrgMap parentJclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapById(currentDate, parentId); - if (null != parentJclOrgMap) { - // 上级部门当前在编、在岗数 - JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); - StaffPO staffPO = new StaffPO(); - switch (parentJclOrgMap.getFType()) { - case 1: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1,Util.null2String(parentJclOrgMap.getFObjId()), null, null); - break; - // 部门 - case 2: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, Util.null2String(parentJclOrgMap.getFObjId()), null); - break; - } - // 编制表jcl_org_staff中的编制数+下级编制数,工具类判断 - if(null != jclOrgMapSum){ - parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); - parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); - }else{ - parentJclOrgMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - parentJclOrgMap.setFOnJob(0); - } - parentJclOrgMap.setFDateBegin(currentDate); - parentJclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - - Calendar cal = Calendar.getInstance(); - cal.setTime(parentJclOrgMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getCompTriggerMapper().deleteMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin()); - getCompTriggerMapper().updateMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin(), time); - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(parentJclOrgMap); - if (null != parentJclOrgMap.getFParentId() && -1 != parentJclOrgMap.getFParentId()) { - updateParentPlanAndJob(currentDate, parentJclOrgMap.getFParentId().toString()); - } - } - } -} \ No newline at end of file +//public class DepartmentTriggerRunnable implements Runnable { +// +// private DepartmentPO oldDepartment; +// private final DepartmentPO newDepartment; +// private String oldFparentId; +// private String moveTarget; +// private Boolean forbiddenTag = false; +// +// private CompTriggerMapper getCompTriggerMapper() { +// return MapperProxyFactory.getProxy(CompTriggerMapper.class); +// } +// +// private DepartmentTriggerMapper getDepartmentTriggerMapper() { +// return MapperProxyFactory.getProxy(DepartmentTriggerMapper.class); +// } +// +// public DepartmentTriggerRunnable(DepartmentPO oldDepartment, DepartmentPO newDepartment) { +// this.oldDepartment = oldDepartment; +// this.newDepartment = newDepartment; +// } +// +// public DepartmentTriggerRunnable(Boolean forbiddenTag,DepartmentPO oldDepartment, DepartmentPO newDepartment) { +// this.oldDepartment = oldDepartment; +// this.newDepartment = newDepartment; +// this.forbiddenTag = forbiddenTag; +// } +// +// public DepartmentTriggerRunnable(Long departmentId) { +// this.oldDepartment = new DepartmentPO(); +// this.newDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(departmentId); +// } +// +// public DepartmentTriggerRunnable(String moveTarget,DepartmentPO newDepartment) { +// this.oldDepartment = new DepartmentPO(); +// this.newDepartment = newDepartment; +// this.moveTarget = moveTarget; +// } +// +// public DepartmentTriggerRunnable(Integer oldFparentId, Long departmentId) { +// this.oldFparentId = null == oldFparentId ? null : oldFparentId.toString(); +// this.newDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(departmentId); +// } +// +// public DepartmentTriggerRunnable(DepartmentPO newDepartment) { +// this.oldDepartment = new DepartmentPO(); +// this.newDepartment = newDepartment; +// this.newDepartment.setDeleteType(1); +// } +// +// @Override +// public void run() { +// FieldBaseEquator fieldBaseEquator = new FieldBaseEquator(); +// List diffFields = fieldBaseEquator.getDiffFieldList(oldDepartment, newDepartment); +// if (CollectionUtils.isEmpty(diffFields)) { +// return; +// } +// +// // 判断 +// if (diffFields.contains("deptName") || diffFields.contains("deptPrincipal") || diffFields.contains("parentComp") || diffFields.contains("parentDept") || diffFields.contains("forbiddenTag") || diffFields.contains("deleteType")) { +// JclOrgMap jclMap = new JclOrgMap(); +// jclMap.setFType(2); +// int st = 100000000; +// +// // 更新逻辑 +// jclMap.setFObjId(newDepartment.getId().intValue()); +// jclMap.setId(newDepartment.getId().intValue() + st); +// jclMap.setUuid(newDepartment.getUuid()); +// jclMap.setFNumber(newDepartment.getDeptNo()); +// jclMap.setFName(newDepartment.getDeptName()); +// jclMap.setFParentId(null == newDepartment.getParentDept() ? newDepartment.getParentComp().intValue() : newDepartment.getParentDept().intValue() + st); +// jclMap.setFObjParentId(null == newDepartment.getParentDept() ? newDepartment.getParentComp().intValue() : newDepartment.getParentDept().intValue()); +// +// jclMap.setFEcId(getDepartmentTriggerMapper().getEcDepartmentIdByUuid(jclMap.getUuid())); +// +// jclMap.setFClass(0); +// jclMap.setFClassName("行政维度"); +// Integer ecResourceId = null == newDepartment.getDeptPrincipal() ? null : newDepartment.getDeptPrincipal().intValue(); +// HrmResourcePO hrmResourcePO = getCompTriggerMapper().getResourceByEcId(ecResourceId); +// if (null != hrmResourcePO) { +// jclMap.setFLeader(hrmResourcePO.getId().intValue()); +// jclMap.setFLeaderName(hrmResourcePO.getLastName()); +// jclMap.setFLeaderJobId(hrmResourcePO.getJobTitle().intValue()); +// jclMap.setFLeaderSt(hrmResourcePO.getJobGrade()); +// jclMap.setFLeaderLv(hrmResourcePO.getJobLevel()); +// String image = UserCard.builder().image(hrmResourcePO.getResourceImageId()).build().getImage(); +// jclMap.setFLeaderImg(image); +// if (null != hrmResourcePO.getJobTitle()) { +// JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResourcePO.getJobTitle()); +// if (null != jobById) { +// jclMap.setFLeaderJob(jobById.getJobName()); +// } +// } +// } +// +// String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); +// jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); +// jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// +// // 获取当前生效的本部门map记录 +// JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.departmentfielddefined.getValue().toString(), Util.null2String(jclMap.getFObjId())); +// StaffPO staffPO = new StaffPO(); +// switch (jclMap.getFType()) { +// // 分部 +// case 1: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1,jclMap.getFObjId().toString(), null, null); +// break; +// // 部门 +// case 2: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2,null, jclMap.getFObjId().toString(), null); +// break; +// } +// // 取出以该部门为上级部门的在编、在岗数,转移无需计算 +// JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(jclMap.getFDateBegin(), jclMap.getId().toString()); +// if (null != moveTarget) { +// jclOrgMap = null; +// } +// if (null != jclOrgMapByObjID) { +// if (null != jclOrgMap) { +// jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan()); +// jclMap.setFOnJob(jclOrgMap.getFOnJob()); +// } else { +// jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); +// } +// } else { +// jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// jclMap.setFOnJob(0); +// } +// jclMap.setFIsVitual(0); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(jclMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); +// +// if (1 != newDepartment.getDeleteType() && 1 != newDepartment.getForbiddenTag()) { +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); +// } +// if(null != jclOrgMapByObjID) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString()); +// } +// // 部门启用,刷新上级数据 +// if(forbiddenTag){ +// updateParentPlanAndJob(jclMap.getFDateBegin(), jclMap.getFParentId().toString()); +// } +// if(null != moveTarget){ +// updateParentPlanAndJob(jclMap.getFDateBegin(), moveTarget); +// } +// if (null != oldFparentId) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), oldFparentId); +// } +// } +// } +// +// private void updateParentPlanAndJob(Date currentDate, String parentId) { +// // 获取上级部门 +// JclOrgMap parentJclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapById(currentDate, parentId); +// if (null != parentJclOrgMap) { +// // 上级部门当前在编、在岗数 +// JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); +// StaffPO staffPO = new StaffPO(); +// switch (parentJclOrgMap.getFType()) { +// case 1: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1,Util.null2String(parentJclOrgMap.getFObjId()), null, null); +// break; +// // 部门 +// case 2: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, Util.null2String(parentJclOrgMap.getFObjId()), null); +// break; +// } +// // 编制表jcl_org_staff中的编制数+下级编制数,工具类判断 +// if(null != jclOrgMapSum){ +// parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); +// parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); +// }else{ +// parentJclOrgMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// parentJclOrgMap.setFOnJob(0); +// } +// parentJclOrgMap.setFDateBegin(currentDate); +// parentJclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(parentJclOrgMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getCompTriggerMapper().deleteMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin(), time); +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(parentJclOrgMap); +// if (null != parentJclOrgMap.getFParentId() && -1 != parentJclOrgMap.getFParentId()) { +// updateParentPlanAndJob(currentDate, parentJclOrgMap.getFParentId().toString()); +// } +// } +// } +//} \ No newline at end of file diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 49f4f9e1..9c408d20 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -4,11 +4,9 @@ import com.engine.common.util.ServiceUtil; import com.engine.hrm.service.impl.HrmJobServiceImpl; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.OrganizationAssert; @@ -21,7 +19,6 @@ import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -380,37 +377,13 @@ public class OrganizationSyncEc { * 封存、解封部门 */ private void cancelDepartment() { - String departmentIds = Util.null2String(params.get("id")); String forbiddenTag = Util.null2String(params.get("forbiddenTag")); - List idList = new ArrayList<>(); - String[] split = departmentIds.split(","); - if (StringUtils.isBlank(forbiddenTag)) { - long currentTimeMillis = System.currentTimeMillis(); - for (String s : split) { - DepartmentPO departmentPO = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptById(Long.parseLong(s)); - params.put("dept_name_short", departmentPO.getDeptNameShort() + currentTimeMillis); - params.put("dept_name", departmentPO.getDeptName() + currentTimeMillis); - params.put("parent_comp", departmentPO.getParentComp()); - params.put("parent_dept", departmentPO.getParentDept()); - params.put("show_order", departmentPO.getShowOrder()); - params.put("dept_no", departmentPO.getDeptNo() + currentTimeMillis); - params.put("dept_principal", departmentPO.getDeptPrincipal()); - updateDepartment(); - idList.add(EcHrmRelationUtil.getEcDepartmentId(s)); - } - } else { - for (String s : split) { - idList.add(EcHrmRelationUtil.getEcDepartmentId(s)); - } - } - Map map = new HashMap<>(); - map.put("id", StringUtils.join(idList, ",")); if ("0".equals(forbiddenTag)) { // 解封 - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentISCanceled(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentISCanceled(params, user); } else { // 封存 - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentCancel(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentCancel(params, user); } } diff --git a/src/com/engine/organization/thread/StaffTriggerRunnable.java b/src/com/engine/organization/thread/StaffTriggerRunnable.java index a2d95ca8..0b129f2e 100644 --- a/src/com/engine/organization/thread/StaffTriggerRunnable.java +++ b/src/com/engine/organization/thread/StaffTriggerRunnable.java @@ -120,15 +120,15 @@ public class StaffTriggerRunnable implements Runnable { } } - private void refreshDepartmentStaff(Long departmentId) { + private void refreshDepartmentStaff(Integer departmentId) { if (null == departmentId) { return; } DepartmentPO deptById = getDepartmentMapper().getDeptById(departmentId); if (null != deptById) { updateOrgMap(ModuleTypeEnum.departmentfielddefined.getValue().toString(), departmentId.toString()); - if (null != deptById.getParentDept() && 0 != deptById.getParentDept()) { - refreshDepartmentStaff(deptById.getParentDept()); + if (null != deptById.getSupDepId() && 0 != deptById.getSupDepId()) { + refreshDepartmentStaff(deptById.getSupDepId()); } } } diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index 04ede710..188cd51e 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -15,7 +15,7 @@ import weaver.hrm.User; public class HrmResourceTransMethod { public static String getDepartmentName(String departmentId) { - return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(Long.parseLong(departmentId)); + return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(Integer.parseInt(departmentId)); } public static String getCompanyName(String companyId) { diff --git a/src/com/engine/organization/util/ConfigTrans.java b/src/com/engine/organization/util/ConfigTrans.java index a520f459..8d647d90 100644 --- a/src/com/engine/organization/util/ConfigTrans.java +++ b/src/com/engine/organization/util/ConfigTrans.java @@ -13,10 +13,11 @@ import java.util.List; public class ConfigTrans { public static String getCheckBoxPopedom(String status) { - if ("0".equals(status)) + if ("0".equals(status)) { return "true"; - else + } else { return "false"; + } } public static List formatSourceOperates(String id, String isDefault) { diff --git a/src/com/engine/organization/util/PageInfoSortUtil.java b/src/com/engine/organization/util/PageInfoSortUtil.java index c56b690c..4bed8263 100644 --- a/src/com/engine/organization/util/PageInfoSortUtil.java +++ b/src/com/engine/organization/util/PageInfoSortUtil.java @@ -39,7 +39,7 @@ public class PageInfoSortUtil { */ private static String upperCharToUnderLine(String param) { Pattern p = Pattern.compile("[A-Z]"); - if (param == null || param.equals("")) { + if (param == null || "".equals(param)) { return ""; } StringBuilder builder = new StringBuilder(param); diff --git a/src/com/engine/organization/util/ResponseResult.java b/src/com/engine/organization/util/ResponseResult.java index c5fd845e..141a8b45 100644 --- a/src/com/engine/organization/util/ResponseResult.java +++ b/src/com/engine/organization/util/ResponseResult.java @@ -37,7 +37,7 @@ public class ResponseResult { private void permission() { if (permission) { List roleInfo = hrmCommonService.getRoleInfo(user.getUID()); - roleInfo.stream().map(m -> (Map) m).filter(m -> m.get("roleid") != null && m.get("roleid").toString().equals("28")).findFirst().orElseThrow(() -> new OrganizationRunTimeException("无权限")); + roleInfo.stream().map(m -> (Map) m).filter(m -> m.get("roleid") != null && "28".equals(m.get("roleid").toString())).findFirst().orElseThrow(() -> new OrganizationRunTimeException("无权限")); } } diff --git a/src/com/engine/organization/util/detach/DetachUtil.java b/src/com/engine/organization/util/detach/DetachUtil.java index 8d50ed40..f67a5b97 100644 --- a/src/com/engine/organization/util/detach/DetachUtil.java +++ b/src/com/engine/organization/util/detach/DetachUtil.java @@ -20,7 +20,7 @@ import java.util.List; public class DetachUtil { private boolean DETACH = "true".equals(new BaseBean().getPropValue("hrmOrganization", "detach")); - private final List jclRoleLevels; + private final List jclRoleLevels; public DetachUtil(Integer uId) { if (1 == uId) { @@ -38,7 +38,7 @@ public class DetachUtil { */ public void filterCompanyList(List companyList) { if (DETACH && CollectionUtils.isNotEmpty(companyList)) { - companyList.removeIf(item -> !jclRoleLevels.contains((long) item.getId())); + companyList.removeIf(item -> !jclRoleLevels.contains(item.getId())); } } @@ -47,7 +47,7 @@ public class DetachUtil { */ public void filterDepartmentList(List departmentList) { if (DETACH && CollectionUtils.isNotEmpty(departmentList)) { - departmentList.removeIf(item -> !jclRoleLevels.contains(item.getParentComp())); + departmentList.removeIf(item -> !jclRoleLevels.contains(item.getSubCompanyId1())); } } diff --git a/src/com/engine/organization/util/field/FieldDefinedValueUtil.java b/src/com/engine/organization/util/field/FieldDefinedValueUtil.java index 3fc69167..56f9c188 100644 --- a/src/com/engine/organization/util/field/FieldDefinedValueUtil.java +++ b/src/com/engine/organization/util/field/FieldDefinedValueUtil.java @@ -221,7 +221,9 @@ public class FieldDefinedValueUtil { } else if (fieldType == 161 || fieldType == 162) { //自定义浏览按钮 try { String fieldDbType = requestId;//用requestid传递数据 dmlurl - if (Util.null2String(fieldDbType).length() == 0 || fieldDbType.equals("emptyVal")) return ""; + if (Util.null2String(fieldDbType).length() == 0 || "emptyVal".equals(fieldDbType)) { + return ""; + } String sql = "select count(1) from mode_browser where showname = '" + fieldDbType + "'"; rs.execute(sql); if (rs.next()) {//建模浏览框 @@ -239,7 +241,7 @@ public class FieldDefinedValueUtil { try { BrowserBean bb = browser.searchById(s); String name = Util.null2String(bb.getName()); - if (showName.toString().equals("")) { + if ("".equals(showName.toString())) { showName.append(name); } else { showName.append(",").append(name); @@ -254,12 +256,12 @@ public class FieldDefinedValueUtil { } } else if (fieldType == 256 || fieldType == 257) { - if (!fieldValue.equals("null")) { + if (!"null".equals(fieldValue)) { CustomTreeUtil customTreeUtil = new CustomTreeUtil(); for (String s : tempshowidlist) { String show_val = Util.null2String(s); String name = customTreeUtil.getTreeFieldShowName(show_val, requestId); - if (showName.toString().equals("")) { + if ("".equals(showName.toString())) { showName.append(name); } else { showName.append(",").append(name); @@ -274,8 +276,8 @@ public class FieldDefinedValueUtil { + fieldType); String keyColumName = new BrowserComInfo() .getBrowserkeycolumname("" + fieldType); - if (columName.equals("") || tableName.equals("") - || keyColumName.equals("") || fieldValue.equals("")) { + if ("".equals(columName) || "".equals(tableName) + || "".equals(keyColumName) || "".equals(fieldValue)) { new BaseBean().writeLog("GET FIELD ERR: fieldType=" + fieldType); } else { sql = "select " + columName + " from " + tableName @@ -291,7 +293,7 @@ public class FieldDefinedValueUtil { showName = new StringBuilder(showName.substring(0, showName.length() - 1)); } } else if (fieldHtmlType == 4) { // check框 - if (fieldValue.equals("1")) { + if ("1".equals(fieldValue)) { showName.append("√"); } } else if (fieldHtmlType == 5) { diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java index 1f35985c..777d127b 100644 --- a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -10,7 +10,6 @@ import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; import java.util.List; @@ -63,25 +62,13 @@ public class EcHrmRelationUtil { * @return */ public static String getEcDepartmentId(String departmentId) { - DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Long.parseLong(departmentId)); + DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Integer.parseInt(departmentId)); RecordInfo supDepartment = getSystemDataMapper().getHrmObjectByUUID(HRM_DEPARTMENT, departmentPO.getUuid()); return supDepartment.getId(); } - public static DepartmentPO getJclDepartmentId(String ecDepartmentId) { - if (StringUtils.isBlank(ecDepartmentId)) { - return null; - } - RecordInfo ecDepartment = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecDepartmentId); - if (null == ecDepartment) { - return null; - } - String uuid = ecDepartment.getUuid(); - return getDepartmentMapper().getDepartmentByUUID(uuid); - } - public static String getEcJobId(Long jclJobId) { JobPO jobById = getJobMapper().getJobById(jclJobId); if (null == jobById) { diff --git a/src/com/engine/organization/util/relation/ResourceSyncUtil.java b/src/com/engine/organization/util/relation/ResourceSyncUtil.java index d5dbb6cb..1fae4c34 100644 --- a/src/com/engine/organization/util/relation/ResourceSyncUtil.java +++ b/src/com/engine/organization/util/relation/ResourceSyncUtil.java @@ -83,7 +83,9 @@ public class ResourceSyncUtil { } String loginid = Util.null2String(params.get("loginid")); String accounttype = Util.null2s(Util.fromScreen3(Util.null2String(params.get(("accounttype"))), user.getLanguage()), "0"); - if (accounttype.equals("1")) loginid = "";//次账号没有loginid + if ("1".equals(accounttype)) { + loginid = "";//次账号没有loginid + } boolean canSave = false; LN LN = new LN(); int ckHrmnum = LN.CkHrmnum(); @@ -101,7 +103,7 @@ public class ResourceSyncUtil { } - if (!loginid.equals("") && "0".equals(accounttype)) { + if (!"".equals(loginid) && "0".equals(accounttype)) { sql = "select count(1) from hrmresourceallview where loginid='" + loginid + "' "; rs.execute(sql); if (rs.next()) { @@ -115,7 +117,7 @@ public class ResourceSyncUtil { String departmentid = Util.null2String(params.get("departmentid")); String subcompanyid = departmentComInfo.getSubcompanyid1(departmentid); - if (!loginid.equals("") && !subcompanyid.equals("0") && new HrmResourceManager().noMore(subcompanyid)) { + if (!"".equals(loginid) && !"0".equals(subcompanyid) && new HrmResourceManager().noMore(subcompanyid)) { retmap.put("status", "-1"); retmap.put("message", SystemEnv.getHtmlLabelName(81926, user.getLanguage())); return retmap; @@ -148,14 +150,14 @@ public class ResourceSyncUtil { //【初始密码】 String defaultPassword = Util.null2String(settings.getDefaultPassword()); //如果管理员设置的密码为空。并且开启了【启用初始密码】,且初始密码不为空,则默认取初始密码作为密码 - if (password.equals("") && defaultPasswordEnable.equals("1") && !defaultPassword.equals("")) { + if ("".equals(password) && "1".equals(defaultPasswordEnable) && !"".equals(defaultPassword)) { password = defaultPassword; } //判断是否开启了【禁止弱密码保存】 String weakPasswordDisable = Util.null2s(settings.getWeakPasswordDisable(), "0"); - if (weakPasswordDisable.equals("1")) { - if (!password.equals("")) {//密码为空的情况 + if ("1".equals(weakPasswordDisable)) { + if (!"".equals(password)) {//密码为空的情况 //判断是否为弱密码 HrmWeakPasswordUtil hrmWeakPasswordUtil = new HrmWeakPasswordUtil(); if (hrmWeakPasswordUtil.isWeakPsd(password)) { @@ -186,8 +188,10 @@ public class ResourceSyncUtil { String workstartdate = Util.null2String(params.get("workstartdate"));//参加工作日期 String companystartdate = Util.null2String(params.get("companystartdate"));//入职日期 String dsporder = Util.fromScreen3(Util.null2String(params.get("dsporder")), user.getLanguage()); - if (dsporder.length() == 0) dsporder = "" + id; - if (accounttype.equals("0")) { + if (dsporder.length() == 0) { + dsporder = "" + id; + } + if ("0".equals(accounttype)) { String encrptPassword = ""; String salt = ""; @@ -224,8 +228,8 @@ public class ResourceSyncUtil { //OA与第三方接口单条数据同步方法结束 //BBS集成相关 String bbsLingUrl = new weaver.general.BaseBean().getPropValue(GCONST.getConfigFile(), "ecologybbs.linkUrl"); - if (!password.equals("0")) { - if (!bbsLingUrl.equals("")) { + if (!"0".equals(password)) { + if (!"".equals(bbsLingUrl)) { new Thread(new weaver.bbs.BBSRunnable(loginid, password)).start(); } } @@ -283,7 +287,9 @@ public class ResourceSyncUtil { String dsporder = Util.fromScreen3(Util.null2String(params.get("dsporder")), user.getLanguage()); String accounttype = Util.fromScreen3(Util.null2String(params.get("accounttype")), user.getLanguage()); String systemlanguage = Util.null2String(params.get("systemlanguage")); - if (systemlanguage.equals("") || systemlanguage.equals("0")) systemlanguage = "7"; + if ("".equals(systemlanguage) || "0".equals(systemlanguage)) { + systemlanguage = "7"; + } String belongto = Util.fromScreen3(Util.null2String(params.get("belongto")), user.getLanguage()); //应聘人员id String rcid = Util.null2String(params.get("rcId")); @@ -305,8 +311,10 @@ public class ResourceSyncUtil { } - if (dsporder.length() == 0) dsporder = id; - if (accounttype.equals("0")) { + if (dsporder.length() == 0) { + dsporder = id; + } + if ("0".equals(accounttype)) { belongto = "-1"; } String departmentvirtualids = Util.null2String(params.get("departmentvirtualids"));//虚拟部门id; @@ -314,12 +322,12 @@ public class ResourceSyncUtil { //Td9325,解决多账号次账号没有登陆Id在浏览框组织结构中无法显示的问题。 boolean falg = false; String loginid = ""; - if (accounttype.equals("1")) { + if ("1".equals(accounttype)) { rs.execute("select loginid from HrmResource where id =" + belongto); if (rs.next()) { loginid = rs.getString("loginid"); } - if (!loginid.equals("")) { + if (!"".equals(loginid)) { String maxidsql = "select max(id) as id from HrmResource where loginid like '" + loginid + "%'"; rs.execute(maxidsql); if (rs.next()) { @@ -356,8 +364,12 @@ public class ResourceSyncUtil { while (rs.next()) { String tmp_managerstr = rs.getString("managerstr"); //处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 begin - if (!tmp_managerstr.startsWith(",")) tmp_managerstr = "," + tmp_managerstr; - if (!tmp_managerstr.endsWith(",")) tmp_managerstr = tmp_managerstr + ","; + if (!tmp_managerstr.startsWith(",")) { + tmp_managerstr = "," + tmp_managerstr; + } + if (!tmp_managerstr.endsWith(",")) { + tmp_managerstr = tmp_managerstr + ","; + } //处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 end managerstr += tmp_managerstr; managerstr = "," + managerid + managerstr; @@ -368,17 +380,37 @@ public class ResourceSyncUtil { RecordSetTrans rst = new RecordSetTrans(); rst.setAutoCommit(false); try { - if (resourceimageid.length() == 0) resourceimageid = "null"; - if (costcenterid.length() == 0) costcenterid = "null"; - if (managerid.length() == 0) managerid = "null"; - if (assistantid.length() == 0) assistantid = "null"; - if (accounttype.length() == 0) accounttype = "null"; - if (belongto.length() == 0) belongto = "null"; - if (jobcall.length() == 0) jobcall = "null"; - if (mobileshowtype.length() == 0) mobileshowtype = "null"; - if (rst.getDBType().equalsIgnoreCase("postgresql")) { - if (joblevel.length() == 0) joblevel = null; - if (dsporder.length() == 0) dsporder = null; + if (resourceimageid.length() == 0) { + resourceimageid = "null"; + } + if (costcenterid.length() == 0) { + costcenterid = "null"; + } + if (managerid.length() == 0) { + managerid = "null"; + } + if (assistantid.length() == 0) { + assistantid = "null"; + } + if (accounttype.length() == 0) { + accounttype = "null"; + } + if (belongto.length() == 0) { + belongto = "null"; + } + if (jobcall.length() == 0) { + jobcall = "null"; + } + if (mobileshowtype.length() == 0) { + mobileshowtype = "null"; + } + if ("postgresql".equalsIgnoreCase(rst.getDBType())) { + if (joblevel.length() == 0) { + joblevel = null; + } + if (dsporder.length() == 0) { + dsporder = null; + } } workcode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.USER, subcmpanyid1, departmentid, jobtitle, workcode); para = new StringBuilder("" + id + separator + workcode + separator + lastname + separator + sex + separator + resourceimageid + separator + @@ -420,7 +452,9 @@ public class ResourceSyncUtil { para = new StringBuilder("" + id); for (int i = 0; i < 5; i++) { int idx = i; - if (formdefined) idx++; + if (formdefined) { + idx++; + } String datefield = Util.null2String(params.get("datefield" + idx)); String numberfield = "" + Util.getDoubleValue(Util.null2String(params.get("numberfield" + idx)), 0); String textfield = Util.null2String(params.get("textfield" + idx)); @@ -443,7 +477,7 @@ public class ResourceSyncUtil { for (Map.Entry me : mapShowSets.entrySet()) { String fieldName = me.getKey(); String fieldVal = Util.null2String(mapShowSets.get(fieldName)); - if (fieldVal.equals("1")) { + if ("1".equals(fieldVal)) { String tmpPK = id + "__" + fieldName; String tmpPvalue = Util.null2String(params.get(fieldName + "showtype")); insertSql = "insert into userprivacysetting (combinedid,userid,ptype,pvalue) values('" + tmpPK + "','" + id + "','" + fieldName + "','" + tmpPvalue + "')"; @@ -483,7 +517,7 @@ public class ResourceSyncUtil { Subject += ":" + lastname; //modifier by lvyi 2013-12-31 - if (settings.getEntervalid().equals("1")) {//入职提醒 + if ("1".equals(settings.getEntervalid())) {//入职提醒 String thesql = "select hrmids from HrmInfoMaintenance where id<4 or id = 10"; rs.execute(thesql); StringBuilder members = new StringBuilder(); @@ -493,7 +527,7 @@ public class ResourceSyncUtil { members.append(",").append(rs.getString("hrmids")); } } - if (!members.toString().equals("")) { + if (!"".equals(members.toString())) { members = new StringBuilder(members.substring(1)); members = new StringBuilder(new HrmResourceBaseService().duplicateRemoval(members.toString(), user.getUID() + "")); SWFAccepter = members.toString(); @@ -531,9 +565,13 @@ public class ResourceSyncUtil { String healthinfo = Util.null2String(rs.getString("healthinfo")); String height = Util.null2String(rs.getString("height")); - if (height.contains(".")) height = height.substring(0, height.indexOf(".")); + if (height.contains(".")) { + height = height.substring(0, height.indexOf(".")); + } String weight = Util.null2String(rs.getString("weight")); - if (weight.contains(".")) weight = weight.substring(0, weight.indexOf(".")); + if (weight.contains(".")) { + weight = weight.substring(0, weight.indexOf(".")); + } String residentplace = Util.null2String(rs.getString("residentplace")); String homeaddress = Util.null2String(rs.getString("homeaddress")); @@ -555,7 +593,9 @@ public class ResourceSyncUtil { rs.execute(" select count(*) from HrmResourceVirtual where departmentid ='" + s + "' and resourceid = " + id); if (rs.next()) { //如果已存在 无需处理 - if (rs.getInt(1) > 0) continue; + if (rs.getInt(1) > 0) { + continue; + } } //写入 @@ -630,7 +670,9 @@ public class ResourceSyncUtil { resourceimageid = ServiceUtil.saveResourceImage(resourceimageBase64); } String oldresourceimageid = Util.null2String(params.get("oldresourceimage")); - if (resourceimageid.equals("")) resourceimageid = oldresourceimageid; + if ("".equals(resourceimageid)) { + resourceimageid = oldresourceimageid; + } String departmentid = Util.fromScreen3(Util.null2String(params.get("departmentid")), user.getLanguage()); String costcenterid = Util.fromScreen3(Util.null2String(params.get("costcenterid")), user.getLanguage()); String jobtitle = Util.fromScreen3(Util.null2String(params.get("jobtitle")), user.getLanguage()); @@ -650,13 +692,15 @@ public class ResourceSyncUtil { String dsporder = Util.fromScreen3(Util.null2String(params.get("dsporder")), user.getLanguage()); String jobcall = Util.fromScreen3(Util.null2String(params.get("jobcall")), user.getLanguage()); String systemlanguage = Util.fromScreen3(Util.null2String(params.get("systemlanguage")), user.getLanguage()); - if (systemlanguage.equals("") || systemlanguage.equals("0")) { + if ("".equals(systemlanguage) || "0".equals(systemlanguage)) { systemlanguage = "7"; } String accounttype = Util.fromScreen3(Util.null2String(params.get("accounttype")), user.getLanguage()); String belongto = Util.fromScreen3(Util.null2String(params.get("belongto")), user.getLanguage()); - if (dsporder.length() == 0) dsporder = id; - if (accounttype.equals("0")) { + if (dsporder.length() == 0) { + dsporder = id; + } + if ("0".equals(accounttype)) { belongto = "-1"; } @@ -707,18 +751,18 @@ public class ResourceSyncUtil { } String thisAccounttype = rs.getString("accounttype"); - if (thisAccounttype.equals("1") && accounttype.equals("0")) { + if ("1".equals(thisAccounttype) && "0".equals(accounttype)) { oldbelongto = rs.getString("belongto"); } } - if (accounttype.equals("1") && loginid.equalsIgnoreCase("")) { + if ("1".equals(accounttype) && "".equalsIgnoreCase(loginid)) { rs.execute("select loginid from HrmResource where id =" + belongto); if (rs.next()) { loginid = rs.getString(1); } - if (!loginid.equals("")) { + if (!"".equals(loginid)) { loginid = loginid + (id + 1); falg = true; } @@ -731,19 +775,39 @@ public class ResourceSyncUtil { oldmanagerid = rs.getString("managerid"); oldmanagerstr = rs.getString("managerstr"); // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 begin - if (!oldmanagerstr.startsWith(",")) oldmanagerstr = "," + oldmanagerstr; - if (!oldmanagerstr.endsWith(",")) oldmanagerstr = oldmanagerstr + ","; + if (!oldmanagerstr.startsWith(",")) { + oldmanagerstr = "," + oldmanagerstr; + } + if (!oldmanagerstr.endsWith(",")) { + oldmanagerstr = oldmanagerstr + ","; + } // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 end } //mysql报错问题java.sql.SQLException: Incorrect integer value: '' for column 'COSTCENTERID' at row 1 - if(resourceimageid.length()==0)resourceimageid="null"; - if(costcenterid.length()==0)costcenterid="null"; - if(managerid.length()==0)managerid="null"; - if(assistantid.length()==0)assistantid="null"; - if(accounttype.length()==0)accounttype="null"; - if(belongto.length()==0)belongto="null"; - if(jobcall.length()==0)jobcall="null"; - if(mobileshowtype.length()==0)mobileshowtype="null"; + if(resourceimageid.length()==0) { + resourceimageid="null"; + } + if(costcenterid.length()==0) { + costcenterid="null"; + } + if(managerid.length()==0) { + managerid="null"; + } + if(assistantid.length()==0) { + assistantid="null"; + } + if(accounttype.length()==0) { + accounttype="null"; + } + if(belongto.length()==0) { + belongto="null"; + } + if(jobcall.length()==0) { + jobcall="null"; + } + if(mobileshowtype.length()==0) { + mobileshowtype="null"; + } if (StringUtils.isNotEmpty(workcode)) { CodeRuleManager.getCodeRuleManager().checkReservedIfDel(RuleCodeType.USER.getValue(), workcode); @@ -792,7 +856,7 @@ public class ResourceSyncUtil { for (Map.Entry me : mapShowSets.entrySet()) { String fieldName = me.getKey(); String fieldVal = Util.null2String(mapShowSets.get(fieldName)); - if (fieldVal.equals("1")) { + if ("1".equals(fieldVal)) { String tmpPK = id + "__" + fieldName; String tmpPvalue = Util.null2String(params.get(fieldName + "showtype")); insertSql = "insert into userprivacysetting (combinedid,userid,ptype,pvalue) values('" + tmpPK + "','" + id + "','" + fieldName + "','" + tmpPvalue + "')"; @@ -814,8 +878,12 @@ public class ResourceSyncUtil { while (rs.next()) { managerstr = rs.getString("managerstr"); // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 begin - if (!managerstr.startsWith(",")) managerstr = "," + managerstr; - if (!managerstr.endsWith(",")) managerstr = managerstr + ","; + if (!managerstr.startsWith(",")) { + managerstr = "," + managerstr; + } + if (!managerstr.endsWith(",")) { + managerstr = managerstr + ","; + } // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 end managerstr = "," + managerid + managerstr; managerstr = managerstr.endsWith(",") ? managerstr : (managerstr + ","); @@ -845,13 +913,18 @@ public class ResourceSyncUtil { while (rs.next()) { String nowmanagerstr = Util.null2String(rs.getString("managerstr")); // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 begin - if (!nowmanagerstr.startsWith(",")) nowmanagerstr = "," + nowmanagerstr; - if (!nowmanagerstr.endsWith(",")) nowmanagerstr = nowmanagerstr + ","; + if (!nowmanagerstr.startsWith(",")) { + nowmanagerstr = "," + nowmanagerstr; + } + if (!nowmanagerstr.endsWith(",")) { + nowmanagerstr = nowmanagerstr + ","; + } // 处理managerstr 不以逗号开始或者结束的情况 形如 managerstr:8 end String resourceid = rs.getString("id"); //指定上级为自身的情况,不更新自身上级 - if (id.equals(resourceid)) + if (id.equals(resourceid)) { continue; + } String nowmanagerstr2 = ""; int index = nowmanagerstr.lastIndexOf(oldmanagerstr); if (index != -1) { @@ -902,7 +975,9 @@ public class ResourceSyncUtil { para = new StringBuilder("" + id); for (int i = 0; i < 5; i++) { int idx = i; - if (formdefined) idx++; + if (formdefined) { + idx++; + } String datefield = Util.null2String(params.get("datefield" + idx)); String numberfield = "" + Util.getDoubleValue(Util.null2String(params.get("numberfield" + idx)), 0); String textfield = Util.null2String(params.get("textfield" + idx)); @@ -926,10 +1001,10 @@ public class ResourceSyncUtil { //处理次账号修改为主账号时,检查次账号所属 主账号的 其他设置是否需要修改 add by kzw QC159888 try { - if (!oldbelongto.equals("")) { + if (!"".equals(oldbelongto)) { HrmUserSettingComInfo userSetting = new HrmUserSettingComInfo(); String belongtoshow = userSetting.getBelongtoshowByUserId(oldbelongto); - if (belongtoshow.equals("1")) { + if ("1".equals(belongtoshow)) { rs.execute("select id from hrmresource where belongto = " + oldbelongto); if (!rs.next()) { String setId = userSetting.getId(oldbelongto); diff --git a/src/com/engine/organization/util/saveimport/OrgImportUtil.java b/src/com/engine/organization/util/saveimport/OrgImportUtil.java index a5b7a346..e5fa6df4 100644 --- a/src/com/engine/organization/util/saveimport/OrgImportUtil.java +++ b/src/com/engine/organization/util/saveimport/OrgImportUtil.java @@ -134,8 +134,9 @@ public class OrgImportUtil { */ public static String getCellValue(XSSFCell cell) { String cellValue = ""; - if (cell == null) + if (cell == null) { return ""; + } switch (cell.getCellType()) { case BOOLEAN: // 得到Boolean对象的方法 cellValue = String.valueOf(cell.getBooleanCellValue()); @@ -146,8 +147,9 @@ public class OrgImportUtil { cellValue = sft.format(cell.getDateCellValue()); // 读取日期格式 } else { cellValue = String.valueOf(new Double(cell.getNumericCellValue())); // 读取数字 - if (cellValue.endsWith(".0")) + if (cellValue.endsWith(".0")) { cellValue = cellValue.substring(0, cellValue.indexOf(".")); + } } break; case FORMULA: // 读取公式 diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index 16174e5b..e096ba6b 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -83,8 +83,8 @@ public class StaffInfoImportUtil { } // 组装待处理数据 Map map = new HashMap<>(); - Long parentCompanyId = null; - Long parentDepartmentId = null; + Integer parentCompanyId = null; + Integer parentDepartmentId = null; Long parentJobId = null; StaffPlanPO staffPlanPO = null; @@ -151,7 +151,7 @@ public class StaffInfoImportUtil { continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId.intValue()); + parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -261,8 +261,8 @@ public class StaffInfoImportUtil { if (null == deptById) { checkMsg = "未找到对应部门!"; } else { - param.setCompId(deptById.getParentComp()); - param.setEcCompany(deptById.getEcCompany()); + param.setCompId(deptById.getSubCompanyId1()); + param.setEcCompany(deptById.getSubCompanyId1()); } } // 取消岗位赋值 diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java index fdeffea8..ed24b967 100644 --- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java +++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java @@ -262,13 +262,13 @@ public class HrmImportProcessE9 extends BaseBean { RemindSettings settings = reminder.getRemindSettings(); //判断是否启用【启用初始密码】 //是否启用初始密码:false-不启用初始密码、true-启用初始密码 - boolean defaultPasswordEnable = Util.null2String(settings.getDefaultPasswordEnable()).equals("1"); + boolean defaultPasswordEnable = "1".equals(Util.null2String(settings.getDefaultPasswordEnable())); //初始密码 //初始密码 String defaultPassword = Util.null2String(settings.getDefaultPassword()); //判断是否启用【弱密码禁止保存】 //弱密码禁止保存:false-允许保存弱密码、true-不允许保存弱密码 - boolean weakPasswordDisable = Util.null2String(settings.getWeakPasswordDisable()).equals("1"); + boolean weakPasswordDisable = "1".equals(Util.null2String(settings.getWeakPasswordDisable())); try { //判断是否为弱密码 hrmWeakPasswordUtil = new HrmWeakPasswordUtil(); @@ -287,7 +287,7 @@ public class HrmImportProcessE9 extends BaseBean { //TimeUnit.SECONDS.sleep(1); try { // 异常处理 - if (operateType.equals("add")) { + if ("add".equals(operateType)) { if (keyMap.get(key) != null) { resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(83520, userlanguage))); @@ -398,7 +398,7 @@ public class HrmImportProcessE9 extends BaseBean { if (vo.getBelongto() != null && !"".equals(vo.getBelongto().trim())) { int belongto = getBelongId(vo.getBelongto(), keyField); hrm.setBelongto(belongto); - if (!vo.getBelongto().equals("") && belongto == 0) { + if (!"".equals(vo.getBelongto()) && belongto == 0) { resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(131279, userlanguage))); continue; } else { @@ -415,7 +415,7 @@ public class HrmImportProcessE9 extends BaseBean { } else if (vo.getBelongto() != null && !"".equals(vo.getBelongto().trim())) { int belongto = getBelongId(vo.getBelongto(), keyField); hrm.setBelongto(belongto); - if (!vo.getBelongto().equals("") && belongto == 0) { + if (!"".equals(vo.getBelongto()) && belongto == 0) { resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(131279, userlanguage))); continue; } else { @@ -463,7 +463,7 @@ public class HrmImportProcessE9 extends BaseBean { hrm.setManagerstr(managerstr); //如果vo.getManagerid()有值,但manageid未找到,说明填写有误 - if (!vo.getManagerid().equals("") && managerid == 0) { + if (!"".equals(vo.getManagerid()) && managerid == 0) { resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(83532, userlanguage))); continue; } @@ -478,7 +478,7 @@ public class HrmImportProcessE9 extends BaseBean { int assistantid; assistantid = getAssistantid(vo.getAssistantid(), keyField); hrm.setAssistantid(assistantid); - if (!vo.getAssistantid().equals("") && assistantid == 0) { + if (!"".equals(vo.getAssistantid()) && assistantid == 0) { resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(24678, userlanguage))); continue; } @@ -513,10 +513,12 @@ public class HrmImportProcessE9 extends BaseBean { //mobile-sunjsh if (vo.getMobile() != null) { - if ("".equals(vo.getMobile().trim()) || (!"".equals(vo.getMobile().trim()) && vo.getMobile().contains("*"))) + if ("".equals(vo.getMobile().trim()) || (!"".equals(vo.getMobile().trim()) && vo.getMobile().contains("*"))) { vo.setMobile(null); - } else + } + } else { hrm.setMobile(""); + } //工资银行-sunjsh if (vo.getBankid1() != null && !"".equals(vo.getBankid1())) { @@ -621,7 +623,7 @@ public class HrmImportProcessE9 extends BaseBean { continue; } //安全级别必须是数字 - if (!Util.null2String(vo.getSeclevel()).equals("")) { + if (!"".equals(Util.null2String(vo.getSeclevel()))) { if (Util.getIntValue(vo.getSeclevel(), -1000) == -1000) { resultList.add(createLog(vo, "创建", "失败", "安全级别必须是数字")); continue; @@ -678,7 +680,7 @@ public class HrmImportProcessE9 extends BaseBean { password_tmp = "1"; //人员导入文件中,将密码这一列删除或者密码这一列存在,但是不填写都默认为初始密码 if (defaultPasswordEnable) { - if (!defaultPassword.equals("")) { + if (!"".equals(defaultPassword)) { if (weakPasswordDisable && this.hrmWeakPasswordUtil.isWeakPsd(defaultPassword)) { resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(515436, userlanguage))); continue; @@ -728,7 +730,7 @@ public class HrmImportProcessE9 extends BaseBean { } else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { insertFields.append(s).append(","); String insertValueStr = Util.null2String(hrmField.get(hrm)); - if ("".equals(insertValueStr) && recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("".equals(insertValueStr) && "postgresql".equalsIgnoreCase(recordSet.getDBType())) { insertValues.append("null,"); } else { insertValues.append(hrmField.get(hrm)).append(","); @@ -736,8 +738,8 @@ public class HrmImportProcessE9 extends BaseBean { } } else if (voField.get(vo) != null) { if (voFieldType.endsWith("String")) { - if (recordSet.getDBType().equalsIgnoreCase("mysql") || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - if (Util.null2String(voField.get(vo)).equals("")) { + if ("mysql".equalsIgnoreCase(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { + if ("".equals(Util.null2String(voField.get(vo)))) { insertFields.append(s).append(","); insertValues.append("null,"); } else { @@ -751,7 +753,7 @@ public class HrmImportProcessE9 extends BaseBean { } else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { insertFields.append(s).append(","); String insertValueStr = Util.null2String(voField.get(vo)); - if ("".equals(insertValueStr) && recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("".equals(insertValueStr) && "postgresql".equalsIgnoreCase(recordSet.getDBType())) { insertValues.append("null,"); } else { insertValues.append(voField.get(vo)).append(","); @@ -775,11 +777,17 @@ public class HrmImportProcessE9 extends BaseBean { PasswordUtil.updateResourceSalt(id + "", salt); if (updateBaseData(vo.getBaseFields(), vo.getBaseFieldsValue(), id)) //添加基础字段信息 + { flag = false; + } if (updatePersonData(vo.getPersonFields(), vo.getPersonFieldsValue(), id)) //添加个人字段信息 + { flag = false; + } if (updateWorkData(vo.getWorkFields(), vo.getWorkFieldsValue(), id)) //添加工作字段信息 + { flag = false; + } } /*添加人员缓存,人员默认按id显示顺序,HrmResource_Trigger_Insert 人员共享 入职维护项目状态*/ @@ -942,7 +950,7 @@ public class HrmImportProcessE9 extends BaseBean { if (vo.getBelongto() != null && !"".equals(vo.getBelongto().trim())) { int belongto = getBelongId(vo.getBelongto(), keyField); hrm.setBelongto(belongto); - if (!vo.getBelongto().equals("") && belongto == 0) { + if (!"".equals(vo.getBelongto()) && belongto == 0) { resultList.add(createLog(vo, "更新", "失败", SystemEnv.getHtmlLabelName(131279, userlanguage))); continue; } else { @@ -959,7 +967,7 @@ public class HrmImportProcessE9 extends BaseBean { } else if (vo.getBelongto() != null && !"".equals(vo.getBelongto().trim())) { int belongto = getBelongId(vo.getBelongto(), keyField); hrm.setBelongto(belongto); - if (!vo.getBelongto().equals("") && belongto == 0) { + if (!"".equals(vo.getBelongto()) && belongto == 0) { resultList.add(createLog(vo, "更新", "失败", SystemEnv.getHtmlLabelName(131279, userlanguage))); continue; } else { @@ -1007,7 +1015,9 @@ public class HrmImportProcessE9 extends BaseBean { //} new BaseBean().writeLog("hrmId【" + hrmId + "】"); - if (Util.getIntValue(hrmId) < 0) continue; + if (Util.getIntValue(hrmId) < 0) { + continue; + } //上级id String managerstr = ""; //所有上级 @@ -1023,7 +1033,7 @@ public class HrmImportProcessE9 extends BaseBean { } //如果vo.getManagerid()有值,但manageid未找到,说明填写有误 - if (vo.getManagerid() != null && !vo.getManagerid().equals("") && managerid == 0) { + if (vo.getManagerid() != null && !"".equals(vo.getManagerid()) && managerid == 0) { resultList.add(createLog(vo, "更新", "失败", SystemEnv.getHtmlLabelName(83532, userlanguage))); continue; } @@ -1044,7 +1054,7 @@ public class HrmImportProcessE9 extends BaseBean { if (!"".equals(Util.null2String(vo.getAssistantid()))) { int assistantid; assistantid = getAssistantid(vo.getAssistantid(), keyField); - if (vo.getAssistantid() != null && !vo.getAssistantid().equals("") && assistantid == 0) { + if (vo.getAssistantid() != null && !"".equals(vo.getAssistantid()) && assistantid == 0) { resultList.add(createLog(vo, "更新", "失败", SystemEnv.getHtmlLabelName(24678, userlanguage))); continue; } @@ -1076,10 +1086,11 @@ public class HrmImportProcessE9 extends BaseBean { //mobile-sunjsh if (vo.getMobile() != null) { - if ("".equals(vo.getMobile().trim())) + if ("".equals(vo.getMobile().trim())) { hrm.setMobile(""); - else if (!"".equals(vo.getMobile().trim()) && vo.getMobile().contains("*")) + } else if (!"".equals(vo.getMobile().trim()) && vo.getMobile().contains("*")) { vo.setMobile(null); + } } //工资银行-sunjsh @@ -1138,14 +1149,14 @@ public class HrmImportProcessE9 extends BaseBean { // 性别,为空或其他情况统一为0(男) if (!"".equals(Util.null2String(vo.getSex()))) { - String sex = vo.getSex().equals("女") ? "1" : "0"; + String sex = "女".equals(vo.getSex()) ? "1" : "0"; hrm.setSex(sex); } // 婚姻状况,如果不是以下选项,则默认为未婚 if (!"".equals(Util.null2String(vo.getMaritalstatus()))) { - String maritalstatus = vo.getMaritalstatus().equals("已婚") ? "1" - : vo.getMaritalstatus().equals("离异") ? "2" : "0"; + String maritalstatus = "已婚".equals(vo.getMaritalstatus()) ? "1" + : "离异".equals(vo.getMaritalstatus()) ? "2" : "0"; hrm.setMaritalstatus(maritalstatus); } @@ -1170,7 +1181,7 @@ public class HrmImportProcessE9 extends BaseBean { // 工会会员,默认为是 if (!"".equals(Util.null2String(vo.getIslabouunion()))) { - String islabouunion = vo.getIslabouunion().equals("是") ? "1" + String islabouunion = "是".equals(vo.getIslabouunion()) ? "1" : "0"; hrm.setIslabouunion(islabouunion); } @@ -1192,7 +1203,7 @@ public class HrmImportProcessE9 extends BaseBean { continue; } //安全级别必须是数字 - if (!Util.null2String(vo.getSeclevel()).equals("")) { + if (!"".equals(Util.null2String(vo.getSeclevel()))) { if (Util.getIntValue(vo.getSeclevel(), -1000) == -1000) { resultList.add(createLog(vo, "更新", "失败", "安全级别必须是数字")); continue; @@ -1245,7 +1256,9 @@ public class HrmImportProcessE9 extends BaseBean { if (!"".equals(Util.null2String(vo.getPassword()))) { String orgPwd = "1"; - if (!"".equals(vo.getPassword())) orgPwd = vo.getPassword(); + if (!"".equals(vo.getPassword())) { + orgPwd = vo.getPassword(); + } String[] pwdArr = PasswordUtil.encrypt(orgPwd); String salt = pwdArr[1]; hrm.setPassword(pwdArr[0]); @@ -1274,19 +1287,19 @@ public class HrmImportProcessE9 extends BaseBean { voField.setAccessible(true); if (Util.null2String(hrmField.get(hrm)).trim().length() > 0) { - if (hrmFieldType.endsWith("String")) + if (hrmFieldType.endsWith("String")) { updateStr.append(fields[k]).append("='").append(hrmField.get(hrm)).append("',"); - else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { + } else if (hrmFieldType.endsWith("Integer") || hrmFieldType.endsWith("Short") || hrmFieldType.endsWith("Float")) { updateStr.append(fields[k]).append("=").append(hrmField.get(hrm)).append(","); } - if (fields[k].equals("status")) { + if ("status".equals(fields[k])) { tmpstatus = Util.null2String(hrmField.get(hrm)); } } else if (Util.null2String(voField.get(vo)).trim().length() > 0) { if (voFieldType.endsWith("String")) { - if (recordSet.getDBType().equalsIgnoreCase("mysql") || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - if (Util.null2String(voField.get(vo)).equals("")) { + if ("mysql".equalsIgnoreCase(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { + if ("".equals(Util.null2String(voField.get(vo)))) { updateStr.append(fields[k]).append("=null,"); } else { updateStr.append(fields[k]).append("='").append(voField.get(vo)).append("',"); @@ -1301,14 +1314,17 @@ public class HrmImportProcessE9 extends BaseBean { updateStr.append(fields[k]).append("=").append(voField.get(vo)).append(","); } } - if (fields[k].equals("status")) tmpstatus = Util.null2String(voField.get(vo)); + if ("status".equals(fields[k])) { + tmpstatus = Util.null2String(voField.get(vo)); + } } } updateStr.append(" lastmodid=").append(lastmodid).append(",lastmoddate='").append(lastmoddate).append("',managerstr='").append(hrm.getManagerstr()).append("',").append(DbFunctionUtil.getUpdateSetSql(new RecordSet().getDBType(), lastmodid)).append(" where id=").append(keyMap.get(key)); - if (!execSql(updateStr.toString())) + if (!execSql(updateStr.toString())) { flag = false; + } //同步密码到AD if (flag && !"".equals(Util.null2String(vo.getPassword()))) { @@ -1324,7 +1340,7 @@ public class HrmImportProcessE9 extends BaseBean { String optype = "4"; //1,强制修改密码操作。2,首次登录密码操作,3,忘记密码找回。其它,系统修改ad操作。 map.put("optype", optype); Map retInfo = new OaSync("", "").modifyADPWDNew(map); - if (Util.null2String(retInfo.get("code")).equals("0")) { + if ("0".equals(Util.null2String(retInfo.get("code")))) { //更新修改密码时间 String passwdchgdate = Util.null2String(TimeUtil.getCurrentDateString()); flag = recordSet.executeUpdate("update hrmresource set passwdchgdate=?, haschangepwd='y' where id = ?", passwdchgdate, userid); @@ -1383,14 +1399,17 @@ public class HrmImportProcessE9 extends BaseBean { //OA与第三方接口单条数据同步方法结束 } - if (updateBaseData(vo.getBaseFields(), vo.getBaseFieldsValue().trim(), keyMap.get(key))) + if (updateBaseData(vo.getBaseFields(), vo.getBaseFieldsValue().trim(), keyMap.get(key))) { flag = false; + } - if (updatePersonData(vo.getPersonFields(), vo.getPersonFieldsValue().trim(), keyMap.get(key))) + if (updatePersonData(vo.getPersonFields(), vo.getPersonFieldsValue().trim(), keyMap.get(key))) { flag = false; + } - if (updateWorkData(vo.getWorkFields().trim(), vo.getWorkFieldsValue(), keyMap.get(key))) + if (updateWorkData(vo.getWorkFields().trim(), vo.getWorkFieldsValue(), keyMap.get(key))) { flag = false; + } /*update HrmResource_Trigger */ if (flag) { @@ -1421,8 +1440,9 @@ public class HrmImportProcessE9 extends BaseBean { String resourceid = recordSet.getString("id"); //指定上级为自身的情况,不更新自身上级 new BaseBean().writeLog("resourceid【" + resourceid + "】"); - if (hrmId.equals(resourceid)) + if (hrmId.equals(resourceid)) { continue; + } String nowmanagerstr2 = ""; int index = nowmanagerstr.lastIndexOf(oldmanagerstr); if (index != -1) { @@ -1466,7 +1486,7 @@ public class HrmImportProcessE9 extends BaseBean { if (rst.next()) { loginid = rst.getString("loginid"); } - if (loginid != null && !loginid.equals("")) { + if (loginid != null && !"".equals(loginid)) { if (!rtxService.checkUser(Integer.parseInt(hrmId))) { rtxService.addUser(Integer.parseInt(hrmId));//更新人员rtx } @@ -1481,7 +1501,7 @@ public class HrmImportProcessE9 extends BaseBean { if (rst.next()) { loginid = rst.getString("loginid"); } - if (loginid != null && !loginid.equals("")) { + if (loginid != null && !"".equals(loginid)) { if (!rtxService.checkUser(Integer.parseInt(hrmId))) { rtxService.addUser(Integer.parseInt(hrmId));//更新人员rtx } @@ -1536,7 +1556,9 @@ public class HrmImportProcessE9 extends BaseBean { * @return */ public boolean addBaseData(String baseFild, String baseValue, int id) { - if (baseFild == null || baseFild.equals("")) return true; + if (baseFild == null || "".equals(baseFild)) { + return true; + } String[] baseValues = baseValue.split(";"); String[] baseFields = baseFild.split(","); String fielddbType; @@ -1587,15 +1609,16 @@ public class HrmImportProcessE9 extends BaseBean { } EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { + if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); } - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) - valueStr.append(",").append("'").append(!fieldvalue.equals("") ? fieldvalue : "").append("'"); - else - valueStr.append(",").append(!fieldvalue.equals("") ? fieldvalue : "NULL"); + if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { + valueStr.append(",").append("'").append(!"".equals(fieldvalue) ? fieldvalue : "").append("'"); + } else { + valueStr.append(",").append(!"".equals(fieldvalue) ? fieldvalue : "NULL"); + } } valueStr = new StringBuilder(valueStr.substring(1)); sql += "(scope,scopeid,id," + baseFild + ") values('HrmCustomFieldByInfoType'," + -1 + "," + id + "," + valueStr + ")"; @@ -1616,7 +1639,9 @@ public class HrmImportProcessE9 extends BaseBean { * @return */ public boolean updateBaseData(String baseFild, String baseValue, int id) { - if (baseFild == null || baseFild.equals("")) return false; + if (baseFild == null || "".equals(baseFild)) { + return false; + } //检查cus_fielddata表中是否存在,对应id人员的基础自定义信息,如果不存在则向数据库添加 RecordSet recordSet = new RecordSet(); @@ -1676,18 +1701,23 @@ public class HrmImportProcessE9 extends BaseBean { } } EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { + if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); } - if (fieldvalue.startsWith(",")) fieldvalue = fieldvalue.substring(1); - if (fieldvalue.endsWith(",")) fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); - if (!fieldvalue.equals("") || "field100002".equalsIgnoreCase(fieldname)) { + if (fieldvalue.startsWith(",")) { + fieldvalue = fieldvalue.substring(1); + } + if (fieldvalue.endsWith(",")) { + fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); + } + if (!"".equals(fieldvalue) || "field100002".equalsIgnoreCase(fieldname)) { flag = true; - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) + if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { setStr.append(",").append(baseFields[i]).append("='").append(fieldvalue).append("'"); - else + } else { setStr.append(",").append(baseFields[i]).append("=").append(fieldvalue); + } } } sql += setStr.substring(1) + " where scope='HrmCustomFieldByInfoType' and scopeid=-1 and id=" + id; @@ -1712,7 +1742,9 @@ public class HrmImportProcessE9 extends BaseBean { * @return */ public boolean addPersonData(String personFild, String personValue, int id) { - if (personFild == null || personFild.equals("")) return true; + if (personFild == null || "".equals(personFild)) { + return true; + } String[] personValues = personValue.split(";"); String[] personFields = personFild.split(","); String fielddbType; @@ -1751,14 +1783,15 @@ public class HrmImportProcessE9 extends BaseBean { jsonObject.put("fieldvalue", personValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { + if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); } - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) - valueStr.append(",").append("'").append(!fieldvalue.equals("") ? fieldvalue : "").append("'"); - else - valueStr.append(",").append(!fieldvalue.equals("") ? fieldvalue : "NULL"); + if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { + valueStr.append(",").append("'").append(!"".equals(fieldvalue) ? fieldvalue : "").append("'"); + } else { + valueStr.append(",").append(!"".equals(fieldvalue) ? fieldvalue : "NULL"); + } } valueStr = new StringBuilder(valueStr.substring(1)); sql += "(scope,scopeid,id," + personFild + ") values('HrmCustomFieldByInfoType'," + 1 + "," + id + "," + valueStr + ")"; @@ -1779,7 +1812,9 @@ public class HrmImportProcessE9 extends BaseBean { * @return */ public boolean updatePersonData(String personFild, String personValue, int id) { - if (personFild == null || personFild.equals("")) return false; + if (personFild == null || "".equals(personFild)) { + return false; + } //检查cus_fielddata表中是否存在,对应id人员的个人自定义信息,如果不存在则向数据库添加 String checkWorkInfo = "select id from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=1 and id=" + id; RecordSet recordSet = new RecordSet(); @@ -1827,18 +1862,23 @@ public class HrmImportProcessE9 extends BaseBean { jsonObject.put("fieldvalue", personValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { + if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); } - if (fieldvalue.startsWith(",")) fieldvalue = fieldvalue.substring(1); - if (fieldvalue.endsWith(",")) fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); - if (!fieldvalue.equals("")) { + if (fieldvalue.startsWith(",")) { + fieldvalue = fieldvalue.substring(1); + } + if (fieldvalue.endsWith(",")) { + fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); + } + if (!"".equals(fieldvalue)) { flag = true; - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) + if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { setStr.append(",").append(personFields[i]).append("='").append(fieldvalue).append("'"); - else + } else { setStr.append(",").append(personFields[i]).append("=").append(fieldvalue); + } } } sql += setStr.substring(1) + " where scope='HrmCustomFieldByInfoType' and scopeid=1 and id=" + id; @@ -1859,7 +1899,7 @@ public class HrmImportProcessE9 extends BaseBean { * @return */ public boolean addWorkData(String workField, String workValue, int id) { - if (workField == null || workField.equals("")) { + if (workField == null || "".equals(workField)) { return true; } String[] workValues = workValue.split(";"); @@ -1899,14 +1939,15 @@ public class HrmImportProcessE9 extends BaseBean { jsonObject.put("fieldvalue", workValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { + if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); } - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) - valueStr.append(",").append("'").append(!fieldvalue.equals("") ? fieldvalue : "").append("'"); - else - valueStr.append(",").append(!fieldvalue.equals("") ? fieldvalue : "NULL"); + if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { + valueStr.append(",").append("'").append(!"".equals(fieldvalue) ? fieldvalue : "").append("'"); + } else { + valueStr.append(",").append(!"".equals(fieldvalue) ? fieldvalue : "NULL"); + } } valueStr = new StringBuilder(valueStr.substring(1)); sql += "(scope,scopeid,id," + workField + ") values('HrmCustomFieldByInfoType'," + 3 + "," + id + "," + valueStr + ")"; @@ -1927,7 +1968,9 @@ public class HrmImportProcessE9 extends BaseBean { * @return */ public boolean updateWorkData(String workField, String workValue, int id) { - if (workField == null || workField.equals("")) return false; + if (workField == null || "".equals(workField)) { + return false; + } //检查cus_fielddata表中是否存在,对应id人员的工作自定义信息,如果不存在则向数据库添加 String checkWorkInfo = "select id from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + id; @@ -1975,18 +2018,23 @@ public class HrmImportProcessE9 extends BaseBean { jsonObject.put("fieldvalue", workValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); - if (encryptFieldEntity != null && encryptFieldEntity.getIsEncrypt().equals("1")) { + if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 fieldvalue = Util.null2String(encryptUtil.encryt("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId, fieldvalue, fieldvalue)); } - if (fieldvalue.startsWith(",")) fieldvalue = fieldvalue.substring(1); - if (fieldvalue.endsWith(",")) fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); - if (!fieldvalue.equals("")) { + if (fieldvalue.startsWith(",")) { + fieldvalue = fieldvalue.substring(1); + } + if (fieldvalue.endsWith(",")) { + fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); + } + if (!"".equals(fieldvalue)) { flag = true; - if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) + if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { setStr.append(",").append(workFields[i]).append("='").append(fieldvalue).append("'"); - else + } else { setStr.append(",").append(workFields[i]).append("=").append(fieldvalue); + } } } @@ -2022,11 +2070,13 @@ public class HrmImportProcessE9 extends BaseBean { String supsubcomidConditon = DbDialectFactory.get(recordSet.getDBType()).isNull("supsubcomid", 0); for (String companyName : subCompanyNames) { - if (StringUtil.isNull(companyName)) continue; + if (StringUtil.isNull(companyName)) { + continue; + } sql = "select id from HrmSubCompany where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(subcompanyname))," + userlanguage + ")))='" + companyName.trim() + "' and " + supsubcomidConditon + "=" + parentId; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { sql = "select id from HrmSubCompany where ltrim(rtrim(convToMultiLang(ltrim(rtrim(subcompanyname))," + userlanguage + ")))='" + companyName.trim() + "' and " + supsubcomidConditon + "=" + parentId; } @@ -2043,8 +2093,9 @@ public class HrmImportProcessE9 extends BaseBean { break; } parentId = currentId; - if (currentId != -1) + if (currentId != -1) { rtxService.addSubCompany(parentId); //同步RTX + } } return currentId; } @@ -2072,13 +2123,13 @@ public class HrmImportProcessE9 extends BaseBean { String supdepidConditon = DbDialectFactory.get(recordSet.getDBType()).isNull("supdepid", 0); for (String s : deptName) { - if (s == null || s.equals("")) { + if (s == null || "".equals(s)) { continue; } sql = "select id from HrmDepartment where subcompanyid1=" + subCompanyId + " and ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(departmentname))," + userlanguage + ")))='" + s.trim() + "' and " + supdepidConditon + "=" + parentId; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { sql = "select id from HrmDepartment where subcompanyid1=" + subCompanyId + " and ltrim(rtrim(convToMultiLang(ltrim(rtrim(departmentname))," + userlanguage + ")))='" + s.trim() + "' and " + supdepidConditon + "=" + parentId; } @@ -2209,10 +2260,10 @@ public class HrmImportProcessE9 extends BaseBean { String managerstr; RecordSet recordSet = new RecordSet(); Map managerInfo = new HashMap<>(); - if (!keyFieldValue.equals("")) { + if (!"".equals(keyFieldValue)) { // String selSql = "select id,managerstr from hrmResource where " + keyField + "='" + keyFieldValue + "'"; String selSql = "select id,managerstr from hrmResource where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + ")))= '" + keyFieldValue + "'"; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { selSql = "select id,managerstr from hrmResource where ltrim(rtrim(convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + ")))= '" + keyFieldValue + "'"; } recordSet.execute(selSql); @@ -2244,10 +2295,10 @@ public class HrmImportProcessE9 extends BaseBean { int getAssistantid = 0; RecordSet recordSet = new RecordSet(); - if (!keyFieldValue.equals("")) { + if (!"".equals(keyFieldValue)) { // String selSql = "select id from hrmResource where " + keyField + "='" + keyFieldValue + "'"; String selSql = "select id from hrmResource where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + ")))= '" + keyFieldValue + "'"; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { selSql = "select id from hrmResource where ltrim(rtrim(convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + ")))= '" + keyFieldValue + "'"; } getAssistantid = getResultSetId(selSql); @@ -2265,10 +2316,10 @@ public class HrmImportProcessE9 extends BaseBean { public int getBelongId(String keyFieldValue, String keyField) { int getAssistantid = -1; RecordSet recordSet = new RecordSet(); - if (!keyFieldValue.equals("")) { + if (!"".equals(keyFieldValue)) { // String selSql = "select id from hrmResource where " + keyField + "='" + keyFieldValue + "'"; String selSql = "select id from hrmResource where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + ")))= '" + keyFieldValue + "'"; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { selSql = "select id from hrmResource where ltrim(rtrim(convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + ")))= '" + keyFieldValue + "'"; } getAssistantid = getResultSetId(selSql); @@ -2284,7 +2335,7 @@ public class HrmImportProcessE9 extends BaseBean { */ public int getLocationid(String locationname) { int locationid = 0; - if (!locationname.equals("")) { + if (!"".equals(locationname)) { locationid = locationMap.getOrDefault(locationname, 0); if (locationid == 0) { String insertSql = "insert into HrmLocations(locationname,locationdesc,countryid) values('" + locationname + "','" + locationname + "',1)"; @@ -2305,7 +2356,7 @@ public class HrmImportProcessE9 extends BaseBean { */ public int getUseKind(String usekindname) { int usekindid = 0; - if (!usekindname.equals("")) { + if (!"".equals(usekindname)) { usekindid = usekindMap.getOrDefault(usekindname, 0); if (usekindid == 0) { String insertSql = "insert into HrmUseKind(name,description) values('" + usekindname + "','" + usekindname + "')"; @@ -2327,7 +2378,7 @@ public class HrmImportProcessE9 extends BaseBean { public int getJobcall(String jobcall) { int jobcalld = 0; - if (!jobcall.equals("")) { + if (!"".equals(jobcall)) { jobcalld = jobcallMap.getOrDefault(jobcall, 0); if (jobcalld == 0) { String insertSql = "insert into HrmJobCall(name) values('" + jobcall + "')"; @@ -2354,13 +2405,14 @@ public class HrmImportProcessE9 extends BaseBean { //return -1; //如果系统不支持多语言,则返回0 - if ((language.equals("English") || language.equals("繁體中文")) && !multilanguage.equalsIgnoreCase("y")) + if (("English".equals(language) || "繁體中文".equals(language)) && !"y".equalsIgnoreCase(multilanguage)) { return 0; + } - if (!language.equals("")) { - if (language.equals("简体中文")) + if (!"".equals(language)) { + if ("简体中文".equals(language)) { systemlanguageid = cnLanguageId; - else { + } else { systemlanguageid = sysLanguage.getOrDefault(language, -1); } } @@ -2375,7 +2427,7 @@ public class HrmImportProcessE9 extends BaseBean { */ public int getBankId(String bank1) { int id = 0; - if (!bank1.equals("")) { + if (!"".equals(bank1)) { String insertSql = "insert into hrmbank(bankname,bankdesc) values('" + bank1 + "','" + bank1 + "')"; execSql(insertSql); String selSql = "select id from hrmbank where bankname='" + bank1 + "'"; @@ -2454,7 +2506,7 @@ public class HrmImportProcessE9 extends BaseBean { */ public int getEducationlevel(String educationlevel) { int educationlevelid = 0; - if (!educationlevel.equals("")) { + if (!"".equals(educationlevel)) { educationlevelid = educationlevelMap.getOrDefault(educationlevel, 0); if (educationlevelid == 0) { String insertSql = "insert into HrmEducationLevel(name,description) values('" + educationlevel + "','" + educationlevel + "')"; @@ -2504,7 +2556,7 @@ public class HrmImportProcessE9 extends BaseBean { RecordSet recordSet = new RecordSet(); String sql; sql = "select id, accounttype,isADAccount,certificatenum,loginid,workcode, ltrim(rtrim(convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + "))) as " + keyField + " from hrmResource"; - if (recordSet.getDBType().equalsIgnoreCase("sqlserver")) { + if ("sqlserver".equalsIgnoreCase(recordSet.getDBType())) { sql = "select id, accounttype,isADAccount,certificatenum,loginid,workcode, ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(" + keyField + "))," + userlanguage + "))) as " + keyField + " from hrmResource"; } recordSet.execute(sql); @@ -2585,10 +2637,11 @@ public class HrmImportProcessE9 extends BaseBean { log.setLastname(vo.getLastname()); //用户名 log.setLoginid(vo.getLoginid()); //登录名 log.setOperation(operation); //操作类型 - if (vo.getSubcompanyid1() != null && vo.getDepartmentid() != null) + if (vo.getSubcompanyid1() != null && vo.getDepartmentid() != null) { log.setDepartment(vo.getSubcompanyid1() + ">" + vo.getDepartmentid()); //分部部门 - else + } else { log.setDepartment(""); + } log.setStatus(status); //状态,成功、失败 log.setReason(reason); //原因 @@ -2605,7 +2658,7 @@ public class HrmImportProcessE9 extends BaseBean { relatedName = log.getLastname(); break; } - MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(JclImportHistoryDetailPO.builder().pid((long) this.pId).rowNums(this.rowNum + 1 + "").relatedName(relatedName).operateDetail(log.getStatus().equals("成功") ? relatedName + "导入成功!" : log.getReason()).status(log.getStatus().equals("成功") ? "1" : "0").build()); + MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(JclImportHistoryDetailPO.builder().pid((long) this.pId).rowNums(this.rowNum + 1 + "").relatedName(relatedName).operateDetail("成功".equals(log.getStatus()) ? relatedName + "导入成功!" : log.getReason()).status("成功".equals(log.getStatus()) ? "1" : "0").build()); } catch (Exception e) { writeLog(e); } @@ -2614,8 +2667,9 @@ public class HrmImportProcessE9 extends BaseBean { //整数判断 public static boolean isInteger(String str) { - if (str == null) + if (str == null) { return false; + } Pattern pattern = Pattern.compile("[0-9]+"); return pattern.matcher(str).matches(); } @@ -2650,7 +2704,7 @@ public class HrmImportProcessE9 extends BaseBean { } if (reosurceid > 0 && val.length() > 0) { - resultList.add(createLog(vo, this.operateType.equals("add") ? "创建" : "更新", "失败", errorMsg)); + resultList.add(createLog(vo, "add".equals(this.operateType) ? "创建" : "更新", "失败", errorMsg)); return true; } } diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 71eb06c5..65dd9617 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -156,4 +156,8 @@ public class SearchTreeUtil { public static boolean isTop(Long pid) { return null == pid; } + + public static boolean isTop(Integer pid) { + return null == pid; + } } diff --git a/src/com/engine/organization/web/DepartmentController.java b/src/com/engine/organization/web/DepartmentController.java index edd39910..1f487c3d 100644 --- a/src/com/engine/organization/web/DepartmentController.java +++ b/src/com/engine/organization/web/DepartmentController.java @@ -56,7 +56,7 @@ public class DepartmentController { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); String parentDept = (String) map.get("parentDept"); - return ReturnResult.successed(getDepartmentWrapper(user).getJobListByPid(QuerySingleDeptListParam.builder().parentDept(Long.parseLong(parentDept)).build())); + return ReturnResult.successed(getDepartmentWrapper(user).getJobListByPid(QuerySingleDeptListParam.builder().parentDept(Integer.parseInt(parentDept)).build())); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } diff --git a/src/com/engine/organization/wrapper/DepartmentWrapper.java b/src/com/engine/organization/wrapper/DepartmentWrapper.java index 5767a9ce..09beaebe 100644 --- a/src/com/engine/organization/wrapper/DepartmentWrapper.java +++ b/src/com/engine/organization/wrapper/DepartmentWrapper.java @@ -15,15 +15,16 @@ import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.service.DepartmentService; import com.engine.organization.service.impl.DepartmentServiceImpl; -import com.engine.organization.thread.DepartmentTriggerRunnable; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.response.ReturnResult; +import org.apache.commons.lang.StringUtils; import weaver.hrm.User; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -97,8 +98,8 @@ public class DepartmentWrapper extends OrganizationWrapper { public Long saveBaseForm(Map params) { Long departmentId = getDepartmentService(user).saveBaseForm(params); writeOperateLog(new Object() { - }.getClass(), params.get("dept_name").toString(), JSON.toJSONString(params), "新增部门"); - new Thread(new DepartmentTriggerRunnable(departmentId)).start(); + }.getClass(), params.get("departmentname").toString(), JSON.toJSONString(params), "新增部门"); + // TODO new Thread(new DepartmentTriggerRunnable(departmentId)).start(); return departmentId; } @@ -114,8 +115,8 @@ public class DepartmentWrapper extends OrganizationWrapper { int updateForbiddenTagById = getDepartmentService(user).updateForbiddenTagById(params); DepartmentPO newDeptById = getDepartmentMapper().getDeptById(params.getId()); writeOperateLog(new Object() { - }.getClass(), deptById.getDeptName(), JSON.toJSONString(params), deptById, newDeptById); - new Thread(new DepartmentTriggerRunnable(params.getForbiddenTag(),deptById, newDeptById)).start(); + }.getClass(), deptById.getDepartmentName(), JSON.toJSONString(params), deptById, newDeptById); + // new Thread(new DepartmentTriggerRunnable(params.getForbiddenTag(),deptById, newDeptById)).start(); return updateForbiddenTagById; } @@ -127,12 +128,12 @@ public class DepartmentWrapper extends OrganizationWrapper { */ @Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新部门", operateModule = LogModuleNameEnum.DEPARTMENT) public Long updateForm(Map params) { - long id = Long.parseLong(params.get("id").toString()); + Integer id = Integer.parseInt(params.get("id").toString()); DepartmentPO deptById = getDepartmentMapper().getDeptById(id); Long departmentId = getDepartmentService(user).updateForm(params); DepartmentPO newDeptById = getDepartmentMapper().getDeptById(id); writeOperateLog(new Object() { - }.getClass(), deptById.getDeptName(), JSON.toJSONString(params), deptById, newDeptById); + }.getClass(), deptById.getDepartmentName(), JSON.toJSONString(params), deptById, newDeptById); return departmentId; } @@ -142,16 +143,18 @@ public class DepartmentWrapper extends OrganizationWrapper { * @param ids */ @Log(operateType = OperateTypeEnum.DELETE, operateDesc = "删除部门", operateModule = LogModuleNameEnum.DEPARTMENT) - public int deleteByIds(Collection ids) { + public Map deleteByIds(Collection ids) { + Map params = new HashMap<>(); + params.put("id", StringUtils.join(ids, ",")); List departmentPOS = getDepartmentMapper().getDeptsByIds(ids); - int deleteByIds = getDepartmentService(user).deleteByIds(ids); + Map map = getDepartmentService(user).deleteByIds(params); for (DepartmentPO departmentPO : departmentPOS) { writeOperateLog(new Object() { - }.getClass(), departmentPO.getDeptName(), JSON.toJSONString(ids), "删除部门"); + }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(ids), "删除部门"); // 更新组织架构图 - new DepartmentTriggerRunnable(departmentPO).run(); + // TODO new DepartmentTriggerRunnable(departmentPO).run(); } - return deleteByIds; + return map; } /** @@ -204,7 +207,7 @@ public class DepartmentWrapper extends OrganizationWrapper { int copyDepartment = getDepartmentService(user).copyDepartment(copyParam); for (DepartmentPO departmentPO : departmentPOS) { writeOperateLog(new Object() { - }.getClass(), departmentPO.getDeptName(), JSON.toJSONString(copyParam), "复制部门[" + departmentPO.getDeptName() + "]"); + }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(copyParam), "复制部门[" + departmentPO.getDepartmentName() + "]"); } return copyDepartment; } @@ -230,7 +233,7 @@ public class DepartmentWrapper extends OrganizationWrapper { DepartmentPO departmentPO = getDepartmentMapper().getDeptById(mergeParam.getId()); int mergeDepartment = getDepartmentService(user).mergeDepartment(mergeParam); writeOperateLog(new Object() { - }.getClass(), departmentPO.getDeptName(), JSON.toJSONString(mergeParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId())); + }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(mergeParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId())); return mergeDepartment; } @@ -254,7 +257,7 @@ public class DepartmentWrapper extends OrganizationWrapper { DepartmentPO departmentPO = getDepartmentMapper().getDeptById(moveParam.getId()); int moveDepartment = getDepartmentService(user).moveDepartment(moveParam); writeOperateLog(new Object() { - }.getClass(), departmentPO.getDeptName(), JSON.toJSONString(moveParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId())); + }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(moveParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId())); return moveDepartment; } } From 238d8e6f750682b1a11456dad5aa3402c6647434 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 29 Nov 2022 17:00:31 +0800 Subject: [PATCH 034/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/company/bo/CompanyBO.java | 2 +- .../entity/department/bo/DepartmentBO.java | 3 +- .../mapper/department/DepartmentMapper.xml | 2 +- .../service/DepartmentService.java | 6 +- .../service/impl/CompServiceImpl.java | 3 +- .../service/impl/DepartmentServiceImpl.java | 328 +++++++++--------- .../thread/OrganizationSyncEc.java | 50 +-- .../organization/web/CompController.java | 2 - .../web/DepartmentController.java | 13 +- .../wrapper/DepartmentWrapper.java | 9 +- 10 files changed, 195 insertions(+), 223 deletions(-) diff --git a/src/com/engine/organization/entity/company/bo/CompanyBO.java b/src/com/engine/organization/entity/company/bo/CompanyBO.java index 7d02358d..588b5a08 100644 --- a/src/com/engine/organization/entity/company/bo/CompanyBO.java +++ b/src/com/engine/organization/entity/company/bo/CompanyBO.java @@ -27,7 +27,7 @@ public class CompanyBO { return comps.stream().sorted(Comparator.comparing(CompanyPO::getShowOrder)).map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); - tree.setCanceled(item.getCanceled() != 0); + tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); tree.setIcon("icon-coms-LargeArea"); tree.setId(item.getId().toString()); tree.setIsParent(false); diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index bd2193e6..69045869 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -33,13 +33,14 @@ public class DepartmentBO { .id(e.getId()) .departmentMark(e.getDepartmentMark()) .departmentName(e.getDepartmentName()) + .departmentCode(e.getDepartmentCode()) .subCompanyId1(e.getSubCompanyId1()) .subCompanyName(0 == e.getSubCompanyId1() ? "" : MapperProxyFactory.getProxy(CompanyMapper.class).listById(e.getSubCompanyId1()).getSubCompanyName()) .supDepId(e.getSupDepId()) .supDepName(null == poMaps.get(e.getSupDepId()) ? "" : poMaps.get(e.getSupDepId()).getDepartmentName()) // .deptPrincipal(getEmployeeNameById(e.getDeptPrincipal())) .showOrder(null == e.getShowOrder() ? 0 : e.getShowOrder()) - .canceled(e.getCanceled()) + .canceled(null == e.getCanceled() ? 0 : e.getCanceled()) .build()).collect(Collectors.toList()); Map> collects = dtoList.stream().filter(item -> 0 != item.getSupDepId()).collect(Collectors.groupingBy(DepartmentListDTO::getSupDepId)); // 处理被引用数据 diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 16e8381f..c6dd62fa 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -145,7 +145,7 @@ and t.departmentCode like CONCAT('%',#{departmentPO.departmentCode},'%') - and t.departmentName like CONCAT('%',#{departmentPO.departmentMarkShort},'%') + and t.departmentName like CONCAT('%',#{departmentPO.departmentName},'%') diff --git a/src/com/engine/organization/service/DepartmentService.java b/src/com/engine/organization/service/DepartmentService.java index 34ed7ce7..04791771 100644 --- a/src/com/engine/organization/service/DepartmentService.java +++ b/src/com/engine/organization/service/DepartmentService.java @@ -80,7 +80,7 @@ public interface DepartmentService { /** * 根据ID批量删除 * - * @param ids + * @param params */ Map deleteByIds(Map params); @@ -113,7 +113,7 @@ public interface DepartmentService { * * @return */ - Map getSaveForm(DeptSearchParam param); + Map getSaveForm(Map params); /** * 复制表单 @@ -135,7 +135,7 @@ public interface DepartmentService { * * @return */ - List getMergeForm(Long id); + List getMergeForm(); /** * 合并到指定部门 diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index ca2485f9..b47edc8e 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -20,6 +20,7 @@ import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.service.CompService; @@ -281,7 +282,7 @@ public class CompServiceImpl extends Service implements CompService { try { hfm = new HrmDeptFieldManagerE9(4); } catch (Exception e) { - throw new RuntimeException(""); + throw new OrganizationRunTimeException(""); } hfm.isReturnDecryptData(true); hfm.getCustomData(Util.getIntValue(id)); diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 3ea4baef..ff2e1dc6 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -3,6 +3,8 @@ package com.engine.organization.service.impl; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; +import com.api.hrm.bean.HrmFieldBean; +import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; @@ -28,6 +30,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; @@ -56,6 +59,11 @@ import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.User; +import weaver.hrm.company.DepartmentComInfo; +import weaver.hrm.definedfield.HrmDeptFieldManagerE9; +import weaver.hrm.definedfield.HrmFieldComInfo; +import weaver.hrm.definedfield.HrmFieldGroupComInfo; +import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.stream.Collectors; @@ -207,45 +215,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public Long saveBaseForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - //String deptNo = (String) params.get("dept_no"); - //// 判断是否开启自动编号 - //deptNo = repeatDetermine(deptNo); - //params.put("dept_no", deptNo); - //if (StringUtils.isBlank(Util.null2String(params.get("show_order")))) { - // Integer maxShowOrder = getDepartmentMapper().getMaxShowOrder(); - // if (null == maxShowOrder) { - // maxShowOrder = 0; - // } - // params.put("show_order", maxShowOrder + 1); - //} - //// 上级分部 - //String ecCompany = Util.null2String(params.get("ec_company")); - //if (StringUtils.isNotBlank(ecCompany)) { - // CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); - // if (null != jclCompanyId) { - // params.put("parent_comp", jclCompanyId.getId()); - // } - //} - //// 上级部门 - //String ecDepartment = Util.null2String(params.get("ec_department")); - //if (StringUtils.isNotBlank(ecDepartment)) { - // DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); - // if (null != jclDepartmentId) { - // params.put("parent_dept", jclDepartmentId.getId()); - // // 部门不为空,自动指定所属分部 - // params.put("parent_comp", jclDepartmentId.getParentComp()); - // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); - // } - // - //} - //Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, params).sync(); - //String ecCompanyID = Util.null2String(syncMap.get("id")); - //OrganizationAssert.isTrue(StringUtils.isNotBlank(ecCompanyID), syncMap.get("message").toString()); - //// 查询UUID - //RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecCompanyID); - //params.put("uuid", recordInfo.getUuid()); - //return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", null); - return 1L; + Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, params).sync(); + String ecCompanyID = Util.null2String(syncMap.get("id")); + OrganizationAssert.isTrue(StringUtils.isNotBlank(ecCompanyID), syncMap.get("message").toString()); + return Long.parseLong(ecCompanyID); } @Override @@ -261,61 +234,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public Long updateForm(Map params) { - //HasRightUtil.hasRight(user, RIGHT_NAME, false); - //DeptSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), DeptSearchParam.class); - //String groupId = (String) params.get("viewCondition"); - //if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { - // DepartmentPO oldDept = getDepartmentMapper().getDeptById(searchParam.getId()); - // String deptNo = searchParam.getDeptNo(); - // if (!deptNo.equals(oldDept.getDeptNo())) { - // deptNo = repeatDetermine(deptNo); - // params.put("dept_no", deptNo); - // } - // // 上级分部 - // String ecCompany = Util.null2String(params.get("ec_company")); - // if (StringUtils.isNotBlank(ecCompany)) { - // CompPO jclCompanyId = EcHrmRelationUtil.getJclCompanyId(ecCompany); - // if (null != jclCompanyId) { - // params.put("parent_comp", jclCompanyId.getId()); - // } - // } - // // 上级部门 - // String ecDepartment = Util.null2String(params.get("ec_department")); - // if (StringUtils.isNotBlank(ecDepartment)) { - // DepartmentPO jclDepartmentId = EcHrmRelationUtil.getJclDepartmentId(ecDepartment); - // if (null != jclDepartmentId) { - // // 上级部门不能选择本身 - // OrganizationAssert.isFalse(jclDepartmentId.getId().equals(searchParam.getId()), "上级部门不能选择本身"); - // params.put("parent_dept", jclDepartmentId.getId()); - // // 部门不为空,自动指定所属分部 - // params.put("parent_comp", jclDepartmentId.getParentComp()); - // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(jclDepartmentId.getParentComp()))); - // } - // - // } else { - // params.put("parent_dept", ""); - // } - // new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); - // // 更新主表数据 - // getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPT, params, "", searchParam.getId()); - // - // DepartmentPO newDeptById = getDepartmentMapper().getDeptById(searchParam.getId()); - // new DepartmentTriggerRunnable(oldDept, newDeptById).run(); - // - // Long parentComp = StringUtils.isNotEmpty(Util.null2String(params.get("parent_comp"))) ? Long.parseLong(Util.null2String(params.get("parent_comp"))) : null; - // // 刷新岗位所属分部 - // refreshJobComp(searchParam.getId(), parentComp); - // List childList = getDepartmentMapper().getDeptListByPId(searchParam.getId()); - // String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentComp)); - // forbiddenChildTag(parentComp, ecCompanyId, childList); - //} - //// 更新主表拓展表 - //getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_DEPTEXT, params, "", searchParam.getId()); - ////更新明细表 - //getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_DEPTEXT_DT1, params, searchParam.getId()); - // - //return searchParam.getId(); - return 1L; + HasRightUtil.hasRight(user, RIGHT_NAME, false); + String ecCompanyId = Util.null2String(params.get("id")); + new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); + return Long.parseLong(ecCompanyId); } @Override @@ -330,35 +252,18 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List addGroups = new ArrayList<>(); List conditionItems = new ArrayList<>(); // 编号 - SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "deptNo"); + SearchConditionItem departmentCodeItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "departmentCode"); // 名称 - SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "departmentName"); - // 简称 - SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "简称", "deptNameShort"); + SearchConditionItem departmentNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "departmentName"); // 所属分部 - SearchConditionItem parentCompBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "164", "ecCompany", ""); + SearchConditionItem subCompanyId1Item = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "164", "subCompanyId1", ""); // 上级部门 - SearchConditionItem parentDeptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "上级部门", "4", "ecDepartment", ""); - // 部门负责人 - SearchConditionItem deptPrincipalBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "部门负责人", "1", "deptPrincipal", ""); - // 显示顺序 - SearchConditionItem showOrderItem = OrganizationFormItemUtil.inputNumberItem(user, 2, 16, 2, "显示顺序", "showOrder"); - // 禁用标记 - List selectOptions = new ArrayList<>(); - SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); - SearchConditionOption disableOption = new SearchConditionOption("false", "禁用"); - selectOptions.add(enableOption); - selectOptions.add(disableOption); - SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "禁用标记", "forbiddenTag"); - - conditionItems.add(deptNoItem); - conditionItems.add(deptNameItem); - conditionItems.add(deptNameShortItem); - conditionItems.add(parentCompBrowserItem); - conditionItems.add(parentDeptBrowserItem); - conditionItems.add(deptPrincipalBrowserItem); - conditionItems.add(showOrderItem); - conditionItems.add(forbiddenTagItem); + SearchConditionItem supDepIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "上级部门", "4", "supDepId", ""); + + conditionItems.add(departmentCodeItem); + conditionItems.add(departmentNameItem); + conditionItems.add(subCompanyId1Item); + conditionItems.add(supDepIdItem); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); apiDatas.put("conditions", addGroups); @@ -415,39 +320,152 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } @Override - public Map getSaveForm(DeptSearchParam param) { + public Map getSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - //List addGroups = new ArrayList<>(); - //List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); - //if (CollectionUtils.isNotEmpty(extendTitles)) { - // Map params = new HashMap<>(); - // // 分部 - // if (StringUtils.isNotBlank(Util.null2String(param.getSubcompanyid1()))) { - // CompanyPO companyPO = getCompanyMapper().listById(param.getSubcompanyid1()); - // if (null != companyPO) { - // params.put("parent_comp", companyPO.getId()); - // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(companyPO.getId().toString())); - // } - // } - // // 部门 - // if (StringUtils.isNotBlank(Util.null2String(param.getDepartmentid()))) { - // DepartmentPO deptById = getDepartmentMapper().getDeptById(param.getDepartmentid()); - // if (null != deptById) { - // params.put("parent_dept", deptById.getId()); - // params.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(deptById.getId().toString())); - // params.put("parent_comp", deptById.getParentComp()); - // params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(deptById.getParentComp().toString())); - // } - // } - // for (ExtendTitlePO extendTitle : extendTitles) { - // List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_DEPT, 2, extendTitle.getId().toString(), "dept_no", RuleCodeType.DEPARTMENT.getValue(), params); - // if (CollectionUtils.isNotEmpty(items)) { - // addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - // } - // } - //} - //apiDatas.put("condition", addGroups); + List> groupList = new ArrayList<>(); + Map groupItem; + List itemList; + + String id = Util.null2String(params.get("id")); + int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); + String nodeType = Util.null2String(params.get("type")); + String addType = Util.null2String(params.get("addType")); + DepartmentComInfo departmentComInfo = new DepartmentComInfo(); + String subcompanyid1 = ""; + String supDepId = ""; + + switch (addType) { + case "normal": + if (nodeType.equals("subcompany")) { + subcompanyid1 = id; + } else { + subcompanyid1 = departmentComInfo.getSubcompanyid1(id); + } + break; + case "sibling": + subcompanyid1 = departmentComInfo.getSubcompanyid1(id); + supDepId = departmentComInfo.getDepartmentsupdepid(id); + break; + case "child": + subcompanyid1 = departmentComInfo.getSubcompanyid1(id); + supDepId = id; + break; + } + + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); + HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + SearchConditionItem searchConditionItem; + HrmFieldBean hrmFieldBean; + HrmDeptFieldManagerE9 hfm; + try { + hfm = new HrmDeptFieldManagerE9(5); + } catch (Exception e) { + throw new OrganizationRunTimeException(""); + } + hfm.isReturnDecryptData(true); + hfm.getCustomData(Util.getIntValue(id)); + List lsGroup = hfm.getLsGroup(); + for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + String groupid = (String) lsGroup.get(tmp); + List lsField = hfm.getLsField(groupid); + + boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !Util.null2String(HrmFieldGroupComInfo.getIsShow(groupid)).equals("1"); + String grouplabel = HrmFieldGroupComInfo.getLabel(groupid); + itemList = new ArrayList<>(); + groupItem = new HashMap<>(); + groupItem.put("title", SystemEnv.getHtmlLabelNames(grouplabel, user.getLanguage())); + groupItem.put("hide", groupHide); + groupItem.put("defaultshow", true); + for (Object o : lsField) { + String fieldId = (String) o; + String fieldName = HrmFieldComInfo.getFieldname(fieldId); + String isUse = HrmFieldComInfo.getIsused(fieldId); + if (!isUse.equals("1")) continue; + int tmpViewAttr = viewAttr; + String rules = ""; + String fieldLabel = HrmFieldComInfo.getLabel(fieldId); + String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); + String type = HrmFieldComInfo.getFieldType(fieldId); + String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); + String fieldValue = ""; + if (StringUtils.isBlank(addType)) { + if (HrmFieldComInfo.getIssystem(fieldId).equals("1")) { + fieldValue = hfm.getData(fieldName); + } else { + fieldValue = hfm.getData("hrmdepartmentdefined", fieldName); + } + } + + if (!groupHide && tmpViewAttr == 2 && HrmFieldComInfo.getIsmand(fieldId).equals("1")) { + tmpViewAttr = 3; + if ("1".equals(fieldHtmlType) && "2".equals(type)) { + rules = "required|integer"; + } else { + rules = "required|string"; + } + } + + if (subcompanyid1.length() > 0 && fieldName.equals("subcompanyid1")) { + fieldValue = subcompanyid1; + } + + if (supDepId.length() > 0 && fieldName.equals("supdepid")) { + fieldValue = supDepId; + } + + if (fieldName.equals("showid")) { + if (addType.length() > 0) { + continue; + } else { + fieldValue = id; + tmpViewAttr = 1; + } + } + + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(fieldId); + hrmFieldBean.setFieldname(fieldName); + hrmFieldBean.setFieldlabel(fieldLabel); + hrmFieldBean.setFieldhtmltype(fieldHtmlType); + hrmFieldBean.setType(type); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setIssystem("1"); + hrmFieldBean.setFieldvalue(fieldValue); + hrmFieldBean.setDmlurl(dmlUrl); + hrmFieldBean.setViewAttr(tmpViewAttr); + hrmFieldBean.setRules(rules); + if (hrmFieldBean.getFieldname().equals("subcompanyid1") || hrmFieldBean.getFieldname().equals("supdepid")) { + hrmFieldBean.setHideVirtualOrg(true); + } + if (hrmFieldBean.getFieldname().equals("departmentcode")) { + hrmFieldBean.setMultilang(false); + } + searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + if (searchConditionItem != null) { + searchConditionItem.setLabelcol(8); + searchConditionItem.setFieldcol(16); + if (fieldName.equals("showorder")) { + searchConditionItem.setPrecision(2); + } + if (fieldName.equals("showid")) { + Map otherParams = new HashMap<>(); + otherParams.put("hasBorder", true); + searchConditionItem.setOtherParams(otherParams); + } + if ("6".equals(fieldHtmlType)) {//附件 + Map otherParams1 = new HashMap<>(); + otherParams1.put("showOrder", false); + searchConditionItem.setOtherParams(otherParams1); + } + itemList.add(searchConditionItem); + } + } + groupItem.put("items", itemList); + groupList.add(groupItem); + } + apiDatas.put("condition", groupList); return apiDatas; } @@ -541,7 +559,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } @Override - public List getMergeForm(Long id) { + public List getMergeForm() { List addGroups = new ArrayList<>(); List condition = new ArrayList<>(); SearchConditionItem deptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "合并到部门", "4", "department", ""); @@ -775,9 +793,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 查询部门信息 Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); - List allCompanys = getCompanyMapper().listAll("show_order"); + List allCompanys = getCompanyMapper().listAll("showOrder"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - List filterComps = getCompanyMapper().listByFilter(compBuild, "show_order"); + List filterComps = getCompanyMapper().listByFilter(compBuild, "showOrder"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); @@ -799,7 +817,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); - if (null != parentComp && 0 == parentComp.getCanceled()) { + if (null != parentComp && (null == parentComp.getCanceled() || 0 == parentComp.getCanceled())) { buildParentComps(parentComp, builderComps, allMaps); } } diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 9c408d20..1511bee5 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -14,7 +14,6 @@ import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.relation.ResourceSyncUtil; import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -347,30 +346,7 @@ public class OrganizationSyncEc { * 新增部门 */ private void addDepartment() { - Map map = new HashMap<>(); - map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); - map.put("departmentname", Util.null2String(params.get("dept_name"))); - - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_comp")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("subcompanyid1", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - - // 上级部门通过UUID联查ec表ID - String parentDepartment = Util.null2String(params.get("parent_dept")); - if (StringUtils.isNotBlank(parentDepartment)) { - map.put("supdepid", EcHrmRelationUtil.getEcDepartmentId(parentDepartment)); - } - - map.put("showorder", Util.null2String(params.get("show_order"))); - map.put("departmentcode", Util.null2String(params.get("dept_no"))); - map.put("coadjutant", Util.null2String(params.get("dept_principal"))); - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addDepartment(map, user); - // 更新jcl_org_dept表 uuid字段 - //if ("1".equals(Util.null2String(resultMap.get("status"))) && null != resultMap.get("id")) { - // updateJclUUID(Util.null2String(resultMap.get("id")), HRM_DEPARTMENT, JCL_DEPARTMENT); - //} + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).addDepartment(params, user); } /** @@ -391,27 +367,7 @@ public class OrganizationSyncEc { * 更新部门 */ private void updateDepartment() { - Map map = new HashMap<>(); - buildEcDepartmentData(map); - map.put("departmentmark", Util.null2String(params.get("dept_name_short"))); - map.put("departmentname", Util.null2String(params.get("dept_name"))); - - // 上级分部通过UUID联查ec表ID - String parentCompany = Util.null2String(params.get("parent_comp")); - if (StringUtils.isNotBlank(parentCompany)) { - map.put("subcompanyid1", EcHrmRelationUtil.getEcCompanyId(parentCompany)); - } - - // 上级部门通过UUID联查ec表ID - String parentDepartment = Util.null2String(params.get("parent_dept")); - if (StringUtils.isNotBlank(parentDepartment)) { - map.put("supdepid", EcHrmRelationUtil.getEcDepartmentId(parentDepartment)); - } - - map.put("showorder", Util.null2String(params.get("show_order"))); - map.put("departmentcode", Util.null2String(params.get("dept_no"))); - map.put("coadjutant", Util.null2String(params.get("dept_principal"))); - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editDepartment(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editDepartment(params, user); } /** @@ -449,6 +405,7 @@ public class OrganizationSyncEc { /** * 补全分部参数信息 + * * @param map */ private void buildEcCompanyData(Map map) { @@ -476,6 +433,7 @@ public class OrganizationSyncEc { /** * 补全部门参数信息 + * * @param map */ private void buildEcDepartmentData(Map map) { diff --git a/src/com/engine/organization/web/CompController.java b/src/com/engine/organization/web/CompController.java index 87eabd06..a63a1e49 100644 --- a/src/com/engine/organization/web/CompController.java +++ b/src/com/engine/organization/web/CompController.java @@ -206,8 +206,6 @@ public class CompController { try { User user = HrmUserVarify.getUser(request, response); Map params = ParamUtil.request2Map(request); - params.put("addType", "normal"); - params.put("viewattr", 2); return ReturnResult.successed(getCompWrapper(user).getCompSaveForm(params)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); diff --git a/src/com/engine/organization/web/DepartmentController.java b/src/com/engine/organization/web/DepartmentController.java index 1f487c3d..bba9f0c9 100644 --- a/src/com/engine/organization/web/DepartmentController.java +++ b/src/com/engine/organization/web/DepartmentController.java @@ -105,15 +105,15 @@ public class DepartmentController { * * @param request * @param response - * @param params * @return */ @POST @Path("/saveBaseForm") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult saveBaseComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody Map params) { + public ReturnResult saveBaseComp(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); + Map params = ParamUtil.request2Map(request); return ReturnResult.successed(getDepartmentWrapper(user).saveBaseForm(params)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); @@ -253,9 +253,8 @@ public class DepartmentController { public ReturnResult getSaveForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - DeptSearchParam param = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), DeptSearchParam.class); - return ReturnResult.successed(getDepartmentWrapper(user).getSaveForm(param)); + Map params = ParamUtil.request2Map(request); + return ReturnResult.successed(getDepartmentWrapper(user).getSaveForm(params)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } @@ -292,9 +291,7 @@ public class DepartmentController { public ReturnResult getMergeForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { try { User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - String id = (String) map.get("id"); - return ReturnResult.successed(getDepartmentWrapper(user).getMergeForm(Long.parseLong(id))); + return ReturnResult.successed(getDepartmentWrapper(user).getMergeForm()); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } diff --git a/src/com/engine/organization/wrapper/DepartmentWrapper.java b/src/com/engine/organization/wrapper/DepartmentWrapper.java index 09beaebe..0fb057db 100644 --- a/src/com/engine/organization/wrapper/DepartmentWrapper.java +++ b/src/com/engine/organization/wrapper/DepartmentWrapper.java @@ -84,8 +84,8 @@ public class DepartmentWrapper extends OrganizationWrapper { * * @return */ - public Map getSaveForm(DeptSearchParam param) { - return getDepartmentService(user).getSaveForm(param); + public Map getSaveForm(Map params) { + return getDepartmentService(user).getSaveForm(params); } /** @@ -215,11 +215,10 @@ public class DepartmentWrapper extends OrganizationWrapper { /** * 获取合并表单 * - * @param id * @return */ - public List getMergeForm(Long id) { - return getDepartmentService(user).getMergeForm(id); + public List getMergeForm() { + return getDepartmentService(user).getMergeForm(); } /** From 40a6540a1d47ef2c6db22c84b39c5a762ee22670 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 30 Nov 2022 15:55:27 +0800 Subject: [PATCH 035/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 6 +- .../entity/department/bo/DepartmentBO.java | 2 +- .../organization/entity/job/bo/JobBO.java | 6 +- .../entity/job/dto/JobListDTO.java | 10 +-- .../organization/mapper/job/JobMapper.java | 2 +- .../organization/mapper/job/JobMapper.xml | 24 +++---- .../mapper/resource/ResourceMapper.xml | 21 +++--- .../mapper/trigger/JobTriggerMapper.java | 2 - .../mapper/trigger/JobTriggerMapper.xml | 8 --- .../service/impl/CompServiceImpl.java | 2 +- .../service/impl/DepartmentServiceImpl.java | 65 +++++++------------ .../service/impl/HrmResourceServiceImpl.java | 8 +-- .../service/impl/JobServiceImpl.java | 14 ++-- .../organization/util/PageInfoSortUtil.java | 4 +- 14 files changed, 74 insertions(+), 100 deletions(-) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 5ee67204..80b79b22 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -195,18 +195,18 @@ public class JobBrowserService extends BrowserService { } else if ("1".equals(params.getType())) { // 当前节点下的元素 CompanyPO compBuild = CompanyPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); - List compList = MapperProxyFactory.getProxy(CompanyMapper.class).listByFilter(compBuild, "show_order"); + List compList = MapperProxyFactory.getProxy(CompanyMapper.class).listByFilter(compBuild, "showorder"); if (detachUtil.isDETACH()) { detachUtil.filterCompanyList(compList); } DepartmentPO departmentBuild = DepartmentPO.builder().subCompanyId1(Integer.parseInt(params.getId())).canceled(0).build(); - List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "show_order"); + List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "showorder"); compList.forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); departmentList.stream().filter(item -> null == item.getSupDepId() || 0 == item.getSupDepId()).forEach(item -> buildDeptNodes(treeNodes, hasSubDepartment, item)); } else if ("2".equals(params.getType())) { DepartmentPO departmentBuild = DepartmentPO.builder().supDepId(Integer.parseInt(params.getId())).canceled(0).build(); - List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "show_order"); + List departmentList = MapperProxyFactory.getProxy(DepartmentMapper.class).listByFilter(departmentBuild, "showorder"); departmentList.forEach(item -> buildDeptNodes(treeNodes, hasSubDepartment, item)); } diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 69045869..124cf22b 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -132,7 +132,7 @@ public class DepartmentBO { return departmentPOS.stream().map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); - tree.setCanceled(item.getCanceled() != 0); + tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); tree.setIcon(isLeaf ? "icon-coms-Branch" : "icon-coms-LargeArea"); tree.setId(item.getId().toString()); tree.setIsParent(false); diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index a3feafda..bce53d58 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -34,7 +34,7 @@ public class JobBO { .ecCompany(param.getEcCompany()) .ecDepartment(param.getEcDepartment()) .parentComp(param.getSubcompanyid1()) - .parentDept( param.getDepartmentid()) + .parentDept(param.getDepartmentid()) .sequenceId(param.getSequenceId()) .schemeId(param.getSchemeId()) .parentJob(param.getParentJob()) @@ -83,8 +83,8 @@ public class JobBO { .id(e.getId()) .jobNo(e.getJobNo()) .jobName(e.getJobName()) - .compName(e.getCompName()) - .deptName(e.getDeptName()) + .subCompanyName(e.getSubCompanyName()) + .departmentName(e.getDepartmentName()) .sequenceName(e.getSequenceName()) .schemeName(e.getSchemeName()) //.parentJob(e.getParentJob()) diff --git a/src/com/engine/organization/entity/job/dto/JobListDTO.java b/src/com/engine/organization/entity/job/dto/JobListDTO.java index 55f41399..f57fc163 100644 --- a/src/com/engine/organization/entity/job/dto/JobListDTO.java +++ b/src/com/engine/organization/entity/job/dto/JobListDTO.java @@ -34,7 +34,7 @@ public class JobListDTO { /** * 名称 */ - @TableTitle(title = "名称", dataIndex = "jobName", key = "jobName",width = "150") + @TableTitle(title = "名称", dataIndex = "jobName", key = "jobName", width = "150") private String jobName; /** * 编号 @@ -44,13 +44,13 @@ public class JobListDTO { /** * 所属分部 */ - @TableTitle(title = "所属分部", dataIndex = "compName", key = "compName") - private String compName; + @TableTitle(title = "所属分部", dataIndex = "subCompanyName", key = "subCompanyName") + private String subCompanyName; /** * 所属部门 */ - @TableTitle(title = "所属部门", dataIndex = "deptName", key = "deptName") - private String deptName; + @TableTitle(title = "所属部门", dataIndex = "departmentName", key = "departmentName") + private String departmentName; /** * 岗位序列 */ diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 5a217c41..c4f1d786 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -176,7 +176,7 @@ public interface JobMapper { * @param parentCompany * @return */ - int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") String ecCompany); + int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") Integer ecCompany); int isHasResource(@Param("jobId") Long jobId); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 12498ca0..b6ec28f1 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -367,16 +367,16 @@ SELECT - a.comp_name , - b.dept_name , + a.subcompanyname , + b.departmentname , c.sequence_name, d.scheme_name, FROM jcl_org_job t - left join jcl_org_comp a on - t.parent_comp = a.id - left join jcl_org_dept b on - t.parent_dept = b.id + left join hrmsubcompany a on + t.ec_company = a.id + left join hrmdepartment b on + t.ec_department = b.id left join jcl_org_sequence c on t.sequence_id = c.id left join jcl_org_scheme d on diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.xml b/src/com/engine/organization/mapper/resource/ResourceMapper.xml index fecb80df..8ff1030a 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.xml @@ -33,7 +33,10 @@ - t.id,t.work_code,t.last_name,t.sex,t.status,t.account_type, + t + . + id + ,t.work_code,t.last_name,t.sex,t.status,t.account_type, t.belong_to,t.ec_company,t.job_title,t.ec_department,t. scheme_id,t.sequence_id,t.job_grade,t.job_level,t.job_group_id, t.job_activity,t.location_id,t.show_order,t.company_start_date, @@ -53,11 +56,11 @@ - \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index b47edc8e..a1c08d7c 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -105,7 +105,7 @@ public class CompServiceImpl extends Service implements CompService { CompanyPO companyPO = CompanyBO.convertParamToPO(params, user.getUID()); boolean filter = isFilter(companyPO); PageInfo pageInfos; - String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()); + String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()," showorder "); List allList = getCompanyMapper().listAll(orderSql); new DetachUtil(user.getUID()).filterCompanyList(allList); diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index ff2e1dc6..c0b0e382 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -24,20 +24,15 @@ import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.job.vo.SingleJobTreeVO; -import com.engine.organization.entity.map.JclOrgMap; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; -import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompanyMapper; import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.extend.ExtDTMapper; -import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.DepartmentService; import com.engine.organization.service.ExtService; @@ -50,7 +45,6 @@ import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; -import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.tree.SearchTreeUtil; import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; @@ -173,7 +167,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(param, user.getUID()); boolean filter = isFilter(departmentPO); PageInfo pageInfos; - String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams()); + String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams()," showorder "); List allList = getDepartmentMapper().listAll(orderSql); new DetachUtil(user.getUID()).filterDepartmentList(allList); // 通过子级遍历父级元素 @@ -528,6 +522,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService deptById.setSupDepId(parentDepartmentId); // 显示顺序字段 deptById.setShowOrder(++maxShowOrder); + deptById.setUuid(null); // 新增EC表部门 Map syncMap = addEcDepartment(deptById); @@ -544,7 +539,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService if (maxJobOrder == null) { maxJobOrder = 0; } - recursionCopyJob(jobPOS, companyId, deptById.getId(), null, maxJobOrder, timeMillis); + recursionCopyJob(jobPOS, companyId, Integer.parseInt(ecDepartmentID), null, maxJobOrder, timeMillis); } // 是否复制子部门信息 @@ -553,7 +548,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List deptListByPId = getDepartmentMapper().getDeptListByPId(originalDeptId); for (DepartmentPO departmentPO : deptListByPId) { // 复制子部门信息、子部门岗位信息 - recursionCopyDept(departmentPO.getId(), deptById.getId(), companyId, maxShowOrder, copySubJob, copySubDept, copySubJob); + recursionCopyDept(departmentPO.getId(), Integer.parseInt(ecDepartmentID), companyId, maxShowOrder, copySubJob, copySubDept, copySubJob); } } } @@ -579,17 +574,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 被合并部门 Integer ecParamDepartment = mergeParam.getDepartment(); DepartmentPO targetDepartment = getDepartmentMapper().getDeptById(ecParamDepartment); - // map表中合并部门parentID - Integer oldParamDepartment = mergeParam.getId(); - DepartmentPO oldDepartment = getDepartmentMapper().getDeptById(oldParamDepartment); - Integer oldFParentId = null; - if (null != oldDepartment) { - java.sql.Date currentDate = new java.sql.Date(OrganizationDateUtil.stringToDate(OrganizationDateUtil.getFormatLocalDate(new Date())).getTime()); - JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(currentDate, ModuleTypeEnum.departmentfielddefined.getValue().toString(), oldDepartment.getId().toString()); - if (null != jclOrgMap) { - oldFParentId = jclOrgMap.getFParentId(); - } - } + // 断言判断 OrganizationAssert.isFalse(null == targetDepartment, "被合并部门数据有误,暂时无法合并"); @@ -644,14 +629,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService forbiddenChildTag(targetDepartment.getSubCompanyId1(), Util.null2String(targetDepartment.getSubCompanyId1()), deptList); } // 原部门删除 - DepartmentPO mergeDepartment = getDepartmentMapper().getDeptById(mergeParam.getId()); + // DepartmentPO mergeDepartment = getDepartmentMapper().getDeptById(mergeParam.getId()); Map map = new HashMap<>(); - map.put("id", mergeParam.getId()); - new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); - // 删除拓展表、明细表 - MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_deptext", mergeParam.getId()); - MapperProxyFactory.getProxy(ExtDTMapper.class).deleteByMainID("jcl_org_deptext_dt1", mergeParam.getId(), null); - // TODO 删除 getDepartmentMapper().deleteByIds(DeleteParam.builder().ids(mergeParam.getId().toString()).build().getIds()); + map.put("id", Util.null2String(mergeParam.getId())); + // 删除部门 + ServiceUtil.getService(OrganizationServiceImpl.class, user).delDepartment(map, user); // 更新组织架构图 // TODO new DepartmentTriggerRunnable(mergeDepartment).run(); // 更新部门合并后名称 @@ -725,7 +707,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService refreshJobComp(deptById.getId(), deptById.getSubCompanyId1()); List deptList = getDepartmentMapper().getDeptListByPId(deptById.getId()); // 更新当前部门下的人员 - new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", deptById.getSubCompanyId1(), deptById.getId()); + // new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", deptById.getSubCompanyId1(), deptById.getId()); //// 更新人员组织架构图 //List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(deptById.getId().toString()); //for (Long hrmResourceId : hrmResourceIds) { @@ -747,16 +729,16 @@ public class DepartmentServiceImpl extends Service implements DepartmentService for (DepartmentPO departmentPO : deptList) { departmentPO.setSubCompanyId1(parentComp); // 更新EC表部门 - updateEcDepartment(departmentPO); + updateEcDepartment(departmentPO); // 更新组织架构图 // TODO new DepartmentTriggerRunnable(departmentPO.getId()).run(); // 刷新岗位所属分部 refreshJobComp(departmentPO.getId(), parentComp); // 更新当前部门下的人员 - String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(departmentPO.getId().toString()); - new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", ecCompanyId, ecDepartmentId); - new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? where department_id =?", parentComp, ecCompanyId, departmentPO.getId()); + // String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(departmentPO.getId().toString()); + //new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", ecCompanyId, ecDepartmentId); + //new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? where department_id =?", parentComp, ecCompanyId, departmentPO.getId()); //List hrmResourceIds = getSystemDataMapper().getHrmResourceIdsByDept(departmentPO.getId().toString()); //// 更新人员组织架构图 //for (Long hrmResourceId : hrmResourceIds) { @@ -905,12 +887,12 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Map map = new HashMap<>(); map.put("departmentmark", departmentPO.getDepartmentMark()); map.put("departmentname", departmentPO.getDepartmentName()); - map.put("subcompanyid1", departmentPO.getSubCompanyId1()); - map.put("supdepid", departmentPO.getSupDepId()); - map.put("showorder", departmentPO.getShowOrder()); + map.put("subcompanyid1", Util.null2String(departmentPO.getSubCompanyId1())); + map.put("supdepid", Util.null2String(departmentPO.getSupDepId())); + map.put("showorder", Util.null2String(departmentPO.getShowOrder())); map.put("departmentcode", departmentPO.getDepartmentCode()); - map.put("coadjutant", departmentPO.getCoadjutant()); - map.put("id", departmentPO.getId()); + map.put("coadjutant", Util.null2String(departmentPO.getCoadjutant())); + map.put("id", Util.null2String(departmentPO.getId())); new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map).sync(); } @@ -924,9 +906,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Map map = new HashMap<>(); map.put("departmentmark", departmentPO.getDepartmentMark()); map.put("departmentname", departmentPO.getDepartmentName()); - map.put("subcompanyid1", departmentPO.getSubCompanyId1()); - map.put("supdepid", departmentPO.getSupDepId()); - map.put("showorder", departmentPO.getShowOrder()); + map.put("subcompanyid1", Util.null2String(departmentPO.getSubCompanyId1())); + map.put("supdepid", Util.null2String(departmentPO.getSupDepId())); + map.put("showorder", Util.null2String(departmentPO.getShowOrder())); map.put("departmentcode", departmentPO.getDepartmentCode()); return new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, map).sync(); } @@ -961,8 +943,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(jobPOS)) { - String ecCompanyId = EcHrmRelationUtil.getEcCompanyId(parentComp.toString()); - getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, ecCompanyId); + getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, parentComp); for (JobPO jobPO : jobPOS) { // 刷新组织架构图 new JobTriggerRunnable(jobPO.getId()).run(); diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 9aa19baf..f4c9a28c 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -577,7 +577,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompanyPO compBuild, JobPO jobBuild) { List jobPOS = getJobMapper().listPOsByFilter(jobBuild); new DetachUtil(user.getUID()).filterJobList(jobPOS); - List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "show_order"); + List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); new DetachUtil(user.getUID()).filterDepartmentList(filterDeparts); // 添加父级岗位 Set builderJobs = new HashSet<>(); @@ -607,7 +607,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } // 查询分部信息 - List filterComps = getCompanyMapper().listByFilter(compBuild, "show_order"); + List filterComps = getCompanyMapper().listByFilter(compBuild, "showorder"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -624,7 +624,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic filterComps.addAll(compsByIds); } } - List allCompanys = getCompanyMapper().listAll("show_order"); + List allCompanys = getCompanyMapper().listAll("showorder"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); Set builderComps = new HashSet<>(); @@ -636,7 +636,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private List buildTreeByDeptAndJob(DepartmentPO departmentBuild, JobPO jobBuild) { List jobPOS = getJobMapper().listPOsByFilter(jobBuild); - List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "show_order"); + List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); // 添加父级岗位 Set builderJobs = new HashSet<>(); for (JobPO jobPO : jobPOS) { diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 4eb922ec..7757a721 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -163,7 +163,7 @@ public class JobServiceImpl extends Service implements JobService { JobPO jobPO = JobBO.convertParamsToPO(param, user.getUID()); boolean filter = isFilter(jobPO); PageInfo pageInfos; - String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams()); + String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams(), " show_order "); List allList = getJobMapper().listNoFilter(orderSql); new DetachUtil(user.getUID()).filterJobDTOList(allList); // 通过子级遍历父级元素 @@ -631,7 +631,7 @@ public class JobServiceImpl extends Service implements JobService { return; } DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getSupDepId()); - if (null != parentDept && 0 == parentDept.getCanceled()) { + if (null != parentDept && (null == parentDept.getCanceled() || 0 == parentDept.getCanceled())) { buildParentDepts(parentDept, builderDeparts); } } @@ -645,7 +645,7 @@ public class JobServiceImpl extends Service implements JobService { private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); - if (null != parentComp && 0 == parentComp.getCanceled()) { + if (null != parentComp && (null == parentComp.getCanceled() || 0 == parentComp.getCanceled())) { buildParentComps(parentComp, builderComps, allMaps); } } @@ -669,7 +669,7 @@ public class JobServiceImpl extends Service implements JobService { } else if (TYPE_DEPT.equals(type)) { // // 查询部门信息 - List filterDeparts = getDepartmentMapper().listByFilter(DepartmentPO.builder().departmentName(keyword).canceled(0).supDepId(Integer.parseInt(id)).build(), "show_order"); + List filterDeparts = getDepartmentMapper().listByFilter(DepartmentPO.builder().departmentName(keyword).canceled(0).supDepId(Integer.parseInt(id)).build(), "showorder"); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { buildParentDepts(departmentPO, builderDeparts); @@ -688,10 +688,10 @@ public class JobServiceImpl extends Service implements JobService { * @return */ private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompanyPO compBuild) { - List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "show_order"); + List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); new DetachUtil(user.getUID()).filterDepartmentList(filterDeparts); // 查询分部信息 - List filterComps = getCompanyMapper().listByFilter(compBuild, "show_order"); + List filterComps = getCompanyMapper().listByFilter(compBuild, "showorder"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -706,7 +706,7 @@ public class JobServiceImpl extends Service implements JobService { filterComps.addAll(compsByIds); } } - List allCompanys = getCompanyMapper().listAll("show_order"); + List allCompanys = getCompanyMapper().listAll("showorder"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); Set builderComps = new HashSet<>(); diff --git a/src/com/engine/organization/util/PageInfoSortUtil.java b/src/com/engine/organization/util/PageInfoSortUtil.java index 4bed8263..902ba5c5 100644 --- a/src/com/engine/organization/util/PageInfoSortUtil.java +++ b/src/com/engine/organization/util/PageInfoSortUtil.java @@ -20,7 +20,7 @@ public class PageInfoSortUtil { * @param sortParams * @return */ - public static String getSortSql(String sortParams) { + public static String getSortSql(String sortParams, String defaultOrder) { JSONArray jsonArray = JSONObject.parseArray(sortParams); if (CollectionUtils.isNotEmpty(jsonArray)) { JSONObject jsonObject = (JSONObject) jsonArray.get(0); @@ -28,7 +28,7 @@ public class PageInfoSortUtil { String sortOrder = jsonObject.getString("sortOrder").replace("end", ""); return "t." + orderKey + " " + sortOrder; } - return " showOrder "; + return defaultOrder; } /** From bd33075e148872afa28a7c132196b469c9f4a23e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 30 Nov 2022 16:06:40 +0800 Subject: [PATCH 036/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 24 ++++----- .../bo/{CompanyBO.java => CompBO.java} | 52 +++++++++---------- .../{CompanyListDTO.java => CompListDTO.java} | 4 +- .../{CompanyParam.java => CompParam.java} | 2 +- .../po/{CompanyPO.java => CompPO.java} | 2 +- .../entity/department/bo/DepartmentBO.java | 4 +- .../{CompanyMapper.java => CompMapper.java} | 16 +++--- .../{CompanyMapper.xml => CompMapper.xml} | 4 +- .../organization/service/CompService.java | 6 +-- .../service/impl/CompServiceImpl.java | 52 +++++++++---------- .../service/impl/DepartmentServiceImpl.java | 28 +++++----- .../service/impl/HrmResourceServiceImpl.java | 32 ++++++------ .../service/impl/ImportCommonServiceImpl.java | 14 ++--- .../service/impl/JobServiceImpl.java | 34 ++++++------ .../thread/StaffTriggerRunnable.java | 10 ++-- .../transmethod/CompTransMethod.java | 10 ++-- .../transmethod/HrmResourceTransMethod.java | 4 +- .../organization/util/detach/DetachUtil.java | 4 +- .../util/relation/EcHrmRelationUtil.java | 10 ++-- .../util/saveimport/StaffInfoImportUtil.java | 4 +- .../organization/web/CompController.java | 6 +-- .../organization/wrapper/CompWrapper.java | 30 +++++------ 22 files changed, 176 insertions(+), 176 deletions(-) rename src/com/engine/organization/entity/company/bo/{CompanyBO.java => CompBO.java} (70%) rename src/com/engine/organization/entity/company/dto/{CompanyListDTO.java => CompListDTO.java} (95%) rename src/com/engine/organization/entity/company/param/{CompanyParam.java => CompParam.java} (93%) rename src/com/engine/organization/entity/company/po/{CompanyPO.java => CompPO.java} (97%) rename src/com/engine/organization/mapper/comp/{CompanyMapper.java => CompMapper.java} (71%) rename src/com/engine/organization/mapper/comp/{CompanyMapper.xml => CompMapper.xml} (98%) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 80b79b22..b7b4a7e5 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -9,12 +9,12 @@ import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.browser.bo.CusBowserTreeBO; import com.engine.organization.entity.browser.enums.TreeNodeTypeEnum; import com.engine.organization.entity.browser.po.CusBrowserTree; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.vo.JobBrowserVO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.DBType; @@ -165,37 +165,37 @@ public class JobBrowserService extends BrowserService { List compHasSubs; if (detachUtil.isDETACH()) { if (CollectionUtils.isNotEmpty(jclRoleLevelList)) { - compHasSubs = MapperProxyFactory.getProxy(CompanyMapper.class).hasDetachSubs(jclRoleLevelList); + compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasDetachSubs(jclRoleLevelList); } else { compHasSubs = new ArrayList<>(); } } else { - compHasSubs = MapperProxyFactory.getProxy(CompanyMapper.class).hasSubs(); + compHasSubs = MapperProxyFactory.getProxy(CompMapper.class).hasSubs(); } // 部门存在下级的ID List hasSubDepartment = MapperProxyFactory.getProxy(DepartmentMapper.class).hasSubs(); if ("0".equals(params.getId())) { - List compList; + List compList; if (detachUtil.isDETACH()) { if (CollectionUtils.isNotEmpty(jclRoleLevelList)) { - compList = MapperProxyFactory.getProxy(CompanyMapper.class).getCompsByIds(jclRoleLevelList); + compList = MapperProxyFactory.getProxy(CompMapper.class).getCompsByIds(jclRoleLevelList); // 处理上下级关系 - Set collectIds = compList.stream().map(CompanyPO::getId).collect(Collectors.toSet()); + Set collectIds = compList.stream().map(CompPO::getId).collect(Collectors.toSet()); compList.removeIf(item -> collectIds.contains(item.getSupSubComId())); } else { compList = new ArrayList<>(); } } else { - compList = MapperProxyFactory.getProxy(CompanyMapper.class).listParent(); + compList = MapperProxyFactory.getProxy(CompMapper.class).listParent(); } // 获取顶层分部 - compList.stream().sorted(Comparator.comparing(CompanyPO::getShowOrder)).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); + compList.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); } else if ("1".equals(params.getType())) { // 当前节点下的元素 - CompanyPO compBuild = CompanyPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); - List compList = MapperProxyFactory.getProxy(CompanyMapper.class).listByFilter(compBuild, "showorder"); + CompPO compBuild = CompPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); + List compList = MapperProxyFactory.getProxy(CompMapper.class).listByFilter(compBuild, "showorder"); if (detachUtil.isDETACH()) { detachUtil.filterCompanyList(compList); } @@ -222,7 +222,7 @@ public class JobBrowserService extends BrowserService { * @param compHasSubs * @param company */ - private void buildCompNodes(List treeNodes, List compHasSubs, CompanyPO company) { + private void buildCompNodes(List treeNodes, List compHasSubs, CompPO company) { SearchTree searchTree = new SearchTree(); searchTree.setId(company.getId().toString()); searchTree.setType(TreeNodeTypeEnum.TYPE_COMP.getValue()); diff --git a/src/com/engine/organization/entity/company/bo/CompanyBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java similarity index 70% rename from src/com/engine/organization/entity/company/bo/CompanyBO.java rename to src/com/engine/organization/entity/company/bo/CompBO.java index 588b5a08..bc1ce485 100644 --- a/src/com/engine/organization/entity/company/bo/CompanyBO.java +++ b/src/com/engine/organization/entity/company/bo/CompBO.java @@ -1,10 +1,10 @@ package com.engine.organization.entity.company.bo; -import com.engine.organization.entity.company.dto.CompanyListDTO; -import com.engine.organization.entity.company.param.CompanyParam; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.dto.CompListDTO; +import com.engine.organization.entity.company.param.CompParam; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.searchtree.SearchTree; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; import weaver.general.Util; @@ -17,14 +17,14 @@ import java.util.stream.Collectors; * @createTime: 2022/11/24 * @version: 1.0 */ -public class CompanyBO { +public class CompBO { - private static CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private static CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } - public static List buildSetToSearchTree(Set comps) { - return comps.stream().sorted(Comparator.comparing(CompanyPO::getShowOrder)).map(item -> { + public static List buildSetToSearchTree(Set comps) { + return comps.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); @@ -48,11 +48,11 @@ public class CompanyBO { * @param userId * @return */ - public static CompanyPO convertParamToPO(CompanyParam param, Integer userId) { + public static CompPO convertParamToPO(CompParam param, Integer userId) { if (null == param) { return null; } - return CompanyPO + return CompPO .builder() .id(param.getId() == null ? 0 : param.getId()) .subCompanyName(param.getSubCompanyName()) @@ -75,27 +75,27 @@ public class CompanyBO { .build(); } - public static List buildCompDTOList(Collection list, List filterList) { + public static List buildCompDTOList(Collection list, List filterList) { // 搜索结果为空,直接返回空 if (CollectionUtils.isEmpty(filterList)) { return Collections.emptyList(); } // 递归添加父级数据 - Map poMaps = list.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item)); - List addedList = new ArrayList<>(); - for (CompanyPO po : filterList) { + Map poMaps = list.stream().collect(Collectors.toMap(CompPO::getId, item -> item)); + List addedList = new ArrayList<>(); + for (CompPO po : filterList) { dealParentData(addedList, po, poMaps); } return buildCompDTOList(addedList); } - public static List buildCompDTOList(List list) { + public static List buildCompDTOList(List list) { - Map poMaps = list.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item)); + Map poMaps = list.stream().collect(Collectors.toMap(CompPO::getId, item -> item)); - List dtoList = list.stream().map(e -> - CompanyListDTO + List dtoList = list.stream().map(e -> + CompListDTO .builder() .id(e.getId()) .subCompanyCode(e.getSubCompanyCode()) @@ -106,15 +106,15 @@ public class CompanyBO { .showOrder(e.getShowOrder()) .canceled(null == e.getCanceled() ? 0 : e.getCanceled()) .build()).collect(Collectors.toList()); - Map> collects = dtoList.stream().filter(item -> 0 != item.getSupSubComId()).collect(Collectors.groupingBy(CompanyListDTO::getSupSubComId)); + Map> collects = dtoList.stream().filter(item -> 0 != item.getSupSubComId()).collect(Collectors.groupingBy(CompListDTO::getSupSubComId)); // 处理被引用数据 - List usedIds = getCompanyMapper().listUsedId(); + List usedIds = getCompMapper().listUsedId(); // 兼容MySQL - usedIds.addAll(getCompanyMapper().listUsedIds()); + usedIds.addAll(getCompMapper().listUsedIds()); List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList()); Set leafs = new HashSet<>(); - List collectTree = dtoList.stream().peek(e -> { - List childList = collects.get(e.getId()); + List collectTree = dtoList.stream().peek(e -> { + List childList = collects.get(e.getId()); leafs.add(e.getId()); if (CollectionUtils.isNotEmpty(childList)) { e.setChildren(childList); @@ -137,11 +137,11 @@ public class CompanyBO { * @param po * @param poMaps */ - private static void dealParentData(List addedList, CompanyPO po, Map poMaps) { + private static void dealParentData(List addedList, CompPO po, Map poMaps) { if (!addedList.contains(po)) { addedList.add(po); } - CompanyPO parentCompPO = poMaps.get(po.getSupSubComId()); + CompPO parentCompPO = poMaps.get(po.getSupSubComId()); if (null != parentCompPO) { dealParentData(addedList, parentCompPO, poMaps); } diff --git a/src/com/engine/organization/entity/company/dto/CompanyListDTO.java b/src/com/engine/organization/entity/company/dto/CompListDTO.java similarity index 95% rename from src/com/engine/organization/entity/company/dto/CompanyListDTO.java rename to src/com/engine/organization/entity/company/dto/CompListDTO.java index 3b634598..4e429498 100644 --- a/src/com/engine/organization/entity/company/dto/CompanyListDTO.java +++ b/src/com/engine/organization/entity/company/dto/CompListDTO.java @@ -19,7 +19,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @OrganizationTable(pageId = "dcfd9d27-6ba2-11ed-996a-00ffcbed7508") -public class CompanyListDTO { +public class CompListDTO { /** * 主键id */ @@ -73,5 +73,5 @@ public class CompanyListDTO { /** * 子节点 */ - private List children; + private List children; } diff --git a/src/com/engine/organization/entity/company/param/CompanyParam.java b/src/com/engine/organization/entity/company/param/CompParam.java similarity index 93% rename from src/com/engine/organization/entity/company/param/CompanyParam.java rename to src/com/engine/organization/entity/company/param/CompParam.java index a720477f..1b409c23 100644 --- a/src/com/engine/organization/entity/company/param/CompanyParam.java +++ b/src/com/engine/organization/entity/company/param/CompParam.java @@ -15,7 +15,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class CompanyParam extends BaseQueryParam { +public class CompParam extends BaseQueryParam { private Integer Id; private String subCompanyName; private String subCompanyDesc; diff --git a/src/com/engine/organization/entity/company/po/CompanyPO.java b/src/com/engine/organization/entity/company/po/CompPO.java similarity index 97% rename from src/com/engine/organization/entity/company/po/CompanyPO.java rename to src/com/engine/organization/entity/company/po/CompPO.java index f95f8fdc..ae80432d 100644 --- a/src/com/engine/organization/entity/company/po/CompanyPO.java +++ b/src/com/engine/organization/entity/company/po/CompPO.java @@ -16,7 +16,7 @@ import java.util.Date; @Builder @AllArgsConstructor @NoArgsConstructor -public class CompanyPO { +public class CompPO { private Integer id; private String subCompanyName; private String subCompanyDesc; diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 124cf22b..bddbb5a3 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -5,7 +5,7 @@ import com.engine.organization.entity.department.param.DeptSearchParam; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO; import com.engine.organization.entity.searchtree.SearchTree; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.util.db.MapperProxyFactory; @@ -35,7 +35,7 @@ public class DepartmentBO { .departmentName(e.getDepartmentName()) .departmentCode(e.getDepartmentCode()) .subCompanyId1(e.getSubCompanyId1()) - .subCompanyName(0 == e.getSubCompanyId1() ? "" : MapperProxyFactory.getProxy(CompanyMapper.class).listById(e.getSubCompanyId1()).getSubCompanyName()) + .subCompanyName(0 == e.getSubCompanyId1() ? "" : MapperProxyFactory.getProxy(CompMapper.class).listById(e.getSubCompanyId1()).getSubCompanyName()) .supDepId(e.getSupDepId()) .supDepName(null == poMaps.get(e.getSupDepId()) ? "" : poMaps.get(e.getSupDepId()).getDepartmentName()) // .deptPrincipal(getEmployeeNameById(e.getDeptPrincipal())) diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java similarity index 71% rename from src/com/engine/organization/mapper/comp/CompanyMapper.java rename to src/com/engine/organization/mapper/comp/CompMapper.java index ba71a66f..5c89268d 100644 --- a/src/com/engine/organization/mapper/comp/CompanyMapper.java +++ b/src/com/engine/organization/mapper/comp/CompMapper.java @@ -1,6 +1,6 @@ package com.engine.organization.mapper.comp; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.po.CompPO; import org.apache.ibatis.annotations.Param; import java.util.Collection; @@ -12,15 +12,15 @@ import java.util.List; * @createTime: 2022/05/16 * @version: 1.0 */ -public interface CompanyMapper { +public interface CompMapper { /** * 列表查询 * * @return */ - List listAll(@Param("orderSql") String orderSql); + List listAll(@Param("orderSql") String orderSql); - List listByFilter(@Param("CompanyPO") CompanyPO CompanyPO, @Param("orderSql") String orderSql); + List listByFilter(@Param("CompanyPO") CompPO CompanyPO, @Param("orderSql") String orderSql); /** * 查询所有被引用的ID @@ -37,7 +37,7 @@ public interface CompanyMapper { * @param ids * @return */ - List listChild(@Param("ids") Collection ids); + List listChild(@Param("ids") Collection ids); /** * 根据ID查询数据 @@ -45,7 +45,7 @@ public interface CompanyMapper { * @param id * @return */ - CompanyPO listById(@Param("id") Integer id); + CompPO listById(@Param("id") Integer id); /** * 根据ID批量查询数据 @@ -53,14 +53,14 @@ public interface CompanyMapper { * @param ids * @return */ - List getCompsByIds(@Param("ids") Collection ids); + List getCompsByIds(@Param("ids") Collection ids); /** * 获取顶级数据 * * @return */ - List listParent(); + List listParent(); List hasSubs(); diff --git a/src/com/engine/organization/mapper/comp/CompanyMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml similarity index 98% rename from src/com/engine/organization/mapper/comp/CompanyMapper.xml rename to src/com/engine/organization/mapper/comp/CompMapper.xml index 41085e82..7ac63afe 100644 --- a/src/com/engine/organization/mapper/comp/CompanyMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -1,7 +1,7 @@ - - + + diff --git a/src/com/engine/organization/service/CompService.java b/src/com/engine/organization/service/CompService.java index fe9f7398..f4517480 100644 --- a/src/com/engine/organization/service/CompService.java +++ b/src/com/engine/organization/service/CompService.java @@ -1,7 +1,7 @@ package com.engine.organization.service; import com.api.browser.bean.SearchConditionGroup; -import com.engine.organization.entity.company.param.CompanyParam; +import com.engine.organization.entity.company.param.CompParam; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.util.MenuBtn; @@ -22,7 +22,7 @@ public interface CompService { * @param params * @return */ - Map listPage(CompanyParam params); + Map listPage(CompParam params); /** * 保存公司/分部基础信息 @@ -37,7 +37,7 @@ public interface CompService { * * @param params */ - int updateForbiddenTagById(CompanyParam params); + int updateForbiddenTagById(CompParam params); /** diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index a1c08d7c..bd82cb55 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -12,16 +12,16 @@ import com.engine.core.impl.Service; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.company.bo.CompanyBO; -import com.engine.organization.entity.company.dto.CompanyListDTO; -import com.engine.organization.entity.company.param.CompanyParam; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.bo.CompBO; +import com.engine.organization.entity.company.dto.CompListDTO; +import com.engine.organization.entity.company.param.CompParam; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.service.CompService; import com.engine.organization.service.ExtService; @@ -81,8 +81,8 @@ public class CompServiceImpl extends Service implements CompService { */ private static final Long GROUP_ID = 1L; - private static CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private static CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } private ExtendTitleMapper getExtendTitleMapper() { @@ -95,44 +95,44 @@ public class CompServiceImpl extends Service implements CompService { @Override - public Map listPage(CompanyParam params) { + public Map listPage(CompParam params) { Map datas = new HashMap<>(); boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); datas.put("hasRight", hasRight); if (!hasRight) { return datas; } - CompanyPO companyPO = CompanyBO.convertParamToPO(params, user.getUID()); + CompPO companyPO = CompBO.convertParamToPO(params, user.getUID()); boolean filter = isFilter(companyPO); - PageInfo pageInfos; + PageInfo pageInfos; String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()," showorder "); - List allList = getCompanyMapper().listAll(orderSql); + List allList = getCompMapper().listAll(orderSql); new DetachUtil(user.getUID()).filterCompanyList(allList); // 通过子级遍历父级元素 if (filter) { // 根据条件获取元素 - List filterCompPOs = getCompanyMapper().listByFilter(companyPO, orderSql); + List filterCompPOs = getCompMapper().listByFilter(companyPO, orderSql); new DetachUtil(user.getUID()).filterCompanyList(filterCompPOs); // 添加父级元素 - List compListDTOS = CompanyBO.buildCompDTOList(allList, filterCompPOs); - List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); - pageInfos = new PageInfo<>(subList, CompanyListDTO.class); + List compListDTOS = CompBO.buildCompDTOList(allList, filterCompPOs); + List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); + pageInfos = new PageInfo<>(subList, CompListDTO.class); pageInfos.setTotal(compListDTOS.size()); } else { // 组合list - List compListDTOS = CompanyBO.buildCompDTOList(allList); - List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); - pageInfos = new PageInfo<>(subList, CompanyListDTO.class); + List compListDTOS = CompBO.buildCompDTOList(allList); + List subList = PageUtil.subList(params.getCurrent(), params.getPageSize(), compListDTOS); + pageInfos = new PageInfo<>(subList, CompListDTO.class); pageInfos.setTotal(compListDTOS.size()); } pageInfos.setPageNum(params.getCurrent()); pageInfos.setPageSize(params.getPageSize()); - OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompanyListDTO.class); + OrganizationWeaTable table = new OrganizationWeaTable<>(user, CompListDTO.class); List columns = pageInfos.getColumns(); List weaTableColumn = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); table.setColumns(weaTableColumn); @@ -156,9 +156,9 @@ public class CompServiceImpl extends Service implements CompService { } @Override - public int updateForbiddenTagById(CompanyParam params) { + public int updateForbiddenTagById(CompParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - CompanyPO compPO = CompanyPO.builder().id(params.getId()).canceled(params.getCanceled() ? 0 : 1).build(); + CompPO compPO = CompPO.builder().id(params.getId()).canceled(params.getCanceled() ? 0 : 1).build(); Map map = new HashMap<>(); map.put("id", compPO.getId().toString()); map.put("forbiddenTag", compPO.getCanceled()); @@ -415,7 +415,7 @@ public class CompServiceImpl extends Service implements CompService { // 判断目标分部是否为它本身以及子元素 Set disableIds = new HashSet<>(); disableIds.add(companyId); - List compPOS = getCompanyMapper().listChild(DeleteParam.builder().ids(companyId.toString()).build().getIds()); + List compPOS = getCompMapper().listChild(DeleteParam.builder().ids(companyId.toString()).build().getIds()); if (CollectionUtils.isNotEmpty(compPOS)) { addDisableIds(disableIds, compPOS); } @@ -435,7 +435,7 @@ public class CompServiceImpl extends Service implements CompService { * @param companyPO * @return */ - private boolean isFilter(CompanyPO companyPO) { + private boolean isFilter(CompPO companyPO) { return StringUtils.isNotBlank(companyPO.getSubCompanyCode()) || StringUtils.isNotBlank(companyPO.getSubCompanyDesc()) || StringUtils.isNotBlank(companyPO.getSubCompanyName()) || null != companyPO.getSupSubComId(); } @@ -479,10 +479,10 @@ public class CompServiceImpl extends Service implements CompService { * @param disableIds * @param compPOS */ - private void addDisableIds(Set disableIds, List compPOS) { - for (CompanyPO compPO : compPOS) { + private void addDisableIds(Set disableIds, List compPOS) { + for (CompPO compPO : compPOS) { disableIds.add(compPO.getId()); - List childCompPOS = getCompanyMapper().listChild(DeleteParam.builder().ids(compPO.getId().toString()).build().getIds()); + List childCompPOS = getCompMapper().listChild(DeleteParam.builder().ids(compPO.getId().toString()).build().getIds()); addDisableIds(disableIds, childCompPOS); } } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index c0b0e382..5d8ba83a 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -13,8 +13,8 @@ import com.engine.hrm.entity.RuleCodeType; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.codesetting.po.CodeRulePO; -import com.engine.organization.entity.company.bo.CompanyBO; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.bo.CompBO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.dto.DepartmentListDTO; import com.engine.organization.entity.department.param.*; @@ -30,7 +30,7 @@ import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobMapper; @@ -106,8 +106,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return MapperProxyFactory.getProxy(JobMapper.class); } - private CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } private ExtendTitleMapper getExtendTitleMapper() { @@ -774,19 +774,19 @@ public class DepartmentServiceImpl extends Service implements DepartmentService private List getFilterCompany(String id, String keyword) { // 查询部门信息 Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); - CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); - List allCompanys = getCompanyMapper().listAll("showOrder"); + CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); + List allCompanys = getCompMapper().listAll("showOrder"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - List filterComps = getCompanyMapper().listByFilter(compBuild, "showOrder"); + List filterComps = getCompMapper().listByFilter(compBuild, "showOrder"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); - Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); - Set builderComps = new HashSet<>(); - for (CompanyPO companyPO : filterComps) { + Set builderComps = new HashSet<>(); + for (CompPO companyPO : filterComps) { buildParentComps(companyPO, builderComps, allMaps); } - return SearchTreeUtil.builderTreeMode(CompanyBO.buildSetToSearchTree(builderComps)); + return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps)); } @@ -796,9 +796,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param compPO * @param builderComps */ - private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { + private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); - CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); + CompPO parentComp = allMaps.get(compPO.getSupSubComId()); if (null != parentComp && (null == parentComp.getCanceled() || 0 == parentComp.getCanceled())) { buildParentComps(parentComp, builderComps, allMaps); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index f4c9a28c..0d91ef86 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -14,8 +14,8 @@ import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.bo.CompanyBO; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.bo.CompBO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.po.ExtendTitlePO; @@ -32,7 +32,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; @@ -149,8 +149,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(DepartmentMapper.class); } - private CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } private JobMapper getJobMapper() { @@ -543,7 +543,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(parentCompId).build(); - CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).build(); + CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(parentCompId).build(); // 所属分部下的岗位 JobPO jobBuild = JobPO.builder().jobName(keyword).parentComp(parentCompId).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild, jobBuild); @@ -574,7 +574,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @param jobBuild * @return */ - private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompanyPO compBuild, JobPO jobBuild) { + private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompPO compBuild, JobPO jobBuild) { List jobPOS = getJobMapper().listPOsByFilter(jobBuild); new DetachUtil(user.getUID()).filterJobList(jobPOS); List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); @@ -607,7 +607,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } // 查询分部信息 - List filterComps = getCompanyMapper().listByFilter(compBuild, "showorder"); + List filterComps = getCompMapper().listByFilter(compBuild, "showorder"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -619,19 +619,19 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 添加部门的上级分部 String parentCompS = deptTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentCompS)) { - List compsByIds = getCompanyMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); + List compsByIds = getCompMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); if (CollectionUtils.isNotEmpty(compsByIds)) { filterComps.addAll(compsByIds); } } - List allCompanys = getCompanyMapper().listAll("showorder"); + List allCompanys = getCompMapper().listAll("showorder"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); - Set builderComps = new HashSet<>(); - for (CompanyPO compPO : filterComps) { + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); + Set builderComps = new HashSet<>(); + for (CompPO compPO : filterComps) { buildParentComps(compPO, builderComps, allMaps); } - return SearchTreeUtil.builderTreeMode(CompanyBO.buildSetToSearchTree(builderComps), searchTrees); + return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), searchTrees); } private List buildTreeByDeptAndJob(DepartmentPO departmentBuild, JobPO jobBuild) { @@ -704,9 +704,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @param compPO * @param builderComps */ - private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { + private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); - CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); + CompPO parentComp = allMaps.get(compPO.getSupSubComId()); if (null != parentComp) { buildParentComps(parentComp, builderComps, allMaps); } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index ac69a4c7..3f9c86a1 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -22,7 +22,7 @@ import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.enums.OrgImportEnum; import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.extend.ExtMapper; @@ -715,7 +715,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (int index = 0; index < split.length - 1; index++) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(split[index] + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -745,7 +745,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue; } String compNo = (String) map.get("comp_no"); - Integer companyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId); + Integer companyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId); if ("add".equals(operateType)) { if (companyId != null) { historyDetailPO.setOperateDetail("数据已存在"); @@ -772,7 +772,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } String showOrder = Util.null2String(map.get("show_order")); if (StringUtils.isBlank(showOrder)) { - Integer maxShowOrder = MapperProxyFactory.getProxy(CompanyMapper.class).getMaxShowOrder(); + Integer maxShowOrder = MapperProxyFactory.getProxy(CompMapper.class).getMaxShowOrder(); if (null == maxShowOrder) { maxShowOrder = 0; } @@ -924,7 +924,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -1162,7 +1162,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); @@ -1426,7 +1426,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 7757a721..39de4c66 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -15,8 +15,8 @@ import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.bo.CompanyBO; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.bo.CompBO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.employee.vo.EmployeeTableVO; @@ -33,7 +33,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.extend.ExtDTMapper; import com.engine.organization.mapper.extend.ExtMapper; @@ -117,8 +117,8 @@ public class JobServiceImpl extends Service implements JobService { return MapperProxyFactory.getProxy(JobMapper.class); } - private CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } private DepartmentMapper getDepartmentMapper() { @@ -275,7 +275,7 @@ public class JobServiceImpl extends Service implements JobService { Map params = new HashMap<>(); // 分部 if (StringUtils.isNotBlank(Util.null2String(param.getSubcompanyid1()))) { - CompanyPO compPO = getCompanyMapper().listById(param.getSubcompanyid1()); + CompPO compPO = getCompMapper().listById(param.getSubcompanyid1()); if (null != compPO) { params.put("parent_comp", compPO.getId()); params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(compPO.getId().toString())); @@ -642,9 +642,9 @@ public class JobServiceImpl extends Service implements JobService { * @param compPO * @param builderComps */ - private void buildParentComps(CompanyPO compPO, Set builderComps, Map allMaps) { + private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { builderComps.add(compPO); - CompanyPO parentComp = allMaps.get(compPO.getSupSubComId()); + CompPO parentComp = allMaps.get(compPO.getSupSubComId()); if (null != parentComp && (null == parentComp.getCanceled() || 0 == parentComp.getCanceled())) { buildParentComps(parentComp, builderComps, allMaps); } @@ -664,7 +664,7 @@ public class JobServiceImpl extends Service implements JobService { if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(parentCompId).canceled(0).build(); - CompanyPO compBuild = CompanyPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); + CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild); } else if (TYPE_DEPT.equals(type)) { // @@ -687,11 +687,11 @@ public class JobServiceImpl extends Service implements JobService { * @param compBuild * @return */ - private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompanyPO compBuild) { + private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompPO compBuild) { List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); new DetachUtil(user.getUID()).filterDepartmentList(filterDeparts); // 查询分部信息 - List filterComps = getCompanyMapper().listByFilter(compBuild, "showorder"); + List filterComps = getCompMapper().listByFilter(compBuild, "showorder"); new DetachUtil(user.getUID()).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -701,19 +701,19 @@ public class JobServiceImpl extends Service implements JobService { // 添加部门的上级分部 String parentCompS = deptTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentCompS)) { - List compsByIds = getCompanyMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); + List compsByIds = getCompMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); if (CollectionUtils.isNotEmpty(compsByIds)) { filterComps.addAll(compsByIds); } } - List allCompanys = getCompanyMapper().listAll("showorder"); + List allCompanys = getCompMapper().listAll("showorder"); new DetachUtil(user.getUID()).filterCompanyList(allCompanys); - Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompanyPO::getId, item -> item, (k1, k2) -> k1)); - Set builderComps = new HashSet<>(); - for (CompanyPO compPO : filterComps) { + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); + Set builderComps = new HashSet<>(); + for (CompPO compPO : filterComps) { buildParentComps(compPO, builderComps, allMaps); } - return SearchTreeUtil.builderTreeMode(CompanyBO.buildSetToSearchTree(builderComps), deptTrees); + return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), deptTrees); } diff --git a/src/com/engine/organization/thread/StaffTriggerRunnable.java b/src/com/engine/organization/thread/StaffTriggerRunnable.java index 0b129f2e..f67d412f 100644 --- a/src/com/engine/organization/thread/StaffTriggerRunnable.java +++ b/src/com/engine/organization/thread/StaffTriggerRunnable.java @@ -1,13 +1,13 @@ package com.engine.organization.thread; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.map.JclOrgMap; import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPlanPO; import com.engine.organization.enums.ModuleTypeEnum; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.job.JobMapper; @@ -37,8 +37,8 @@ public class StaffTriggerRunnable implements Runnable { return MapperProxyFactory.getProxy(StaffTriggerMapper.class); } - private CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } private DepartmentMapper getDepartmentMapper() { @@ -108,7 +108,7 @@ public class StaffTriggerRunnable implements Runnable { if (null == companyId) { return; } - CompanyPO compPO = getCompanyMapper().listById(companyId); + CompPO compPO = getCompMapper().listById(companyId); if (null != compPO) { updateOrgMap(ModuleTypeEnum.subcompanyfielddefined.getValue().toString(), companyId.toString()); if (null != compPO.getSupSubComId() && 0 != compPO.getSupSubComId()) { diff --git a/src/com/engine/organization/transmethod/CompTransMethod.java b/src/com/engine/organization/transmethod/CompTransMethod.java index 05a2b2ed..8fd63132 100644 --- a/src/com/engine/organization/transmethod/CompTransMethod.java +++ b/src/com/engine/organization/transmethod/CompTransMethod.java @@ -1,8 +1,8 @@ package com.engine.organization.transmethod; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.company.po.CompanyPO; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.util.db.MapperProxyFactory; import java.util.List; @@ -17,8 +17,8 @@ import java.util.stream.Collectors; public class CompTransMethod { public static String getSpanById(String planId) { - CompanyMapper compMapper = MapperProxyFactory.getProxy(CompanyMapper.class); - List maps = compMapper.getCompsByIds(DeleteParam.builder().ids(planId).build().getIds()); - return maps.stream().map(CompanyPO::getSubCompanyName).collect(Collectors.joining(",")); + CompMapper compMapper = MapperProxyFactory.getProxy(CompMapper.class); + List maps = compMapper.getCompsByIds(DeleteParam.builder().ids(planId).build().getIds()); + return maps.stream().map(CompPO::getSubCompanyName).collect(Collectors.joining(",")); } } diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index 188cd51e..23a5069b 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -1,6 +1,6 @@ package com.engine.organization.transmethod; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -19,7 +19,7 @@ public class HrmResourceTransMethod { } public static String getCompanyName(String companyId) { - return MapperProxyFactory.getProxy(CompanyMapper.class).listById(Integer.parseInt(companyId)).getSubCompanyName(); + return MapperProxyFactory.getProxy(CompMapper.class).listById(Integer.parseInt(companyId)).getSubCompanyName(); } public static String getJobName(String jobTitle) { return MapperProxyFactory.getProxy(JobMapper.class).getJobById(Long.parseLong(jobTitle)).getJobName(); diff --git a/src/com/engine/organization/util/detach/DetachUtil.java b/src/com/engine/organization/util/detach/DetachUtil.java index f67a5b97..5ad83ce5 100644 --- a/src/com/engine/organization/util/detach/DetachUtil.java +++ b/src/com/engine/organization/util/detach/DetachUtil.java @@ -1,6 +1,6 @@ package com.engine.organization.util.detach; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; @@ -36,7 +36,7 @@ public class DetachUtil { /** * 根据分权配置过滤分部 */ - public void filterCompanyList(List companyList) { + public void filterCompanyList(List companyList) { if (DETACH && CollectionUtils.isNotEmpty(companyList)) { companyList.removeIf(item -> !jclRoleLevels.contains(item.getId())); } diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java index 777d127b..ea0e135e 100644 --- a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -1,10 +1,10 @@ package com.engine.organization.util.relation; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -28,8 +28,8 @@ public class EcHrmRelationUtil { return MapperProxyFactory.getProxy(SystemDataMapper.class); } - private static CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private static CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } private static DepartmentMapper getDepartmentMapper() { @@ -47,7 +47,7 @@ public class EcHrmRelationUtil { * @return */ public static String getEcCompanyId(String companyId) { - CompanyPO compPO = getCompanyMapper().listById(Integer.parseInt(companyId)); + CompPO compPO = getCompMapper().listById(Integer.parseInt(companyId)); RecordInfo supSubCompany = getSystemDataMapper().getHrmObjectByUUID(HRM_COMPANY, compPO.getUuid()); if (null == supSubCompany) { return "0"; diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index e096ba6b..0ed022b5 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -10,7 +10,7 @@ import com.engine.organization.entity.staff.bo.StaffBO; import com.engine.organization.entity.staff.param.StaffSearchParam; import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.entity.staff.po.StaffPlanPO; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.staff.StaffMapper; @@ -151,7 +151,7 @@ public class StaffInfoImportUtil { continue nextRow; } for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompanyMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); if (null == parentCompanyId) { historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); historyDetailPO.setStatus("0"); diff --git a/src/com/engine/organization/web/CompController.java b/src/com/engine/organization/web/CompController.java index a63a1e49..0792c28d 100644 --- a/src/com/engine/organization/web/CompController.java +++ b/src/com/engine/organization/web/CompController.java @@ -3,7 +3,7 @@ package com.engine.organization.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.company.param.CompanyParam; +import com.engine.organization.entity.company.param.CompParam; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.CompWrapper; @@ -43,7 +43,7 @@ public class CompController { @POST @Path("/listComp") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult listComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompanyParam params) { + public ReturnResult listComp(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompParam params) { try { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).listPage(params)); @@ -83,7 +83,7 @@ public class CompController { @POST @Path("/updateForbiddenTagById") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompanyParam param) { + public ReturnResult updateForbiddenTagById(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody CompParam param) { try { User user = HrmUserVarify.getUser(request, response); return ReturnResult.successed(getCompWrapper(user).updateForbiddenTagById(param)); diff --git a/src/com/engine/organization/wrapper/CompWrapper.java b/src/com/engine/organization/wrapper/CompWrapper.java index f9e7a7f8..05709f46 100644 --- a/src/com/engine/organization/wrapper/CompWrapper.java +++ b/src/com/engine/organization/wrapper/CompWrapper.java @@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSON; import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; -import com.engine.organization.entity.company.param.CompanyParam; -import com.engine.organization.entity.company.po.CompanyPO; +import com.engine.organization.entity.company.param.CompParam; +import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.comp.CompanyMapper; +import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.service.CompService; import com.engine.organization.service.impl.CompServiceImpl; import com.engine.organization.util.MenuBtn; @@ -33,8 +33,8 @@ public class CompWrapper extends OrganizationWrapper { return ServiceUtil.getService(CompServiceImpl.class, user); } - private CompanyMapper getCompanyMapper() { - return MapperProxyFactory.getProxy(CompanyMapper.class); + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); } /** @@ -43,7 +43,7 @@ public class CompWrapper extends OrganizationWrapper { * @param params * @return */ - public Map listPage(CompanyParam params) { + public Map listPage(CompParam params) { return getCompService(user).listPage(params); } @@ -69,10 +69,10 @@ public class CompWrapper extends OrganizationWrapper { * @param params */ @Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新分部禁用标识", operateModule = LogModuleNameEnum.COMPANY) - public int updateForbiddenTagById(CompanyParam params) { - CompanyPO compPO = getCompanyMapper().listById(params.getId()); + public int updateForbiddenTagById(CompParam params) { + CompPO compPO = getCompMapper().listById(params.getId()); int updateForbiddenTagById = getCompService(user).updateForbiddenTagById(params); - CompanyPO newCompPO = getCompanyMapper().listById(params.getId()); + CompPO newCompPO = getCompMapper().listById(params.getId()); writeOperateLog(new Object() { }.getClass(), compPO.getSubCompanyName(), JSON.toJSONString(params), compPO, newCompPO); //TODO new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); @@ -88,9 +88,9 @@ public class CompWrapper extends OrganizationWrapper { @Log(operateType = OperateTypeEnum.UPDATE, operateDesc = "更新分部信息", operateModule = LogModuleNameEnum.COMPANY) public Long updateComp(Map params) { Integer id = Integer.parseInt(params.get("id").toString()); - CompanyPO compPO = getCompanyMapper().listById(id); + CompPO compPO = getCompMapper().listById(id); Long companyId = getCompService(user).updateComp(params); - CompanyPO newCompPO = getCompanyMapper().listById(id); + CompPO newCompPO = getCompMapper().listById(id); writeOperateLog(new Object() { }.getClass(), compPO.getSubCompanyName(), JSON.toJSONString(params), compPO, newCompPO); //TODO new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); @@ -106,9 +106,9 @@ public class CompWrapper extends OrganizationWrapper { public Map deleteByIds(List ids) { Map params = new HashMap<>(); params.put("id", StringUtils.join(ids, ",")); - List compsByIds = getCompanyMapper().getCompsByIds(ids); + List compsByIds = getCompMapper().getCompsByIds(ids); Map map = getCompService(user).deleteByIds(params); - for (CompanyPO compsById : compsByIds) { + for (CompPO compsById : compsByIds) { writeOperateLog(new Object() { }.getClass(), compsById.getSubCompanyName(), JSON.toJSONString(ids), "删除分部信息"); //TODO new CompanyTriggerRunnable(compsById).run(); @@ -124,9 +124,9 @@ public class CompWrapper extends OrganizationWrapper { */ @Log(operateType = OperateTypeEnum.MOVE, operateDesc = "转移分部", operateModule = LogModuleNameEnum.COMPANY) public int moveCompany(DepartmentMoveParam moveParam) { - CompanyPO compPO = getCompanyMapper().listById(moveParam.getId().intValue()); + CompPO compPO = getCompMapper().listById(moveParam.getId().intValue()); int moveCompany = getCompService(user).moveCompany(moveParam); - CompanyPO newCompPO = getCompanyMapper().listById(moveParam.getId().intValue()); + CompPO newCompPO = getCompMapper().listById(moveParam.getId().intValue()); writeOperateLog(new Object() { }.getClass(), compPO.getSubCompanyName(), JSON.toJSONString(moveParam), compPO, newCompPO); //TODO new Thread(new CompanyTriggerRunnable(compPO, newCompPO)).start(); From fb17f43323e060773c974cb325331430f12d40ae Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 30 Nov 2022 16:14:23 +0800 Subject: [PATCH 037/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 30 ++++----- .../service/impl/JobServiceImpl.java | 3 +- .../thread/OrganizationSyncEc.java | 62 +------------------ .../util/relation/EcHrmRelationUtil.java | 31 ---------- .../util/saveimport/StaffInfoImportUtil.java | 7 +-- .../organization/wrapper/JclOrgWrapper.java | 20 +++--- 6 files changed, 27 insertions(+), 126 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 3f9c86a1..4d1b6082 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -35,12 +35,13 @@ import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.ImportCommonService; -import com.engine.organization.thread.*; +import com.engine.organization.thread.HrmResourceTriggerRunnable; +import com.engine.organization.thread.JobTriggerRunnable; +import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.excel.ExcelUtil; -import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.saveimport.OrgImportUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -725,9 +726,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } } map.put("parent_company", parentCompanyId); - if (null != parentCompanyId) { - map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(parentCompanyId.toString())); - } + map.put("ec_company", parentCompanyId); + companyName = split[split.length - 1]; map.put("comp_name", companyName); } @@ -962,11 +962,10 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } } map.put("parent_comp", parentCompanyId); - map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(parentCompanyId.toString())); + map.put("ec_company", parentCompanyId); map.put("parent_dept", parentDepartmentId); - if (null != parentDepartmentId) { - map.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(parentDepartmentId.toString())); - } + map.put("ec_department", parentDepartmentId); + departmentName = split[split.length - 1]; map.put("dept_name", departmentName); } @@ -1223,10 +1222,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } map.put("parent_comp", parentCompanyId); map.put("parent_dept", parentDepartmentId); - map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentCompanyId))); - if (null != parentDepartmentId) { - map.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(Util.null2String(parentDepartmentId))); - } + map.put("ec_company", parentCompanyId); + map.put("ec_department", parentDepartmentId); map.put("parent_job", parentJobId); jobName = split[split.length - 1]; map.put("job_name", jobName); @@ -1486,10 +1483,9 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } map.put("company_id", parentCompanyId); map.put("department_id", parentDepartmentId); - map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentCompanyId))); - if (null != parentDepartmentId) { - map.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(Util.null2String(parentDepartmentId))); - } + map.put("ec_company", parentCompanyId); + map.put("ec_department", parentDepartmentId); + map.put("job_title", parentJobId); } } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 39de4c66..4888d5df 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -54,7 +54,6 @@ import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; -import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -278,7 +277,7 @@ public class JobServiceImpl extends Service implements JobService { CompPO compPO = getCompMapper().listById(param.getSubcompanyid1()); if (null != compPO) { params.put("parent_comp", compPO.getId()); - params.put("ec_company", EcHrmRelationUtil.getEcCompanyId(compPO.getId().toString())); + params.put("ec_company", compPO.getId()); } } // 部门 diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 1511bee5..7c0ba6c2 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -14,7 +14,6 @@ import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.relation.ResourceSyncUtil; import org.apache.commons.collections.CollectionUtils; -import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -381,11 +380,7 @@ public class OrganizationSyncEc { * 更新分部 */ private void updateCompany() { - Map map = new HashMap<>(); - // 获取ec表ID - buildEcCompanyData(map); - map.putAll(params); - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(map, user); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(params, user); } /** @@ -403,59 +398,4 @@ public class OrganizationSyncEc { } } - /** - * 补全分部参数信息 - * - * @param map - */ - private void buildEcCompanyData(Map map) { - String ecCompanyId = Util.null2String(params.get("id")); - - map.put("id", ecCompanyId); - RecordSet rs = new RecordSet(); - // 先查拓展表 - rs.execute("select * from hrmsubcompanydefined where subcomid = '" + ecCompanyId + "'"); - int colcount = rs.getColCounts(); - if (rs.next()) { - for (int i = 1; i <= colcount; i++) { - map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); - } - } - // 再查主表 - rs.execute("select * from hrmsubcompany where id = '" + ecCompanyId + "'"); - colcount = rs.getColCounts(); - if (rs.next()) { - for (int i = 1; i <= colcount; i++) { - map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); - } - } - } - - /** - * 补全部门参数信息 - * - * @param map - */ - private void buildEcDepartmentData(Map map) { - String ecDepartment = EcHrmRelationUtil.getEcDepartmentId(Util.null2String(params.get("id"))); - - map.put("id", ecDepartment); - RecordSet rs = new RecordSet(); - // 先查拓展表 - rs.execute("select * from hrmdepartmentdefined where deptid = '" + ecDepartment + "'"); - int colcount = rs.getColCounts(); - if (rs.next()) { - for (int i = 1; i <= colcount; i++) { - map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); - } - } - // 再查主表 - rs.execute("select id,departmentmark,departmentname,subcompanyid1,supdepid,allsupdepid,canceled,departmentcode,coadjutant,outkey,budgetatuomoveorder,ecology_pinyin_search,tlevel,created,creater,modified,modifier,uuid,showorder,showorderoftree,tenant_key from hrmdepartment where id = '" + ecDepartment + "'"); - colcount = rs.getColCounts(); - if (rs.next()) { - for (int i = 1; i <= colcount; i++) { - map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); - } - } - } } diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java index ea0e135e..cba61155 100644 --- a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -1,8 +1,6 @@ package com.engine.organization.util.relation; import com.engine.organization.entity.commom.RecordInfo; -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; @@ -40,35 +38,6 @@ public class EcHrmRelationUtil { return MapperProxyFactory.getProxy(JobMapper.class); } - /** - * 根据jcl_org_comp.id获取HrmSubCompany.id - * - * @param companyId - * @return - */ - public static String getEcCompanyId(String companyId) { - CompPO compPO = getCompMapper().listById(Integer.parseInt(companyId)); - RecordInfo supSubCompany = getSystemDataMapper().getHrmObjectByUUID(HRM_COMPANY, compPO.getUuid()); - if (null == supSubCompany) { - return "0"; - } - return supSubCompany.getId(); - } - - /** - * 根据jcl_org_dept.id获取HrmDepartment.id - * - * @param departmentId - * @return - */ - public static String getEcDepartmentId(String departmentId) { - DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Integer.parseInt(departmentId)); - RecordInfo supDepartment = getSystemDataMapper().getHrmObjectByUUID(HRM_DEPARTMENT, departmentPO.getUuid()); - return supDepartment.getId(); - } - - - public static String getEcJobId(Long jclJobId) { JobPO jobById = getJobMapper().getJobById(jclJobId); if (null == jobById) { diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index 0ed022b5..0524a3ef 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -17,7 +17,6 @@ import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.mapper.staff.StaffPlanMapper; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.xssf.usermodel.XSSFCell; @@ -161,7 +160,7 @@ public class StaffInfoImportUtil { } } map.put("comp_id", parentCompanyId); - map.put("ec_company", EcHrmRelationUtil.getEcCompanyId(Util.null2String(parentCompanyId))); + map.put("ec_company", parentCompanyId); } // 部门 if ("dept_id".equals(infoPO.getFieldName())) { @@ -185,9 +184,7 @@ public class StaffInfoImportUtil { } map.put("dept_id", parentDepartmentId); - if (null != parentDepartmentId) { - map.put("ec_department", EcHrmRelationUtil.getEcDepartmentId(Util.null2String(parentDepartmentId))); - } + map.put("ec_department", parentDepartmentId); } // 岗位 diff --git a/src/com/engine/organization/wrapper/JclOrgWrapper.java b/src/com/engine/organization/wrapper/JclOrgWrapper.java index 14769594..b751d983 100644 --- a/src/com/engine/organization/wrapper/JclOrgWrapper.java +++ b/src/com/engine/organization/wrapper/JclOrgWrapper.java @@ -1,7 +1,6 @@ package com.engine.organization.wrapper; import com.engine.organization.util.OrganizationWrapper; -import com.engine.organization.util.relation.EcHrmRelationUtil; import org.apache.commons.lang3.StringUtils; /** @@ -16,15 +15,16 @@ public class JclOrgWrapper extends OrganizationWrapper { if (StringUtils.isAnyBlank(jclId, type)) { return null; } - switch (type) { - case "1": - return EcHrmRelationUtil.getEcCompanyId(jclId); - case "2": - return EcHrmRelationUtil.getEcDepartmentId(jclId); - case "3": - default: - return ""; - } + //switch (type) { + // case "1": + // return EcHrmRelationUtil.getEcCompanyId(jclId); + // case "2": + // return EcHrmRelationUtil.getEcDepartmentId(jclId); + // case "3": + // default: + // return ""; + //} + return jclId; } public String getJclOrgId(String ecId, String type) { From 85ec9668139978fcaac3d222ac2b4e1dcb0456b9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 5 Dec 2022 17:57:33 +0800 Subject: [PATCH 038/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=8D=A1=E7=89=87?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E9=A1=B5=E9=9D=A2=E9=80=BB=E8=BE=91=E9=87=8D?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/company/bo/CompBO.java | 2 +- .../entity/extend/bo/ExtendInfoBO.java | 323 +++++++++++++++++- .../fieldset/param/FieldTransferParam.java | 1 + .../entity/hrmresource/vo/HrmResourceVO.java | 28 +- .../entity/personnelcard/UserCard.java | 13 +- .../personnelcard/po/CusTreeFormPO.java | 24 ++ .../personnelcard/po/HrmFieldGroupPO.java | 24 ++ .../personnelcard/PersonnelCardMapper.java | 10 + .../personnelcard/PersonnelCardMapper.xml | 29 +- .../impl/HrmPersonnelCardServiceImpl.java | 126 +++---- .../util/saveimport/CompanyImport.java | 21 ++ 11 files changed, 488 insertions(+), 113 deletions(-) create mode 100644 src/com/engine/organization/entity/personnelcard/po/CusTreeFormPO.java create mode 100644 src/com/engine/organization/entity/personnelcard/po/HrmFieldGroupPO.java create mode 100644 src/com/engine/organization/util/saveimport/CompanyImport.java diff --git a/src/com/engine/organization/entity/company/bo/CompBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java index bc1ce485..98fd01c1 100644 --- a/src/com/engine/organization/entity/company/bo/CompBO.java +++ b/src/com/engine/organization/entity/company/bo/CompBO.java @@ -24,7 +24,7 @@ public class CompBO { } public static List buildSetToSearchTree(Set comps) { - return comps.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).map(item -> { + return comps.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 567a829b..ba1762ec 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -11,25 +11,37 @@ import com.api.browser.util.BrowserInitUtil; import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; import com.api.hrm.bean.FieldItem; -import com.api.hrm.util.FieldType; -import com.api.hrm.util.ServiceUtil; +import com.api.hrm.bean.HrmFieldBean; +import com.api.hrm.util.*; +import com.cloudstore.dev.api.util.TextUtil; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.organization.entity.SelectOptionParam; +import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.entity.extend.param.ExtendInfoFieldParam; import com.engine.organization.entity.extend.po.ExtendGroupPO; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.mapper.extend.ExtendInfoMapper; -import com.engine.organization.entity.browser.po.CustomBrowserBean; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.sensitive.biz.SensitiveWordTypeComInfo; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import weaver.common.StringUtil; +import weaver.conn.RecordSet; +import weaver.docs.docs.CustomFieldManager; +import weaver.encrypt.EncryptUtil; import weaver.file.ImageFileManager; +import weaver.general.BaseBean; import weaver.general.Util; +import weaver.hrm.HrmUserVarify; import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldGroupComInfo; import weaver.hrm.definedfield.HrmFieldManager; +import weaver.hrm.moduledetach.ManageDetachComInfo; +import weaver.hrm.resource.CustomFieldTreeManager; +import weaver.hrm.resource.HrmListValidate; import weaver.systeminfo.SystemEnv; +import weaver.systeminfo.systemright.CheckSubCompanyRight; import java.util.*; @@ -546,4 +558,309 @@ public class ExtendInfoBO { return searchConditionItem; } + + + // 基本信息明细表 + + // 个人信息明细表 + + // 工作信息明细表 + public Map getFormFields(User user, String id, Integer viewAttr, boolean isAdd) { + Map result = new HashMap(); + List lsGroup = new ArrayList(); + Map groupitem = null; + List itemlist = null; + try { + if (isAdd) viewAttr = 2; + if (id.length() == 0) { + id = "" + user.getUID(); + } + boolean isSelf = false; + if (id.equals("" + user.getUID())) { + isSelf = true; + } + String subcompanyid = "", departmentId = ""; + RecordSet recordSet = new RecordSet(); + //不能直接判断是否有人力资源维护权限,也需要根据分权进行判断 + boolean canEdit = false; + recordSet.executeSql("select subcompanyid1, status, departmentId from hrmresource where id = " + id); + if (recordSet.next()) { + subcompanyid = Util.toScreen(recordSet.getString("subcompanyid1"), user.getLanguage()); + departmentId = StringUtil.vString(recordSet.getString("departmentId")); + if (subcompanyid == null || subcompanyid.equals("") || subcompanyid.equalsIgnoreCase("null")) + subcompanyid = "-1"; + } + int operatelevel = -1; + //人力资源模块是否开启了管理分权,如不是,则不显示框架,直接转向到列表页面(新的分权管理) + int hrmdetachable = 0; + ManageDetachComInfo ManageDetachComInfo = new ManageDetachComInfo(); + boolean isUseHrmManageDetach = ManageDetachComInfo.isUseHrmManageDetach(); + if (isUseHrmManageDetach) { + hrmdetachable = 1; + } else { + hrmdetachable = 0; + } + if (hrmdetachable == 1) { + CheckSubCompanyRight CheckSubCompanyRight = new CheckSubCompanyRight(); + operatelevel = CheckSubCompanyRight.ChkComRightByUserRightCompanyId(user.getUID(), "HrmResourceEdit:Edit", Util.getIntValue(subcompanyid)); + } else { + if (HrmUserVarify.checkUserRight("HrmResourceEdit:Edit", user, departmentId)) { + operatelevel = 2; + } + } + if (operatelevel > 0) { + canEdit = true; + } + int scopeId = 1; + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + com.engine.hrm.biz.HrmFieldManager hfm = new com.engine.hrm.biz.HrmFieldManager("HrmCustomFieldByInfoType", scopeId); + CustomFieldManager cfm = new CustomFieldManager("HrmCustomFieldByInfoType", scopeId); + if (viewAttr != 1) hfm.isReturnDecryptData(true); + hfm.getHrmData(Util.getIntValue(id)); + cfm.getCustomData(Util.getIntValue(id)); + HrmListValidate hrmListValidate = new HrmListValidate(); + + while (HrmFieldGroupComInfo.next()) { + int grouptype = Util.getIntValue(HrmFieldGroupComInfo.getType()); + if (grouptype != scopeId) continue; + int grouplabel = Util.getIntValue(HrmFieldGroupComInfo.getLabel()); + int groupid = Util.getIntValue(HrmFieldGroupComInfo.getid()); + hfm.getCustomFields(groupid); + + groupitem = new HashMap(); + itemlist = new ArrayList(); + groupitem.put("title", SystemEnv.getHtmlLabelName(grouplabel, user.getLanguage())); + groupitem.put("defaultshow", true); + if (groupid == 4) { + groupitem.put("hide", (!isAdd && !canEdit && isSelf && viewAttr == 2 && hfm.getContactEditCount() == 0) || !hrmListValidate.isValidate(42)); + } else { + groupitem.put("hide", (!isAdd && !canEdit && isSelf && viewAttr == 2 && hfm.getContactEditCount() == 0) || !Util.null2String(HrmFieldGroupComInfo.getIsShow()).equals("1")); + } + groupitem.put("items", itemlist); + lsGroup.add(groupitem); + while (hfm.next()) { + int tmpviewattr = viewAttr; + String fieldName = hfm.getFieldname(); + String cusFieldname = ""; + String fieldValue = ""; + if (hfm.isBaseField(fieldName)) { + fieldValue = hfm.getHrmData(fieldName); + } else { + fieldValue = Util.null2String(new EncryptUtil().decrypt("cus_fielddata", "field" + hfm.getFieldid(), "HrmCustomFieldByInfoType", "" + scopeId, cfm.getData("field" + hfm.getFieldid()), viewAttr == 2, true)); + cusFieldname = "customfield" + hfm.getFieldid(); + if (isAdd) cusFieldname = "customfield_1_" + hfm.getFieldid(); + } + + if (!hfm.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !hfm.isModify())) { + HrmFieldBean hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldname(cusFieldname.length() > 0 ? cusFieldname : fieldName); + hrmFieldBean.setFieldhtmltype("1"); + hrmFieldBean.setType("1"); + if (!isAdd) { + hrmFieldBean.setFieldvalue(fieldValue); + } + hrmFieldBean.setIsFormField(true); + SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + Map otherParams = new HashMap(); + otherParams.put("hide", true); + searchConditionItem.setOtherParams(otherParams); + itemlist.add(searchConditionItem); + continue; + } + org.json.JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); + HrmFieldBean hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid((String) hrmFieldConf.get("id")); + hrmFieldBean.setFieldname(cusFieldname.length() > 0 ? cusFieldname : fieldName); + hrmFieldBean.setFieldlabel(hfm.getLable()); + hrmFieldBean.setFieldhtmltype((String) hrmFieldConf.get("fieldhtmltype")); + hrmFieldBean.setType((String) hrmFieldConf.get("type")); + hrmFieldBean.setDmlurl((String) hrmFieldConf.get("dmlurl")); + hrmFieldBean.setIssystem("" + (Integer) hrmFieldConf.get("issystem")); + if (!isAdd) { + hrmFieldBean.setFieldvalue(fieldValue); + } + hrmFieldBean.setIsFormField(true); + if (viewAttr == 2 && ((String) hrmFieldConf.get("ismand")).equals("1")) { + tmpviewattr = 3; + if (hrmFieldBean.getFieldhtmltype().equals("3")) { + hrmFieldBean.setRules("required|string"); +// if (hrmFieldBean.getType().equals("2")||hrmFieldBean.getType().equals("161")||hrmFieldBean.getType().equals("162")) { +// hrmFieldBean.setRules("required|string"); +// }else{ +// hrmFieldBean.setRules("required|integer"); +// } + } else if (hrmFieldBean.getFieldhtmltype().equals("4") || + hrmFieldBean.getFieldhtmltype().equals("5")) { + hrmFieldBean.setRules("required|integer"); + } else if (hrmFieldBean.getFieldhtmltype().equals("1") && hrmFieldBean.getType().equals("2")) { + hrmFieldBean.setRules("required|integer"); + } else { + hrmFieldBean.setRules("required|string"); + } + } + + SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + if (searchConditionItem == null) continue; + if (searchConditionItem.getBrowserConditionParam() != null) { + searchConditionItem.getBrowserConditionParam().setViewAttr(tmpviewattr); + } + searchConditionItem.setViewAttr(tmpviewattr); + itemlist.add(searchConditionItem); + } + if (itemlist.size() == 0) lsGroup.remove(groupitem); + } + result.put("conditions", lsGroup); + + //明细信息 + List lsTable = new ArrayList(); + List titles = null; + Map table = null; + Map maptab = null; + HrmFieldBean hrmFieldBean = null; + List> columns = null; + List> datas = null; + Map data = null; + result.put("tables", lsTable); + + //标头信息--家庭信息 + HrmFieldDetailComInfo HrmFieldDetailComInfo = new HrmFieldDetailComInfo(); + LinkedHashMap> detialTable = HrmFieldDetailComInfo.getDetialTable("" + scopeId, viewAttr, "80%"); + Iterator>> entries = detialTable.entrySet().iterator(); + while (entries.hasNext()) { + Map.Entry> entry = entries.next(); + String tablename = entry.getKey(); + titles = entry.getValue(); + table = new HashMap(); + columns = HrmFieldUtil.getHrmDetailTable(titles, null, user); + table.put("columns", columns); + + datas = new ArrayList>(); + RecordSet rs = new RecordSet(); + String sql = "select * from " + tablename + " where resourceid = " + id; + rs.executeSql(sql); + while (rs.next()) { + data = new HashMap(); + for (HrmFieldBean fieldInfo : titles) { + if (!isAdd) { + data.put(fieldInfo.getFieldname(), TextUtil.toBase64ForMultilang(Util.null2String(rs.getString(fieldInfo.getFieldname())))); + } + } + datas.add(data); + } + table.put("datas", datas); + table.put("rownum", "rownum"); + maptab = new Hashtable(); + String tablabel = HrmResourceDetailTab.HrmResourceDetailTabInfo.get(tablename.toUpperCase()); + maptab.put("tabname", SystemEnv.getHtmlLabelNames(tablabel, user.getLanguage())); + maptab.put("hide", (!hrmListValidate.isValidate(45) || (!isAdd && !canEdit && isSelf && viewAttr == 2))); + maptab.put("tabinfo", table); + lsTable.add(maptab); + } + + //自定义信息 + RecordSet RecordSet = new RecordSet(); + CustomFieldTreeManager CustomFieldTreeManager = new CustomFieldTreeManager(); + LinkedHashMap ht = new LinkedHashMap(); + RecordSet.executeSql("select id, formlabel,viewtype from cus_treeform where parentid=" + scopeId + " order by scopeorder"); + while (RecordSet.next()) { + if (RecordSet.getInt("viewtype") != 1) continue; + titles = new ArrayList(); + int subId = RecordSet.getInt("id"); + CustomFieldManager cfm2 = new CustomFieldManager("HrmCustomFieldByInfoType", subId); + cfm2.getCustomFields(); + CustomFieldTreeManager.getMutiCustomData("HrmCustomFieldByInfoType", subId, Util.getIntValue(id, 0)); + int colcount1 = 0; + int rowcount = 0; + int col = 0; + while (cfm2.next()) { + rowcount++; + if (!cfm2.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !cfm2.isModify())) continue; + col++; + } + if (rowcount == 0) continue; + cfm2.beforeFirst(); + ht.put("cus_list_" + subId, RecordSet.getString("formlabel")); + cfm2.beforeFirst(); + while (cfm2.next()) { + if (!cfm2.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !cfm2.isModify())) continue; + int tmpviewattr = viewAttr; + //创建表头 + String fieldname = "customfield" + cfm2.getId() + "_" + subId; + if (isAdd) fieldname = "customfield_1_" + cfm2.getId() + "_" + subId; + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid("" + cfm2.getId()); + hrmFieldBean.setFieldname(fieldname); + hrmFieldBean.setFieldlabel(cfm2.getLable()); + hrmFieldBean.setFieldhtmltype(cfm2.getHtmlType()); + hrmFieldBean.setType("" + cfm2.getType()); + hrmFieldBean.setDmlurl(cfm2.getDmrUrl()); + if (viewAttr == 2 && cfm2.isMand()) { + tmpviewattr = 3; + hrmFieldBean.setRules("required|string"); + } + hrmFieldBean.setViewAttr(tmpviewattr); + hrmFieldBean.setWidth("80%"); + titles.add(hrmFieldBean); + } + table = new HashMap(); + if (col > 0) { + columns = HrmFieldUtil.getHrmDetailTable(titles, null, user); + table.put("columns", columns); + } + datas = new ArrayList>(); + cfm2.beforeFirst(); + while (CustomFieldTreeManager.nextMutiData()) { + data = new HashMap(); + while (cfm2.next()) { +// if(!cfm2.isUse()||(!isAdd&&viewAttr==2&&!canEdit&&isSelf&&!cfm2.isModify()))continue; + int fieldid = cfm2.getId(); //字段id + int type = cfm2.getType(); + String dmlurl = cfm2.getDmrUrl(); + int fieldhtmltype = Util.getIntValue(cfm2.getHtmlType()); + + String fieldname = "customfield" + cfm2.getId() + "_" + subId; + if (isAdd) fieldname = "customfield_1_" + cfm2.getId() + "_" + subId; + String fieldvalue = ""; + if (!isAdd) { + fieldvalue = Util.null2String(CustomFieldTreeManager.getMutiData("field" + fieldid)); + } + data.put(fieldname, fieldvalue); + if (cfm2.getHtmlType().equals("1") && cfm2.getType() == 1) { + data.put(fieldname, TextUtil.toBase64ForMultilang(Util.null2String(fieldvalue))); + } else if (cfm2.getHtmlType().equals("3")) { + String fieldshowname = hfm.getFieldvalue(user, dmlurl, fieldid, fieldhtmltype, type, fieldvalue, 0); + data.put(fieldname, fieldvalue); + data.put(fieldname + "span", fieldshowname); + } else if (cfm2.getHtmlType().equals("4")) { + data.put(fieldname, fieldvalue.equals("1")); + } + //只允许有权限的人删除明细行,没有权限的人只能修改不能删除 + if (canEdit) { + data.put("viewAttr", 2); + } else { + data.put("viewAttr", 1); + } + } + cfm2.beforeFirst(); + datas.add(data); + } + table.put("datas", datas); + table.put("rownum", "nodesnum_" + subId); + maptab = new Hashtable(); + RecordSet rs = new RecordSet(); + rs.executeSql("select id, formlabel from cus_treeform where parentid=" + scopeId + " and id=" + subId + " order by scopeorder"); + if (rs.next()) { + maptab.put("tabname", rs.getString("id")); + maptab.put("tabname", rs.getString("formlabel")); + } + maptab.put("hide", col == 0); + maptab.put("tabinfo", table); + lsTable.add(maptab); + } + } catch (Exception e) { + new BaseBean().writeLog(e); + } + return result; + } } diff --git a/src/com/engine/organization/entity/fieldset/param/FieldTransferParam.java b/src/com/engine/organization/entity/fieldset/param/FieldTransferParam.java index f6419cfc..37f54882 100644 --- a/src/com/engine/organization/entity/fieldset/param/FieldTransferParam.java +++ b/src/com/engine/organization/entity/fieldset/param/FieldTransferParam.java @@ -17,4 +17,5 @@ import lombok.NoArgsConstructor; public class FieldTransferParam { private String id; private String name; + private boolean check; } diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java index 0f973bbf..6142c7f5 100644 --- a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java @@ -18,16 +18,16 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @OrganizationTable(pageId = "c0583f20-f10c-11ec-9947-00e04c680716", fields = "t.id," + - "t.last_name," + - "t.department_id," + - "t.company_id," + - "t.job_title," + + "t.lastname," + + "t.departmentid," + + "t.subcompanyid1," + + "t.jobtitle," + "t.mobile," + "t.telephone," + - "t.manager_id, " + - "t.show_order ", - fromSql = "FROM jcl_org_hrmresource t ", - orderby = " show_order ", + "t.managerid, " + + "t.dsporder ", + fromSql = "FROM hrmresource t ", + orderby = " dsporder ", sortway = " asc", primarykey = "id", operates = { @@ -45,21 +45,21 @@ public class HrmResourceVO { /** * 姓名 */ - @OrganizationTableColumn(text = "姓名", width = "25%", column = "last_name") + @OrganizationTableColumn(text = "姓名", width = "25%", column = "lastname") private String lastName; /** * 部门 */ - @OrganizationTableColumn(text = "部门", width = "25%", column = "department_id", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getDepartmentName") + @OrganizationTableColumn(text = "部门", width = "25%", column = "departmentid", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getDepartmentName") private String departmentName; /** * 分部 */ - @OrganizationTableColumn(text = "分部", width = "25%", column = "company_id", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getCompanyName") + @OrganizationTableColumn(text = "分部", width = "25%", column = "subcompanyid1", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getCompanyName") private String companyName; - @OrganizationTableColumn(text = "岗位", width = "25%", column = "job_title", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getJobName") + @OrganizationTableColumn(text = "岗位", width = "25%", column = "jobtitle", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getJobName") private String jobName; /** @@ -75,9 +75,9 @@ public class HrmResourceVO { /** * 直接上级 */ - @OrganizationTableColumn(text = "直接上级", width = "25%", column = "manager_id", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getManagerName") + @OrganizationTableColumn(text = "直接上级", width = "25%", column = "managerid", transmethod = "com.engine.organization.transmethod.HrmResourceTransMethod.getManagerName") private String managerName; - @OrganizationTableColumn(text = "显示顺序", width = "25%", column = "show_order", orderkey = "show_order") + @OrganizationTableColumn(text = "显示顺序", width = "25%", column = "dsporder", orderkey = "dsporder") private Integer showOrder; } diff --git a/src/com/engine/organization/entity/personnelcard/UserCard.java b/src/com/engine/organization/entity/personnelcard/UserCard.java index f870ee66..da2773b6 100644 --- a/src/com/engine/organization/entity/personnelcard/UserCard.java +++ b/src/com/engine/organization/entity/personnelcard/UserCard.java @@ -31,17 +31,10 @@ public class UserCard { private String status; public String getAccountType() { - if (StringUtils.isBlank(accountType)) { - return ""; - } - switch (accountType) { - case "0": - return "主账号"; - case "1": - return "次账号"; - default: - return ""; + if ("1".equals(accountType)) { + return "次账号"; } + return "主账号"; } public String getStatus() { diff --git a/src/com/engine/organization/entity/personnelcard/po/CusTreeFormPO.java b/src/com/engine/organization/entity/personnelcard/po/CusTreeFormPO.java new file mode 100644 index 00000000..edf4d639 --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/po/CusTreeFormPO.java @@ -0,0 +1,24 @@ +package com.engine.organization.entity.personnelcard.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/12/05 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CusTreeFormPO { + private String scope; + private String formLabel; + private Integer id; + private Integer parentId; + private String viewType; + private Integer scopeOrder; +} diff --git a/src/com/engine/organization/entity/personnelcard/po/HrmFieldGroupPO.java b/src/com/engine/organization/entity/personnelcard/po/HrmFieldGroupPO.java new file mode 100644 index 00000000..802ab4ce --- /dev/null +++ b/src/com/engine/organization/entity/personnelcard/po/HrmFieldGroupPO.java @@ -0,0 +1,24 @@ +package com.engine.organization.entity.personnelcard.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/12/05 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class HrmFieldGroupPO { + private Integer id; + private Integer groupLabel; + private Integer groupOrder; + private Integer groupType; + private Integer isShow; + private String labelName; +} diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java index 48828b3f..b7a27de0 100644 --- a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.java @@ -2,6 +2,7 @@ package com.engine.organization.mapper.personnelcard; import com.engine.organization.entity.personnelcard.ResourceBaseTab; import com.engine.organization.entity.personnelcard.UserCard; +import com.engine.organization.entity.personnelcard.po.CusTreeFormPO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,7 +23,16 @@ public interface PersonnelCardMapper { /** * 获取自定义显示栏目 + * * @return */ List getResourceBaseTabList(); + + /** + * 获取基本分组 + * + * @return + */ + List getCusTreeForms(@Param("parentId") Integer parentId); + } diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml index 1b19be40..cc7ed5b9 100644 --- a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml @@ -3,8 +3,8 @@ - - + + @@ -25,17 +25,26 @@ + + + + + + + + + @@ -45,4 +54,12 @@ where isopen = 1 order by dsporder + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index 9ed1f2e9..9d01c96d 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -2,46 +2,35 @@ package com.engine.organization.service.impl; import com.engine.common.service.HrmCommonService; import com.engine.common.service.impl.HrmCommonServiceImpl; -import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.organization.entity.extend.ExtendInfoOperateType; -import com.engine.organization.entity.extend.bo.ExtendGroupBO; -import com.engine.organization.entity.extend.param.ExtendInfoParams; -import com.engine.organization.entity.extend.po.ExtendGroupPO; -import com.engine.organization.entity.extend.po.ExtendInfoPO; -import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.entity.personnelcard.*; import com.engine.organization.entity.personnelcard.po.CardAccessPO; import com.engine.organization.entity.personnelcard.po.CardButtonPO; +import com.engine.organization.entity.personnelcard.po.CusTreeFormPO; import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.extend.ExtMapper; -import com.engine.organization.mapper.extend.ExtendGroupMapper; -import com.engine.organization.mapper.extend.ExtendInfoMapper; -import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.personnelcard.CardAccessMapper; import com.engine.organization.mapper.personnelcard.CardButtonMapper; import com.engine.organization.mapper.personnelcard.PersonnelCardMapper; -import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.service.HrmPersonnelCardService; import com.engine.organization.util.OrganizationAssert; -import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.field.FieldDefinedValueUtil; import com.engine.portal.biz.constants.ModuleConstants; import com.engine.portal.biz.nonstandardfunction.SysModuleInfoBiz; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONObject; import weaver.blog.BlogShareManager; import weaver.cowork.CoworkShareManager; import weaver.crm.CrmShareBase; import weaver.docs.search.DocSearchComInfo; import weaver.general.BaseBean; import weaver.general.Util; +import weaver.hrm.definedfield.HrmFieldManager; import weaver.hrm.resource.ResourceComInfo; +import weaver.systeminfo.SystemEnv; import weaver.workflow.search.WorkflowRequestUtil; import java.util.*; -import java.util.stream.Collectors; /** * @author:dxfeng @@ -49,32 +38,11 @@ import java.util.stream.Collectors; * @version: 1.0 */ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnelCardService { - private static final String IS_SHOW = "1"; private PersonnelCardMapper getPersonnelCardMapper() { return MapperProxyFactory.getProxy(PersonnelCardMapper.class); } - private ExtendGroupMapper getExtendGroupMapper() { - return MapperProxyFactory.getProxy(ExtendGroupMapper.class); - } - - private ExtendTitleMapper getExtendTitleMapper() { - return MapperProxyFactory.getProxy(ExtendTitleMapper.class); - } - - private ExtendInfoMapper getExtendInfoMapper() { - return MapperProxyFactory.getProxy(ExtendInfoMapper.class); - } - - private ExtMapper getExtMapper() { - return MapperProxyFactory.getProxy(ExtMapper.class); - } - - private ResourceMapper getResourceMapper() { - return MapperProxyFactory.getProxy(ResourceMapper.class); - } - private CardButtonMapper getCardButtonMapper() { return MapperProxyFactory.getProxy(CardButtonMapper.class); } @@ -85,35 +53,39 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel Map resultMap = new HashMap<>(); UserCard userInfo; if (null == uId) { - uId = getResourceMapper().getJclResourceId(Util.null2String(user.getUID())); + uId = (long) user.getUID(); } - String ecResourceId = getResourceMapper().getEcResourceId(uId.toString()); userInfo = getPersonnelCardMapper().getUserById(uId); - userInfo.setEcId(ecResourceId); + userInfo.setEcId(uId.toString()); OrganizationAssert.notNull(uId, "未找到对应数据"); // 人员基本信息 // 统计报表 - Statistical statistical = getStatistical(ecResourceId); - List extendGroupList = getExtendGroupMapper().listByType(4, IS_SHOW); - // 过滤卡片权限 - extendGroupList.removeIf(item -> !hasGroupAccess(item.getId().intValue(), ecResourceId)); + Statistical statistical = getStatistical(userInfo.getEcId()); - // 获取所有模块的信息 + // 获取类型分组信息 + List cusTreeForms = getPersonnelCardMapper().getCusTreeForms(0); + // TODO 权限过滤 + //cusTreeForms.removeIf(item -> !hasGroupAccess(item.getId(), userInfo.getEcId())); List formItemList = new ArrayList<>(); - for (ExtendGroupPO groupPO : extendGroupList) { - FormItem formItem = getFormItem(groupPO, uId); - if (CollectionUtils.isEmpty(formItem.getItems())) { - continue; - } - // 处理明细表数据 - List> detailList = ServiceUtil.getService(ExtServiceImpl.class, user).getExtendTables(user, "4", groupPO.getId(), "JCL_ORG_HRMRESOURCEEXT_DT1", uId, 1, false); - formItem.setTables(detailList); + try { + for (CusTreeFormPO cusTreeForm : cusTreeForms) { + FormItem formItem = getFormItem(cusTreeForm, uId); + if (CollectionUtils.isEmpty(formItem.getItems())) { + continue; + } - formItemList.add(formItem); + //TODO 明细表暂不处理 + //List> detailList = ServiceUtil.getService(ExtServiceImpl.class, user).getExtendTables(user, "4", groupPO.getId(), "JCL_ORG_HRMRESOURCEEXT_DT1", uId, 1, false); + //formItem.setTables(detailList); + formItemList.add(formItem); + } + } catch (Exception e) { + throw new RuntimeException(e); } + // 所有锚点 List anchorList = new ArrayList<>(); // 添加字段分组信息 @@ -125,7 +97,7 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel for (ResourceBaseTab resourceBaseTab : resourceBaseTabList) { anchorList.add(Anchor.builder().id("tab" + resourceBaseTab.getId()).title(resourceBaseTab.getGroupName()).build()); } - resultMap.put("buttons", getButtonList(ecResourceId)); + resultMap.put("buttons", getButtonList(userInfo.getEcId())); resultMap.put("user", userInfo); resultMap.put("statistical", statistical); resultMap.put("formItems", formItemList); @@ -191,33 +163,29 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel } } - private FormItem getFormItem(ExtendGroupPO extendGroup, Long uId) { + /** + * 获取人员主表信息、拓展表信息 + * + * @param cusTreeFormPO + * @param uId + * @return + * @throws Exception + */ + private FormItem getFormItem(CusTreeFormPO cusTreeFormPO, Long uId) throws Exception { FormItem formItem = new FormItem(); - formItem.setId("group" + extendGroup.getId()); - formItem.setTitle(extendGroup.getGroupName()); - List extendTitleList = getExtendTitleMapper().getTitlesByGroupID(extendGroup.getId(), IS_SHOW); + formItem.setId(cusTreeFormPO.getId().toString()); + formItem.setTitle(cusTreeFormPO.getFormLabel()); List itemList = new ArrayList<>(); - for (ExtendTitlePO extendTitlePO : extendTitleList) { - List extendInfoList = getExtendInfoMapper().listFields(extendGroup.getExtendType().toString(), extendTitlePO.getId().toString(), ExtendGroupBO.getTableNameByGroupPO(extendGroup), ExtendInfoOperateType.LIST.getValue(), IS_SHOW); - String fields = extendInfoList.stream().map(ExtendInfoPO::getFieldName).collect(Collectors.joining(",")); - if (StringUtils.isBlank(fields)) { - continue; - } - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName(ExtendGroupBO.getTableNameByGroupPO(extendGroup)).fields(fields).params(null).id(uId).build(); - Map fieldValueMap = getExtMapper().listExt(infoParams); - for (ExtendInfoPO extendInfoPO : extendInfoList) { - String fieldShowName = ""; - if (null != fieldValueMap) { - Object fieldValue; - if (DBType.isOracle()) { - fieldValue = fieldValueMap.get(extendInfoPO.getFieldName().toUpperCase()); - } else { - fieldValue = fieldValueMap.get(extendInfoPO.getFieldName()); - } - fieldShowName = FieldDefinedValueUtil.getFieldValue(user, extendInfoPO, Util.null2String(fieldValue)); - } - itemList.add(Item.builder().fieldId(extendInfoPO.getFieldNameDesc()).fieldValue(fieldShowName).build()); - } + HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", cusTreeFormPO.getId()); + hfm.getHrmData(uId.intValue()); + hfm.getCustomFields(); + while (hfm.next()) { + String fieldName = hfm.getFieldname(); + JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); + String fieldLabel = Util.toScreen(SystemEnv.getHtmlLabelName(hrmFieldConf.getInt("fieldlabel"), user.getLanguage()), user.getLanguage()); + String hrmData = hfm.getHrmData(fieldName); + String fieldValue = hfm.getFieldvalue(null, user, null, null, hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); + itemList.add(Item.builder().fieldId(fieldLabel).fieldValue(fieldValue).build()); } formItem.setItems(itemList); return formItem; diff --git a/src/com/engine/organization/util/saveimport/CompanyImport.java b/src/com/engine/organization/util/saveimport/CompanyImport.java new file mode 100644 index 00000000..1c793d74 --- /dev/null +++ b/src/com/engine/organization/util/saveimport/CompanyImport.java @@ -0,0 +1,21 @@ +package com.engine.organization.util.saveimport; + +import com.engine.organization.entity.fieldset.param.FieldTransferParam; + +import java.util.LinkedHashSet; + +/** + * @author:dxfeng + * @createTime: 2022/12/01 + * @version: 1.0 + */ +public class CompanyImport { + LinkedHashSet columns; + + static { + + } + + // 自定义选择字段 + +} From 54c3676c07374b13bcd96e267b2d3befe56e970f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 6 Dec 2022 14:47:50 +0800 Subject: [PATCH 039/203] =?UTF-8?q?=E5=88=86=E9=83=A8BUG=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=EF=BC=8C=E5=AF=BC=E5=85=A5=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/jclimport/po/HrmFormFieldPO.java | 41 +++ .../organization/enums/HrmGroupEnum.java | 20 ++ .../organization/mapper/comp/CompMapper.java | 2 + .../organization/mapper/comp/CompMapper.xml | 5 + .../mapper/jclimport/ImportMapper.java | 18 + .../mapper/jclimport/ImportMapper.xml | 21 ++ .../service/impl/ImportCommonServiceImpl.java | 325 ++---------------- .../thread/OrganizationSyncEc.java | 57 ++- .../util/saveimport/CompanyImport.java | 277 ++++++++++++++- .../util/saveimport/OrgImportUtil.java | 22 ++ 10 files changed, 477 insertions(+), 311 deletions(-) create mode 100644 src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java create mode 100644 src/com/engine/organization/enums/HrmGroupEnum.java create mode 100644 src/com/engine/organization/mapper/jclimport/ImportMapper.java create mode 100644 src/com/engine/organization/mapper/jclimport/ImportMapper.xml diff --git a/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java b/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java new file mode 100644 index 00000000..d32a8d19 --- /dev/null +++ b/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java @@ -0,0 +1,41 @@ +package com.engine.organization.entity.jclimport.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.json.JSONException; +import org.json.JSONObject; + +/** + * @author:dxfeng + * @createTime: 2022/12/06 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class HrmFormFieldPO { + private Integer fieldId; + private String fieldName; + private String labelName; + private Integer isSystem; + private Integer isMand; + private String fieldDbType; + private String fieldHtmlType; + private String type; + private String dmlUrl; + + public JSONObject getJsonObject(String fieldValue) throws JSONException { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("fieldid", this.fieldId); + jsonObject.put("fieldhtmltype", this.fieldHtmlType); + jsonObject.put("type", this.type); + jsonObject.put("dmlurl", this.dmlUrl); + jsonObject.put("fieldvalue", fieldValue); + return jsonObject; + } + + +} diff --git a/src/com/engine/organization/enums/HrmGroupEnum.java b/src/com/engine/organization/enums/HrmGroupEnum.java new file mode 100644 index 00000000..75a1b6ed --- /dev/null +++ b/src/com/engine/organization/enums/HrmGroupEnum.java @@ -0,0 +1,20 @@ +package com.engine.organization.enums; + +/** + * @author:dxfeng + * @createTime: 2022/12/06 + * @version: 1.0 + */ +public enum HrmGroupEnum { + COMPANY(4), DEPARTMENT(5); + + HrmGroupEnum(Integer groupType) { + this.groupType = groupType; + } + + private Integer groupType; + + public Integer getGroupType() { + return groupType; + } +} diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java index 5c89268d..29152732 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.java +++ b/src/com/engine/organization/mapper/comp/CompMapper.java @@ -81,4 +81,6 @@ public interface CompMapper { * @return */ Integer getMaxShowOrder(); + + Integer getIdBySubCompanyCode(@Param("subCompanyCode") String subCompanyCode); } diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index 7ac63afe..df9631fb 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -160,6 +160,11 @@ select max(showorder) from hrmsubcompany + diff --git a/src/com/engine/organization/mapper/jclimport/ImportMapper.java b/src/com/engine/organization/mapper/jclimport/ImportMapper.java new file mode 100644 index 00000000..b18705bc --- /dev/null +++ b/src/com/engine/organization/mapper/jclimport/ImportMapper.java @@ -0,0 +1,18 @@ +package com.engine.organization.mapper.jclimport; + +import com.engine.organization.entity.jclimport.po.HrmFormFieldPO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2022/12/06 + * @version: 1.0 + */ +public interface ImportMapper { + + List getImportFields(@Param("languageId") Integer languageId, @Param("groupType") Integer groupType); + + List getImportFieldInfo(@Param("languageId") Integer languageId, @Param("groupType") Integer groupType, @Param("labelName") String labelName); +} diff --git a/src/com/engine/organization/mapper/jclimport/ImportMapper.xml b/src/com/engine/organization/mapper/jclimport/ImportMapper.xml new file mode 100644 index 00000000..68c9f0d0 --- /dev/null +++ b/src/com/engine/organization/mapper/jclimport/ImportMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 4d1b6082..f212d21a 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -42,6 +42,7 @@ import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.excel.ExcelUtil; +import com.engine.organization.util.saveimport.CompanyImport; import com.engine.organization.util.saveimport.OrgImportUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -119,11 +120,11 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (StringUtils.isNotBlank(importType)) { switch (importType) { case "company": - extendType = "1"; - tableName = "JCL_ORG_COMP"; - excludeFields.add("parent_company"); - excludeFields.add("ec_company"); - break; + excludeFields.add("subcompanydesc"); + excludeFields.add("supsubcomid"); + excludeFields.add("limitUsers"); + excludeFields.add("subshowid"); + return CompanyImport.getImportFields(user, excludeFields); case "department": extendType = "2"; tableName = "JCL_ORG_DEPT"; @@ -198,7 +199,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String templatePath = getTemplatePath(importType, columns); switch (importType) { case "company": - returnMap.put("condition", getCompanyImportForm(templatePath)); + returnMap.put("condition", CompanyImport.importForm(user, templatePath)); break; case "department": returnMap.put("condition", getDepartmentImportForm(templatePath)); @@ -237,7 +238,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (StringUtils.isNotBlank(importType)) { switch (importType) { case "company": - returnMap.put("pId", companyImport(operateType, excelFile)); + // returnMap.put("pId", companyImport(operateType, excelFile)); + returnMap.put("pId", CompanyImport.saveImport(operateType, excelFile, user)); break; case "department": returnMap.put("pId", departmentImport(operateType, excelFile)); @@ -303,71 +305,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - /** - * 分部导入表单 - */ - private List getCompanyImportForm(String templatePath) throws IOException { - - - // 返回导入数据 - List lsGroup = new ArrayList<>(); - Map groupItem = new HashMap<>(); - List itemList = new ArrayList<>(); - - groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); - groupItem.put("defaultshow", true); - - SearchConditionItem searchConditionItem; - ConditionFactory conditionFactory = new ConditionFactory(user); - //导入类型 - List statusOptions = new ArrayList<>(); - statusOptions.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); - statusOptions.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); - searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions); - searchConditionItem.setValue("add"); - itemList.add(searchConditionItem); - - //模板文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); - searchConditionItem.setValue(templatePath); - itemList.add(searchConditionItem); - - //Excel文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); - itemList.add(searchConditionItem); - - groupItem.put("items", itemList); - lsGroup.add(groupItem); - - - itemList = new ArrayList<>(); - groupItem = new HashMap<>(); - groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); - groupItem.put("defaultshow", true); - List lsPromptLabel = new ArrayList<>(); //提示信息 - lsPromptLabel.add(34275); - lsPromptLabel.add(125452); - lsPromptLabel.add(125466); - //lsPromptLabel.add(522355); - //lsPromptLabel.add(522356); - //lsPromptLabel.add(522357); - //lsPromptLabel.add(530411); - - for (int i = 0; i < lsPromptLabel.size(); i++) { - Map item = new HashMap<>(); - item.put("index", (i + 1)); - String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); - if (i == 0) { - value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); - item.put("link", templatePath); - } - item.put("value", value); - itemList.add(item); - } - groupItem.put("items", itemList); - lsGroup.add(groupItem); - return lsGroup; - } private List getDepartmentImportForm(String templatePath) throws IOException { @@ -629,212 +566,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - /** - * 导入分部 - */ - private Long companyImport(String operateType, String excelFile) { - Long importHistoryId = OrgImportUtil.saveImportLog("company", operateType, user); - JclImportHistoryDetailPO historyDetailPO; - - ImageFileManager manager = new ImageFileManager(); - manager.getImageFileInfoById(Util.getIntValue(excelFile)); - XSSFWorkbook workbook; - try { - workbook = new XSSFWorkbook(manager.getInputStream()); - } catch (IOException e) { - throw new RuntimeException(e); - } - // 当前sheet - XSSFSheet sheetAt = workbook.getSheetAt(0); - int lastRow = sheetAt.getLastRowNum(); - List extendInfoPOS = new ArrayList<>(); - OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); - short lastCellNum = sheetAt.getRow(0).getLastCellNum(); - - - // 遍历每一行数据 - nextRow: - for (int i = 0; i <= lastRow; i++) { - historyDetailPO = new JclImportHistoryDetailPO(); - historyDetailPO.setPid(importHistoryId); - XSSFRow row = sheetAt.getRow(i); - if (null == row) { - continue; - } - // 组装待处理数据 - Map map = new HashMap<>(); - Integer parentCompanyId = null; - String companyName = ""; - historyDetailPO.setRowNums(String.valueOf(i + 1)); - for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { - XSSFCell cell = row.getCell((short) cellIndex); - String cellValue = getCellValue(cell).trim(); - if (i == 0) { - List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(COMPANY_TYPE, cellValue); - boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); - if (isBreak) { - break nextRow; - } - // 首行 初始化字段信息 - ExtendInfoPO extendInfoPO = infoPOList.get(0); - extendInfoPOS.add(extendInfoPO); - } else { - ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); - // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"comp_no".equalsIgnoreCase(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - - Object reallyValue; - try { - reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); - } catch (Exception e) { - historyDetailPO.setOperateDetail(cellValue + "转换失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue))) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - map.put(infoPO.getFieldName(), reallyValue); - if ("comp_name".equals(infoPO.getFieldName())) { - historyDetailPO.setRelatedName(cellValue); - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("分部层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (int index = 0; index < split.length - 1; index++) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId); - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(split[index] + "分部未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - map.put("parent_company", parentCompanyId); - map.put("ec_company", parentCompanyId); - - companyName = split[split.length - 1]; - map.put("comp_name", companyName); - } - - if ("comp_principal".equals(infoPO.getFieldName())) { - boolean hasSameName = hasSameName(historyDetailPO, cellValue); - if (hasSameName) { - continue nextRow; - } - } - } - } - // 校验、数据交互 - if (i == 0) { - continue; - } - String compNo = (String) map.get("comp_no"); - Integer companyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(companyName, parentCompanyId == null ? 0 : parentCompanyId); - if ("add".equals(operateType)) { - if (companyId != null) { - historyDetailPO.setOperateDetail("数据已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - // 自动编号 - try { - compNo = CompServiceImpl.repeatDetermine(compNo); - } catch (OrganizationRunTimeException e) { - historyDetailPO.setOperateDetail(e.getMessage()); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - map.put("comp_no", compNo); - map.put("creator", user.getUID()); - map.put("delete_type", 0); - map.put("create_time", new Date()); - // 禁用表示为空,默认启用 - if (StringUtils.isBlank(Util.null2String(map.get("forbidden_tag")))) { - map.put("forbidden_tag", 0); - } - String showOrder = Util.null2String(map.get("show_order")); - if (StringUtils.isBlank(showOrder)) { - Integer maxShowOrder = MapperProxyFactory.getProxy(CompMapper.class).getMaxShowOrder(); - if (null == maxShowOrder) { - maxShowOrder = 0; - } - map.put("show_order", maxShowOrder + 1); - } - - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.ADD, map, false).sync(); - if (isThrowError(syncMap)) { - // 查询UUID - String ecCompanyID = Util.null2String(syncMap.get("id")); - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_COMPANY, ecCompanyID); - map.put("uuid", recordInfo.getUuid()); - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_COMP").params(map).build(); - MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams); - // 刷新组织架构图 - //TODO new CompanyTriggerRunnable(infoParams.getId()).run(); - historyDetailPO.setOperateDetail("添加成功"); - historyDetailPO.setStatus("1"); - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else if ("update".equals(operateType)) { - // 查询对应ID - if (StringUtils.isNotBlank(compNo)) { - if (companyId == null) { - historyDetailPO.setOperateDetail("未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - if (checkRepeatNo(compNo, COMPANY_TYPE, Long.valueOf(companyId))) { - map.put("update_time", new Date()); - map.put("id", companyId); - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map, false).sync(); - if (isThrowError(syncMap)) { - map.remove("id"); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(Long.valueOf(companyId)).tableName("JCL_ORG_COMP").params(map).build()); - // 刷新组织架构图 - //TODO new CompanyTriggerRunnable(companyId).run(); - historyDetailPO.setOperateDetail("更新成功"); - historyDetailPO.setStatus("1"); - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else { - historyDetailPO.setOperateDetail(compNo + "编号已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } else { - historyDetailPO.setOperateDetail("编号为空,更新失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } - } - return importHistoryId; - } /** * 导入部门 @@ -881,7 +613,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (i == 0) { // 首行 初始化字段信息 List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(DEPARTMENT_TYPE, cellValue); - boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); if (isBreak) { break nextRow; } @@ -1016,7 +748,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.put("show_order", maxShowOrder + 1); } Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, map, false).sync(); - if (isThrowError(syncMap)) { + if (OrgImportUtil.isThrowError(syncMap)) { // 查询UUID String ecDepartmentID = Util.null2String(syncMap.get("id")); RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecDepartmentID); @@ -1046,7 +778,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.put("update_time", new Date()); map.put("id", departmentId); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map, false).sync(); - if (isThrowError(syncMap)) { + if (OrgImportUtil.isThrowError(syncMap)) { map.remove("id"); MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(Long.valueOf(departmentId)).tableName("JCL_ORG_DEPT").params(map).build()); // 刷新组织架构图 @@ -1118,7 +850,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (i == 0) { // 首行 初始化字段信息 List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(JOB_TYPE, cellValue); - boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); if (isBreak) { break nextRow; } @@ -1273,7 +1005,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.ADD, map, false).sync(); - if (isThrowError(syncMap)) { + if (OrgImportUtil.isThrowError(syncMap)) { boolean assertNameRepeat = JobServiceImpl.assertNameRepeat(null, Util.null2String(map.get("ec_department")), Util.null2String(map.get("parent_job")), Util.null2String(map.get("job_name"))); if (assertNameRepeat) { map.remove("jobactivityid"); @@ -1305,7 +1037,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID); map.put("id", jobId); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, map, MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId), false).sync(); - if (isThrowError(syncMap)) { + if (OrgImportUtil.isThrowError(syncMap)) { boolean assertNameRepeat = JobServiceImpl.assertNameRepeat(jobId.toString(), Util.null2String(map.get("ec_department")), Util.null2String(map.get("parent_job")), Util.null2String(map.get("job_name"))); if (assertNameRepeat) { map.remove("id"); @@ -1380,7 +1112,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (i == 0) { // 首行 初始化字段信息 List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(RESOURCE_TYPE, cellValue); - boolean isBreak = isBreak(historyDetailPO, cellValue, infoPOList); + boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); if (isBreak) { break nextRow; } @@ -1557,7 +1289,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.put("show_order", maxShowOrder + 1); } Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.ADD, map, false).sync(); - if (isThrowError(syncMap) && StringUtils.isNotBlank(Util.null2String(syncMap.get("id")))) { + if (OrgImportUtil.isThrowError(syncMap) && StringUtils.isNotBlank(Util.null2String(syncMap.get("id")))) { String ecResourceId = Util.null2String(syncMap.get("id")); RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId); map.put("uuid", recordInfo.getUuid()); @@ -1585,7 +1317,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ map.put("update_time", new Date()); map.put("id", resourceId); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, map, false).sync(); - if (isThrowError(syncMap)) { + if (OrgImportUtil.isThrowError(syncMap)) { map.remove("id"); MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(resourceId).tableName("JCL_ORG_HRMRESOURCE").params(map).build()); // 更新组织架构图 @@ -2139,9 +1871,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return excelPath; } - private boolean isThrowError(Map resultMap) { - return "1".equals(Util.null2String(resultMap.get("status"))) || "1".equals(Util.null2String(resultMap.get("sign"))); - } + /** * 判断表头是否正确 @@ -2151,22 +1881,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ * @param infoPOList * @return */ - private boolean isBreak(JclImportHistoryDetailPO historyDetailPO, String cellValue, List infoPOList) { - String operateDetail = ""; - if (CollectionUtils.isEmpty(infoPOList)) { - operateDetail = "[" + cellValue + "]未找到对应字段"; - } - if (infoPOList.size() > 1) { - operateDetail = "[" + cellValue + "]在表中定义多个,请修改后重新导入"; - } - if (StringUtils.isNotBlank(operateDetail)) { - historyDetailPO.setOperateDetail(operateDetail); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - return true; - } - return false; - } + /** * 判断负责人是否有重名人员、若有重复人员、给出反馈信息。不处理该条数据 diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 7c0ba6c2..90a7f254 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -14,6 +14,7 @@ import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.relation.ResourceSyncUtil; import org.apache.commons.collections.CollectionUtils; +import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; @@ -366,7 +367,10 @@ public class OrganizationSyncEc { * 更新部门 */ private void updateDepartment() { - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editDepartment(params, user); + Map map = new HashMap<>(); + buildEcDepartmentData(map); + map.putAll(params); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editDepartment(map, user); } /** @@ -380,7 +384,10 @@ public class OrganizationSyncEc { * 更新分部 */ private void updateCompany() { - this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(params, user); + Map map = new HashMap<>(); + buildEcCompanyData(map); + map.putAll(params); + this.resultMap = ServiceUtil.getService(OrganizationServiceImpl.class, user).editSubCompany(map, user); } /** @@ -398,4 +405,50 @@ public class OrganizationSyncEc { } } + private void buildEcCompanyData(Map map) { + String ecCompanyId = Util.null2String(params.get("id")); + + map.put("id", ecCompanyId); + RecordSet rs = new RecordSet(); + // 先查拓展表 + rs.execute("select * from hrmsubcompanydefined where subcomid = '" + ecCompanyId + "'"); + int colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + // 再查主表 + rs.execute("select * from hrmsubcompany where id = '" + ecCompanyId + "'"); + colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + } + + private void buildEcDepartmentData(Map map) { + String ecDepartment = Util.null2String(params.get("id")); + + map.put("id", ecDepartment); + RecordSet rs = new RecordSet(); + // 先查拓展表 + rs.execute("select * from hrmdepartmentdefined where deptid = '" + ecDepartment + "'"); + int colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + // 再查主表 + rs.execute("select * from hrmdepartment where id = '" + ecDepartment + "'"); + colcount = rs.getColCounts(); + if (rs.next()) { + for (int i = 1; i <= colcount; i++) { + map.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + } + } + } diff --git a/src/com/engine/organization/util/saveimport/CompanyImport.java b/src/com/engine/organization/util/saveimport/CompanyImport.java index 1c793d74..9827fabd 100644 --- a/src/com/engine/organization/util/saveimport/CompanyImport.java +++ b/src/com/engine/organization/util/saveimport/CompanyImport.java @@ -1,8 +1,37 @@ package com.engine.organization.util.saveimport; +import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.api.browser.util.ConditionFactory; +import com.api.browser.util.ConditionType; import com.engine.organization.entity.fieldset.param.FieldTransferParam; +import com.engine.organization.entity.jclimport.po.HrmFormFieldPO; +import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; +import com.engine.organization.enums.HrmGroupEnum; +import com.engine.organization.enums.LogModuleNameEnum; +import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.jclimport.ImportMapper; +import com.engine.organization.thread.OrganizationSyncEc; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import weaver.file.ImageFileManager; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldManager; +import weaver.systeminfo.SystemEnv; -import java.util.LinkedHashSet; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author:dxfeng @@ -10,12 +39,252 @@ import java.util.LinkedHashSet; * @version: 1.0 */ public class CompanyImport { - LinkedHashSet columns; - static { + private static ImportMapper getImportMapper() { + return MapperProxyFactory.getProxy(ImportMapper.class); + } + + /** + * 导入模板可选择字段 + * + * @param user 当前用户 + * @param excludedFields 排除的字段 + */ + public static Map getImportFields(User user, List excludedFields) { + Map returnMaps = new HashMap<>(); + List importFields = getImportMapper().getImportFields(user.getLanguage(), HrmGroupEnum.COMPANY.getGroupType()); + importFields.removeIf(item -> excludedFields.contains(item.getFieldName())); + // 查询所有可以勾选的字段 + List fieldDatas = importFields.stream().map(item -> FieldTransferParam.builder().id(item.getFieldId().toString()).name(item.getLabelName()).build()).collect(Collectors.toList()); + returnMaps.put("data", fieldDatas); + // 设置必填字段 + List selectedKeys = importFields.stream().filter(item -> null != item.getIsSystem() && 1 == item.getIsSystem() && 1 == item.getIsMand()).map(item -> item.getFieldId().toString()).collect(Collectors.toList()); + returnMaps.put("selectedKeys", selectedKeys); + return returnMaps; } - // 自定义选择字段 + /** + * 获取导入模板及导入提示信息 + * + * @param user 当前用户 + * @param templatePath 导入模板路径 + */ + public static List> importForm(User user, String templatePath) { + // 返回导入数据 + List> lsGroup = new ArrayList<>(); + Map groupItem = new HashMap<>(); + List itemList = new ArrayList<>(); + + groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); + groupItem.put("defaultshow", true); + + SearchConditionItem searchConditionItem; + ConditionFactory conditionFactory = new ConditionFactory(user); + //导入类型 + List statusOptions = new ArrayList<>(); + statusOptions.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); + statusOptions.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); + searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions); + searchConditionItem.setValue("add"); + itemList.add(searchConditionItem); + + //模板文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); + searchConditionItem.setValue(templatePath); + itemList.add(searchConditionItem); + + //Excel文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); + itemList.add(searchConditionItem); + + groupItem.put("items", itemList); + lsGroup.add(groupItem); + + + itemList = new ArrayList<>(); + groupItem = new HashMap<>(); + groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); + groupItem.put("defaultshow", true); + List lsPromptLabel = new ArrayList<>(); //提示信息 + lsPromptLabel.add(34275); + lsPromptLabel.add(125452); + lsPromptLabel.add(125466); + + for (int i = 0; i < lsPromptLabel.size(); i++) { + Map item = new HashMap<>(); + item.put("index", (i + 1)); + String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); + if (i == 0) { + value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); + item.put("link", templatePath); + } + item.put("value", value); + itemList.add(item); + } + groupItem.put("items", itemList); + lsGroup.add(groupItem); + return lsGroup; + } + + /** + * @param operateType 导入类型 + * @param excelFile 上传的文件 + * @param user 当前用户 + */ + public static Long saveImport(String operateType, String excelFile, User user) { + Long importHistoryId = OrgImportUtil.saveImportLog("company", operateType, user); + JclImportHistoryDetailPO historyDetailPO; + + ImageFileManager manager = new ImageFileManager(); + manager.getImageFileInfoById(Util.getIntValue(excelFile)); + XSSFWorkbook workbook; + try { + workbook = new XSSFWorkbook(manager.getInputStream()); + } catch (IOException e) { + throw new RuntimeException(e); + } + // 当前sheet + XSSFSheet sheetAt = workbook.getSheetAt(0); + int lastRow = sheetAt.getLastRowNum(); + List extendInfoPOS = new ArrayList<>(); + OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); + short lastCellNum = sheetAt.getRow(0).getLastCellNum(); + + + // 遍历每一行数据 + nextRow: + for (int i = 0; i <= lastRow; i++) { + historyDetailPO = new JclImportHistoryDetailPO(); + historyDetailPO.setPid(importHistoryId); + XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } + // 组装待处理数据 + Map map = new HashMap<>(); + Integer parentCompanyId = null; + String companyName = ""; + + historyDetailPO.setRowNums(String.valueOf(i + 1)); + for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { + XSSFCell cell = row.getCell((short) cellIndex); + String cellValue = OrgImportUtil.getCellValue(cell).trim(); + if (i == 0) { + List infoPOList = getImportMapper().getImportFieldInfo(user.getLanguage(), HrmGroupEnum.COMPANY.getGroupType(), cellValue); + boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); + if (isBreak) { + break nextRow; + } + // 首行 初始化字段信息 + extendInfoPOS.add(infoPOList.get(0)); + } else { + HrmFormFieldPO infoPO = extendInfoPOS.get(cellIndex); + // 数据校验 + if (infoPO.getIsMand() == 1 && StringUtils.isBlank(cellValue) && !"subcompanycode".equalsIgnoreCase(infoPO.getFieldName())) { + historyDetailPO.setOperateDetail(infoPO.getLabelName() + "为必填项"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + + Object reallyValue; + try { + if ("subcompanyname".equalsIgnoreCase(infoPO.getFieldName())) { + reallyValue = cellValue; + } else { + reallyValue = HrmFieldManager.getReallyFieldvalue(infoPO.getJsonObject(cellValue)); + } + } catch (Exception e) { + historyDetailPO.setOperateDetail(cellValue + "转换失败"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue))) { + historyDetailPO.setOperateDetail(infoPO.getLabelName() + "数据转换失败,未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + map.put(infoPO.getFieldName(), reallyValue); + if ("subcompanyname".equalsIgnoreCase(infoPO.getFieldName())) { + historyDetailPO.setRelatedName(cellValue); + String[] split = cellValue.split(">"); + if (split.length > 0) { + if (split.length > 8) { + historyDetailPO.setOperateDetail("分部层级不能大于10"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + for (int index = 0; index < split.length - 1; index++) { + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(split[index], parentCompanyId == null ? 0 : parentCompanyId); + if (null == parentCompanyId) { + historyDetailPO.setOperateDetail(split[index] + "分部未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } + } + map.put("supsubcomid", parentCompanyId); + + companyName = split[split.length - 1]; + map.put("subcompanyname", companyName); + map.put("subcompanydesc", companyName); + } + + } + } + // 校验、数据交互 + if (i == 0) { + continue; + } + + if ("add".equals(operateType)) { + Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.ADD, map, false).sync(); + if (OrgImportUtil.isThrowError(syncMap)) { + // 刷新组织架构图 + //TODO new CompanyTriggerRunnable(infoParams.getId()).run(); + historyDetailPO.setOperateDetail("添加成功"); + historyDetailPO.setStatus("1"); + } else { + historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); + historyDetailPO.setStatus("0"); + } + OrgImportUtil.saveImportDetailLog(historyDetailPO); + } else if ("update".equals(operateType)) { + String compNo = (String) map.get("subcompanycode"); + // 查询对应ID + if (StringUtils.isNotBlank(compNo)) { + Integer companyId = MapperProxyFactory.getProxy(CompMapper.class).getIdBySubCompanyCode(compNo); + if (companyId == null) { + historyDetailPO.setOperateDetail("未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue; + } + map.put("id", companyId); + Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map, false).sync(); + if (OrgImportUtil.isThrowError(syncMap)) { + // 刷新组织架构图 + //TODO new CompanyTriggerRunnable(companyId).run(); + historyDetailPO.setOperateDetail("更新成功"); + historyDetailPO.setStatus("1"); + } else { + historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); + historyDetailPO.setStatus("0"); + } + OrgImportUtil.saveImportDetailLog(historyDetailPO); + } else { + historyDetailPO.setOperateDetail("编号为空,更新失败"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + } + } + } + return importHistoryId; + } } diff --git a/src/com/engine/organization/util/saveimport/OrgImportUtil.java b/src/com/engine/organization/util/saveimport/OrgImportUtil.java index e5fa6df4..c3920e26 100644 --- a/src/com/engine/organization/util/saveimport/OrgImportUtil.java +++ b/src/com/engine/organization/util/saveimport/OrgImportUtil.java @@ -11,6 +11,7 @@ import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.validator.GenericValidator; import org.apache.poi.hssf.usermodel.HSSFDateUtil; @@ -162,4 +163,25 @@ public class OrgImportUtil { cellValue = Util.toHtmlForHrm(cellValue); return cellValue; } + + public static boolean isBreak(JclImportHistoryDetailPO historyDetailPO, String cellValue, List infoPOList) { + String operateDetail = ""; + if (CollectionUtils.isEmpty(infoPOList)) { + operateDetail = "[" + cellValue + "]未找到对应字段"; + } + if (infoPOList.size() > 1) { + operateDetail = "[" + cellValue + "]在表中定义多个,请修改后重新导入"; + } + if (StringUtils.isNotBlank(operateDetail)) { + historyDetailPO.setOperateDetail(operateDetail); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + return true; + } + return false; + } + + public static boolean isThrowError(Map resultMap) { + return "1".equals(Util.null2String(resultMap.get("status"))) || "1".equals(Util.null2String(resultMap.get("sign"))); + } } From 324881794bf5865bcfd94650ab24d88dda0e92f6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 6 Dec 2022 15:06:51 +0800 Subject: [PATCH 040/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/jclimport/po/HrmFormFieldPO.java | 9 +++++---- .../service/impl/ImportCommonServiceImpl.java | 5 ----- .../organization/util/saveimport/CompanyImport.java | 8 ++++---- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java b/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java index d32a8d19..83cc0390 100644 --- a/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java +++ b/src/com/engine/organization/entity/jclimport/po/HrmFormFieldPO.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import org.json.JSONException; import org.json.JSONObject; +import weaver.general.Util; /** * @author:dxfeng @@ -29,10 +30,10 @@ public class HrmFormFieldPO { public JSONObject getJsonObject(String fieldValue) throws JSONException { JSONObject jsonObject = new JSONObject(); - jsonObject.put("fieldid", this.fieldId); - jsonObject.put("fieldhtmltype", this.fieldHtmlType); - jsonObject.put("type", this.type); - jsonObject.put("dmlurl", this.dmlUrl); + jsonObject.put("fieldid", Util.null2String(this.fieldId)); + jsonObject.put("fieldhtmltype", Util.null2String(this.fieldHtmlType)); + jsonObject.put("type", Util.null2String(this.type)); + jsonObject.put("dmlurl", Util.null2String(this.dmlUrl)); jsonObject.put("fieldvalue", fieldValue); return jsonObject; } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index f212d21a..ac562792 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -238,7 +238,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ if (StringUtils.isNotBlank(importType)) { switch (importType) { case "company": - // returnMap.put("pId", companyImport(operateType, excelFile)); returnMap.put("pId", CompanyImport.saveImport(operateType, excelFile, user)); break; case "department": @@ -305,7 +304,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - private List getDepartmentImportForm(String templatePath) throws IOException { // 返回导入数据 @@ -566,8 +564,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - - /** * 导入部门 */ @@ -1872,7 +1868,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - /** * 判断表头是否正确 * diff --git a/src/com/engine/organization/util/saveimport/CompanyImport.java b/src/com/engine/organization/util/saveimport/CompanyImport.java index 9827fabd..ceffb03c 100644 --- a/src/com/engine/organization/util/saveimport/CompanyImport.java +++ b/src/com/engine/organization/util/saveimport/CompanyImport.java @@ -4,6 +4,7 @@ import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; +import com.engine.hrm.util.face.hrmrestful.service.HrmFieldManagerForService; import com.engine.organization.entity.fieldset.param.FieldTransferParam; import com.engine.organization.entity.jclimport.po.HrmFormFieldPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; @@ -23,7 +24,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import weaver.file.ImageFileManager; import weaver.general.Util; import weaver.hrm.User; -import weaver.hrm.definedfield.HrmFieldManager; import weaver.systeminfo.SystemEnv; import java.io.IOException; @@ -193,7 +193,7 @@ public class CompanyImport { if ("subcompanyname".equalsIgnoreCase(infoPO.getFieldName())) { reallyValue = cellValue; } else { - reallyValue = HrmFieldManager.getReallyFieldvalue(infoPO.getJsonObject(cellValue)); + reallyValue = HrmFieldManagerForService.getReallyFieldvalue(infoPO.getJsonObject(cellValue), true); } } catch (Exception e) { historyDetailPO.setOperateDetail(cellValue + "转换失败"); @@ -228,7 +228,7 @@ public class CompanyImport { } } } - map.put("supsubcomid", parentCompanyId); + map.put("supsubcomid", Util.null2String(parentCompanyId)); companyName = split[split.length - 1]; map.put("subcompanyname", companyName); @@ -265,7 +265,7 @@ public class CompanyImport { OrgImportUtil.saveImportDetailLog(historyDetailPO); continue; } - map.put("id", companyId); + map.put("id", Util.null2String(companyId)); Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map, false).sync(); if (OrgImportUtil.isThrowError(syncMap)) { // 刷新组织架构图 From 64af65cad3a50ba63848c07672d4a31385b90899 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 6 Dec 2022 17:11:48 +0800 Subject: [PATCH 041/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/department/DepartmentMapper.java | 2 + .../mapper/department/DepartmentMapper.xml | 5 + .../service/impl/ImportCommonServiceImpl.java | 317 +---------------- .../util/saveimport/DepartmentImport.java | 321 ++++++++++++++++++ 4 files changed, 335 insertions(+), 310 deletions(-) create mode 100644 src/com/engine/organization/util/saveimport/DepartmentImport.java diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index 2d11b779..92822914 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -94,4 +94,6 @@ public interface DepartmentMapper { int countUsedInJob(@Param("supDepId") Long supDepId); + String getIdByDepartmentCode(@Param("departmentCode") String departmentCode); + } diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index c6dd62fa..4b6d195e 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -139,6 +139,11 @@ and delete_type = 0 and parent_dept = = #{supDepId} + diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index ac562792..f0383420 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -43,6 +43,7 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.excel.ExcelUtil; import com.engine.organization.util.saveimport.CompanyImport; +import com.engine.organization.util.saveimport.DepartmentImport; import com.engine.organization.util.saveimport.OrgImportUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -74,14 +75,10 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ /** * extend_group */ - private static final Long COMPANY_TYPE = 1L; - private static final Long DEPARTMENT_TYPE = 2L; private static final Long JOB_TYPE = 3L; private static final Long RESOURCE_TYPE = 4L; private static final String RIGHT_NAME = "DataImport:All"; - private static final String HRM_COMPANY = "hrmsubcompany"; - private static final String HRM_DEPARTMENT = "hrmdepartment"; private static final String HRM_RESOURCE = "hrmresource"; static Map importFieldsMap; @@ -126,11 +123,10 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ excludeFields.add("subshowid"); return CompanyImport.getImportFields(user, excludeFields); case "department": - extendType = "2"; - tableName = "JCL_ORG_DEPT"; - excludeFields.add("parent_dept"); - excludeFields.add("ec_department"); - break; + excludeFields.add("departmentname"); + excludeFields.add("supdepid"); + excludeFields.add("showid"); + return DepartmentImport.getImportFields(user, excludeFields); case "jobtitle": extendType = "3"; tableName = "JCL_ORG_JOB"; @@ -202,7 +198,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("condition", CompanyImport.importForm(user, templatePath)); break; case "department": - returnMap.put("condition", getDepartmentImportForm(templatePath)); + returnMap.put("condition", DepartmentImport.importForm(user, templatePath)); break; case "jobtitle": returnMap.put("condition", getJobTitleImportForm(templatePath)); @@ -241,7 +237,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("pId", CompanyImport.saveImport(operateType, excelFile, user)); break; case "department": - returnMap.put("pId", departmentImport(operateType, excelFile)); + returnMap.put("pId", DepartmentImport.saveImport(operateType, excelFile, user)); break; case "jobtitle": returnMap.put("pId", jobImport(operateType, excelFile)); @@ -304,68 +300,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - private List getDepartmentImportForm(String templatePath) throws IOException { - - // 返回导入数据 - List lsGroup = new ArrayList<>(); - Map groupItem = new HashMap<>(); - List itemList = new ArrayList<>(); - - groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); - groupItem.put("defaultshow", true); - - SearchConditionItem searchConditionItem; - ConditionFactory conditionFactory = new ConditionFactory(user); - //导入类型 - List statusOptions = new ArrayList<>(); - statusOptions.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); - statusOptions.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); - searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions); - searchConditionItem.setValue("add"); - itemList.add(searchConditionItem); - - //模板文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); - searchConditionItem.setValue(templatePath); - itemList.add(searchConditionItem); - - //Excel文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); - itemList.add(searchConditionItem); - - groupItem.put("items", itemList); - lsGroup.add(groupItem); - - - itemList = new ArrayList<>(); - groupItem = new HashMap<>(); - groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); - groupItem.put("defaultshow", true); - List lsPromptLabel = new ArrayList<>(); //提示信息 - lsPromptLabel.add(34275); - lsPromptLabel.add(125452); - lsPromptLabel.add(125466); - //lsPromptLabel.add(522355); - //lsPromptLabel.add(522356); - //lsPromptLabel.add(522357); - //lsPromptLabel.add(530411); - - for (int i = 0; i < lsPromptLabel.size(); i++) { - Map item = new HashMap<>(); - item.put("index", (i + 1)); - String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); - if (i == 0) { - value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); - item.put("link", templatePath); - } - item.put("value", value); - itemList.add(item); - } - groupItem.put("items", itemList); - lsGroup.add(groupItem); - return lsGroup; - } - private List getJobTitleImportForm(String templatePath) throws IOException { // 返回导入数据 @@ -564,243 +498,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - /** - * 导入部门 - */ - private Long departmentImport(String operateType, String excelFile) { - Long importHistoryId = OrgImportUtil.saveImportLog("department", operateType, user); - JclImportHistoryDetailPO historyDetailPO; - - ImageFileManager manager = new ImageFileManager(); - manager.getImageFileInfoById(Util.getIntValue(excelFile)); - XSSFWorkbook workbook; - try { - workbook = new XSSFWorkbook(manager.getInputStream()); - } catch (IOException e) { - throw new RuntimeException(e); - } - // 当前sheet - XSSFSheet sheetAt = workbook.getSheetAt(0); - int lastRow = sheetAt.getLastRowNum(); - List extendInfoPOS = new ArrayList<>(); - OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); - short lastCellNum = sheetAt.getRow(0).getLastCellNum(); - - - // 遍历每一行数据 - nextRow: - for (int i = 0; i <= lastRow; i++) { - historyDetailPO = new JclImportHistoryDetailPO(); - historyDetailPO.setPid(importHistoryId); - XSSFRow row = sheetAt.getRow(i); - if (null == row) { - continue; - } - // 组装待处理数据 - Map map = new HashMap<>(); - Integer parentCompanyId = null; - Integer parentDepartmentId = null; - String departmentName = ""; - - historyDetailPO.setRowNums(String.valueOf(i + 1)); - for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { - XSSFCell cell = row.getCell((short) cellIndex); - String cellValue = getCellValue(cell).trim(); - if (i == 0) { - // 首行 初始化字段信息 - List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(DEPARTMENT_TYPE, cellValue); - boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); - if (isBreak) { - break nextRow; - } - ExtendInfoPO extendInfoPO = infoPOList.get(0); - extendInfoPOS.add(extendInfoPO); - } else { - ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); - // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"dept_no".equalsIgnoreCase(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - - Object reallyValue; - try { - reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); - } catch (Exception e) { - historyDetailPO.setOperateDetail(cellValue + "转换失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - map.put(infoPO.getFieldName(), reallyValue); - // 上级分部 - if ("ec_company".equals(infoPO.getFieldName())) { - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("分部层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - } - - if ("dept_name".equals(infoPO.getFieldName())) { - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - historyDetailPO.setRelatedName(cellValue); - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("部门层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (int index = 0; index < split.length - 1; index++) { - parentDepartmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(split[index], parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); - if (null == parentDepartmentId) { - historyDetailPO.setOperateDetail(split[index] + "部门未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - map.put("parent_comp", parentCompanyId); - map.put("ec_company", parentCompanyId); - map.put("parent_dept", parentDepartmentId); - map.put("ec_department", parentDepartmentId); - - departmentName = split[split.length - 1]; - map.put("dept_name", departmentName); - } - if ("dept_principal".equals(infoPO.getFieldName())) { - boolean hasSameName = hasSameName(historyDetailPO, cellValue); - if (hasSameName) { - continue nextRow; - } - } - } - } - // 校验、数据交互 - if (i == 0) { - continue; - } - String deptNo = (String) map.get("dept_no"); - Integer departmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(departmentName, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); - if ("add".equals(operateType)) { - if (departmentId != null) { - historyDetailPO.setOperateDetail("数据已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - // 自动编号 - try { - deptNo = DepartmentServiceImpl.repeatDetermine(deptNo); - } catch (OrganizationRunTimeException e) { - historyDetailPO.setOperateDetail(e.getMessage()); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - map.put("dept_no", deptNo); - map.put("creator", user.getUID()); - map.put("delete_type", 0); - map.put("create_time", new Date()); - // 禁用表示为空,默认启用 - if (StringUtils.isBlank(Util.null2String(map.get("forbidden_tag")))) { - map.put("forbidden_tag", 0); - } - String showOrder = Util.null2String(map.get("show_order")); - if (StringUtils.isBlank(showOrder)) { - Double maxShowOrder = MapperProxyFactory.getProxy(DepartmentMapper.class).getMaxShowOrder(); - if (null == maxShowOrder) { - maxShowOrder = 0D; - } - map.put("show_order", maxShowOrder + 1); - } - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, map, false).sync(); - if (OrgImportUtil.isThrowError(syncMap)) { - // 查询UUID - String ecDepartmentID = Util.null2String(syncMap.get("id")); - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_DEPARTMENT, ecDepartmentID); - map.put("uuid", recordInfo.getUuid()); - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_DEPT").params(map).build(); - MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams); - // 刷新组织架构图 - //TODO new DepartmentTriggerRunnable(infoParams.getId()).run(); - map.put("id", infoParams.getId()); - historyDetailPO.setOperateDetail("添加成功"); - historyDetailPO.setStatus("1"); - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else if ("update".equals(operateType)) { - // 查询对应ID - if (StringUtils.isNotBlank(deptNo)) { - if (departmentId == null) { - historyDetailPO.setOperateDetail("未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - if (checkRepeatNo(deptNo, DEPARTMENT_TYPE, Long.valueOf(departmentId))) { - map.put("update_time", new Date()); - map.put("id", departmentId); - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map, false).sync(); - if (OrgImportUtil.isThrowError(syncMap)) { - map.remove("id"); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(Long.valueOf(departmentId)).tableName("JCL_ORG_DEPT").params(map).build()); - // 刷新组织架构图 - //TODO new DepartmentTriggerRunnable(departmentId).run(); - historyDetailPO.setOperateDetail("更新成功"); - historyDetailPO.setStatus("1"); - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else { - historyDetailPO.setOperateDetail(deptNo + "编号已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } else { - historyDetailPO.setOperateDetail("编号为空,更新失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } - } - return importHistoryId; - } - /** * 岗位导入 */ diff --git a/src/com/engine/organization/util/saveimport/DepartmentImport.java b/src/com/engine/organization/util/saveimport/DepartmentImport.java new file mode 100644 index 00000000..3d5dea57 --- /dev/null +++ b/src/com/engine/organization/util/saveimport/DepartmentImport.java @@ -0,0 +1,321 @@ +package com.engine.organization.util.saveimport; + +import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.api.browser.util.ConditionFactory; +import com.api.browser.util.ConditionType; +import com.engine.hrm.util.face.hrmrestful.service.HrmFieldManagerForService; +import com.engine.organization.entity.fieldset.param.FieldTransferParam; +import com.engine.organization.entity.jclimport.po.HrmFormFieldPO; +import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; +import com.engine.organization.enums.HrmGroupEnum; +import com.engine.organization.enums.LogModuleNameEnum; +import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.mapper.jclimport.ImportMapper; +import com.engine.organization.thread.OrganizationSyncEc; +import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.db.MapperProxyFactory; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import weaver.file.ImageFileManager; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.systeminfo.SystemEnv; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2022/12/06 + * @version: 1.0 + */ +public class DepartmentImport { + + private static ImportMapper getImportMapper() { + return MapperProxyFactory.getProxy(ImportMapper.class); + } + + /** + * 导入模板可选择字段 + * + * @param user 当前用户 + * @param excludedFields 排除的字段 + */ + public static Map getImportFields(User user, List excludedFields) { + Map returnMaps = new HashMap<>(); + List importFields = getImportMapper().getImportFields(user.getLanguage(), HrmGroupEnum.DEPARTMENT.getGroupType()); + importFields.removeIf(item -> excludedFields.contains(item.getFieldName())); + + // 查询所有可以勾选的字段 + List fieldDatas = importFields.stream().map(item -> FieldTransferParam.builder().id(item.getFieldId().toString()).name(item.getLabelName()).build()).collect(Collectors.toList()); + returnMaps.put("data", fieldDatas); + // 设置必填字段 + List selectedKeys = importFields.stream().filter(item -> null != item.getIsSystem() && 1 == item.getIsSystem() && 1 == item.getIsMand()).map(item -> item.getFieldId().toString()).collect(Collectors.toList()); + returnMaps.put("selectedKeys", selectedKeys); + return returnMaps; + } + + /** + * 获取导入模板及导入提示信息 + * + * @param user 当前用户 + * @param templatePath 导入模板路径 + */ + public static List> importForm(User user, String templatePath) { + + // 返回导入数据 + List> lsGroup = new ArrayList<>(); + Map groupItem = new HashMap<>(); + List itemList = new ArrayList<>(); + + groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); + groupItem.put("defaultshow", true); + + SearchConditionItem searchConditionItem; + ConditionFactory conditionFactory = new ConditionFactory(user); + //导入类型 + List statusOptions = new ArrayList<>(); + statusOptions.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); + statusOptions.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); + searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions); + searchConditionItem.setValue("add"); + itemList.add(searchConditionItem); + + //模板文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); + searchConditionItem.setValue(templatePath); + itemList.add(searchConditionItem); + + //Excel文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); + itemList.add(searchConditionItem); + + groupItem.put("items", itemList); + lsGroup.add(groupItem); + + + itemList = new ArrayList<>(); + groupItem = new HashMap<>(); + groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); + groupItem.put("defaultshow", true); + List lsPromptLabel = new ArrayList<>(); //提示信息 + lsPromptLabel.add(34275); + lsPromptLabel.add(125452); + lsPromptLabel.add(125466); + + for (int i = 0; i < lsPromptLabel.size(); i++) { + Map item = new HashMap<>(); + item.put("index", (i + 1)); + String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); + if (i == 0) { + value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); + item.put("link", templatePath); + } + item.put("value", value); + itemList.add(item); + } + groupItem.put("items", itemList); + lsGroup.add(groupItem); + return lsGroup; + } + + /** + * @param operateType 导入类型 + * @param excelFile 上传的文件 + * @param user 当前用户 + */ + public static Long saveImport(String operateType, String excelFile, User user) { + Long importHistoryId = OrgImportUtil.saveImportLog("department", operateType, user); + JclImportHistoryDetailPO historyDetailPO; + + ImageFileManager manager = new ImageFileManager(); + manager.getImageFileInfoById(Util.getIntValue(excelFile)); + XSSFWorkbook workbook; + try { + workbook = new XSSFWorkbook(manager.getInputStream()); + } catch (IOException e) { + throw new RuntimeException(e); + } + // 当前sheet + XSSFSheet sheetAt = workbook.getSheetAt(0); + int lastRow = sheetAt.getLastRowNum(); + List extendInfoPOS = new ArrayList<>(); + OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); + short lastCellNum = sheetAt.getRow(0).getLastCellNum(); + + + // 遍历每一行数据 + nextRow: + for (int i = 0; i <= lastRow; i++) { + historyDetailPO = new JclImportHistoryDetailPO(); + historyDetailPO.setPid(importHistoryId); + XSSFRow row = sheetAt.getRow(i); + if (null == row) { + continue; + } + // 组装待处理数据 + Map map = new HashMap<>(); + Integer parentCompanyId = null; + Integer parentDepartmentId = null; + String departmentName = ""; + + historyDetailPO.setRowNums(String.valueOf(i + 1)); + for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { + XSSFCell cell = row.getCell((short) cellIndex); + String cellValue = OrgImportUtil.getCellValue(cell).trim(); + if (i == 0) { + // 首行 初始化字段信息 + List infoPOList = getImportMapper().getImportFieldInfo(user.getLanguage(), HrmGroupEnum.DEPARTMENT.getGroupType(), cellValue); + boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); + if (isBreak) { + break nextRow; + } + extendInfoPOS.add(infoPOList.get(0)); + } else { + HrmFormFieldPO infoPO = extendInfoPOS.get(cellIndex); + + // 数据校验 + if (infoPO.getIsMand() == 1 && StringUtils.isBlank(cellValue) && !"departmentcode".equalsIgnoreCase(infoPO.getFieldName())) { + historyDetailPO.setOperateDetail(infoPO.getLabelName() + "为必填项"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + + Object reallyValue; + try { + if ("departmentmark".equalsIgnoreCase(infoPO.getFieldName()) || "subcompanyid1".equalsIgnoreCase(infoPO.getFieldName())) { + reallyValue = cellValue; + } else { + reallyValue = HrmFieldManagerForService.getReallyFieldvalue(infoPO.getJsonObject(cellValue), true); + } + } catch (Exception e) { + historyDetailPO.setOperateDetail(cellValue + "转换失败"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue))) { + historyDetailPO.setOperateDetail(infoPO.getLabelName() + "数据转换失败,未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + map.put(infoPO.getFieldName(), reallyValue); + // 上级分部 + if ("subcompanyid1".equals(infoPO.getFieldName())) { + String[] split = cellValue.split(">"); + if (split.length > 0) { + if (split.length > 8) { + historyDetailPO.setOperateDetail("分部层级不能大于10"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + for (String s : split) { + parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); + if (null == parentCompanyId) { + historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } + } + } + + if ("departmentmark".equals(infoPO.getFieldName())) { + if (null == parentCompanyId) { + historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + historyDetailPO.setRelatedName(cellValue); + String[] split = cellValue.split(">"); + if (split.length > 0) { + if (split.length > 8) { + historyDetailPO.setOperateDetail("部门层级不能大于10"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + for (int index = 0; index < split.length - 1; index++) { + parentDepartmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(split[index], parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); + if (null == parentDepartmentId) { + historyDetailPO.setOperateDetail(split[index] + "部门未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue nextRow; + } + } + } + map.put("subcompanyid1", Util.null2String(parentCompanyId)); + map.put("supdepid", Util.null2String(parentDepartmentId)); + + departmentName = split[split.length - 1]; + map.put("departmentmark", departmentName); + map.put("departmentname", departmentName); + } + } + } + // 校验、数据交互 + if (i == 0) { + continue; + } + if ("add".equals(operateType)) { + Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, map, false).sync(); + if (OrgImportUtil.isThrowError(syncMap)) { + // 查询UUID + historyDetailPO.setOperateDetail("添加成功"); + historyDetailPO.setStatus("1"); + } else { + historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); + historyDetailPO.setStatus("0"); + } + OrgImportUtil.saveImportDetailLog(historyDetailPO); + } else if ("update".equals(operateType)) { + String deptNo = (String) map.get("departmentcode"); + // 查询对应ID + if (StringUtils.isNotBlank(deptNo)) { + String departmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByDepartmentCode(deptNo); + if (departmentId == null) { + historyDetailPO.setOperateDetail("未找到对应数据"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + continue; + } + map.put("id", departmentId); + Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map, false).sync(); + if (OrgImportUtil.isThrowError(syncMap)) { + // 刷新组织架构图 + //TODO new DepartmentTriggerRunnable(departmentId).run(); + historyDetailPO.setOperateDetail("更新成功"); + historyDetailPO.setStatus("1"); + } else { + historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); + historyDetailPO.setStatus("0"); + } + OrgImportUtil.saveImportDetailLog(historyDetailPO); + + } else { + historyDetailPO.setOperateDetail("编号为空,更新失败"); + historyDetailPO.setStatus("0"); + OrgImportUtil.saveImportDetailLog(historyDetailPO); + } + } + } + return importHistoryId; + } + +} From 6fc67d7d679c1966ab5c6cb4ee508dbdf9ab8c48 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 7 Dec 2022 10:36:05 +0800 Subject: [PATCH 042/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E3=80=81=E7=BC=96=E8=BE=91=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CompServiceImpl.java | 416 ++++++++++-------- .../organization/web/CompController.java | 3 +- 2 files changed, 236 insertions(+), 183 deletions(-) diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index bd82cb55..bcc4cac2 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -12,19 +12,17 @@ import com.engine.core.impl.Service; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.TopTab; import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.dto.CompListDTO; import com.engine.organization.entity.company.param.CompParam; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.param.DepartmentMoveParam; -import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.service.CompService; -import com.engine.organization.service.ExtService; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; import com.engine.organization.util.db.MapperProxyFactory; @@ -34,13 +32,16 @@ import com.engine.organization.util.page.PageInfo; import com.engine.organization.util.page.PageUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; +import weaver.conn.RecordSet; import weaver.general.Util; -import weaver.hrm.User; +import weaver.hrm.HrmUserVarify; import weaver.hrm.company.SubCompanyComInfo; import weaver.hrm.definedfield.HrmDeptFieldManagerE9; import weaver.hrm.definedfield.HrmFieldComInfo; import weaver.hrm.definedfield.HrmFieldGroupComInfo; +import weaver.hrm.moduledetach.ManageDetachComInfo; import weaver.systeminfo.SystemEnv; +import weaver.systeminfo.systemright.CheckSubCompanyRight; import java.util.*; import java.util.stream.Collectors; @@ -52,48 +53,13 @@ import java.util.stream.Collectors; * @version: 1.0 */ public class CompServiceImpl extends Service implements CompService { - /** - * 分组类型 - * 1:分部 - * 2:部门 - * 3:岗位 - */ - private static final String EXTEND_TYPE = "1"; - /** - * 主表表名 - */ - private static final String JCL_ORG_COMP = "JCL_ORG_COMP"; - /** - * 主表拓展表 - */ - private static final String JCL_ORG_COMPEXT = "JCL_ORG_COMPEXT"; - /** - * 明细表拓展表 - */ - private static final String JCL_ORG_COMPEXT_DT1 = "JCL_ORG_COMPEXT_DT1"; private static final String RIGHT_NAME = "Company:All"; - private static final String HRM_COMPANY = "hrmsubcompany"; - - /** - * 公司/分部主表title指定ID - */ - private static final Long GROUP_ID = 1L; - private static CompMapper getCompMapper() { return MapperProxyFactory.getProxy(CompMapper.class); } - private ExtendTitleMapper getExtendTitleMapper() { - return MapperProxyFactory.getProxy(ExtendTitleMapper.class); - } - - private ExtService getExtService(User user) { - return ServiceUtil.getService(ExtServiceImpl.class, user); - } - - @Override public Map listPage(CompParam params) { Map datas = new HashMap<>(); @@ -105,7 +71,7 @@ public class CompServiceImpl extends Service implements CompService { CompPO companyPO = CompBO.convertParamToPO(params, user.getUID()); boolean filter = isFilter(companyPO); PageInfo pageInfos; - String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams()," showorder "); + String orderSql = PageInfoSortUtil.getSortSql(params.getSortParams(), " showorder "); List allList = getCompMapper().listAll(orderSql); new DetachUtil(user.getUID()).filterCompanyList(allList); @@ -211,43 +177,162 @@ public class CompServiceImpl extends Service implements CompService { @Override public Map getCompBaseForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - OrganizationAssert.notNull(params.get("viewAttr"), "请标识操作类型"); - // 2编辑 1查看 + Map retMap = new HashMap<>(); + List groupList = new ArrayList<>(); + List itemList; + List extendItemList = new ArrayList<>(); + + String id = Util.null2String(params.get("id")); int viewAttr = Integer.parseInt((String) params.get("viewAttr")); - long id = Long.parseLong((String) params.get("id")); - String groupId = (String) params.get("viewCondition"); - HashMap buttonsMap = new HashMap<>(); - buttonsMap.put("hasEdit", true); - buttonsMap.put("hasSave", true); + if (2 == viewAttr) { + params.put("viewattr", viewAttr); + Object condition = getCompSaveForm(params).get("condition"); + if (condition instanceof List) { + groupList = getCompanyConditionGroups(params); + } + } else { + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); + HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + SearchConditionItem searchConditionItem; + HrmFieldBean hrmFieldBean; + HrmDeptFieldManagerE9 hfm; + try { + hfm = new HrmDeptFieldManagerE9(4); + } catch (Exception e) { + throw new RuntimeException(e); + } - List addGroups = new ArrayList<>(); - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId), "1"); + hfm.getCustomData(Util.getIntValue(id)); + List lsGroup = hfm.getLsGroup(); + for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + String groupId = (String) lsGroup.get(tmp); + List lsField = hfm.getLsField(groupId); + if (lsField.size() == 0) + continue; + if (hfm.getGroupCount(lsField) == 0) + continue; + if (!Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)).equals("1")) continue; + + String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); + itemList = new ArrayList<>(); + for (Object o : lsField) { + String fieldId = (String) o; + String isUse = HrmFieldComInfo.getIsused(fieldId); + if (!isUse.equals("1")) continue; + String fieldName = HrmFieldComInfo.getFieldname(fieldId); + String fieldLabel = HrmFieldComInfo.getLabel(fieldId); + String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); + String type = HrmFieldComInfo.getFieldType(fieldId); + String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); + String isSystem = HrmFieldComInfo.getIssystem(fieldId); + String fieldValue; + if (isSystem.equals("1")) { + fieldValue = hfm.getData(fieldName); + } else { + fieldValue = hfm.getData("hrmsubcompanydefined", fieldName); + } + + if ("84".equals(fieldId)) { + if (user.getUID() != 1) continue; + fieldValue = fieldValue.equals("0") ? "" : fieldValue; + } + + if (id.length() > 0 && fieldName.equals("subshowid")) { + fieldValue = id; + } - if (CollectionUtils.isNotEmpty(extendTitles)) { - for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_COMP : JCL_ORG_COMPEXT, viewAttr, id, extendTitle.getId() + "", ""); - if (CollectionUtils.isNotEmpty(items)) { - addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(fieldId); + hrmFieldBean.setFieldname(fieldName); + hrmFieldBean.setFieldlabel(fieldLabel); + hrmFieldBean.setFieldhtmltype(fieldHtmlType); + hrmFieldBean.setType(type); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setFieldvalue(fieldValue); + hrmFieldBean.setDmlurl(dmlUrl); + hrmFieldBean.setIssystem("1"); + searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + if (searchConditionItem.getBrowserConditionParam() != null) { + searchConditionItem.getBrowserConditionParam().setViewAttr(viewAttr); + } + if (fieldName.equals("showorder")) { + searchConditionItem.setPrecision(2); + } + + if ("6".equals(fieldHtmlType)) {//附件 + Map otherParams1 = new HashMap<>(); + otherParams1.put("showOrder", false); + searchConditionItem.setOtherParams(otherParams1); + } + + searchConditionItem.setViewAttr(viewAttr); + if ("1".equals(isSystem)) { + itemList.add(searchConditionItem); + } else { + extendItemList.add(searchConditionItem); + } } + + int operateLevel; + ManageDetachComInfo manageDetachComInfo = new ManageDetachComInfo(); + boolean hrmDetachAble = manageDetachComInfo.isUseHrmManageDetach(); + if (hrmDetachAble) { + CheckSubCompanyRight checkSubCompanyRight = new CheckSubCompanyRight(); + operateLevel = checkSubCompanyRight.ChkComRightByUserRightCompanyId(user.getUID(), "HrmSubCompanyEdit:Edit", Integer.parseInt(id)); + } else { + operateLevel = 2; + } + + if (tmp == 0 && HrmUserVarify.checkUserRight("HrmSubCompanyEdit:Edit", user) && operateLevel > 0) { + int resourceNum = 0; + + String sql; + RecordSet rs = new RecordSet(); + sql = "SELECT COUNT(*) FROM hrmresource WHERE subcompanyid1 = " + id + " and ( status =0 or status = 1 or status = 2 or status = 3)"; + rs.execute(sql); + if (rs.next()) { + resourceNum = rs.getInt(1); + } + //4:解聘 5:离职 6:退休 7:无效 + int resourceNum1 = 0; + sql = "SELECT COUNT(*) FROM hrmresource WHERE subcompanyid1 = " + id + " and status in(4,5,6,7)"; + rs.execute(sql); + if (rs.next()) { + resourceNum1 = rs.getInt(1); + } + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldname("subcomResourceInfo"); + hrmFieldBean.setFieldlabel("382428"); + hrmFieldBean.setFieldhtmltype("1"); + hrmFieldBean.setType("1"); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setFieldvalue(resourceNum + "/" + resourceNum1); + hrmFieldBean.setDmlurl(""); + searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + searchConditionItem.setViewAttr(viewAttr); + itemList.add(searchConditionItem); + } + + groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage()), true, itemList)); + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); } } + HashMap buttonsMap = new HashMap<>(); + buttonsMap.put("hasEdit", true); + buttonsMap.put("hasSave", true); - HashMap resultMap = new HashMap<>(); - resultMap.put("buttons", buttonsMap); - resultMap.put("conditions", addGroups); - resultMap.put("id", id); - // 拓展页面分组 - resultMap.put("tabInfo", getExtService(user).getTabInfo(EXTEND_TYPE, JCL_ORG_COMPEXT)); - // 处理明细表 - resultMap.put("tables", getExtService(user).getExtendTables(user, EXTEND_TYPE, Long.parseLong(groupId), JCL_ORG_COMPEXT_DT1, id, viewAttr, false)); - Map apiDatas = new HashMap<>(); + retMap.put("id", id); + retMap.put("conditions", groupList); + retMap.put("buttons", buttonsMap); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().color("#000000").groupId("4").showcount(false).title("分部信息").viewCondition("4").build()); + retMap.put("tabInfo", topTabs); - apiDatas.put("result", resultMap); + Map apiDatas = new HashMap<>(); + apiDatas.put("result", retMap); return apiDatas; } @@ -256,18 +341,79 @@ public class CompServiceImpl extends Service implements CompService { public Map getCompSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - List> grouplist = new ArrayList<>(); + apiDatas.put("condition", getCompanyConditionGroups(params)); + return apiDatas; + + } + + @Override + public List getMoveForm() { + List addGroups = new ArrayList<>(); + List condition = new ArrayList<>(); + SearchConditionItem compBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "转移到", "164", "company", "compBrowser"); + compBrowserItem.setHelpfulTip("在不选择分部情况下,默认转移到集团下一级分部!!!"); + condition.add(compBrowserItem); + addGroups.add(new SearchConditionGroup("", true, condition)); + return addGroups; + } + + @Override + public int moveCompany(DepartmentMoveParam moveParam) { + Integer companyId = moveParam.getId(); + Integer targetCompanyId = moveParam.getCompany(); + // 判断目标分部是否为它本身以及子元素 + Set disableIds = new HashSet<>(); + disableIds.add(companyId); + List compPOS = getCompMapper().listChild(DeleteParam.builder().ids(companyId.toString()).build().getIds()); + if (CollectionUtils.isNotEmpty(compPOS)) { + addDisableIds(disableIds, compPOS); + } + OrganizationAssert.isFalse(disableIds.contains(targetCompanyId), "请勿选择当前分部本身及其子分部"); + + Map map = new HashMap<>(); + map.put("id", companyId.toString()); + map.put("supsubcomid", targetCompanyId.toString()); + new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map).sync(); + return companyId; + } + + /** + * 是否为搜索查询 + * + * @param companyPO + * @return + */ + private boolean isFilter(CompPO companyPO) { + return StringUtils.isNotBlank(companyPO.getSubCompanyCode()) || StringUtils.isNotBlank(companyPO.getSubCompanyDesc()) || StringUtils.isNotBlank(companyPO.getSubCompanyName()) || null != companyPO.getSupSubComId(); + } + + + /** + * 添加子元素ID + * + * @param disableIds + * @param compPOS + */ + private void addDisableIds(Set disableIds, List compPOS) { + for (CompPO compPO : compPOS) { + disableIds.add(compPO.getId()); + List childCompPOS = getCompMapper().listChild(DeleteParam.builder().ids(compPO.getId().toString()).build().getIds()); + addDisableIds(disableIds, childCompPOS); + } + } + + private List getCompanyConditionGroups(Map params) { String id = Util.null2String(params.get("id")); int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); String addType = Util.null2String(params.get("addType")); SubCompanyComInfo subCompanyComInfo = new SubCompanyComInfo(); - String supsubcomid = ""; + String supSubComId = ""; if ("sibling".equals(addType)) { - supsubcomid = subCompanyComInfo.getSupsubcomid(id); + supSubComId = subCompanyComInfo.getSupsubcomid(id); } else if ("child".equals(addType)) { - supsubcomid = id; + supSubComId = id; } if (StringUtils.isNotBlank(addType)) { id = ""; @@ -287,21 +433,20 @@ public class CompServiceImpl extends Service implements CompService { hfm.isReturnDecryptData(true); hfm.getCustomData(Util.getIntValue(id)); List lsGroup = hfm.getLsGroup(); + List groupList = new ArrayList<>(); for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId))); String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); - List itemList = new ArrayList<>(); - Map groupItem = new HashMap<>(); - groupItem.put("title", SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage())); - groupItem.put("hide", groupHide); - groupItem.put("defaultshow", true); - for (int j = 0; j < lsField.size(); j++) { - String fieldId = (String) lsField.get(j); + List itemList = new ArrayList<>(); + List extendItemList = new ArrayList<>(); + for (Object o : lsField) { + String fieldId = (String) o; String fieldName = HrmFieldComInfo.getFieldname(fieldId); String isUse = HrmFieldComInfo.getIsused(fieldId); + String isSystem = HrmFieldComInfo.getIssystem(fieldId); if (!"1".equals(isUse)) { continue; } @@ -312,9 +457,8 @@ public class CompServiceImpl extends Service implements CompService { String type = HrmFieldComInfo.getFieldType(fieldId); String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); String fieldValue = ""; - if (StringUtils.isNotBlank(addType)) { - } else { - if ("1".equals(HrmFieldComInfo.getIssystem(fieldId))) { + if (StringUtils.isBlank(addType)) { + if ("1".equals(isSystem)) { fieldValue = hfm.getData(fieldName); } else { fieldValue = hfm.getData("hrmsubcompanydefined", fieldName); @@ -336,8 +480,8 @@ public class CompServiceImpl extends Service implements CompService { } fieldValue = "0".equals(fieldValue) ? "" : fieldValue; } - if (supsubcomid.length() > 0 && "supsubcomid".equals(fieldName)) { - fieldValue = supsubcomid; + if (supSubComId.length() > 0 && "supsubcomid".equals(fieldName)) { + fieldValue = supSubComId; } if ("subshowid".equals(fieldName)) { @@ -385,106 +529,16 @@ public class CompServiceImpl extends Service implements CompService { otherParams1.put("showOrder", false); searchConditionItem.setOtherParams(otherParams1); } - - itemList.add(searchConditionItem); + if ("1".equals(isSystem)) { + itemList.add(searchConditionItem); + } else { + extendItemList.add(searchConditionItem); + } } } - groupItem.put("items", itemList); - grouplist.add(groupItem); - } - apiDatas.put("condition", grouplist); - return apiDatas; - - } - - @Override - public List getMoveForm() { - List addGroups = new ArrayList<>(); - List condition = new ArrayList<>(); - SearchConditionItem compBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "转移到", "164", "company", "compBrowser"); - compBrowserItem.setHelpfulTip("在不选择分部情况下,默认转移到集团下一级分部!!!"); - condition.add(compBrowserItem); - addGroups.add(new SearchConditionGroup("", true, condition)); - return addGroups; - } - - @Override - public int moveCompany(DepartmentMoveParam moveParam) { - Integer companyId = moveParam.getId(); - Integer targetCompanyId = moveParam.getCompany(); - // 判断目标分部是否为它本身以及子元素 - Set disableIds = new HashSet<>(); - disableIds.add(companyId); - List compPOS = getCompMapper().listChild(DeleteParam.builder().ids(companyId.toString()).build().getIds()); - if (CollectionUtils.isNotEmpty(compPOS)) { - addDisableIds(disableIds, compPOS); + groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage()), true, itemList)); + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); } - OrganizationAssert.isFalse(disableIds.contains(targetCompanyId), "请勿选择当前分部本身及其子分部"); - - Map map = new HashMap<>(); - map.put("id", companyId.toString()); - map.put("supsubcomid", targetCompanyId.toString()); - new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, map).sync(); - return companyId; + return groupList; } - - - /** - * 是否为搜索查询 - * - * @param companyPO - * @return - */ - private boolean isFilter(CompPO companyPO) { - return StringUtils.isNotBlank(companyPO.getSubCompanyCode()) || StringUtils.isNotBlank(companyPO.getSubCompanyDesc()) || StringUtils.isNotBlank(companyPO.getSubCompanyName()) || null != companyPO.getSupSubComId(); - } - - - /** - * 判断编号是否重复 - * - * @return - */ - public static String repeatDetermine(String compNo) { - //CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.SUBCOMPANY.getValue()); - //if (StringUtils.isNotBlank(compNo)) { - // compNo = CodeRuleUtil.generateCode(RuleCodeType.SUBCOMPANY, compNo); - // List list = getCompMapper().listByNo(Util.null2String(compNo)); - // OrganizationAssert.isEmpty(list, "编号不允许重复"); - //} else { - // OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); - // compNo = autoCreateCompanyNo(); - //} - //return compNo; - return ""; - } - - ///** - // * 自动编号处理 - // * - // * @return - // */ - //private static String autoCreateCompanyNo() { - // String generateCode = CodeRuleUtil.generateCode(RuleCodeType.SUBCOMPANY, ""); - // List list = getCompMapper().listByNo(Util.null2String(generateCode)); - // if (CollectionUtils.isNotEmpty(list)) { - // generateCode = autoCreateCompanyNo(); - // } - // return generateCode; - //} - - /** - * 添加子元素ID - * - * @param disableIds - * @param compPOS - */ - private void addDisableIds(Set disableIds, List compPOS) { - for (CompPO compPO : compPOS) { - disableIds.add(compPO.getId()); - List childCompPOS = getCompMapper().listChild(DeleteParam.builder().ids(compPO.getId().toString()).build().getIds()); - addDisableIds(disableIds, childCompPOS); - } - } - } diff --git a/src/com/engine/organization/web/CompController.java b/src/com/engine/organization/web/CompController.java index 0792c28d..6ee763de 100644 --- a/src/com/engine/organization/web/CompController.java +++ b/src/com/engine/organization/web/CompController.java @@ -184,8 +184,7 @@ public class CompController { try { User user = HrmUserVarify.getUser(request, response); Map params = ParamUtil.request2Map(request); - params.put("viewattr", 2); - return ReturnResult.successed(getCompWrapper(user).getCompSaveForm(params)); + return ReturnResult.successed(getCompWrapper(user).getCompBaseForm(params)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } From 37dc31b7b5fded7b06995ded4adcc3ea60887954 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 7 Dec 2022 11:49:06 +0800 Subject: [PATCH 043/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E3=80=81=E7=BC=96=E8=BE=91=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CompServiceImpl.java | 31 +- .../service/impl/DepartmentServiceImpl.java | 518 ++++++++++-------- 2 files changed, 313 insertions(+), 236 deletions(-) diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index bcc4cac2..47f2a37e 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -187,10 +187,7 @@ public class CompServiceImpl extends Service implements CompService { if (2 == viewAttr) { params.put("viewattr", viewAttr); - Object condition = getCompSaveForm(params).get("condition"); - if (condition instanceof List) { - groupList = getCompanyConditionGroups(params); - } + groupList = getCompanyConditionGroups(params); } else { HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); @@ -209,18 +206,24 @@ public class CompServiceImpl extends Service implements CompService { for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); - if (lsField.size() == 0) + if (lsField.size() == 0) { + continue; + } + if (hfm.getGroupCount(lsField) == 0) { continue; - if (hfm.getGroupCount(lsField) == 0) + } + if (!"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)))) { continue; - if (!Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)).equals("1")) continue; + } String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); itemList = new ArrayList<>(); for (Object o : lsField) { String fieldId = (String) o; String isUse = HrmFieldComInfo.getIsused(fieldId); - if (!isUse.equals("1")) continue; + if (!"1".equals(isUse)) { + continue; + } String fieldName = HrmFieldComInfo.getFieldname(fieldId); String fieldLabel = HrmFieldComInfo.getLabel(fieldId); String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); @@ -228,18 +231,20 @@ public class CompServiceImpl extends Service implements CompService { String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); String isSystem = HrmFieldComInfo.getIssystem(fieldId); String fieldValue; - if (isSystem.equals("1")) { + if ("1".equals(isSystem)) { fieldValue = hfm.getData(fieldName); } else { fieldValue = hfm.getData("hrmsubcompanydefined", fieldName); } if ("84".equals(fieldId)) { - if (user.getUID() != 1) continue; - fieldValue = fieldValue.equals("0") ? "" : fieldValue; + if (user.getUID() != 1) { + continue; + } + fieldValue = "0".equals(fieldValue) ? "" : fieldValue; } - if (id.length() > 0 && fieldName.equals("subshowid")) { + if (id.length() > 0 && "subshowid".equals(fieldName)) { fieldValue = id; } @@ -257,7 +262,7 @@ public class CompServiceImpl extends Service implements CompService { if (searchConditionItem.getBrowserConditionParam() != null) { searchConditionItem.getBrowserConditionParam().setViewAttr(viewAttr); } - if (fieldName.equals("showorder")) { + if ("showorder".equals(fieldName)) { searchConditionItem.setPrecision(2); } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 5d8ba83a..de15812f 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -12,6 +12,7 @@ import com.engine.core.impl.Service; import com.engine.hrm.entity.RuleCodeType; import com.engine.hrm.service.impl.OrganizationServiceImpl; import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.TopTab; import com.engine.organization.entity.codesetting.po.CodeRulePO; import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.po.CompPO; @@ -20,7 +21,6 @@ import com.engine.organization.entity.department.dto.DepartmentListDTO; import com.engine.organization.entity.department.param.*; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO; -import com.engine.organization.entity.extend.po.ExtendTitlePO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.job.vo.SingleJobTreeVO; @@ -32,10 +32,8 @@ import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.DepartmentService; -import com.engine.organization.service.ExtService; import com.engine.organization.thread.JobTriggerRunnable; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; @@ -52,12 +50,14 @@ import org.apache.commons.lang.StringUtils; import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; -import weaver.hrm.User; +import weaver.hrm.HrmUserVarify; import weaver.hrm.company.DepartmentComInfo; import weaver.hrm.definedfield.HrmDeptFieldManagerE9; import weaver.hrm.definedfield.HrmFieldComInfo; import weaver.hrm.definedfield.HrmFieldGroupComInfo; +import weaver.hrm.moduledetach.ManageDetachComInfo; import weaver.systeminfo.SystemEnv; +import weaver.systeminfo.systemright.CheckSubCompanyRight; import java.util.*; import java.util.stream.Collectors; @@ -70,34 +70,8 @@ import java.util.stream.Collectors; **/ public class DepartmentServiceImpl extends Service implements DepartmentService { - /** - * 分组类型 - * 1:分部 - * 2:部门 - * 3:岗位 - */ - private static final String EXTEND_TYPE = "2"; - /** - * 主表 - */ - private static final String JCL_ORG_DEPT = "JCL_ORG_DEPT"; - /** - * 主表拓展表 - */ - private static final String JCL_ORG_DEPTEXT = "JCL_ORG_DEPTEXT"; - /** - * 明细表拓展表 - */ - private static final String JCL_ORG_DEPTEXT_DT1 = "JCL_ORG_DEPTEXT_DT1"; - private static final String RIGHT_NAME = "Department:All"; - /** - * 部门主表title指定ID - */ - private static final Long GROUP_ID = 2L; - - private static DepartmentMapper getDepartmentMapper() { return MapperProxyFactory.getProxy(DepartmentMapper.class); } @@ -110,19 +84,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return MapperProxyFactory.getProxy(CompMapper.class); } - private ExtendTitleMapper getExtendTitleMapper() { - return MapperProxyFactory.getProxy(ExtendTitleMapper.class); - } - - private ExtService getExtService(User user) { - return ServiceUtil.getService(ExtServiceImpl.class, user); - } - @Override public PageInfo getDeptListByPid(QuerySingleDeptListParam param) { //1.查询分部下所有部门 - //PageUtil.start(param.getCurrent(), param.getPageSize()); List departmentPOS = MapperProxyFactory.getProxy(DepartmentMapper.class).listAll("showOrder"); PageInfo pageInfo = new PageInfo<>(departmentPOS); List singleDeptTreeVOS = DepartmentBO.buildSingleDeptTreeVOS(departmentPOS, param.getParentComp()); @@ -167,7 +132,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService DepartmentPO departmentPO = DepartmentBO.convertParamsToPO(param, user.getUID()); boolean filter = isFilter(departmentPO); PageInfo pageInfos; - String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams()," showorder "); + String orderSql = PageInfoSortUtil.getSortSql(param.getSortParams(), " showorder "); List allList = getDepartmentMapper().listAll(orderSql); new DetachUtil(user.getUID()).filterDepartmentList(allList); // 通过子级遍历父级元素 @@ -272,194 +237,162 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public Map getDeptBaseForm(Map params) { OrganizationAssert.notNull(params.get("viewAttr"), "请标识操作类型"); - // 2编辑 1查看 int viewAttr = Integer.parseInt((String) params.get("viewAttr")); - long id = Long.parseLong((String) params.get("id")); - String groupId = (String) params.get("viewCondition"); - - HashMap buttonsMap = new HashMap<>(); - buttonsMap.put("hasEdit", true); - buttonsMap.put("hasSave", true); - - List addGroups = new ArrayList<>(); - - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId), "1"); - if (CollectionUtils.isNotEmpty(extendTitles)) { - for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_DEPT : JCL_ORG_DEPTEXT, viewAttr, id, extendTitle.getId().toString(), ""); - - if (CollectionUtils.isNotEmpty(items)) { - addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - } - } - } - - HashMap resultMap = new HashMap<>(); - resultMap.put("buttons", buttonsMap); - resultMap.put("conditions", addGroups); - resultMap.put("id", id); - // 拓展页面分组 - resultMap.put("tabInfo", getExtService(user).getTabInfo(EXTEND_TYPE, JCL_ORG_DEPTEXT)); - // 处理明细表 - resultMap.put("tables", getExtService(user).getExtendTables(user, EXTEND_TYPE, Long.parseLong(groupId), JCL_ORG_DEPTEXT_DT1, id, viewAttr, false)); - Map apiDatas = new HashMap<>(); - - apiDatas.put("result", resultMap); - - return apiDatas; - } - - @Override - public Map getSaveForm(Map params) { - HasRightUtil.hasRight(user, RIGHT_NAME, false); - Map apiDatas = new HashMap<>(); - List> groupList = new ArrayList<>(); - Map groupItem; - List itemList; + List groupList = new ArrayList<>(); + List itemList; + List extendItemList; String id = Util.null2String(params.get("id")); - int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); - String nodeType = Util.null2String(params.get("type")); - String addType = Util.null2String(params.get("addType")); - DepartmentComInfo departmentComInfo = new DepartmentComInfo(); - String subcompanyid1 = ""; - String supDepId = ""; - - switch (addType) { - case "normal": - if (nodeType.equals("subcompany")) { - subcompanyid1 = id; - } else { - subcompanyid1 = departmentComInfo.getSubcompanyid1(id); - } - break; - case "sibling": - subcompanyid1 = departmentComInfo.getSubcompanyid1(id); - supDepId = departmentComInfo.getDepartmentsupdepid(id); - break; - case "child": - subcompanyid1 = departmentComInfo.getSubcompanyid1(id); - supDepId = id; - break; - } - - HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); - HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); - HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); - SearchConditionItem searchConditionItem; - HrmFieldBean hrmFieldBean; - HrmDeptFieldManagerE9 hfm; - try { - hfm = new HrmDeptFieldManagerE9(5); - } catch (Exception e) { - throw new OrganizationRunTimeException(""); - } - hfm.isReturnDecryptData(true); - hfm.getCustomData(Util.getIntValue(id)); - List lsGroup = hfm.getLsGroup(); - for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { - String groupid = (String) lsGroup.get(tmp); - List lsField = hfm.getLsField(groupid); + if (2 == viewAttr) { + params.put("viewattr", viewAttr); + groupList = getDepartmentConditionGroups(params); + } else { - boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !Util.null2String(HrmFieldGroupComInfo.getIsShow(groupid)).equals("1"); - String grouplabel = HrmFieldGroupComInfo.getLabel(groupid); - itemList = new ArrayList<>(); - groupItem = new HashMap<>(); - groupItem.put("title", SystemEnv.getHtmlLabelNames(grouplabel, user.getLanguage())); - groupItem.put("hide", groupHide); - groupItem.put("defaultshow", true); - for (Object o : lsField) { - String fieldId = (String) o; - String fieldName = HrmFieldComInfo.getFieldname(fieldId); - String isUse = HrmFieldComInfo.getIsused(fieldId); - if (!isUse.equals("1")) continue; - int tmpViewAttr = viewAttr; - String rules = ""; - String fieldLabel = HrmFieldComInfo.getLabel(fieldId); - String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); - String type = HrmFieldComInfo.getFieldType(fieldId); - String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); - String fieldValue = ""; - if (StringUtils.isBlank(addType)) { - if (HrmFieldComInfo.getIssystem(fieldId).equals("1")) { + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); + HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + SearchConditionItem searchConditionItem; + HrmFieldBean hrmFieldBean; + HrmDeptFieldManagerE9 hfm; + try { + hfm = new HrmDeptFieldManagerE9(5); + } catch (Exception e) { + throw new RuntimeException(e); + } + hfm.getCustomData(Util.getIntValue(id)); + List lsGroup = hfm.getLsGroup(); + for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + String groupId = (String) lsGroup.get(tmp); + List lsField = hfm.getLsField(groupId); + if (lsField.size() == 0) + continue; + if (hfm.getGroupCount(lsField) == 0) + continue; + if (!"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)))) continue; + String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); + itemList = new ArrayList<>(); + extendItemList = new ArrayList<>(); + for (Object o : lsField) { + String fieldId = (String) o; + String isUse = HrmFieldComInfo.getIsused(fieldId); + if (!"1".equals(isUse)) continue; + String fieldName = HrmFieldComInfo.getFieldname(fieldId); + String fieldLabel = HrmFieldComInfo.getLabel(fieldId); + String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); + String type = HrmFieldComInfo.getFieldType(fieldId); + String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); + String isSystem = HrmFieldComInfo.getIssystem(fieldId); + String fieldValue; + if ("1".equals(isSystem)) { fieldValue = hfm.getData(fieldName); } else { fieldValue = hfm.getData("hrmdepartmentdefined", fieldName); } - } - if (!groupHide && tmpViewAttr == 2 && HrmFieldComInfo.getIsmand(fieldId).equals("1")) { - tmpViewAttr = 3; - if ("1".equals(fieldHtmlType) && "2".equals(type)) { - rules = "required|integer"; - } else { - rules = "required|string"; + if (id.length() > 0 && "showid".equals(fieldName)) { + fieldValue = id; } - } - if (subcompanyid1.length() > 0 && fieldName.equals("subcompanyid1")) { - fieldValue = subcompanyid1; - } + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(fieldId); + hrmFieldBean.setFieldname(fieldName); + hrmFieldBean.setFieldlabel(fieldLabel); + hrmFieldBean.setFieldhtmltype(fieldHtmlType); + hrmFieldBean.setType(type); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setFieldvalue(fieldValue); + hrmFieldBean.setDmlurl(dmlUrl); + hrmFieldBean.setIssystem("1"); + searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + if (searchConditionItem.getBrowserConditionParam() != null) { + searchConditionItem.getBrowserConditionParam().setViewAttr(viewAttr); + } + if ("showorder".equals(fieldName)) { + searchConditionItem.setPrecision(2); + } - if (supDepId.length() > 0 && fieldName.equals("supdepid")) { - fieldValue = supDepId; - } + if ("6".equals(fieldHtmlType)) {//附件 + Map otherParams1 = new HashMap<>(); + otherParams1.put("showOrder", false); + searchConditionItem.setOtherParams(otherParams1); + } - if (fieldName.equals("showid")) { - if (addType.length() > 0) { - continue; + searchConditionItem.setViewAttr(viewAttr); + if ("1".equals(isSystem)) { + itemList.add(searchConditionItem); } else { - fieldValue = id; - tmpViewAttr = 1; + extendItemList.add(searchConditionItem); } } - hrmFieldBean = new HrmFieldBean(); - hrmFieldBean.setFieldid(fieldId); - hrmFieldBean.setFieldname(fieldName); - hrmFieldBean.setFieldlabel(fieldLabel); - hrmFieldBean.setFieldhtmltype(fieldHtmlType); - hrmFieldBean.setType(type); - hrmFieldBean.setIsFormField(true); - hrmFieldBean.setIssystem("1"); - hrmFieldBean.setFieldvalue(fieldValue); - hrmFieldBean.setDmlurl(dmlUrl); - hrmFieldBean.setViewAttr(tmpViewAttr); - hrmFieldBean.setRules(rules); - if (hrmFieldBean.getFieldname().equals("subcompanyid1") || hrmFieldBean.getFieldname().equals("supdepid")) { - hrmFieldBean.setHideVirtualOrg(true); - } - if (hrmFieldBean.getFieldname().equals("departmentcode")) { - hrmFieldBean.setMultilang(false); + int operateLevel; + ManageDetachComInfo manageDetachComInfo = new ManageDetachComInfo(); + boolean hrmDetachAble = manageDetachComInfo.isUseHrmManageDetach(); + if (hrmDetachAble) { + CheckSubCompanyRight checkSubCompanyRight = new CheckSubCompanyRight(); + DepartmentComInfo departmentComInfo = new DepartmentComInfo(); + operateLevel = checkSubCompanyRight.ChkComRightByUserRightCompanyId(user.getUID(), "HrmDepartmentEdit:Edit", Integer.parseInt(departmentComInfo.getSubcompanyid1(id))); + } else { + operateLevel = 2; } - searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); - if (searchConditionItem != null) { - searchConditionItem.setLabelcol(8); - searchConditionItem.setFieldcol(16); - if (fieldName.equals("showorder")) { - searchConditionItem.setPrecision(2); - } - if (fieldName.equals("showid")) { - Map otherParams = new HashMap<>(); - otherParams.put("hasBorder", true); - searchConditionItem.setOtherParams(otherParams); + + if (tmp == 0 && HrmUserVarify.checkUserRight("HrmDepartmentEdit:Edit", user) && operateLevel > 0) { + int resourceNum = 0; + RecordSet rs = new RecordSet(); + + String sql = "SELECT COUNT(*) FROM hrmresource WHERE departmentid = " + id + " and ( status =0 or status = 1 or status = 2 or status = 3)"; + rs.execute(sql); + if (rs.next()) { + resourceNum = rs.getInt(1); } - if ("6".equals(fieldHtmlType)) {//附件 - Map otherParams1 = new HashMap<>(); - otherParams1.put("showOrder", false); - searchConditionItem.setOtherParams(otherParams1); + + //4:解聘 5:离职 6:退休 7:无效 + int resourceNum1 = 0; + sql = "SELECT COUNT(*) FROM hrmresource WHERE departmentid = " + id + " and status in(4,5,6,7)"; + rs.execute(sql); + if (rs.next()) { + resourceNum1 = rs.getInt(1); } + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldname("deptResourceInfo"); + hrmFieldBean.setFieldlabel("382428"); + hrmFieldBean.setFieldhtmltype("1"); + hrmFieldBean.setType("1"); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setFieldvalue(resourceNum + "/" + resourceNum1); + hrmFieldBean.setDmlurl(""); + searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + searchConditionItem.setViewAttr(viewAttr); itemList.add(searchConditionItem); } + groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage()), true, itemList)); + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); } - groupItem.put("items", itemList); - groupList.add(groupItem); } - apiDatas.put("condition", groupList); + + HashMap buttonsMap = new HashMap<>(); + buttonsMap.put("hasEdit", true); + buttonsMap.put("hasSave", true); + + HashMap resultMap = new HashMap<>(); + resultMap.put("buttons", buttonsMap); + resultMap.put("conditions", groupList); + resultMap.put("id", id); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().color("#000000").groupId("4").showcount(false).title("部门信息").viewCondition("4").build()); + resultMap.put("tabInfo", topTabs); + + Map apiDatas = new HashMap<>(); + apiDatas.put("result", resultMap); + return apiDatas; + } + + @Override + public Map getSaveForm(Map params) { + HasRightUtil.hasRight(user, RIGHT_NAME, false); + Map apiDatas = new HashMap<>(); + apiDatas.put("condition", getDepartmentConditionGroups(params)); return apiDatas; } @@ -626,7 +559,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 更新子部门下岗位的所属分部 for (DepartmentPO departmentPO : firstChildDeptList) { List deptList = getDepartmentMapper().getDeptListByPId(departmentPO.getId()); - forbiddenChildTag(targetDepartment.getSubCompanyId1(), Util.null2String(targetDepartment.getSubCompanyId1()), deptList); + forbiddenChildTag(targetDepartment.getSubCompanyId1(), deptList); } // 原部门删除 // DepartmentPO mergeDepartment = getDepartmentMapper().getDeptById(mergeParam.getId()); @@ -713,7 +646,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService //for (Long hrmResourceId : hrmResourceIds) { //TODO new HrmResourceTriggerRunnable(hrmResourceId).run(); //} - forbiddenChildTag(deptById.getSubCompanyId1(), Util.null2String(deptById.getSubCompanyId1()), deptList); + forbiddenChildTag(deptById.getSubCompanyId1(), deptList); // 递归更新下级部门、岗位 return 1; } @@ -721,20 +654,20 @@ public class DepartmentServiceImpl extends Service implements DepartmentService /** * 获取所有子部门id * - * @param parentComp + * @param subCompanyId1 * @param deptList */ - void forbiddenChildTag(Integer parentComp, String ecCompanyId, List deptList) { + void forbiddenChildTag(Integer subCompanyId1, List deptList) { if (CollectionUtils.isNotEmpty(deptList)) { for (DepartmentPO departmentPO : deptList) { - departmentPO.setSubCompanyId1(parentComp); + departmentPO.setSubCompanyId1(subCompanyId1); // 更新EC表部门 - updateEcDepartment(departmentPO); + updateEcDepartment(departmentPO); // 更新组织架构图 // TODO new DepartmentTriggerRunnable(departmentPO.getId()).run(); // 刷新岗位所属分部 - refreshJobComp(departmentPO.getId(), parentComp); + refreshJobComp(departmentPO.getId(), subCompanyId1); // 更新当前部门下的人员 // String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(departmentPO.getId().toString()); //new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", ecCompanyId, ecDepartmentId); @@ -745,7 +678,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService //TODO new HrmResourceTriggerRunnable(hrmResourceId).run(); //} List childList = getDepartmentMapper().getDeptListByPId(departmentPO.getId()); - forbiddenChildTag(parentComp, ecCompanyId, childList); + forbiddenChildTag(subCompanyId1, childList); } } } @@ -892,7 +825,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService map.put("showorder", Util.null2String(departmentPO.getShowOrder())); map.put("departmentcode", departmentPO.getDepartmentCode()); map.put("coadjutant", Util.null2String(departmentPO.getCoadjutant())); - map.put("id", Util.null2String(departmentPO.getId())); + map.put("id", Util.null2String(departmentPO.getId())); new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, map).sync(); } @@ -913,17 +846,6 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.ADD, map).sync(); } - /** - * 封存EC表部门 - * - * @param id - */ - private void cancelEcDepartment(Long id) { - Map map = new HashMap<>(); - map.put("id", id); - map.put("forbiddenTag", 1); - new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); - } private void addDisableIds(Set disableIds, List deptListByPId) { for (DepartmentPO departmentPO : deptListByPId) { @@ -951,4 +873,154 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } } + private List getDepartmentConditionGroups(Map params) { + List groupList = new ArrayList<>(); + List itemList; + List extendItemList; + + String id = Util.null2String(params.get("id")); + int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); + String nodeType = Util.null2String(params.get("type")); + String addType = Util.null2String(params.get("addType")); + DepartmentComInfo departmentComInfo = new DepartmentComInfo(); + String subcompanyid1 = ""; + String supDepId = ""; + + switch (addType) { + case "normal": + if ("subcompany".equals(nodeType)) { + subcompanyid1 = id; + } else { + subcompanyid1 = departmentComInfo.getSubcompanyid1(id); + } + break; + case "sibling": + subcompanyid1 = departmentComInfo.getSubcompanyid1(id); + supDepId = departmentComInfo.getDepartmentsupdepid(id); + break; + case "child": + subcompanyid1 = departmentComInfo.getSubcompanyid1(id); + supDepId = id; + break; + default: + break; + } + + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); + HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + SearchConditionItem searchConditionItem; + HrmFieldBean hrmFieldBean; + HrmDeptFieldManagerE9 hfm; + try { + hfm = new HrmDeptFieldManagerE9(5); + } catch (Exception e) { + throw new OrganizationRunTimeException(""); + } + hfm.isReturnDecryptData(true); + hfm.getCustomData(Util.getIntValue(id)); + List lsGroup = hfm.getLsGroup(); + for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + String groupId = (String) lsGroup.get(tmp); + List lsField = hfm.getLsField(groupId); + + boolean groupHide = lsField.size() == 0 || hfm.getGroupCount(lsField) == 0 || !"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId))); + String grouplabel = HrmFieldGroupComInfo.getLabel(groupId); + itemList = new ArrayList<>(); + extendItemList = new ArrayList<>(); + for (Object o : lsField) { + String fieldId = (String) o; + String fieldName = HrmFieldComInfo.getFieldname(fieldId); + String isUse = HrmFieldComInfo.getIsused(fieldId); + if (!"1".equals(isUse)) continue; + int tmpViewAttr = viewAttr; + String rules = ""; + String fieldLabel = HrmFieldComInfo.getLabel(fieldId); + String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); + String type = HrmFieldComInfo.getFieldType(fieldId); + String dmlUrl = Util.null2String(HrmFieldComInfo.getFieldDmlurl(fieldId)); + String isSystem = HrmFieldComInfo.getIssystem(fieldId); + String fieldValue = ""; + if (StringUtils.isBlank(addType)) { + if ("1".equals(isSystem)) { + fieldValue = hfm.getData(fieldName); + } else { + fieldValue = hfm.getData("hrmdepartmentdefined", fieldName); + } + } + + if (!groupHide && tmpViewAttr == 2 && "1".equals(HrmFieldComInfo.getIsmand(fieldId))) { + tmpViewAttr = 3; + if ("1".equals(fieldHtmlType) && "2".equals(type)) { + rules = "required|integer"; + } else { + rules = "required|string"; + } + } + + if (subcompanyid1.length() > 0 && "subcompanyid1".equals(fieldName)) { + fieldValue = subcompanyid1; + } + + if (supDepId.length() > 0 && "supdepid".equals(fieldName)) { + fieldValue = supDepId; + } + + if ("showid".equals(fieldName)) { + if (addType.length() > 0) { + continue; + } else { + fieldValue = id; + tmpViewAttr = 1; + } + } + + hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(fieldId); + hrmFieldBean.setFieldname(fieldName); + hrmFieldBean.setFieldlabel(fieldLabel); + hrmFieldBean.setFieldhtmltype(fieldHtmlType); + hrmFieldBean.setType(type); + hrmFieldBean.setIsFormField(true); + hrmFieldBean.setIssystem("1"); + hrmFieldBean.setFieldvalue(fieldValue); + hrmFieldBean.setDmlurl(dmlUrl); + hrmFieldBean.setViewAttr(tmpViewAttr); + hrmFieldBean.setRules(rules); + if ("subcompanyid1".equals(hrmFieldBean.getFieldname()) || "supdepid".equals(hrmFieldBean.getFieldname())) { + hrmFieldBean.setHideVirtualOrg(true); + } + if ("departmentcode".equals(hrmFieldBean.getFieldname())) { + hrmFieldBean.setMultilang(false); + } + searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + if (searchConditionItem != null) { + searchConditionItem.setLabelcol(8); + searchConditionItem.setFieldcol(16); + if ("showorder".equals(fieldName)) { + searchConditionItem.setPrecision(2); + } + if ("showid".equals(fieldName)) { + Map otherParams = new HashMap<>(); + otherParams.put("hasBorder", true); + searchConditionItem.setOtherParams(otherParams); + } + if ("6".equals(fieldHtmlType)) {//附件 + Map otherParams1 = new HashMap<>(); + otherParams1.put("showOrder", false); + searchConditionItem.setOtherParams(otherParams1); + } + if ("1".equals(isSystem)) { + itemList.add(searchConditionItem); + } else { + extendItemList.add(searchConditionItem); + } + } + } + groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(grouplabel, user.getLanguage()), true, itemList)); + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + } + return groupList; + } + } From 3477539393826df4f0f95ac2e0059704a3a74c48 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 7 Dec 2022 14:08:03 +0800 Subject: [PATCH 044/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=88=97=E8=A1=A8BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/department/bo/DepartmentBO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index bddbb5a3..7835aca5 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -42,7 +42,7 @@ public class DepartmentBO { .showOrder(null == e.getShowOrder() ? 0 : e.getShowOrder()) .canceled(null == e.getCanceled() ? 0 : e.getCanceled()) .build()).collect(Collectors.toList()); - Map> collects = dtoList.stream().filter(item -> 0 != item.getSupDepId()).collect(Collectors.groupingBy(DepartmentListDTO::getSupDepId)); + Map> collects = dtoList.stream().filter(item -> null != item.getSupDepId() && 0 != item.getSupDepId()).collect(Collectors.groupingBy(DepartmentListDTO::getSupDepId)); // 处理被引用数据 List usedIds = MapperProxyFactory.getProxy(DepartmentMapper.class).listUsedId(); List collect = Arrays.stream(String.join(",", usedIds).split(",")).collect(Collectors.toList()); From de03ca3b8b739ea1a3fbeb85d1593679f4c7349f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 7 Dec 2022 14:15:02 +0800 Subject: [PATCH 045/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=88=97=E8=A1=A8BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/department/bo/DepartmentBO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 7835aca5..668b35c7 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -138,7 +138,7 @@ public class DepartmentBO { tree.setIsParent(false); tree.setIsVirtual("0"); tree.setName(item.getDepartmentName()); - tree.setPid(item.getSupDepId().toString()); + tree.setPid(null == item.getSupDepId() ? "0" : item.getSupDepId().toString()); tree.setSelected(false); tree.setType("2"); tree.setParentComp(item.getSubCompanyId1().toString()); From d345a5fe666934e94eeec1629b0dbf98e9adc8d4 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Thu, 8 Dec 2022 09:56:25 +0800 Subject: [PATCH 046/203] =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/VersionManageController.java | 13 ++++++ .../mapper/version/CompanyVersionMapper.java | 10 +++++ .../service/VersionManageService.java | 21 +++++++++ .../impl/VersionManageServiceImpl.java | 33 ++++++++++++++ .../web/VersionManageController.java | 44 +++++++++++++++++++ .../wrapper/VersionManageWrapper.java | 28 ++++++++++++ 6 files changed, 149 insertions(+) create mode 100644 src/com/api/organization/web/VersionManageController.java create mode 100644 src/com/engine/organization/mapper/version/CompanyVersionMapper.java create mode 100644 src/com/engine/organization/service/VersionManageService.java create mode 100644 src/com/engine/organization/service/impl/VersionManageServiceImpl.java create mode 100644 src/com/engine/organization/web/VersionManageController.java create mode 100644 src/com/engine/organization/wrapper/VersionManageWrapper.java diff --git a/src/com/api/organization/web/VersionManageController.java b/src/com/api/organization/web/VersionManageController.java new file mode 100644 index 00000000..1529afe9 --- /dev/null +++ b/src/com/api/organization/web/VersionManageController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/8 + * @Version V1.0 + **/ +@Path("/bs/hrmorganization/version") +public class VersionManageController extends com.engine.organization.web.VersionManageController { +} diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java new file mode 100644 index 00000000..a962522d --- /dev/null +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -0,0 +1,10 @@ +package com.engine.organization.mapper.version; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/8 + * @Version V1.0 + **/ +public interface CompanyVersionMapper { +} diff --git a/src/com/engine/organization/service/VersionManageService.java b/src/com/engine/organization/service/VersionManageService.java new file mode 100644 index 00000000..25b9037d --- /dev/null +++ b/src/com/engine/organization/service/VersionManageService.java @@ -0,0 +1,21 @@ +package com.engine.organization.service; + +import com.engine.organization.enums.ModuleTypeEnum; + +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/8 + * @Version V1.0 + **/ +public interface VersionManageService { + + /** + * 版本记录保存 + * @param moduleTypeEnum + * @param params + */ + void save(ModuleTypeEnum moduleTypeEnum, Map params); +} diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java new file mode 100644 index 00000000..35022362 --- /dev/null +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -0,0 +1,33 @@ +package com.engine.organization.service.impl; + +import com.engine.core.impl.Service; +import com.engine.organization.enums.ModuleTypeEnum; +import com.engine.organization.mapper.version.CompanyVersionMapper; +import com.engine.organization.service.VersionManageService; +import com.engine.organization.util.db.MapperProxyFactory; + +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/8 + * @Version V1.0 + **/ +public class VersionManageServiceImpl extends Service implements VersionManageService { + + private CompanyVersionMapper getCompanyVersionMapper(){ + return MapperProxyFactory.getProxy(CompanyVersionMapper.class); + } + + @Override + public void save(ModuleTypeEnum moduleTypeEnum, Map params) { + + //1.参数处理 + + //2.枚举处理不同mapper + + //3.保存逻辑 + //版本表 操作者,操作时间,版本V1.0 + 0.1 (默认字段) + } +} diff --git a/src/com/engine/organization/web/VersionManageController.java b/src/com/engine/organization/web/VersionManageController.java new file mode 100644 index 00000000..080de3cb --- /dev/null +++ b/src/com/engine/organization/web/VersionManageController.java @@ -0,0 +1,44 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.enums.ModuleTypeEnum; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.VersionManageWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.*; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: 组织架构版本管理 + * @Date 2022/12/8 + * @Version V1.0 + **/ +public class VersionManageController { + + private VersionManageWrapper getVersionManageWrapper(User user){ + return ServiceUtil.getService(VersionManageWrapper.class, user); + } + + @POST + @Path("/{moduleTypeEnum}/save") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTree(@Context HttpServletRequest request, @Context HttpServletResponse response, + @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) { + try { + User user = HrmUserVarify.getUser(request, response); + Map params = ParamUtil.request2Map(request); + getVersionManageWrapper(user).save(moduleTypeEnum,params); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } +} diff --git a/src/com/engine/organization/wrapper/VersionManageWrapper.java b/src/com/engine/organization/wrapper/VersionManageWrapper.java new file mode 100644 index 00000000..482d45cd --- /dev/null +++ b/src/com/engine/organization/wrapper/VersionManageWrapper.java @@ -0,0 +1,28 @@ +package com.engine.organization.wrapper; + + +import com.engine.common.util.ServiceUtil; +import com.engine.organization.enums.ModuleTypeEnum; +import com.engine.organization.service.VersionManageService; +import com.engine.organization.service.impl.VersionManageServiceImpl; +import com.engine.organization.util.OrganizationWrapper; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/8 + * @Version V1.0 + **/ +public class VersionManageWrapper extends OrganizationWrapper { + + private VersionManageService getVersionManageService(User user) { + return ServiceUtil.getService(VersionManageServiceImpl.class,user); + } + + public void save(ModuleTypeEnum moduleTypeEnum, Map params) { + getVersionManageService(user).save(moduleTypeEnum,params); + } +} From 668231fd617963d0f72ab675056301ee1124adff Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Dec 2022 11:01:30 +0800 Subject: [PATCH 047/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E9=87=8D=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HrmPersonnelCardServiceImpl.java | 3 +- .../service/impl/ImportCommonServiceImpl.java | 460 ++---------------- .../util/saveimport/ResourceImport.java | 204 ++++++++ .../hrmimport/HrmImportAdaptExcelE9.java | 67 ++- .../hrmimport/HrmImportProcessE9.java | 312 ++++++------ 5 files changed, 415 insertions(+), 631 deletions(-) create mode 100644 src/com/engine/organization/util/saveimport/ResourceImport.java diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index 9d01c96d..f215d4fb 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -66,8 +66,7 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel // 获取类型分组信息 List cusTreeForms = getPersonnelCardMapper().getCusTreeForms(0); - // TODO 权限过滤 - //cusTreeForms.removeIf(item -> !hasGroupAccess(item.getId(), userInfo.getEcId())); + cusTreeForms.removeIf(item -> !hasGroupAccess(item.getId(), userInfo.getEcId())); List formItemList = new ArrayList<>(); try { for (CusTreeFormPO cusTreeForm : cusTreeForms) { diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index f0383420..d21eba97 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -7,14 +7,12 @@ import com.api.browser.util.ConditionType; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.commom.RecordInfo; import com.engine.organization.entity.extend.ExtendInfoOperateType; import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.fieldset.param.FieldTransferParam; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; import com.engine.organization.entity.jclimport.vo.JclImportHistoryDetailVO; -import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.po.LevelPO; import com.engine.organization.entity.scheme.po.SchemePO; @@ -35,7 +33,6 @@ import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.ImportCommonService; -import com.engine.organization.thread.HrmResourceTriggerRunnable; import com.engine.organization.thread.JobTriggerRunnable; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.HasRightUtil; @@ -45,6 +42,7 @@ import com.engine.organization.util.excel.ExcelUtil; import com.engine.organization.util.saveimport.CompanyImport; import com.engine.organization.util.saveimport.DepartmentImport; import com.engine.organization.util.saveimport.OrgImportUtil; +import com.engine.organization.util.saveimport.ResourceImport; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFDateUtil; @@ -111,8 +109,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ String tableName = ""; String errorMsg = ""; List excludeFields = new ArrayList<>(); - //List includeFields = new ArrayList<>(); - //List selectedList = new ArrayList<>(); Map returnMaps = new HashMap<>(); if (StringUtils.isNotBlank(importType)) { switch (importType) { @@ -128,18 +124,14 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ excludeFields.add("showid"); return DepartmentImport.getImportFields(user, excludeFields); case "jobtitle": - extendType = "3"; - tableName = "JCL_ORG_JOB"; - excludeFields.add("parent_job"); - break; case "resource": - extendType = "4"; - tableName = "JCL_ORG_HRMRESOURCE"; - excludeFields.add("scheme_id"); - excludeFields.add("sequence_id"); - excludeFields.add("job_grade"); - excludeFields.add("job_level"); - break; + excludeFields.add("resourceimageid"); + excludeFields.add("messagerurl"); + excludeFields.add("workyear"); + excludeFields.add("companyworkyear"); + excludeFields.add("textfield1"); + excludeFields.add("textfield2"); + return ResourceImport.getImportFields(user, excludeFields); case "joblevel": extendType = "0"; tableName = "JCL_ORG_SCHEME"; @@ -201,10 +193,10 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("condition", DepartmentImport.importForm(user, templatePath)); break; case "jobtitle": - returnMap.put("condition", getJobTitleImportForm(templatePath)); - break; + //returnMap.put("condition", getJobTitleImportForm(templatePath)); + //break; case "resource": - returnMap.put("condition", getResourceImportForm(templatePath)); + returnMap.put("condition", ResourceImport.importForm(user, templatePath)); break; case "joblevel": returnMap.put("condition", getJobLevelImportForm(templatePath)); @@ -243,7 +235,7 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("pId", jobImport(operateType, excelFile)); break; case "resource": - returnMap.put("pId", hrmResourceImport(operateType, excelFile, keyField)); + returnMap.put("pId", ResourceImport.saveImport(operateType, excelFile, user, request)); break; case "joblevel": returnMap.put("pId", jobLevelImport(operateType, excelFile)); @@ -299,65 +291,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return returnMap; } - - private List getJobTitleImportForm(String templatePath) throws IOException { - - // 返回导入数据 - List lsGroup = new ArrayList<>(); - Map groupItem = new HashMap<>(); - List itemList = new ArrayList<>(); - - groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); - groupItem.put("defaultshow", true); - - SearchConditionItem searchConditionItem; - ConditionFactory conditionFactory = new ConditionFactory(user); - - //导入类型 - List statusOptions = new ArrayList<>(); - statusOptions.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); - statusOptions.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); - searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions); - searchConditionItem.setValue("add"); - itemList.add(searchConditionItem); - - //模板文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); - searchConditionItem.setValue(templatePath); - itemList.add(searchConditionItem); - - //Excel文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); - itemList.add(searchConditionItem); - - groupItem.put("items", itemList); - lsGroup.add(groupItem); - - - itemList = new ArrayList<>(); - groupItem = new HashMap<>(); - groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); - groupItem.put("defaultshow", true); - List lsPromptLabel = new ArrayList<>(); //提示信息 - lsPromptLabel.add(34275); - lsPromptLabel.add(125452); - - for (int i = 0; i < lsPromptLabel.size(); i++) { - Map item = new HashMap<>(); - item.put("index", (i + 1)); - String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); - if (i == 0) { - value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); - item.put("link", templatePath); - } - item.put("value", value); - itemList.add(item); - } - groupItem.put("items", itemList); - lsGroup.add(groupItem); - return lsGroup; - } - private List getJobLevelImportForm(String templatePath) throws IOException { // 返回导入数据 @@ -420,84 +353,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return lsGroup; } - private List getResourceImportForm(String templatePath) throws IOException { - - // 返回导入数据 - List lsGroup = new ArrayList<>(); - Map groupItem = new HashMap<>(); - List itemList = new ArrayList<>(); - - groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); - groupItem.put("defaultshow", true); - - SearchConditionItem searchConditionItem; - ConditionFactory conditionFactory = new ConditionFactory(user); - - //重复验证字段 - List statusOptions = new ArrayList<>(); - statusOptions.add(new SearchConditionOption("last_name", SystemEnv.getHtmlLabelName(413, user.getLanguage()))); - statusOptions.add(new SearchConditionOption("work_code", SystemEnv.getHtmlLabelName(714, user.getLanguage()), true)); - //statusOptions.add(new SearchConditionOption("loginid", SystemEnv.getHtmlLabelName(412, user.getLanguage()))); - searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24638, "keyField", statusOptions); - searchConditionItem.setValue("last_name"); - itemList.add(searchConditionItem); - - //导入类型 - List statusOptions1 = new ArrayList<>(); - statusOptions1.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); - statusOptions1.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); - searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions1); - searchConditionItem.setValue("add"); - itemList.add(searchConditionItem); - - //模板文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); - searchConditionItem.setValue(templatePath); - itemList.add(searchConditionItem); - - //Excel文件 - searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); - itemList.add(searchConditionItem); - - groupItem.put("items", itemList); - lsGroup.add(groupItem); - - - itemList = new ArrayList<>(); - groupItem = new HashMap<>(); - groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); - groupItem.put("defaultshow", true); - List lsPromptLabel = new ArrayList<>(); //提示信息 - lsPromptLabel.add(128520); - lsPromptLabel.add(125868); - lsPromptLabel.add(128365); - //lsPromptLabel.add(81697); - //lsPromptLabel.add(81698); - lsPromptLabel.add(81699); - lsPromptLabel.add(516263); - //lsPromptLabel.add(81701); - //lsPromptLabel.add(388880); - lsPromptLabel.add(81702); - lsPromptLabel.add(81703); - lsPromptLabel.add(125869); - - for (int i = 0; i < lsPromptLabel.size(); i++) { - Map item = new HashMap<>(); - item.put("index", (i + 1)); - String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); - if (i == 0) { - value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); - item.put("link", templatePath); - } - item.put("value", value); - itemList.add(item); - } - groupItem.put("items", itemList); - lsGroup.add(groupItem); - return lsGroup; - } - - /** * 岗位导入 */ @@ -764,270 +619,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return importHistoryId; } - private Long hrmResourceImport(String operateType, String excelFile, String keyField) { - Long importHistoryId = OrgImportUtil.saveImportLog("resource", operateType, user); - JclImportHistoryDetailPO historyDetailPO; - - ImageFileManager manager = new ImageFileManager(); - manager.getImageFileInfoById(Util.getIntValue(excelFile)); - XSSFWorkbook workbook; - try { - workbook = new XSSFWorkbook(manager.getInputStream()); - } catch (IOException e) { - throw new RuntimeException(e); - } - // 当前sheet - XSSFSheet sheetAt = workbook.getSheetAt(0); - int lastRow = sheetAt.getLastRowNum(); - List extendInfoPOS = new ArrayList<>(); - OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); - short lastCellNum = sheetAt.getRow(0).getLastCellNum(); - - // 遍历每一行数据 - nextRow: - for (int i = 0; i <= lastRow; i++) { - historyDetailPO = new JclImportHistoryDetailPO(); - historyDetailPO.setPid(importHistoryId); - XSSFRow row = sheetAt.getRow(i); - if (null == row) { - continue; - } - // 组装待处理数据 - Map map = new HashMap<>(); - Integer parentCompanyId = null; - Integer parentDepartmentId = null; - Long parentJobId = null; - - historyDetailPO.setRowNums(String.valueOf(i + 1)); - for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { - XSSFCell cell = row.getCell((short) cellIndex); - String cellValue = getCellValue(cell).trim(); - if (i == 0) { - // 首行 初始化字段信息 - List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(RESOURCE_TYPE, cellValue); - boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); - if (isBreak) { - break nextRow; - } - ExtendInfoPO extendInfoPO = infoPOList.get(0); - extendInfoPOS.add(extendInfoPO); - } else { - ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); - // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"work_code".equalsIgnoreCase(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - - Object reallyValue; - try { - reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); - } catch (Exception e) { - historyDetailPO.setOperateDetail(cellValue + "转换失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName()) && !"job_title".equals(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - map.put(infoPO.getFieldName(), reallyValue); - // 上级分部 - if ("ec_company".equals(infoPO.getFieldName())) { - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("分部层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - } - - - if ("ec_department".equals(infoPO.getFieldName())) { - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("部门层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (String s : split) { - parentDepartmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); - if (null == parentDepartmentId) { - historyDetailPO.setOperateDetail(cellValue + "部门未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - } - - if ("job_title".equals(infoPO.getFieldName())) { - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("岗位层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (String s : split) { - parentJobId = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId, parentJobId == null ? 0 : parentJobId); - if (null == parentJobId) { - historyDetailPO.setOperateDetail(s + "岗位未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - map.put("company_id", parentCompanyId); - map.put("department_id", parentDepartmentId); - map.put("ec_company", parentCompanyId); - map.put("ec_department", parentDepartmentId); - - map.put("job_title", parentJobId); - } - } - } - // 校验、数据交互 - if (i == 0) { - continue; - } - // 根据岗位获取等级方案、岗位序列、职等、职级 - if (null != parentJobId) { - JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(parentJobId); - map.put("scheme_id", jobById.getSchemeId()); - map.put("sequence_id", jobById.getSequenceId()); - map.put("job_level", jobById.getLevelId()); - map.put("job_grade", jobById.getGradeId()); - } - - String keyFieldValue = Util.null2String(map.get(keyField)); - if (StringUtils.isBlank(keyFieldValue)) { - historyDetailPO.setOperateDetail("所选重复验证字段为空"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - historyDetailPO.setRelatedName(keyFieldValue); - // 判断当前人员是否存在 - boolean hasSameKeyFieldValue = hasSameKeyFieldValue(historyDetailPO, keyField, keyFieldValue); - if (hasSameKeyFieldValue) { - continue; - } - - Long resourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue).get(0); - if ("add".equals(operateType)) { - if (resourceId != null) { - historyDetailPO.setOperateDetail(keyFieldValue + "已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - - // 自动编号 - String workCode = Util.null2String(map.get("work_code")); - try { - // 自动编号 - try { - workCode = HrmResourceServiceImpl.repeatDetermine(workCode); - } catch (OrganizationRunTimeException e) { - historyDetailPO.setOperateDetail(e.getMessage()); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - map.put("work_code", workCode); - } catch (Exception e) { - historyDetailPO.setOperateDetail(Util.null2String(e.getMessage())); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - map.put("creator", user.getUID()); - map.put("delete_type", 0); - map.put("create_time", new Date()); - - String showOrder = Util.null2String(map.get("show_order")); - if (StringUtils.isBlank(showOrder)) { - Long maxShowOrder = MapperProxyFactory.getProxy(ResourceMapper.class).getMaxShowOrder(); - if (null == maxShowOrder) { - maxShowOrder = 0L; - } - map.put("show_order", maxShowOrder + 1); - } - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.ADD, map, false).sync(); - if (OrgImportUtil.isThrowError(syncMap) && StringUtils.isNotBlank(Util.null2String(syncMap.get("id")))) { - String ecResourceId = Util.null2String(syncMap.get("id")); - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId); - map.put("uuid", recordInfo.getUuid()); - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_HRMRESOURCE").params(map).build(); - map.remove("id"); - MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams); - // 更新组织架构图 - new HrmResourceTriggerRunnable(infoParams.getId()).run(); - historyDetailPO.setOperateDetail("添加成功"); - historyDetailPO.setStatus("1"); - - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else if ("update".equals(operateType)) { - // 查询对应ID - if (resourceId == null) { - historyDetailPO.setOperateDetail("未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - map.put("update_time", new Date()); - map.put("id", resourceId); - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, map, false).sync(); - if (OrgImportUtil.isThrowError(syncMap)) { - map.remove("id"); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(resourceId).tableName("JCL_ORG_HRMRESOURCE").params(map).build()); - // 更新组织架构图 - new HrmResourceTriggerRunnable(resourceId).run(); - historyDetailPO.setOperateDetail("更新成功"); - historyDetailPO.setStatus("1"); - - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } - return importHistoryId; - } - /** * 方案职等职级导入 */ @@ -1472,20 +1063,39 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ List gradeList = new ArrayList<>(); Object companyColumn = ""; Object departmentColumn = ""; + + String companyFieldName = "所属分部"; + String departmentFieldName = "所属部门"; + switch (importType) { + case "company": + companyFieldName = "简称"; + departmentFieldName = ""; + break; + case "department": + companyFieldName = "所属分部"; + departmentFieldName = "简称"; + break; + case "resource": + companyFieldName = "分部"; + departmentFieldName = "部门"; + break; + default: + break; + } // 排序 /* - 第一列:所属分部 - 第二列:所属部门\上级部门\部门 + 第一列:分部 + 第二列:部门 */ Iterator iterator = columnList.iterator(); while (iterator.hasNext()) { Object column = iterator.next(); - if ("所属分部".equals(column.toString())) { + if (companyFieldName.equals(column.toString())) { companyColumn = column; iterator.remove(); } - if ("所属部门".equals(column) || "上级部门".equals(column)) { + if (departmentFieldName.equals(column)) { departmentColumn = column; iterator.remove(); } diff --git a/src/com/engine/organization/util/saveimport/ResourceImport.java b/src/com/engine/organization/util/saveimport/ResourceImport.java new file mode 100644 index 00000000..c4c70e45 --- /dev/null +++ b/src/com/engine/organization/util/saveimport/ResourceImport.java @@ -0,0 +1,204 @@ +package com.engine.organization.util.saveimport; + +import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.api.browser.util.ConditionFactory; +import com.api.browser.util.ConditionType; +import com.engine.organization.entity.fieldset.param.FieldTransferParam; +import com.engine.organization.entity.jclimport.po.HrmFormFieldPO; +import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; +import com.engine.organization.entity.personnelcard.po.CusTreeFormPO; +import com.engine.organization.exception.OrganizationRunTimeException; +import com.engine.organization.mapper.jclimport.ImportMapper; +import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; +import com.engine.organization.mapper.personnelcard.PersonnelCardMapper; +import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.util.saveimport.hrmimport.HrmImportAdaptExcelE9; +import com.engine.organization.util.saveimport.hrmimport.HrmImportProcessE9; +import weaver.file.FileUploadToPath; +import weaver.general.BaseBean; +import weaver.general.Util; +import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldManager; +import weaver.join.hrm.in.HrmResourceVo; +import weaver.systeminfo.SystemEnv; + +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2022/12/07 + * @version: 1.0 + */ +public class ResourceImport { + + private static ImportMapper getImportMapper() { + return MapperProxyFactory.getProxy(ImportMapper.class); + } + + private static PersonnelCardMapper getPersonnelCardMapper() { + return MapperProxyFactory.getProxy(PersonnelCardMapper.class); + } + + /** + * 导入模板可选择字段 + * + * @param user 当前用户 + * @param excludedFields 排除的字段 + */ + public static Map getImportFields(User user, List excludedFields) { + + try { + List importFields = new ArrayList<>(); + List cusTreeForms = getPersonnelCardMapper().getCusTreeForms(0); + importFields.add(HrmFormFieldPO.builder().fieldName("subcompanyid1").labelName("分部").build()); + for (CusTreeFormPO cusTreeForm : cusTreeForms) { + HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", cusTreeForm.getId()); + hfm.getCustomFields(); + while (hfm.next()) { + String fieldName = hfm.getFieldname(); + String fieldLabel = SystemEnv.getHtmlLabelNames(hfm.getLable(), user.getLanguage()); + importFields.add(HrmFormFieldPO.builder().fieldName(fieldName).labelName(fieldLabel).build()); + } + } + + Map returnMaps = new HashMap<>(); + importFields.removeIf(item -> excludedFields.contains(item.getFieldName())); + + // 查询所有可以勾选的字段 + List fieldDatas = importFields.stream().map(item -> FieldTransferParam.builder().id(item.getFieldName()).name(item.getLabelName()).build()).collect(Collectors.toList()); + returnMaps.put("data", fieldDatas); + + + // 设置必填字段 + List selectedKeys = new ArrayList<>(); + selectedKeys.add("subcompanyid1"); + selectedKeys.add("departmentid"); + selectedKeys.add("lastname"); + selectedKeys.add("jobtitle"); + selectedKeys.add("jobactivity"); + selectedKeys.add("jobGroupId"); + selectedKeys.add("locationid"); + returnMaps.put("selectedKeys", selectedKeys); + return returnMaps; + } catch (Exception e) { + new BaseBean().writeLog(e); + throw new OrganizationRunTimeException("人员导入字段生成异常"); + } + } + + /** + * 获取导入模板及导入提示信息 + * + * @param user 当前用户 + * @param templatePath 导入模板路径 + */ + public static List> importForm(User user, String templatePath) { + + // 返回导入数据 + List> lsGroup = new ArrayList<>(); + Map groupItem = new HashMap<>(); + List itemList = new ArrayList<>(); + + groupItem.put("title", SystemEnv.getHtmlLabelName(1361, user.getLanguage())); + groupItem.put("defaultshow", true); + + SearchConditionItem searchConditionItem; + ConditionFactory conditionFactory = new ConditionFactory(user); + + //重复验证字段 + List statusOptions = new ArrayList<>(); + statusOptions.add(new SearchConditionOption("last_name", SystemEnv.getHtmlLabelName(413, user.getLanguage()))); + statusOptions.add(new SearchConditionOption("work_code", SystemEnv.getHtmlLabelName(714, user.getLanguage()), true)); + //statusOptions.add(new SearchConditionOption("loginid", SystemEnv.getHtmlLabelName(412, user.getLanguage()))); + searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24638, "keyField", statusOptions); + searchConditionItem.setValue("last_name"); + itemList.add(searchConditionItem); + + //导入类型 + List statusOptions1 = new ArrayList<>(); + statusOptions1.add(new SearchConditionOption("add", SystemEnv.getHtmlLabelName(611, user.getLanguage()), true)); + statusOptions1.add(new SearchConditionOption("update", SystemEnv.getHtmlLabelName(17744, user.getLanguage()))); + searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24863, "importType", statusOptions1); + searchConditionItem.setValue("add"); + itemList.add(searchConditionItem); + + //模板文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.INPUT, 28576, "templet"); + searchConditionItem.setValue(templatePath); + itemList.add(searchConditionItem); + + //Excel文件 + searchConditionItem = conditionFactory.createCondition(ConditionType.RESOURCEIMG, 16630, "excelfile"); + itemList.add(searchConditionItem); + + groupItem.put("items", itemList); + lsGroup.add(groupItem); + + + itemList = new ArrayList<>(); + groupItem = new HashMap<>(); + groupItem.put("title", SystemEnv.getHtmlLabelName(33803, Util.getIntValue(user.getLanguage()))); + groupItem.put("defaultshow", true); + List lsPromptLabel = new ArrayList<>(); //提示信息 + lsPromptLabel.add(128520); + lsPromptLabel.add(125868); + lsPromptLabel.add(128365); + //lsPromptLabel.add(81697); + //lsPromptLabel.add(81698); + lsPromptLabel.add(81699); + lsPromptLabel.add(516263); + //lsPromptLabel.add(81701); + //lsPromptLabel.add(388880); + lsPromptLabel.add(81702); + lsPromptLabel.add(81703); + lsPromptLabel.add(125869); + + for (int i = 0; i < lsPromptLabel.size(); i++) { + Map item = new HashMap<>(); + item.put("index", (i + 1)); + String value = Util.toScreen(SystemEnv.getHtmlLabelName(lsPromptLabel.get(i), user.getLanguage()), user.getLanguage()); + if (i == 0) { + value += SystemEnv.getHtmlLabelName(28576, user.getLanguage()); + item.put("link", templatePath); + } + item.put("value", value); + itemList.add(item); + } + groupItem.put("items", itemList); + lsGroup.add(groupItem); + return lsGroup; + } + + /** + * @param operateType 导入类型 + * @param excelFile 上传的文件 + * @param user 当前用户 + */ + public static Long saveImport(String operateType, String excelFile, User user, HttpServletRequest request) { + Long importHistoryId = OrgImportUtil.saveImportLog("resource", operateType, user); + HrmImportAdaptExcelE9 importAdapt = new HrmImportAdaptExcelE9(); + FileUploadToPath fu = new FileUploadToPath(request); + + List errorInfo = importAdapt.creatImportMap(fu); + + //如果读取数据和验证模板没有发生错误 + if (errorInfo.isEmpty()) { + Map hrMap = importAdapt.getHrmImportMap(); + HrmImportProcessE9 importProcess = new HrmImportProcessE9(); + importProcess.init(request, importHistoryId); + importProcess.processMap(hrMap); + } else { + for (String s : errorInfo) { + MapperProxyFactory.getProxy(JclImportHistoryDetailMapper.class).insertHistoryDetail(JclImportHistoryDetailPO.builder().pid(importHistoryId).operateDetail(Util.null2String(s)).status("0").build()); + } + } + return importHistoryId; + } + +} diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportAdaptExcelE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportAdaptExcelE9.java index 4769b914..2beb177d 100644 --- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportAdaptExcelE9.java +++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportAdaptExcelE9.java @@ -54,9 +54,9 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { private String[] temFields; //标准模板字段 - private String tempField = "所属分部,部门," + + private String tempField = "分部,部门," + "编号,姓名,登录名,密码,安全级别,性别," + - // "岗位,职务,职务类别,职称," + + "岗位,职务,职务类别,职称,职级," + "职责描述,直接上级,助理,状态," + "办公室,办公地点,办公电话,移动电话,其他电话," + "传真,电子邮件,系统语言,出生日期,民族," + @@ -72,7 +72,7 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { private String[] requiredFields; //必填列标准模板或字段下标 - // 所属分部,部门,姓名,岗位,职务,职务类别,办公地点 + // 分部,部门,姓名,岗位,职务,职务类别,办公地点 // private String requiredField = "0,1,3,8,9,10,18"; private final StringBuilder requiredField = new StringBuilder(); @@ -82,7 +82,7 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { //标准导入字段 private String voField = "subcompanyid1,departmentid," + "workcode,lastname,loginid,password,seclevel,sex," + - // "jobtitle,jobactivityid,jobgroupid,jobcall," + + "jobtitle,jobactivityid,jobgroupid,jobcall,joblevel," + "jobactivitydesc,managerid,assistantid,status," + "workroom,locationid,telephone,mobile,mobilecall," + "fax,email,systemlanguage,birthday,folk," + @@ -282,8 +282,7 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { cellValue = getCellValue(cell).trim(); for (int k = 0; k < temFields.length; k++) { if (cellValue.equals(temFields[k])) { - String requiredFields = "所属分部,部门,姓名,岗位,职务,职务类别,办公地点"; - requiredFields = "所属分部,部门,登录名,姓名,性别,状态,办公地点,入职日期,参加工作日期,担任岗位,职等职级,担任职务"; + String requiredFields = "分部,部门,姓名,岗位,职务,职务类别,办公地点"; List requiredFieldList = Arrays.asList(requiredFields.split(",")); if (requiredFieldList.contains(cellValue)) { @@ -307,19 +306,19 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { errorInfo.add(getCellPosition(i, (rowIndex + 1)) + "[" + cellValue + "]" + " 不是模板中字段,请检查是否有误"); //不是模板中字段,请检查是否有误 if (importType.equals("add")) { //如果是插入操作才验证固定列 if (i == 0 && !cellValue.equals(temFields[0])) - errorInfo.add("分所属分部部必须在第" + (rowIndex + 1) + "行第1列"); //【所属分部】固定列 + errorInfo.add("分部必须在第" + (rowIndex + 1) + "行第1列"); //【分部】固定列 if (i == 1 && !cellValue.equals(temFields[1])) errorInfo.add("部门必须在第" + (rowIndex + 1) + "行第2列"); // 【部门】固定列 } else { //如果是更新,并且存在分部部门列,就规定分部、部门在第1、2列 if (cellValue.equals(temFields[0]) && !temFields[1].equals(getCellValue(rowIndex, 1).trim())) - errorInfo.add("更新时有分所属分部部则后一列必须为部门,且第" + (rowIndex + 1) + "行第1列为分所属分部部,第2列为部门"); //【分部】固定列 + errorInfo.add("更新时有分部则后一列必须为部门,且第" + (rowIndex + 1) + "行第1列为分部,第2列为部门"); //【分部】固定列 else if (cellValue.equals(temFields[0]) && i != 0) - errorInfo.add("所属分部必须在第" + (rowIndex + 1) + "行第1列"); //【分部】固定列 + errorInfo.add("分部必须在第" + (rowIndex + 1) + "行第1列"); //【分部】固定列 if (cellValue.equals(temFields[1]) && !temFields[0].equals(getCellValue(rowIndex, 0).trim())) - errorInfo.add("更新时有部门则前一列必须为所属分部,且第" + (rowIndex + 1) + "行第1列为所属分部,第2列为部门"); //【分部】固定列 + errorInfo.add("更新时有部门则前一列必须为分部,且第" + (rowIndex + 1) + "行第1列为分部,第2列为部门"); //【分部】固定列 else if (cellValue.equals(temFields[1]) && i != 1) errorInfo.add("部门必须在第" + (rowIndex + 1) + "行第2列"); //【部门】固定列 @@ -432,7 +431,7 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { if (flag) { // 为true则,设置值,否则不需要 - if (fieldIndex == 0 && getCellValue(1, cellNum).equals("所属分部")) { // 对于excel分部为空则取上面分部读取的值 + if (fieldIndex == 0 && getCellValue(1, cellNum).equals("分部")) { // 对于excel分部为空则取上面分部读取的值 if (cellValue.equals("")) cellValue = subCompany; else @@ -619,7 +618,7 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { String fieldName = voFields[fieldIndex]; // 人员信息第1行(模板第2行)的分部和部门为必填 - if ((rowNum == 1 || rowNum == 2) && fieldName.equals("subcompanyid1") && getCellValue(1, cellNum).equals("所属分部") && cellValue.equals("")) { + if ((rowNum == 1 || rowNum == 2) && fieldName.equals("subcompanyid1") && getCellValue(1, cellNum).equals("分部") && cellValue.equals("")) { flag = false; msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【分部】为必填 errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); @@ -652,28 +651,28 @@ public class HrmImportAdaptExcelE9 extends BaseBean implements IHrmImportAdapt { return flag; } - //// 岗位 - //if (fieldName.equals("jobtitle") && cellValue.equals("")) { - // flag = false; - // msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【岗位】为必填 - // errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); - // return flag; - //} - // - //if (fieldName.equals("jobactivityid") && cellValue.equals("")) { - // flag = false; - // msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【职务】为必填 - // errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); - // return flag; - //} - // - // - //if (fieldName.equals("jobgroupid") && cellValue.equals("")) { - // flag = false; - // msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【职务类别】为必填 - // errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); - // return flag; - //} + // 岗位 + if (fieldName.equals("jobtitle") && cellValue.equals("")) { + flag = false; + msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【岗位】为必填 + errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); + return flag; + } + + if (fieldName.equals("jobactivityid") && cellValue.equals("")) { + flag = false; + msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【职务】为必填 + errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); + return flag; + } + + + if (fieldName.equals("jobgroupid") && cellValue.equals("")) { + flag = false; + msg = getCellPosition(cellNum, rowNum + 1) + "[" + temFields[fieldIndex] + "]"; //【职务类别】为必填 + errorInfo.add(msg + " " + SystemEnv.getHtmlLabelName(83626, userlanguage)); + return flag; + } // 办公地点 diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java index ed24b967..8873e792 100644 --- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java +++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java @@ -6,6 +6,7 @@ import com.engine.common.util.ParamUtil; import com.engine.encrypt.biz.EncryptFieldConfigComInfo; import com.engine.hrm.entity.RuleCodeType; import com.engine.hrm.util.CodeRuleManager; +import com.engine.hrm.util.HrmTriggerUtil; import com.engine.hrm.util.HrmWeakPasswordUtil; import com.engine.hrm.util.face.HrmFaceCheckManager; import com.engine.hrm.util.face.ValidateFieldManager; @@ -13,8 +14,6 @@ import com.engine.hrm.util.face.bean.CheckItemBean; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.thread.HrmResourceTriggerRunnable; import com.engine.organization.util.db.MapperProxyFactory; import com.weaver.integration.ldap.sync.oa.OaSync; import com.weaver.integration.ldap.util.AuthenticUtil; @@ -232,8 +231,8 @@ public class HrmImportProcessE9 extends BaseBean { Class voClass = HrmResourceVo.class; String field = "id,subcompanyid1,departmentid,workcode,lastname," - + "loginid,password,seclevel,sex," - + "managerid,assistantid,status,locationid,workroom," + + "loginid,password,seclevel,sex,jobtitle,jobcall,joblevel," + + "jobactivitydesc,managerid,assistantid,status,locationid,workroom," + "telephone,mobile,mobilecall,fax,email," + "systemlanguage,birthday,folk,nativeplace,regresidentplace," + "certificatenum,maritalstatus,policy,bememberdate,bepartydate," @@ -426,29 +425,15 @@ public class HrmImportProcessE9 extends BaseBean { hrm.setAccounttype(0); } - //// 岗位id - //if (vo.getJobtitle() != null && vo.getJobactivityid() != null && vo.getJobgroupid() != null) { - // int jobtitle = getJobTitles(vo.getJobtitle(), vo - // .getJobactivityid(), vo.getJobgroupid()); - // /// -1:职务类别不存在,-2:职务不存在,-3:职务类别不存在 - // if (jobtitle == -1) { - // resultList.add(createLog(vo, "创建", "失败", "职务类别不存在")); - // continue; - // } else if (jobtitle == -2) { - // resultList.add(createLog(vo, "创建", "失败", "职务不存在")); - // continue; - // } else if (jobtitle == -3) { - // resultList.add(createLog(vo, "创建", "失败", "岗位名称不存在")); - // continue; - // } - // hrm.setJobtitle(jobtitle); - //} else { - // resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(83531, userlanguage))); - // continue; - //} - - // 担任岗位字段校验 - + // 岗位id + if (vo.getJobtitle() != null && vo.getJobactivityid() != null && vo.getJobgroupid() != null) { + int jobtitle = getJobTitles(vo.getJobtitle(), vo + .getJobactivityid(), vo.getJobgroupid()); + hrm.setJobtitle(jobtitle); + } else { + resultList.add(createLog(vo, "创建", "失败", SystemEnv.getHtmlLabelName(83531, userlanguage))); + continue; + } //上级id if (vo.getManagerid() != null) { @@ -636,12 +621,12 @@ public class HrmImportProcessE9 extends BaseBean { } //职级 - //if (isInteger(vo.getJoblevel())) { - // int joblevel = vo.getJoblevel().equals("") ? 0 : Integer.parseInt(vo.getJoblevel()); - // hrm.setJoblevel((short) joblevel); - //} else { - // hrm.setJoblevel((short) 0); - //} + if (isInteger(vo.getJoblevel())) { + int joblevel = vo.getJoblevel().equals("") ? 0 : Integer.parseInt(vo.getJoblevel()); + hrm.setJoblevel((short) joblevel); + } else { + hrm.setJoblevel((short) 0); + } //用工性质 if (vo.getUsekind() != null) { int usekind = getUseKind(vo.getUsekind()); @@ -830,7 +815,7 @@ public class HrmImportProcessE9 extends BaseBean { new HrmDateCheck().calWorkInfo("" + id); // 刷新组织结构图 - new Thread(new HrmResourceTriggerRunnable((long) id)).start(); + // TODO new Thread(new HrmResourceTriggerRunnable((long) id)).start(); } @@ -854,7 +839,6 @@ public class HrmImportProcessE9 extends BaseBean { if (this.checkInfo(vo, resultList)) { continue; } - new BaseBean().writeLog("checkKeys校验通过"); if (vo.getAccounttype() == null || "".equalsIgnoreCase(Util.null2String(vo.getAccounttype()))) { if (StringUtil.isNotNull(vo.getCertificatenum()) && certificateNums.get(StringUtil.vString(vo.getCertificatenum())) != null) { @@ -888,6 +872,7 @@ public class HrmImportProcessE9 extends BaseBean { issameSub = false; } + if (subcompanyid1 == -9) { resultList.add(createLog(vo, "更新", "失败", SystemEnv.getErrorMsgName(56, userlanguage))); continue; @@ -975,49 +960,36 @@ public class HrmImportProcessE9 extends BaseBean { } } - //// 岗位id - //if ("".equals(Util.null2String(vo.getJobtitle())) && (!"".equals(Util.null2String(vo.getJobactivityid())) || !"".equals(Util.null2String(vo.getJobgroupid())))) { - // resultList.add(createLog(vo, "更新", "失败", SystemEnv.getHtmlLabelName(83544, userlanguage))); - // continue; - //} - //if (!"".equals(Util.null2String(vo.getJobtitle()))) { - // String jobtitle; - // String jobactivityid; - // String jobactivityname; - // String jobgroupid; - // String jobgroupname; - // if (vo.getJobactivityid() == null) { - // jobtitle = resourcecominfo.getJobTitle(hrmId); - // jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); - // jobactivityname = jobActivitiesComInfo.getJobActivitiesname(jobactivityid); - // } else - // jobactivityname = vo.getJobactivityid(); - // if (vo.getJobgroupid() == null) { - // jobtitle = resourcecominfo.getJobTitle(hrmId); - // jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); - // jobgroupid = jobActivitiesComInfo.getJobgroupid(jobactivityid); - // jobgroupname = jobGroupsComInfo.getJobGroupsname(jobgroupid); - // } else { - // jobgroupname = vo.getJobgroupid(); - // } - // int jobtitleid = getJobTitles(vo.getJobtitle(), jobactivityname, jobgroupname); - // if (jobtitleid == -1) { - // resultList.add(createLog(vo, "创建", "失败", "职务类别不存在")); - // continue; - // } else if (jobtitleid == -2) { - // resultList.add(createLog(vo, "创建", "失败", "职务不存在")); - // continue; - // } else if (jobtitleid == -3) { - // resultList.add(createLog(vo, "创建", "失败", "岗位名称不存在")); - // continue; - // } - // hrm.setJobtitle(jobtitleid); - //} - - new BaseBean().writeLog("hrmId【" + hrmId + "】"); - if (Util.getIntValue(hrmId) < 0) { + // 岗位id + if ("".equals(Util.null2String(vo.getJobtitle())) && (!"".equals(Util.null2String(vo.getJobactivityid())) || !"".equals(Util.null2String(vo.getJobgroupid())))) { + resultList.add(createLog(vo, "更新", "失败", SystemEnv.getHtmlLabelName(83544, userlanguage))); continue; } + if (!"".equals(Util.null2String(vo.getJobtitle()))) { + String jobtitle = ""; + String jobactivityid = ""; + String jobactivityname = ""; + String jobgroupid = ""; + String jobgroupname = ""; + if (vo.getJobactivityid() == null) { + jobtitle = resourcecominfo.getJobTitle(hrmId); + jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); + jobactivityname = jobActivitiesComInfo.getJobActivitiesname(jobactivityid); + } else + jobactivityname = vo.getJobactivityid(); + if (vo.getJobgroupid() == null) { + jobtitle = resourcecominfo.getJobTitle(hrmId); + jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); + jobgroupid = jobActivitiesComInfo.getJobgroupid(jobactivityid); + jobgroupname = jobGroupsComInfo.getJobGroupsname(jobgroupid); + } else { + jobgroupname = vo.getJobgroupid(); + } + int jobtitleid = getJobTitles(vo.getJobtitle(), jobactivityname, jobgroupname); + hrm.setJobtitle(new Integer(jobtitleid)); + } + + if (Util.getIntValue(hrmId) < 0) continue; //上级id String managerstr = ""; //所有上级 @@ -1216,10 +1188,10 @@ public class HrmImportProcessE9 extends BaseBean { } //职级 - //if (isInteger(vo.getJoblevel())) { - // int joblevel = vo.getJoblevel().equals("") ? 0 : Integer.parseInt(vo.getJoblevel()); - // hrm.setJoblevel((short) joblevel); - //} + if (isInteger(vo.getJoblevel())) { + int joblevel = vo.getJoblevel().equals("") ? 0 : Integer.parseInt(vo.getJoblevel()); + hrm.setJoblevel((short) joblevel); + } //用工性质 if (vo.getUsekind() != null) { @@ -1439,7 +1411,6 @@ public class HrmImportProcessE9 extends BaseBean { String nowmanagerstr = Util.null2String(recordSet.getString("managerstr")); String resourceid = recordSet.getString("id"); //指定上级为自身的情况,不更新自身上级 - new BaseBean().writeLog("resourceid【" + resourceid + "】"); if (hrmId.equals(resourceid)) { continue; } @@ -1514,7 +1485,7 @@ public class HrmImportProcessE9 extends BaseBean { resultList.add(createLog(vo, "更新", "失败", "系统错误,请联系管理员")); } // 刷新组织结构图 - new Thread(new HrmResourceTriggerRunnable((long) keyMap.get(key))).start(); + // TODO new Thread(new HrmResourceTriggerRunnable((long) keyMap.get(key))).start(); } } catch (Exception e) { //数据异常 @@ -1596,17 +1567,6 @@ public class HrmImportProcessE9 extends BaseBean { fielddbType = jsonObject.getString("fielddbtype"); jsonObject.put("fieldvalue", baseValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); - // 处理自动获取时,或取到已删除的数据 - if ("field100002".equalsIgnoreCase(fieldname)) { - // 根据分部、部门,获取对应的岗位ID - recordSet.execute("select subcompanyid1,departmentid from hrmresource where id = " + id); - while (recordSet.next()) { - String ecCompany = recordSet.getString("subcompanyid1"); - String ecDepartment = recordSet.getString("departmentid"); - Long jobId = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndEcId(baseValues[i], ecCompany, ecDepartment); - fieldvalue = null == jobId ? "" : jobId.toString(); - } - } EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { @@ -1688,18 +1648,6 @@ public class HrmImportProcessE9 extends BaseBean { fielddbType = jsonObject.getString("fielddbtype"); jsonObject.put("fieldvalue", baseValues[i]); String fieldvalue = HrmFieldManager.getReallyFieldvalue(jsonObject); - // 处理自动获取时,或取到已删除的数据 - if ("field100002".equalsIgnoreCase(fieldname)) { - // 根据分部、部门,获取对应的岗位ID - recordSet.execute("select subcompanyid1,departmentid from hrmresource where id = " + id); - while (recordSet.next()) { - String ecCompany = recordSet.getString("subcompanyid1"); - String ecDepartment = recordSet.getString("departmentid"); - Long jobId = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndEcId(baseValues[i], ecCompany, ecDepartment); - fieldvalue = null == jobId ? "" : jobId.toString(); - new BaseBean().writeLog("岗位[" + baseValues[i] + "],jobId[" + Util.null2String(jobId) + "],ecCompany[" + ecCompany + "],ecDepartment[" + ecDepartment + "]"); - } - } EncryptFieldEntity encryptFieldEntity = new EncryptFieldConfigComInfo().getFieldEncryptConfig("cus_fielddata", fieldname, "HrmCustomFieldByInfoType", scopeId); if (encryptFieldEntity != null && "1".equals(encryptFieldEntity.getIsEncrypt())) { //是否需要加密 @@ -1711,7 +1659,7 @@ public class HrmImportProcessE9 extends BaseBean { if (fieldvalue.endsWith(",")) { fieldvalue = fieldvalue.substring(0, fieldvalue.length() - 1); } - if (!"".equals(fieldvalue) || "field100002".equalsIgnoreCase(fieldname)) { + if (!"".equals(fieldvalue)) { flag = true; if (fielddbType.toLowerCase().startsWith("char") || fielddbType.toLowerCase().startsWith("varchar") || fielddbType.toLowerCase().startsWith("text")) { setStr.append(",").append(baseFields[i]).append("='").append(fieldvalue).append("'"); @@ -1822,8 +1770,7 @@ public class HrmImportProcessE9 extends BaseBean { if (!recordSet.next()) { return !addPersonData(personFild, personValue, id); } - new BaseBean().writeLog("personValue【" + personValue + "】"); - new BaseBean().writeLog("personFild【" + personFild + "】"); + String[] personValues = personValue.split(";"); String[] personFields = personFild.split(","); String fielddbType; @@ -2149,68 +2096,93 @@ public class HrmImportProcessE9 extends BaseBean { return currentId; } - ///** - // * 获取岗位id - // * - // * @param jobtitlename 岗位名称 - // * @param jobactivityname 职务 - // * @param jobgroupname 职务类别 - // * @return -1:职务类别不存在,-2:职务不存在,-3:岗位名称不存在 - // */ - //public int getJobTitles(String jobtitlename, String jobactivityname, - // String jobgroupname) { - // RecordSet rs = new RecordSet(); - // RecordSet recordSet = new RecordSet(); - // String sqlInsert; - // - // jobgroupname = Util.convertInput2DB4(jobgroupname); - // jobactivityname = Util.convertInput2DB4(jobactivityname); - // - // /* 获取jobgroupid 职务类别 */ - // String selSql = "select id from HrmJobGroups where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; - // if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - // selSql = "select id from HrmJobGroups where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; - // } - // - // int jobgroupid = getResultSetId(selSql); - // - // if (jobgroupid == 0) { - // return -1; - // } - // - // /* 获取jobactivityid 职务 */ - // selSql = "select id from HrmJobActivities where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; - // if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - // selSql = "select id from HrmJobActivities where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; - // } - // - // int jobactivityid = getResultSetId(selSql); - // - // if (jobactivityid == 0) { - // return -2; - // } - // - // /*获取岗位id*/ - // selSql = "select id from HrmJobTitles where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; - // if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { - // selSql = "select id from HrmJobTitles where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; - // } - // - // int jobtitle = getResultSetId(selSql); - // - // if (jobtitle == 0) { - // return -3; - // - // } else { - // selSql = "select * from HrmJobTitles where id = '" + jobtitle + "' and jobactivityid = '" + jobactivityid + "' "; - // recordSet.executeSql(selSql); - // if (!recordSet.next()) {//查询这个名称已存在的岗位,对应的职务是否存在。如果对应职务的岗位不存在,则说明岗位对应的职务和职务类别有更新 - // sqlInsert = "update HrmJobTitles set jobactivityid = '" + jobactivityid + "'," + DbFunctionUtil.getUpdateSetSql(rs.getDBType(), 1) + " where id = '" + jobtitle + "' "; - // rs.executeSql(sqlInsert); - // } - // } - // return jobtitle; - //} + /** + * 获取岗位id + * + * @param jobtitlename 岗位名称 + * @param jobactivityname 职务 + * @param jobgroupname 职务类型 + * @return + */ + public int getJobTitles(String jobtitlename, String jobactivityname, + String jobgroupname) { + RecordSet rs = new RecordSet(); + RecordSet recordSet = new RecordSet(); + String sqlInsert = ""; + + jobgroupname = Util.convertInput2DB4(jobgroupname); + jobactivityname = Util.convertInput2DB4(jobactivityname); + + /* 获取jobgroupid 职务类别 */ + String selSql = "select id from HrmJobGroups where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; + if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + selSql = "select id from HrmJobGroups where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; + } + + int jobgroupid = getResultSetId(selSql); + + if (jobgroupid == 0) { + if (jobgroupname.length() == 0) { + selSql = "select max(id) as id from HrmJobGroups"; + jobgroupid = getResultSetId(selSql); + } else { + sqlInsert = "insert into HrmJobGroups (jobgroupname,jobgroupremark ," + DbFunctionUtil.getInsertColumnSql() + ") values('" + + jobgroupname + "','" + jobgroupname + "'," + DbFunctionUtil.getInsertColumnValueSql(recordSet.getDBType(), 1) + ")"; // 创建 + execSql(sqlInsert); + jobgroupid = getResultSetId(selSql); + } + } + + /* 获取jobactivityid 职务 */ + selSql = "select id from HrmJobActivities where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; + if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + selSql = "select id from HrmJobActivities where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; + } + + int jobactivityid = getResultSetId(selSql); + + if (jobactivityid == 0) { + sqlInsert = "insert into HrmJobActivities (jobactivityname,Jobactivitymark,jobgroupid ," + DbFunctionUtil.getInsertColumnSql() + ") values('" + + jobactivityname + "','" + jobactivityname + "'," + jobgroupid + " ," + DbFunctionUtil.getInsertColumnValueSql(recordSet.getDBType(), 1) + ")"; // 创建 + execSql(sqlInsert); + jobactivityid = getResultSetId(selSql); + } + + /*获取岗位id*/ + selSql = "select id from HrmJobTitles where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; + if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + selSql = "select id from HrmJobTitles where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; + } + + int jobtitle = getResultSetId(selSql); + + if (jobtitle == 0) { + String jobtitlecode = ""; + try { + jobtitlecode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.JOBTITLES, jobtitlecode); + } catch (Exception e) { + writeLog(e); + } + sqlInsert = "insert into HrmJobTitles (jobtitlename,Jobtitlemark,jobactivityid ," + DbFunctionUtil.getInsertColumnSql() + ", jobtitlecode) values('" + + jobtitlename + "','" + jobtitlename + "'," + jobactivityid + " ," + DbFunctionUtil.getInsertColumnValueSql(recordSet.getDBType(), 1) + ", '" + jobtitlecode + "')"; // 创建 + execSql(sqlInsert); + HrmTriggerUtil.generateJobtitlesPinyin(jobtitlename, null); + jobtitle = getResultSetId(selSql); + + HrmFaceCheckManager.sync(jobtitle + "", HrmFaceCheckManager.getOptInsert(), "hrm_e9_import_getJobtitles", HrmFaceCheckManager.getOaJobtitle()); + + } else { + selSql = "select * from HrmJobTitles where id = '" + jobtitle + "' and jobactivityid = '" + jobactivityid + "' "; + recordSet.executeSql(selSql); + if (!recordSet.next()) {//查询这个名称已存在的岗位,对应的职务是否存在。如果对应职务的岗位不存在,则说明岗位对应的职务和职务类别有更新 + sqlInsert = "update HrmJobTitles set jobactivityid = '" + jobactivityid + "'," + DbFunctionUtil.getUpdateSetSql(rs.getDBType(), 1) + " where id = '" + jobtitle + "' "; + rs.executeSql(sqlInsert); + } + } + return jobtitle; + } + + public static boolean needCheckLicenseForUpdate(ResourceComInfo resourceComInfo, String hrmId, HrmResourceVo vo) { String statusOfHrmId = resourceComInfo.getStatus(hrmId); String loginidOfHrmId = resourceComInfo.getLoginID(hrmId); From a1f2c9d1ac5093148de795ce2dba26de6e5d9ccc Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Dec 2022 11:24:48 +0800 Subject: [PATCH 048/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/department/bo/DepartmentBO.java | 4 ++-- .../organization/service/impl/DepartmentServiceImpl.java | 2 +- src/com/engine/organization/service/impl/JobServiceImpl.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 668b35c7..9d6155db 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -114,11 +114,11 @@ public class DepartmentBO { .departmentMark(e.getDepartmentMark()) .subCompanyId1(e.getSubCompanyId1()) .supDepId(e.getSupDepId()) - .supDepName(e.getSupDepId() == 0 ? "" : getDeptNameById(e.getSupDepId())) + .supDepName(null == e.getSupDepId() || e.getSupDepId() == 0 ? "" : getDeptNameById(e.getSupDepId())) //.deptPrincipalName(getEmployeeNameById(e.getDeptPrincipal())) .build()).collect(Collectors.toList()); //获取非一级部门 - Map> collects = singleDeptTreeVOS.stream().filter(item -> !parentComp.equals(item.getSubCompanyId1()) && 0 != item.getSupDepId()).collect(Collectors.groupingBy(SingleDeptTreeVO::getSupDepId)); + Map> collects = singleDeptTreeVOS.stream().filter(item -> !parentComp.equals(item.getSubCompanyId1()) && null != item.getSupDepId() && 0 != item.getSupDepId()).collect(Collectors.groupingBy(SingleDeptTreeVO::getSupDepId)); return singleDeptTreeVOS.stream().peek(e -> e.setChildren(collects.get(e.getId()))).filter(item -> parentComp.equals(item.getSubCompanyId1())).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index de15812f..f0e63d6c 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -231,7 +231,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public Map> getHasRight() { - return MenuBtn.getDatasHasCopy(); + return MenuBtn.getDatasNoBtnColum(); } @Override diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 4888d5df..a624d4d2 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -203,7 +203,7 @@ public class JobServiceImpl extends Service implements JobService { @Override public Map> getHasRight() { - return MenuBtn.getDatasHasCopy(); + return MenuBtn.getDatasNoBtnColum(); } @Override From f89ebdb965e2444b5967d7bad1b46ca7ced0cde4 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Dec 2022 14:16:58 +0800 Subject: [PATCH 049/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E8=81=94=E8=B0=83=E3=80=82BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/department/bo/DepartmentBO.java | 11 +++-- .../department/dto/DepartmentListDTO.java | 10 ++--- .../department/param/DeptSearchParam.java | 1 + .../entity/department/po/DepartmentPO.java | 1 + .../mapper/department/DepartmentMapper.java | 2 + .../mapper/department/DepartmentMapper.xml | 8 ++++ .../service/impl/CompServiceImpl.java | 8 +++- .../service/impl/DepartmentServiceImpl.java | 42 ++++++------------- 8 files changed, 44 insertions(+), 39 deletions(-) diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 9d6155db..283ffc01 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -38,7 +38,7 @@ public class DepartmentBO { .subCompanyName(0 == e.getSubCompanyId1() ? "" : MapperProxyFactory.getProxy(CompMapper.class).listById(e.getSubCompanyId1()).getSubCompanyName()) .supDepId(e.getSupDepId()) .supDepName(null == poMaps.get(e.getSupDepId()) ? "" : poMaps.get(e.getSupDepId()).getDepartmentName()) - // .deptPrincipal(getEmployeeNameById(e.getDeptPrincipal())) + .deptPrincipal(getEmployeeNameById(e.getId())) .showOrder(null == e.getShowOrder() ? 0 : e.getShowOrder()) .canceled(null == e.getCanceled() ? 0 : e.getCanceled()) .build()).collect(Collectors.toList()); @@ -82,6 +82,7 @@ public class DepartmentBO { return DepartmentPO .builder() .id(param.getId() == null ? 0 : param.getId()) + .departmentId(param.getDepartmentId()) .departmentMark(param.getDepartmentMark()) .departmentName(param.getDepartmentName()) .subCompanyId1(param.getSubCompanyId1()) @@ -152,8 +153,12 @@ public class DepartmentBO { return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(id); } - public static String getEmployeeNameById(Long id) { - return MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(id); + public static String getEmployeeNameById(Integer id) { + Long departmentPrincipal = MapperProxyFactory.getProxy(DepartmentMapper.class).getDepartmentPrincipal(id); + if (null == departmentPrincipal) { + return ""; + } + return MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(departmentPrincipal); } diff --git a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java index 5b6e0892..6b18b28e 100644 --- a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java +++ b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java @@ -63,11 +63,11 @@ public class DepartmentListDTO { private Integer supDepId; - ///** - // * 部门负责人 - // */ - //@TableTitle(title = "部门负责人", dataIndex = "deptPrincipal", key = "deptPrincipal") - //private String deptPrincipal; + /** + * 部门负责人 + */ + @TableTitle(title = "部门负责人", dataIndex = "deptPrincipal", key = "deptPrincipal") + private String deptPrincipal; /** * 显示顺序 diff --git a/src/com/engine/organization/entity/department/param/DeptSearchParam.java b/src/com/engine/organization/entity/department/param/DeptSearchParam.java index 3b29ee4f..bb4b005e 100644 --- a/src/com/engine/organization/entity/department/param/DeptSearchParam.java +++ b/src/com/engine/organization/entity/department/param/DeptSearchParam.java @@ -26,6 +26,7 @@ public class DeptSearchParam extends BaseQueryParam { private Boolean canceled; private String departmentCode; private Integer coadjutant; + private String departmentId; private String uuid; private Double showOrder; diff --git a/src/com/engine/organization/entity/department/po/DepartmentPO.java b/src/com/engine/organization/entity/department/po/DepartmentPO.java index 80833e4d..ba80e5e7 100644 --- a/src/com/engine/organization/entity/department/po/DepartmentPO.java +++ b/src/com/engine/organization/entity/department/po/DepartmentPO.java @@ -27,6 +27,7 @@ public class DepartmentPO { private Integer canceled; private String departmentCode; private Integer coadjutant; + private String departmentId; private Date created; private Integer creater; diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index 92822914..94b188a2 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -96,4 +96,6 @@ public interface DepartmentMapper { String getIdByDepartmentCode(@Param("departmentCode") String departmentCode); + Long getDepartmentPrincipal(@Param("deptId") Integer deptId); + } diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 4b6d195e..66be567d 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -59,6 +59,9 @@ and t.supDepId = #{departmentPO.supDepId} + + and t.id = #{departmentPO.departmentId} + order by ${orderSql} @@ -144,6 +147,11 @@ from hrmdepartment where departmentcode = #{departmentCode} + diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index 47f2a37e..0a99ba57 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -321,7 +321,9 @@ public class CompServiceImpl extends Service implements CompService { } groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage()), true, itemList)); - groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + if (CollectionUtils.isNotEmpty(extendItemList)) { + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + } } } HashMap buttonsMap = new HashMap<>(); @@ -542,7 +544,9 @@ public class CompServiceImpl extends Service implements CompService { } } groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage()), true, itemList)); - groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + if (CollectionUtils.isNotEmpty(extendItemList)) { + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + } } return groupList; } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index f0e63d6c..0d368dc2 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -367,7 +367,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService itemList.add(searchConditionItem); } groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(groupLabel, user.getLanguage()), true, itemList)); - groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + if (CollectionUtils.isNotEmpty(extendItemList)) { + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + } } } @@ -411,12 +413,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService isCheckItem.setDetailtype(2); SearchConditionItem copySubDeptItem = OrganizationFormItemUtil.selectItem(user, Lists.newArrayList(new SearchConditionOption("1", "")), 2, 5, 10, false, "复制子部门信息", "copySubDept"); copySubDeptItem.setDetailtype(2); - SearchConditionItem copySubJob = OrganizationFormItemUtil.selectItem(user, Lists.newArrayList(new SearchConditionOption("1", "")), 2, 5, 10, false, "复制子部门岗位信息", "copySubJob"); - copySubJob.setDetailtype(2); condition.add(compBrowserItem); condition.add(isCheckItem); condition.add(copySubDeptItem); - condition.add(copySubJob); addGroups.add(new SearchConditionGroup("", true, condition)); return addGroups; } @@ -693,7 +692,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return !(StringUtil.isEmpty(departmentPO.getDepartmentCode()) && StringUtil.isEmpty(departmentPO.getDepartmentName()) && null == departmentPO.getSubCompanyId1() - && null == departmentPO.getSupDepId()); + && null == departmentPO.getSupDepId() + && null == departmentPO.getDepartmentId()); } @@ -880,32 +880,14 @@ public class DepartmentServiceImpl extends Service implements DepartmentService String id = Util.null2String(params.get("id")); int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); - String nodeType = Util.null2String(params.get("type")); String addType = Util.null2String(params.get("addType")); - DepartmentComInfo departmentComInfo = new DepartmentComInfo(); - String subcompanyid1 = ""; - String supDepId = ""; - - switch (addType) { - case "normal": - if ("subcompany".equals(nodeType)) { - subcompanyid1 = id; - } else { - subcompanyid1 = departmentComInfo.getSubcompanyid1(id); - } - break; - case "sibling": - subcompanyid1 = departmentComInfo.getSubcompanyid1(id); - supDepId = departmentComInfo.getDepartmentsupdepid(id); - break; - case "child": - subcompanyid1 = departmentComInfo.getSubcompanyid1(id); - supDepId = id; - break; - default: - break; + String subcompanyid1 = Util.null2String(params.get("subcompanyid1")); + String supDepId = Util.null2String(params.get("departmentid")); + if (StringUtils.isNotBlank(supDepId)) { + subcompanyid1 = new DepartmentComInfo().getSubcompanyid1(supDepId); } + HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); @@ -1018,7 +1000,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } } groupList.add(new SearchConditionGroup(SystemEnv.getHtmlLabelNames(grouplabel, user.getLanguage()), true, itemList)); - groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + if (CollectionUtils.isNotEmpty(extendItemList)) { + groupList.add(new SearchConditionGroup("拓展信息", true, extendItemList)); + } } return groupList; } From eaa1c53c9c1bf390f676cad2ab92f3308124dac4 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Dec 2022 14:37:48 +0800 Subject: [PATCH 050/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E8=81=94=E8=B0=83=E3=80=82BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DepartmentServiceImpl.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 0d368dc2..79493862 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -409,12 +409,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List condition = new ArrayList<>(); SearchConditionItem compBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "复制到", "164", "company", ""); compBrowserItem.setRules("required|string"); - SearchConditionItem isCheckItem = OrganizationFormItemUtil.selectItem(user, Lists.newArrayList(new SearchConditionOption("1", "")), 2, 5, 10, false, "复制岗位信息", "copyJob"); - isCheckItem.setDetailtype(2); SearchConditionItem copySubDeptItem = OrganizationFormItemUtil.selectItem(user, Lists.newArrayList(new SearchConditionOption("1", "")), 2, 5, 10, false, "复制子部门信息", "copySubDept"); copySubDeptItem.setDetailtype(2); condition.add(compBrowserItem); - condition.add(isCheckItem); condition.add(copySubDeptItem); addGroups.add(new SearchConditionGroup("", true, condition)); return addGroups; @@ -464,15 +461,15 @@ public class DepartmentServiceImpl extends Service implements DepartmentService //TODO new DepartmentTriggerRunnable(deptById.getId()).run(); // 复制当前部门岗位信息 - if ("1".equals(copyJob)) { - List jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listJobsByDepartmentId(originalDeptId); - jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); - Integer maxJobOrder = MapperProxyFactory.getProxy(JobMapper.class).getMaxShowOrder(); - if (maxJobOrder == null) { - maxJobOrder = 0; - } - recursionCopyJob(jobPOS, companyId, Integer.parseInt(ecDepartmentID), null, maxJobOrder, timeMillis); - } + //if ("1".equals(copyJob)) { + // List jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listJobsByDepartmentId(originalDeptId); + // jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); + // Integer maxJobOrder = MapperProxyFactory.getProxy(JobMapper.class).getMaxShowOrder(); + // if (maxJobOrder == null) { + // maxJobOrder = 0; + // } + // recursionCopyJob(jobPOS, companyId, Integer.parseInt(ecDepartmentID), null, maxJobOrder, timeMillis); + //} // 是否复制子部门信息 if ("1".equals(copySubDept)) { From c1c812596d1607e2ece8ea6f7631394ada6c07da Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Dec 2022 17:10:31 +0800 Subject: [PATCH 051/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/department/bo/DepartmentBO.java | 12 +- .../department/dto/DepartmentListDTO.java | 4 +- .../mapper/department/DepartmentMapper.java | 2 +- .../mapper/department/DepartmentMapper.xml | 2 +- .../service/impl/DepartmentServiceImpl.java | 69 +---- .../service/impl/GroupServiceImpl.java | 3 +- .../service/impl/ImportCommonServiceImpl.java | 276 ------------------ 7 files changed, 26 insertions(+), 342 deletions(-) diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 283ffc01..78370d1d 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -10,6 +10,7 @@ import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; import weaver.general.Util; import java.util.*; @@ -38,7 +39,7 @@ public class DepartmentBO { .subCompanyName(0 == e.getSubCompanyId1() ? "" : MapperProxyFactory.getProxy(CompMapper.class).listById(e.getSubCompanyId1()).getSubCompanyName()) .supDepId(e.getSupDepId()) .supDepName(null == poMaps.get(e.getSupDepId()) ? "" : poMaps.get(e.getSupDepId()).getDepartmentName()) - .deptPrincipal(getEmployeeNameById(e.getId())) + .bmfzr(getEmployeeNameById(e.getId())) .showOrder(null == e.getShowOrder() ? 0 : e.getShowOrder()) .canceled(null == e.getCanceled() ? 0 : e.getCanceled()) .build()).collect(Collectors.toList()); @@ -154,11 +155,14 @@ public class DepartmentBO { } public static String getEmployeeNameById(Integer id) { - Long departmentPrincipal = MapperProxyFactory.getProxy(DepartmentMapper.class).getDepartmentPrincipal(id); - if (null == departmentPrincipal) { + if (null == id) { return ""; } - return MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(departmentPrincipal); + String departmentPrincipal = MapperProxyFactory.getProxy(DepartmentMapper.class).getDepartmentPrincipal(id); + if (StringUtils.isBlank(departmentPrincipal)) { + return ""; + } + return MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(Long.parseLong(departmentPrincipal)); } diff --git a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java index 6b18b28e..dfa9b138 100644 --- a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java +++ b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java @@ -66,8 +66,8 @@ public class DepartmentListDTO { /** * 部门负责人 */ - @TableTitle(title = "部门负责人", dataIndex = "deptPrincipal", key = "deptPrincipal") - private String deptPrincipal; + @TableTitle(title = "部门负责人", dataIndex = "bmfzr", key = "bmfzr") + private String bmfzr; /** * 显示顺序 diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.java b/src/com/engine/organization/mapper/department/DepartmentMapper.java index 94b188a2..8efd277e 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.java +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.java @@ -96,6 +96,6 @@ public interface DepartmentMapper { String getIdByDepartmentCode(@Param("departmentCode") String departmentCode); - Long getDepartmentPrincipal(@Param("deptId") Integer deptId); + String getDepartmentPrincipal(@Param("deptId") Integer deptId); } diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 66be567d..802b2d48 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -147,7 +147,7 @@ from hrmdepartment where departmentcode = #{departmentCode} - select bmfzr from hrmdepartmentdefined where deptid = #{deptId} diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 79493862..c5d607ba 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -34,7 +34,6 @@ import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.service.DepartmentService; -import com.engine.organization.thread.JobTriggerRunnable; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; import com.engine.organization.util.coderule.CodeRuleUtil; @@ -540,10 +539,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService String mergeEcDeptId = mergeParam.getId().toString(); rs.executeUpdate("update jcl_org_job set parent_comp =?,ec_company =?,parent_dept =?,ec_department =? where ec_department =?", targetDepartment.getSubCompanyId1(), targetDepartment.getSubCompanyId1(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); // 更新岗位组织架构图 - for (JobPO jobPO : firstChildJobList) { - // 刷新组织架构图 - new JobTriggerRunnable(jobPO.getId()).run(); - } + //for (JobPO jobPO : firstChildJobList) { + // // 刷新组织架构图 + // TODO new JobTriggerRunnable(jobPO.getId()).run(); + //} // 更新当前部门下的人员 rs.executeUpdate("update hrmresource set SUBCOMPANYID1 =?,DEPARTMENTID =? where DEPARTMENTID =?", targetDepartment.getSubCompanyId1(), targetEcDeptId, mergeEcDeptId); //new RecordSet().executeUpdate("update jcl_org_hrmresource set company_id =? ,ec_company = ? ,department_id = ?, ec_department = ?where department_id =?", targetDepartment.getParentComp(), targetDepartment.getEcCompany(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); @@ -766,48 +765,6 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return generateCode; } - /** - * 递归复制岗位信息 - * - * @param jobPOS - * @param parentCompId - * @param parentDeptId - * @param orderNum - */ - private void recursionCopyJob(List jobPOS, Integer parentCompId, Integer parentDeptId, Long currentParentJobId, int orderNum, long timeMillis) { - for (JobPO jobPO : jobPOS) { - orderNum++; - - // 查询源岗位的下级岗位 - List jobsByPid = MapperProxyFactory.getProxy(JobMapper.class).getJobsByPid(jobPO.getId()); - - // 处理自动编号 - jobPO.setJobNo(CodeRuleUtil.generateCode(RuleCodeType.JOBTITLES, jobPO.getJobNo(), timeMillis)); - - // 所属部门赋值 - jobPO.setParentDept(parentDeptId); - jobPO.setEcDepartment(parentDeptId); - - // 所属分部赋值 - jobPO.setEcCompany(parentCompId); - jobPO.setParentComp(parentCompId); - - // 指定上级岗位 - jobPO.setParentJob(currentParentJobId); - jobPO.setCreator((long) user.getUID()); - jobPO.setCreateTime(new Date()); - jobPO.setShowOrder(orderNum); - MapperProxyFactory.getProxy(JobMapper.class).insertIgnoreNull(jobPO); - // 更新组织架构图 - new JobTriggerRunnable(jobPO.getId()).run(); - // 处理子级元素 - - if (CollectionUtils.isNotEmpty(jobsByPid)) { - recursionCopyJob(jobsByPid, parentCompId, parentDeptId, jobPO.getId(), orderNum, timeMillis); - } - } - } - /** * 更新EC表部门 * @@ -859,15 +816,15 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentComp */ private void refreshJobComp(Integer parentDepartment, Integer parentComp) { - List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); - jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(jobPOS)) { - getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, parentComp); - for (JobPO jobPO : jobPOS) { - // 刷新组织架构图 - new JobTriggerRunnable(jobPO.getId()).run(); - } - } + //List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); + //jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); + //if (CollectionUtils.isNotEmpty(jobPOS)) { + // getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, parentComp); + // for (JobPO jobPO : jobPOS) { + // // 刷新组织架构图 + // new JobTriggerRunnable(jobPO.getId()).run(); + // } + //} } private List getDepartmentConditionGroups(Map params) { diff --git a/src/com/engine/organization/service/impl/GroupServiceImpl.java b/src/com/engine/organization/service/impl/GroupServiceImpl.java index b66a352c..4f6127ec 100644 --- a/src/com/engine/organization/service/impl/GroupServiceImpl.java +++ b/src/com/engine/organization/service/impl/GroupServiceImpl.java @@ -5,7 +5,6 @@ import com.api.browser.bean.SearchConditionItem; import com.engine.core.impl.Service; import com.engine.organization.entity.TopTab; import com.engine.organization.service.GroupService; -import com.engine.organization.thread.GroupTriggerRunnable; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; @@ -83,7 +82,7 @@ public class GroupServiceImpl extends Service implements GroupService { String companyweb = (String) params.get("companyweb"); RecordSet rs = new RecordSet(); boolean executeUpdate = rs.executeUpdate("update HrmCompany set COMPANYNAME = ?,COMPANYDESC=?,COMPANYWEB=? where id = ?", companyname, companydesc, companyweb, id); - new GroupTriggerRunnable(params).run(); + //TODO new GroupTriggerRunnable(params).run(); return executeUpdate; } diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index d21eba97..bd670c9c 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -8,7 +8,6 @@ import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.extend.ExtendInfoOperateType; -import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.fieldset.param.FieldTransferParam; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; @@ -16,14 +15,9 @@ import com.engine.organization.entity.jclimport.vo.JclImportHistoryDetailVO; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.po.LevelPO; import com.engine.organization.entity.scheme.po.SchemePO; -import com.engine.organization.enums.LogModuleNameEnum; -import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.enums.OrgImportEnum; -import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; -import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; @@ -33,8 +27,6 @@ import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.mapper.scheme.SchemeMapper; import com.engine.organization.service.ImportCommonService; -import com.engine.organization.thread.JobTriggerRunnable; -import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; @@ -232,8 +224,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ returnMap.put("pId", DepartmentImport.saveImport(operateType, excelFile, user)); break; case "jobtitle": - returnMap.put("pId", jobImport(operateType, excelFile)); - break; case "resource": returnMap.put("pId", ResourceImport.saveImport(operateType, excelFile, user, request)); break; @@ -353,272 +343,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return lsGroup; } - /** - * 岗位导入 - */ - private Long jobImport(String operateType, String excelFile) { - Long importHistoryId = OrgImportUtil.saveImportLog("jobtitle", operateType, user); - JclImportHistoryDetailPO historyDetailPO; - - ImageFileManager manager = new ImageFileManager(); - manager.getImageFileInfoById(Util.getIntValue(excelFile)); - XSSFWorkbook workbook; - try { - workbook = new XSSFWorkbook(manager.getInputStream()); - } catch (IOException e) { - throw new RuntimeException(e); - } - // 当前sheet - XSSFSheet sheetAt = workbook.getSheetAt(0); - int lastRow = sheetAt.getLastRowNum(); - List extendInfoPOS = new ArrayList<>(); - OrganizationAssert.isTrue(lastRow > 0, "导入数据为空"); - short lastCellNum = sheetAt.getRow(0).getLastCellNum(); - - // 遍历每一行数据 - nextRow: - for (int i = 0; i <= lastRow; i++) { - historyDetailPO = new JclImportHistoryDetailPO(); - historyDetailPO.setPid(importHistoryId); - XSSFRow row = sheetAt.getRow(i); - if (null == row) { - continue; - } - // 组装待处理数据 - Map map = new HashMap<>(); - Integer parentCompanyId = null; - Integer parentDepartmentId = null; - Long parentJobId = null; - String jobName = ""; - - historyDetailPO.setRowNums(String.valueOf(i + 1)); - for (int cellIndex = 0; cellIndex < lastCellNum; cellIndex++) { - XSSFCell cell = row.getCell((short) cellIndex); - String cellValue = getCellValue(cell).trim(); - if (i == 0) { - // 首行 初始化字段信息 - List infoPOList = getExtendInfoMapper().getInfoByExtendAndLabelName(JOB_TYPE, cellValue); - boolean isBreak = OrgImportUtil.isBreak(historyDetailPO, cellValue, infoPOList); - if (isBreak) { - break nextRow; - } - ExtendInfoPO extendInfoPO = infoPOList.get(0); - extendInfoPOS.add(extendInfoPO); - } else { - ExtendInfoPO infoPO = extendInfoPOS.get(cellIndex); - // 数据校验 - if (infoPO.getIsrequired() == 1 && StringUtils.isBlank(cellValue) && !"job_no".equalsIgnoreCase(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "为必填项"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - - Object reallyValue; - try { - reallyValue = OrgImportUtil.getReallyValue(infoPO, cellValue); - } catch (Exception e) { - historyDetailPO.setOperateDetail(cellValue + "转换失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - if (StringUtils.isNotBlank(cellValue) && StringUtils.isBlank(Util.null2String(reallyValue)) && !"ec_company".equals(infoPO.getFieldName()) && !"ec_department".equals(infoPO.getFieldName())) { - historyDetailPO.setOperateDetail(infoPO.getFieldNameDesc() + "数据转换失败,未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - map.put(infoPO.getFieldName(), reallyValue); - // 上级分部 - if ("ec_company".equals(infoPO.getFieldName())) { - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("分部层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (String s : split) { - parentCompanyId = MapperProxyFactory.getProxy(CompMapper.class).getIdByNameAndPid(s, parentCompanyId == null ? 0 : parentCompanyId); - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(cellValue + "分部未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - } - - - if ("ec_department".equals(infoPO.getFieldName())) { - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("部门层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (String s : split) { - parentDepartmentId = MapperProxyFactory.getProxy(DepartmentMapper.class).getIdByNameAndPid(s, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId); - if (null == parentDepartmentId) { - historyDetailPO.setOperateDetail(cellValue + "部门未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - } - - if ("job_name".equals(infoPO.getFieldName())) { - if (null == parentCompanyId) { - historyDetailPO.setOperateDetail(cellValue + "所属分部未找到"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - historyDetailPO.setRelatedName(cellValue); - String[] split = cellValue.split(">"); - if (split.length > 0) { - if (split.length > 8) { - historyDetailPO.setOperateDetail("岗位层级不能大于10"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - for (int index = 0; index < split.length - 1; index++) { - parentJobId = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndPid(split[index], parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId, parentJobId == null ? 0 : parentJobId); - if (null == parentJobId) { - historyDetailPO.setOperateDetail(split[index] + "岗位未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue nextRow; - } - } - } - map.put("parent_comp", parentCompanyId); - map.put("parent_dept", parentDepartmentId); - map.put("ec_company", parentCompanyId); - map.put("ec_department", parentDepartmentId); - map.put("parent_job", parentJobId); - jobName = split[split.length - 1]; - map.put("job_name", jobName); - map.put("is_key", StringUtils.isBlank(Util.null2String(map.get("is_key"))) ? 0 : map.get("is_key")); - } - } - } - // 校验、数据交互 - if (i == 0) { - continue; - } - String jobNo = (String) map.get("job_no"); - Long jobId = MapperProxyFactory.getProxy(JobMapper.class).getIdByNameAndPid(jobName, parentCompanyId, parentDepartmentId == null ? 0 : parentDepartmentId, parentJobId == null ? 0 : parentJobId); - if ("add".equals(operateType)) { - if (jobId != null) { - historyDetailPO.setOperateDetail("数据已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - // 自动编号 - try { - jobNo = JobServiceImpl.repeatDetermine(jobNo); - } catch (OrganizationRunTimeException e) { - historyDetailPO.setOperateDetail(e.getMessage()); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - map.put("job_no", jobNo); - map.put("creator", user.getUID()); - map.put("delete_type", 0); - map.put("create_time", new Date()); - // 禁用表示为空,默认启用 - if (StringUtils.isBlank(Util.null2String(map.get("forbidden_tag")))) { - map.put("forbidden_tag", 0); - } - String showOrder = Util.null2String(map.get("show_order")); - if (StringUtils.isBlank(showOrder)) { - Integer maxShowOrder = MapperProxyFactory.getProxy(JobMapper.class).getMaxShowOrder(); - if (null == maxShowOrder) { - maxShowOrder = 0; - } - map.put("show_order", maxShowOrder + 1); - } - ExtendInfoParams infoParams = ExtendInfoParams.builder().tableName("JCL_ORG_JOB").params(map).build(); - - map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID); - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.ADD, map, false).sync(); - if (OrgImportUtil.isThrowError(syncMap)) { - boolean assertNameRepeat = JobServiceImpl.assertNameRepeat(null, Util.null2String(map.get("ec_department")), Util.null2String(map.get("parent_job")), Util.null2String(map.get("job_name"))); - if (assertNameRepeat) { - map.remove("jobactivityid"); - MapperProxyFactory.getProxy(ExtMapper.class).insertTable(infoParams); - // 更新组织架构图 - new JobTriggerRunnable(infoParams.getId()).run(); - historyDetailPO.setOperateDetail("添加成功"); - historyDetailPO.setStatus("1"); - } else { - historyDetailPO.setOperateDetail("岗位名称已存在"); - historyDetailPO.setStatus("0"); - } - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else if ("update".equals(operateType)) { - // 查询对应ID - if (StringUtils.isNotBlank(jobNo)) { - if (jobId == null) { - historyDetailPO.setOperateDetail("未找到对应数据"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - continue; - } - if (checkRepeatNo(jobNo, JOB_TYPE, jobId)) { - map.put("update_time", new Date()); - map.put("jobactivityid", JobServiceImpl.JOB_ACTIVITY_ID); - map.put("id", jobId); - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, map, MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId), false).sync(); - if (OrgImportUtil.isThrowError(syncMap)) { - boolean assertNameRepeat = JobServiceImpl.assertNameRepeat(jobId.toString(), Util.null2String(map.get("ec_department")), Util.null2String(map.get("parent_job")), Util.null2String(map.get("job_name"))); - if (assertNameRepeat) { - map.remove("id"); - map.remove("jobactivityid"); - MapperProxyFactory.getProxy(ExtMapper.class).updateTable(ExtendInfoParams.builder().id(jobId).tableName("JCL_ORG_JOB").params(map).build()); - // 更新组织架构图 - new JobTriggerRunnable(jobId).run(); - historyDetailPO.setOperateDetail("更新成功"); - historyDetailPO.setStatus("1"); - } else { - historyDetailPO.setOperateDetail("岗位名称已存在"); - historyDetailPO.setStatus("0"); - } - } else { - historyDetailPO.setOperateDetail(Util.null2String(syncMap.get("message"))); - historyDetailPO.setStatus("0"); - } - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } else { - historyDetailPO.setOperateDetail(jobNo + "编号已存在"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } else { - historyDetailPO.setOperateDetail("编号为空,更新失败"); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - } - } - } - return importHistoryId; - } - /** * 方案职等职级导入 */ From b368c3ea270e016e55f61124775629902c44ac15 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Dec 2022 17:10:50 +0800 Subject: [PATCH 052/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thread/GroupTriggerRunnable.java | 196 ++++----- .../thread/HrmResourceTriggerRunnable.java | 228 +++++----- .../thread/JobTriggerRunnable.java | 404 +++++++++--------- 3 files changed, 414 insertions(+), 414 deletions(-) diff --git a/src/com/engine/organization/thread/GroupTriggerRunnable.java b/src/com/engine/organization/thread/GroupTriggerRunnable.java index 0473c948..343605cf 100644 --- a/src/com/engine/organization/thread/GroupTriggerRunnable.java +++ b/src/com/engine/organization/thread/GroupTriggerRunnable.java @@ -1,98 +1,98 @@ -package com.engine.organization.thread; - -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; -import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; -import com.engine.organization.mapper.trigger.CompTriggerMapper; -import com.engine.organization.mapper.trigger.GroupTriggerMapper; -import com.engine.organization.util.OrganizationDateUtil; -import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.lang3.StringUtils; -import weaver.common.DateUtil; -import weaver.general.Util; -import weaver.hrm.passwordprotection.domain.HrmResource; - -import java.sql.Date; -import java.util.Calendar; -import java.util.Map; - -/** - * @author:dxfeng - * @createTime: 2022/08/30 - * @version: 1.0 - */ -public class GroupTriggerRunnable implements Runnable { - Map params; - - private CompTriggerMapper getCompTriggerMapper() { - return MapperProxyFactory.getProxy(CompTriggerMapper.class); - } - - private GroupTriggerMapper getGroupTriggerMapper() { - return MapperProxyFactory.getProxy(GroupTriggerMapper.class); - } - - public GroupTriggerRunnable(Map params) { - this.params = params; - } - - - @Override - public void run() { - JclOrgMap jclOrgMap = new JclOrgMap(); - //id = 0; - jclOrgMap.setId(0); - //ftype = 0; - jclOrgMap.setFType(0); - jclOrgMap.setFObjId(0); - jclOrgMap.setFEcId(parseString2Int(params.get("id"))); - jclOrgMap.setUuid(Util.null2String(params.get("uuid"))); - jclOrgMap.setFNumber("00"); - jclOrgMap.setFName(Util.null2String(params.get("companyname"))); - jclOrgMap.setFClass(0); - jclOrgMap.setFClassName("行政维度"); - jclOrgMap.setFLeader(getGroupTriggerMapper().getInfoValue(1)); - HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(jclOrgMap.getFLeader()); - if (null != hrmResourceById) { - jclOrgMap.setFLeaderImg(hrmResourceById.getMessagerurl()); - jclOrgMap.setFLeaderName(hrmResourceById.getLastname()); - jclOrgMap.setFLeaderJobId(hrmResourceById.getJobtitle()); - } - jclOrgMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclOrgMap.getFLeaderJobId())); - HrmResourcePO resourceByEcId = getCompTriggerMapper().getResourceByEcId(jclOrgMap.getFLeader()); - if (null != resourceByEcId) { - jclOrgMap.setFLeaderSt(resourceByEcId.getJobGrade()); - jclOrgMap.setFLeaderLv(resourceByEcId.getJobLevel()); - } - jclOrgMap.setFParentId(-1); - jclOrgMap.setFObjParentId(0); - String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); - jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); - jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclOrgMap.getFDateBegin(), "0", jclOrgMap.getFObjId().toString()); - if (null != jclOrgMapByObjID) { - jclOrgMap.setFPlan(jclOrgMapByObjID.getFPlan()); - jclOrgMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); - } else { - jclOrgMap.setFPlan(0); - jclOrgMap.setFOnJob(0); - } - jclOrgMap.setFIsVitual(0); - Calendar cal = Calendar.getInstance(); - cal.setTime(jclOrgMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getGroupTriggerMapper().deleteMap(0, jclOrgMap.getFDateBegin()); - getGroupTriggerMapper().updateMap(0, jclOrgMap.getFDateBegin(), time); - - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclOrgMap); - } - - private Integer parseString2Int(Object args) { - String s = Util.null2String(args); - if (StringUtils.isBlank(s)) { - return null; - } - return Integer.parseInt(s); - } -} +//package com.engine.organization.thread; +// +//import com.engine.organization.entity.hrmresource.po.HrmResourcePO; +//import com.engine.organization.entity.map.JclOrgMap; +//import com.engine.organization.mapper.jclorgmap.JclOrgMapper; +//import com.engine.organization.mapper.trigger.CompTriggerMapper; +//import com.engine.organization.mapper.trigger.GroupTriggerMapper; +//import com.engine.organization.util.OrganizationDateUtil; +//import com.engine.organization.util.db.MapperProxyFactory; +//import org.apache.commons.lang3.StringUtils; +//import weaver.common.DateUtil; +//import weaver.general.Util; +//import weaver.hrm.passwordprotection.domain.HrmResource; +// +//import java.sql.Date; +//import java.util.Calendar; +//import java.util.Map; +// +///** +// * @author:dxfeng +// * @createTime: 2022/08/30 +// * @version: 1.0 +// */ +//public class GroupTriggerRunnable implements Runnable { +// Map params; +// +// private CompTriggerMapper getCompTriggerMapper() { +// return MapperProxyFactory.getProxy(CompTriggerMapper.class); +// } +// +// private GroupTriggerMapper getGroupTriggerMapper() { +// return MapperProxyFactory.getProxy(GroupTriggerMapper.class); +// } +// +// public GroupTriggerRunnable(Map params) { +// this.params = params; +// } +// +// +// @Override +// public void run() { +// JclOrgMap jclOrgMap = new JclOrgMap(); +// //id = 0; +// jclOrgMap.setId(0); +// //ftype = 0; +// jclOrgMap.setFType(0); +// jclOrgMap.setFObjId(0); +// jclOrgMap.setFEcId(parseString2Int(params.get("id"))); +// jclOrgMap.setUuid(Util.null2String(params.get("uuid"))); +// jclOrgMap.setFNumber("00"); +// jclOrgMap.setFName(Util.null2String(params.get("companyname"))); +// jclOrgMap.setFClass(0); +// jclOrgMap.setFClassName("行政维度"); +// jclOrgMap.setFLeader(getGroupTriggerMapper().getInfoValue(1)); +// HrmResource hrmResourceById = getCompTriggerMapper().getHrmResourceById(jclOrgMap.getFLeader()); +// if (null != hrmResourceById) { +// jclOrgMap.setFLeaderImg(hrmResourceById.getMessagerurl()); +// jclOrgMap.setFLeaderName(hrmResourceById.getLastname()); +// jclOrgMap.setFLeaderJobId(hrmResourceById.getJobtitle()); +// } +// jclOrgMap.setFLeaderJob(getCompTriggerMapper().getJobTitleMarkById(jclOrgMap.getFLeaderJobId())); +// HrmResourcePO resourceByEcId = getCompTriggerMapper().getResourceByEcId(jclOrgMap.getFLeader()); +// if (null != resourceByEcId) { +// jclOrgMap.setFLeaderSt(resourceByEcId.getJobGrade()); +// jclOrgMap.setFLeaderLv(resourceByEcId.getJobLevel()); +// } +// jclOrgMap.setFParentId(-1); +// jclOrgMap.setFObjParentId(0); +// String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); +// jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); +// jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclOrgMap.getFDateBegin(), "0", jclOrgMap.getFObjId().toString()); +// if (null != jclOrgMapByObjID) { +// jclOrgMap.setFPlan(jclOrgMapByObjID.getFPlan()); +// jclOrgMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); +// } else { +// jclOrgMap.setFPlan(0); +// jclOrgMap.setFOnJob(0); +// } +// jclOrgMap.setFIsVitual(0); +// Calendar cal = Calendar.getInstance(); +// cal.setTime(jclOrgMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getGroupTriggerMapper().deleteMap(0, jclOrgMap.getFDateBegin()); +// getGroupTriggerMapper().updateMap(0, jclOrgMap.getFDateBegin(), time); +// +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclOrgMap); +// } +// +// private Integer parseString2Int(Object args) { +// String s = Util.null2String(args); +// if (StringUtils.isBlank(s)) { +// return null; +// } +// return Integer.parseInt(s); +// } +//} diff --git a/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java b/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java index b4e01fbd..1a4844c6 100644 --- a/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java +++ b/src/com/engine/organization/thread/HrmResourceTriggerRunnable.java @@ -1,114 +1,114 @@ -package com.engine.organization.thread; - -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; -import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.entity.personnelcard.UserCard; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.resource.ResourceMapper; -import com.engine.organization.mapper.trigger.CompTriggerMapper; -import com.engine.organization.mapper.trigger.HrmResourceTriggerMapper; -import com.engine.organization.util.OrganizationDateUtil; -import com.engine.organization.util.db.MapperProxyFactory; -import weaver.common.DateUtil; -import weaver.hrm.passwordprotection.domain.HrmResource; - -import java.sql.Date; -import java.util.Calendar; - -/** - * @author:dxfeng - * @createTime: 2022/09/01 - * @version: 1.0 - */ -public class HrmResourceTriggerRunnable implements Runnable { - Long userId; - - private CompTriggerMapper getCompTriggerMapper() { - return MapperProxyFactory.getProxy(CompTriggerMapper.class); - } - - private HrmResourceTriggerMapper getHrmResourceTriggerMapper() { - return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class); - } - private ResourceMapper getResourceMapper() { - return MapperProxyFactory.getProxy(ResourceMapper.class); - } - private JclOrgMapper getJclOrgMapper() { - return MapperProxyFactory.getProxy(JclOrgMapper.class); - } - - public HrmResourceTriggerRunnable(Long id) { - this.userId = id; - } - - @Override - public void run() { - int st = 100000000; - int sj = 200000000; - int sk = 300000000; - Integer delete = null; - JclOrgMap jclMap = new JclOrgMap(); - jclMap.setFType(4); - // 查询当前人员信息数据 - String ecResourceId = getResourceMapper().getEcResourceId(userId.toString()); - // EC人员 - HrmResource ecHrmResource = getHrmResourceTriggerMapper().getHrmResource(Long.parseLong(ecResourceId)); - // 聚才林人员 - HrmResourcePO hrmResource = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId)); - if (null != hrmResource && null!=ecHrmResource) { - jclMap.setFObjId(hrmResource.getId().intValue()); - jclMap.setId(hrmResource.getId().intValue() + sk); - jclMap.setFEcId(ecHrmResource.getId()); - jclMap.setFNumber(hrmResource.getWorkCode()); - jclMap.setFName(hrmResource.getLastName()); - jclMap.setUuid(hrmResource.getUuid()); - delete = hrmResource.getStatus() < 4 ? 0 : 1; - // 展示为花名册上传的照片 - String image = UserCard.builder().image(hrmResource.getResourceImageId()).build().getImage(); - jclMap.setFLeaderImg(image); - jclMap.setFLeaderName(hrmResource.getLastName()); - jclMap.setFLeaderJobId(hrmResource.getJobTitle().intValue()); - if (null != hrmResource.getJobTitle()) { - JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResource.getJobTitle()); - if (null != jobById) { - jclMap.setFLeaderJob(jobById.getJobName()); - } - jclMap.setFObjParentId(hrmResource.getJobTitle().intValue()); - jclMap.setFParentId(jclMap.getFObjParentId() + sj); - } - jclMap.setFLeaderSt(hrmResource.getJobGrade()); - jclMap.setFLeaderLv(hrmResource.getJobLevel()); - jclMap.setFClass(0); - jclMap.setFClassName("行政维度"); - String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); - jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); - jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - jclMap.setFIsVitual(0); - - Calendar cal = Calendar.getInstance(); - cal.setTime(jclMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - // 更新前的数据 - JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(jclMap.getFDateBegin(), "4", hrmResource.getId().toString()); - - getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); - getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); - if (0 == delete) { - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); - // 更新当前架构图负责人的卡片信息 - getHrmResourceTriggerMapper().updateLeaders(jclMap.getFDateBegin(), hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt()); - // 更新组织架构图在岗数 - if (null != jclOrgMapByObjID) { - new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run(); - } - new StaffTriggerRunnable(jclMap.getFObjParentId()).run(); - - } else if (null != jclOrgMapByObjID) { - new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run(); - } - } - } -} +//package com.engine.organization.thread; +// +//import com.engine.organization.entity.hrmresource.po.HrmResourcePO; +//import com.engine.organization.entity.job.po.JobPO; +//import com.engine.organization.entity.map.JclOrgMap; +//import com.engine.organization.entity.personnelcard.UserCard; +//import com.engine.organization.mapper.jclorgmap.JclOrgMapper; +//import com.engine.organization.mapper.job.JobMapper; +//import com.engine.organization.mapper.resource.ResourceMapper; +//import com.engine.organization.mapper.trigger.CompTriggerMapper; +//import com.engine.organization.mapper.trigger.HrmResourceTriggerMapper; +//import com.engine.organization.util.OrganizationDateUtil; +//import com.engine.organization.util.db.MapperProxyFactory; +//import weaver.common.DateUtil; +//import weaver.hrm.passwordprotection.domain.HrmResource; +// +//import java.sql.Date; +//import java.util.Calendar; +// +///** +// * @author:dxfeng +// * @createTime: 2022/09/01 +// * @version: 1.0 +// */ +//public class HrmResourceTriggerRunnable implements Runnable { +// Long userId; +// +// private CompTriggerMapper getCompTriggerMapper() { +// return MapperProxyFactory.getProxy(CompTriggerMapper.class); +// } +// +// private HrmResourceTriggerMapper getHrmResourceTriggerMapper() { +// return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class); +// } +// private ResourceMapper getResourceMapper() { +// return MapperProxyFactory.getProxy(ResourceMapper.class); +// } +// private JclOrgMapper getJclOrgMapper() { +// return MapperProxyFactory.getProxy(JclOrgMapper.class); +// } +// +// public HrmResourceTriggerRunnable(Long id) { +// this.userId = id; +// } +// +// @Override +// public void run() { +// int st = 100000000; +// int sj = 200000000; +// int sk = 300000000; +// Integer delete = null; +// JclOrgMap jclMap = new JclOrgMap(); +// jclMap.setFType(4); +// // 查询当前人员信息数据 +// String ecResourceId = getResourceMapper().getEcResourceId(userId.toString()); +// // EC人员 +// HrmResource ecHrmResource = getHrmResourceTriggerMapper().getHrmResource(Long.parseLong(ecResourceId)); +// // 聚才林人员 +// HrmResourcePO hrmResource = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId)); +// if (null != hrmResource && null!=ecHrmResource) { +// jclMap.setFObjId(hrmResource.getId().intValue()); +// jclMap.setId(hrmResource.getId().intValue() + sk); +// jclMap.setFEcId(ecHrmResource.getId()); +// jclMap.setFNumber(hrmResource.getWorkCode()); +// jclMap.setFName(hrmResource.getLastName()); +// jclMap.setUuid(hrmResource.getUuid()); +// delete = hrmResource.getStatus() < 4 ? 0 : 1; +// // 展示为花名册上传的照片 +// String image = UserCard.builder().image(hrmResource.getResourceImageId()).build().getImage(); +// jclMap.setFLeaderImg(image); +// jclMap.setFLeaderName(hrmResource.getLastName()); +// jclMap.setFLeaderJobId(hrmResource.getJobTitle().intValue()); +// if (null != hrmResource.getJobTitle()) { +// JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(hrmResource.getJobTitle()); +// if (null != jobById) { +// jclMap.setFLeaderJob(jobById.getJobName()); +// } +// jclMap.setFObjParentId(hrmResource.getJobTitle().intValue()); +// jclMap.setFParentId(jclMap.getFObjParentId() + sj); +// } +// jclMap.setFLeaderSt(hrmResource.getJobGrade()); +// jclMap.setFLeaderLv(hrmResource.getJobLevel()); +// jclMap.setFClass(0); +// jclMap.setFClassName("行政维度"); +// String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); +// jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); +// jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// jclMap.setFIsVitual(0); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(jclMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// // 更新前的数据 +// JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(jclMap.getFDateBegin(), "4", hrmResource.getId().toString()); +// +// getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); +// if (0 == delete) { +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); +// // 更新当前架构图负责人的卡片信息 +// getHrmResourceTriggerMapper().updateLeaders(jclMap.getFDateBegin(), hrmResource.getId().toString(), jclMap.getFLeaderImg(), jclMap.getFLeaderName(), jclMap.getFLeaderJobId(), jclMap.getFLeaderJob(), jclMap.getFLeaderLv(), jclMap.getFLeaderSt()); +// // 更新组织架构图在岗数 +// if (null != jclOrgMapByObjID) { +// new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run(); +// } +// new StaffTriggerRunnable(jclMap.getFObjParentId()).run(); +// +// } else if (null != jclOrgMapByObjID) { +// new StaffTriggerRunnable(jclOrgMapByObjID.getFObjParentId()).run(); +// } +// } +// } +//} diff --git a/src/com/engine/organization/thread/JobTriggerRunnable.java b/src/com/engine/organization/thread/JobTriggerRunnable.java index 81effe44..de1cef2d 100644 --- a/src/com/engine/organization/thread/JobTriggerRunnable.java +++ b/src/com/engine/organization/thread/JobTriggerRunnable.java @@ -1,202 +1,202 @@ -package com.engine.organization.thread; - -import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.entity.logview.bo.FieldBaseEquator; -import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.entity.staff.po.StaffPO; -import com.engine.organization.enums.ModuleTypeEnum; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.staff.StaffMapper; -import com.engine.organization.mapper.trigger.CompTriggerMapper; -import com.engine.organization.mapper.trigger.JobTriggerMapper; -import com.engine.organization.util.OrganizationDateUtil; -import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.collections.CollectionUtils; -import weaver.common.DateUtil; - -import java.sql.Date; -import java.util.Calendar; -import java.util.List; - -/** - * @author:dxfeng - * @createTime: 2022/08/30 - * @version: 1.0 - */ -public class JobTriggerRunnable implements Runnable { - - private final JobPO oldJob; - private final JobPO newJob; - private Boolean forbiddenTag = false; - - private CompTriggerMapper getCompTriggerMapper() { - return MapperProxyFactory.getProxy(CompTriggerMapper.class); - } - - private JobTriggerMapper getJobTriggerMapper() { - return MapperProxyFactory.getProxy(JobTriggerMapper.class); - } - - public JobTriggerRunnable(JobPO oldJob, JobPO newJob) { - this.oldJob = oldJob; - this.newJob = newJob; - } - - public JobTriggerRunnable(Boolean forbiddenTag, JobPO oldJob, JobPO newJob) { - this.oldJob = oldJob; - this.newJob = newJob; - this.forbiddenTag = forbiddenTag; - } - - public JobTriggerRunnable(Long jobId) { - this.oldJob = new JobPO(); - this.newJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId); - } - - public JobTriggerRunnable(Long oldJobId, Long newJobId) { - this.oldJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(oldJobId); - this.newJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(newJobId); - } - - public JobTriggerRunnable(JobPO newJob) { - this.oldJob = new JobPO(); - this.newJob = newJob; - this.newJob.setDeleteType(1); - } - - @Override - public void run() { - FieldBaseEquator fieldBaseEquator = new FieldBaseEquator(); - List diffFields = fieldBaseEquator.getDiffFieldList(oldJob, newJob); - if (CollectionUtils.isEmpty(diffFields)) { - return; - } - // 判断 - JclOrgMap jclMap = new JclOrgMap(); - int st = 100000000; - int sj = 200000000; - jclMap.setFType(3); - // 更新逻辑 - jclMap.setFObjId(newJob.getId().intValue()); - jclMap.setId(newJob.getId().intValue() + sj); - jclMap.setFNumber(newJob.getJobNo()); - jclMap.setFName(newJob.getJobName()); - jclMap.setFParentId(null == newJob.getParentJob() ? newJob.getParentDept().intValue() + st : newJob.getParentJob().intValue() + sj); - jclMap.setFObjParentId(null == newJob.getParentJob() ? newJob.getParentDept().intValue() : newJob.getParentJob().intValue()); - Integer parentdept = newJob.getParentDept().intValue(); - - jclMap.setFClass(0); - jclMap.setFClassName("行政维度"); - - String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); - jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); - jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - - JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.jobfielddefined.getValue().toString(), jclMap.getFObjId().toString()); - - // 该岗位有下级岗位时,查询 - JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(jclMap.getFDateBegin(), jclMap.getId().toString()); - - StaffPO staffPO = new StaffPO(); - switch (jclMap.getFType()) { - // 部门 - case 2: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, jclMap.getFObjId().toString(), null); - break; - // 岗位 - case 3: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(3, null, null, jclMap.getFObjId().toString()); - break; - default: - break; - } - if (null != jclOrgMapByObjID) { - if (null != jclOrgMap) { - jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan()); - jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob() + jclOrgMap.getFOnJob()); - } else { - jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); - } - } else { - jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - jclMap.setFOnJob(0); - } - jclMap.setFIsVitual(0); - - Calendar cal = Calendar.getInstance(); - cal.setTime(jclMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); - getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); - - if (1 != newJob.getDeleteType() && 1 != newJob.getForbiddenTag()) { - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); - } - if (null != jclOrgMapByObjID) { - if (null != jclOrgMapByObjID.getFParentId()) { - updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString()); - } - } - // 部门启用,刷新上级数据 - if (forbiddenTag) { - updateParentPlanAndJob(jclMap.getFDateBegin(), jclMap.getFParentId().toString()); - } - if (null != oldJob) { - if (null != oldJob.getId()) { - updateParentPlanAndJob(jclMap.getFDateBegin(), oldJob.getId().toString()); - } - } - - } - - /** - * 更新上级部门在编、在岗数 - */ - void updateParentPlanAndJob(Date currentDate, String parentId) { - JclOrgMap parentJclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapById(currentDate, parentId); - if (null != parentJclOrgMap) { - // 上级部门当前在编、在岗数 - JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); - StaffPO staffPO = new StaffPO(); - switch (parentJclOrgMap.getFType()) { - // 分部 - case 1: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1, parentJclOrgMap.getFObjId().toString(), null, null); - break; - // 部门 - case 2: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, parentJclOrgMap.getFObjId().toString(), null); - break; - // 岗位 - case 3: - staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(3, null, parentJclOrgMap.getFObjId().toString(), null); - break; - default: - break; - } - if (null != jclOrgMapSum) { - parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); - parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); - } else { - parentJclOrgMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); - parentJclOrgMap.setFOnJob(0); - } - parentJclOrgMap.setFDateBegin(currentDate); - parentJclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); - - Calendar cal = Calendar.getInstance(); - cal.setTime(parentJclOrgMap.getFDateBegin()); - Calendar calendar = DateUtil.addDay(cal, -1); - Date time = new Date(calendar.getTime().getTime()); - getCompTriggerMapper().deleteMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin()); - getCompTriggerMapper().updateMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin(), time); - MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(parentJclOrgMap); - if (null != parentJclOrgMap.getFParentId() && -1 != parentJclOrgMap.getFParentId()) { - updateParentPlanAndJob(currentDate, parentJclOrgMap.getFParentId().toString()); - } - } - } -} \ No newline at end of file +//package com.engine.organization.thread; +// +//import com.engine.organization.entity.job.po.JobPO; +//import com.engine.organization.entity.logview.bo.FieldBaseEquator; +//import com.engine.organization.entity.map.JclOrgMap; +//import com.engine.organization.entity.staff.po.StaffPO; +//import com.engine.organization.enums.ModuleTypeEnum; +//import com.engine.organization.mapper.jclorgmap.JclOrgMapper; +//import com.engine.organization.mapper.job.JobMapper; +//import com.engine.organization.mapper.staff.StaffMapper; +//import com.engine.organization.mapper.trigger.CompTriggerMapper; +//import com.engine.organization.mapper.trigger.JobTriggerMapper; +//import com.engine.organization.util.OrganizationDateUtil; +//import com.engine.organization.util.db.MapperProxyFactory; +//import org.apache.commons.collections.CollectionUtils; +//import weaver.common.DateUtil; +// +//import java.sql.Date; +//import java.util.Calendar; +//import java.util.List; +// +///** +// * @author:dxfeng +// * @createTime: 2022/08/30 +// * @version: 1.0 +// */ +//public class JobTriggerRunnable implements Runnable { +// +// private final JobPO oldJob; +// private final JobPO newJob; +// private Boolean forbiddenTag = false; +// +// private CompTriggerMapper getCompTriggerMapper() { +// return MapperProxyFactory.getProxy(CompTriggerMapper.class); +// } +// +// private JobTriggerMapper getJobTriggerMapper() { +// return MapperProxyFactory.getProxy(JobTriggerMapper.class); +// } +// +// public JobTriggerRunnable(JobPO oldJob, JobPO newJob) { +// this.oldJob = oldJob; +// this.newJob = newJob; +// } +// +// public JobTriggerRunnable(Boolean forbiddenTag, JobPO oldJob, JobPO newJob) { +// this.oldJob = oldJob; +// this.newJob = newJob; +// this.forbiddenTag = forbiddenTag; +// } +// +// public JobTriggerRunnable(Long jobId) { +// this.oldJob = new JobPO(); +// this.newJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId); +// } +// +// public JobTriggerRunnable(Long oldJobId, Long newJobId) { +// this.oldJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(oldJobId); +// this.newJob = MapperProxyFactory.getProxy(JobMapper.class).getJobById(newJobId); +// } +// +// public JobTriggerRunnable(JobPO newJob) { +// this.oldJob = new JobPO(); +// this.newJob = newJob; +// this.newJob.setDeleteType(1); +// } +// +// @Override +// public void run() { +// FieldBaseEquator fieldBaseEquator = new FieldBaseEquator(); +// List diffFields = fieldBaseEquator.getDiffFieldList(oldJob, newJob); +// if (CollectionUtils.isEmpty(diffFields)) { +// return; +// } +// // 判断 +// JclOrgMap jclMap = new JclOrgMap(); +// int st = 100000000; +// int sj = 200000000; +// jclMap.setFType(3); +// // 更新逻辑 +// jclMap.setFObjId(newJob.getId().intValue()); +// jclMap.setId(newJob.getId().intValue() + sj); +// jclMap.setFNumber(newJob.getJobNo()); +// jclMap.setFName(newJob.getJobName()); +// jclMap.setFParentId(null == newJob.getParentJob() ? newJob.getParentDept().intValue() + st : newJob.getParentJob().intValue() + sj); +// jclMap.setFObjParentId(null == newJob.getParentJob() ? newJob.getParentDept().intValue() : newJob.getParentJob().intValue()); +// Integer parentdept = newJob.getParentDept().intValue(); +// +// jclMap.setFClass(0); +// jclMap.setFClassName("行政维度"); +// +// String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); +// jclMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); +// jclMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// +// JclOrgMap jclOrgMapByObjID = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapByObjID(jclMap.getFDateBegin(), ModuleTypeEnum.jobfielddefined.getValue().toString(), jclMap.getFObjId().toString()); +// +// // 该岗位有下级岗位时,查询 +// JclOrgMap jclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(jclMap.getFDateBegin(), jclMap.getId().toString()); +// +// StaffPO staffPO = new StaffPO(); +// switch (jclMap.getFType()) { +// // 部门 +// case 2: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, jclMap.getFObjId().toString(), null); +// break; +// // 岗位 +// case 3: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(3, null, null, jclMap.getFObjId().toString()); +// break; +// default: +// break; +// } +// if (null != jclOrgMapByObjID) { +// if (null != jclOrgMap) { +// jclMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMap.getFPlan()); +// jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob() + jclOrgMap.getFOnJob()); +// } else { +// jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// jclMap.setFOnJob(jclOrgMapByObjID.getFOnJob()); +// } +// } else { +// jclMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// jclMap.setFOnJob(0); +// } +// jclMap.setFIsVitual(0); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(jclMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getCompTriggerMapper().deleteMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(jclMap.getFType(), jclMap.getFObjId(), jclMap.getFDateBegin(), time); +// +// if (1 != newJob.getDeleteType() && 1 != newJob.getForbiddenTag()) { +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(jclMap); +// } +// if (null != jclOrgMapByObjID) { +// if (null != jclOrgMapByObjID.getFParentId()) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), jclOrgMapByObjID.getFParentId().toString()); +// } +// } +// // 部门启用,刷新上级数据 +// if (forbiddenTag) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), jclMap.getFParentId().toString()); +// } +// if (null != oldJob) { +// if (null != oldJob.getId()) { +// updateParentPlanAndJob(jclMap.getFDateBegin(), oldJob.getId().toString()); +// } +// } +// +// } +// +// /** +// * 更新上级部门在编、在岗数 +// */ +// void updateParentPlanAndJob(Date currentDate, String parentId) { +// JclOrgMap parentJclOrgMap = MapperProxyFactory.getProxy(JclOrgMapper.class).getJclOrgMapById(currentDate, parentId); +// if (null != parentJclOrgMap) { +// // 上级部门当前在编、在岗数 +// JclOrgMap jclOrgMapSum = MapperProxyFactory.getProxy(JclOrgMapper.class).getSumPlanAndJobByFParentId(currentDate, parentJclOrgMap.getId().toString()); +// StaffPO staffPO = new StaffPO(); +// switch (parentJclOrgMap.getFType()) { +// // 分部 +// case 1: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(1, parentJclOrgMap.getFObjId().toString(), null, null); +// break; +// // 部门 +// case 2: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(2, null, parentJclOrgMap.getFObjId().toString(), null); +// break; +// // 岗位 +// case 3: +// staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffsByParamId(3, null, parentJclOrgMap.getFObjId().toString(), null); +// break; +// default: +// break; +// } +// if (null != jclOrgMapSum) { +// parentJclOrgMap.setFPlan((null != staffPO ? staffPO.getStaffNum() : 0) + jclOrgMapSum.getFPlan()); +// parentJclOrgMap.setFOnJob(jclOrgMapSum.getFOnJob()); +// } else { +// parentJclOrgMap.setFPlan(null != staffPO ? staffPO.getStaffNum() : 0); +// parentJclOrgMap.setFOnJob(0); +// } +// parentJclOrgMap.setFDateBegin(currentDate); +// parentJclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2099-12-31").getTime())); +// +// Calendar cal = Calendar.getInstance(); +// cal.setTime(parentJclOrgMap.getFDateBegin()); +// Calendar calendar = DateUtil.addDay(cal, -1); +// Date time = new Date(calendar.getTime().getTime()); +// getCompTriggerMapper().deleteMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin()); +// getCompTriggerMapper().updateMap(parentJclOrgMap.getFType(), parentJclOrgMap.getFObjId(), parentJclOrgMap.getFDateBegin(), time); +// MapperProxyFactory.getProxy(JclOrgMapper.class).insertMap(parentJclOrgMap); +// if (null != parentJclOrgMap.getFParentId() && -1 != parentJclOrgMap.getFParentId()) { +// updateParentPlanAndJob(currentDate, parentJclOrgMap.getFParentId().toString()); +// } +// } +// } +//} \ No newline at end of file From 73dbaf75acd2f4af75fd15c2706f192f767bbb17 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 9 Dec 2022 08:50:23 +0800 Subject: [PATCH 053/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=86=99=E5=85=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/HrmSubCompanyVersion.java | 22 ++++ .../mapper/version/CompanyVersionMapper.java | 13 +++ .../mapper/version/CompanyVersionMapper.xml | 41 +++++++ .../service/VersionManageService.java | 3 +- .../impl/VersionManageServiceImpl.java | 102 +++++++++++++++++- .../wrapper/VersionManageWrapper.java | 2 +- 6 files changed, 176 insertions(+), 7 deletions(-) create mode 100644 src/com/engine/organization/entity/version/HrmSubCompanyVersion.java create mode 100644 src/com/engine/organization/mapper/version/CompanyVersionMapper.xml diff --git a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java new file mode 100644 index 00000000..4a7e7181 --- /dev/null +++ b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java @@ -0,0 +1,22 @@ +package com.engine.organization.entity.version; + +import lombok.Data; + +import java.util.Date; + +@Data +public class HrmSubCompanyVersion { + + Integer id; + Integer subComId; + String subCompanyDesc; + String subCompanyCode; + String subCompanyName; + Integer supsSubComId; + Integer showOrder; + Integer canceled; + String description; + String operator; + String version; + Date operateTime; +} diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java index a962522d..198e9282 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -1,5 +1,8 @@ package com.engine.organization.mapper.version; +import com.engine.organization.entity.version.HrmSubCompanyVersion; +import org.apache.ibatis.annotations.Param; + /** * @Author weaver_cl * @Description: @@ -7,4 +10,14 @@ package com.engine.organization.mapper.version; * @Version V1.0 **/ public interface CompanyVersionMapper { + + /** + * 取分部版本最大记录 + */ + HrmSubCompanyVersion getMaxVersion(@Param("sid") String sid); + + /** + * 新增分部版本 + */ + int insertHrmSubComVersion(HrmSubCompanyVersion hrmSubCompanyVersion); } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml new file mode 100644 index 00000000..6a456a29 --- /dev/null +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + t.id ,t.subcomid ,t.subcompanydesc ,t.subcompanycode ,t.subcompanyname ,t.supsubcomid , + t.showorder ,t.canceled ,t.description ,t.operator ,t.version ,t.operate_time + + + + + + insert into hrmsubcompany_version + (subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , + showorder ,canceled ,description ,operator ,version ,operate_time) + values (#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supsSubComId}, + #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/VersionManageService.java b/src/com/engine/organization/service/VersionManageService.java index 25b9037d..f3cb162a 100644 --- a/src/com/engine/organization/service/VersionManageService.java +++ b/src/com/engine/organization/service/VersionManageService.java @@ -1,6 +1,7 @@ package com.engine.organization.service; import com.engine.organization.enums.ModuleTypeEnum; +import weaver.hrm.User; import java.util.Map; @@ -17,5 +18,5 @@ public interface VersionManageService { * @param moduleTypeEnum * @param params */ - void save(ModuleTypeEnum moduleTypeEnum, Map params); + void save(ModuleTypeEnum moduleTypeEnum, Map params, User user); } diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 35022362..029c1fb6 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -1,11 +1,20 @@ package com.engine.organization.service.impl; import com.engine.core.impl.Service; +import com.engine.organization.entity.map.JclOrgMap; +import com.engine.organization.entity.version.HrmSubCompanyVersion; import com.engine.organization.enums.ModuleTypeEnum; +import com.engine.organization.mapper.jclorgmap.JclOrgMapper; +import com.engine.organization.mapper.trigger.CompTriggerMapper; import com.engine.organization.mapper.version.CompanyVersionMapper; import com.engine.organization.service.VersionManageService; +import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.db.MapperProxyFactory; +import weaver.common.DateUtil; +import weaver.hrm.User; +import java.sql.Date; +import java.util.Calendar; import java.util.Map; /** @@ -20,14 +29,97 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe return MapperProxyFactory.getProxy(CompanyVersionMapper.class); } + private JclOrgMapper getJclOrgMapMapper(){ + return MapperProxyFactory.getProxy(JclOrgMapper.class); + } + @Override - public void save(ModuleTypeEnum moduleTypeEnum, Map params) { + public void save(ModuleTypeEnum moduleTypeEnum, Map params, User user) { + + switch (moduleTypeEnum.getValue()){ + case 1: + saveSubComToMap(params); + saveSubComToVersion(params,user); + break; + case 2: + break; + case 4: + break; + default: + break; + } + + } + + /** + * 分部保存至map表 + */ + void saveSubComToMap(Map params) { + String id = (String) params.get("id"); + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + + JclOrgMap jclOrgMap = new JclOrgMap(); + jclOrgMap.setId(Integer.parseInt((String) params.get("id"))); + jclOrgMap.setFType(1); + jclOrgMap.setFObjId(Integer.parseInt((String) params.get("id"))); + jclOrgMap.setFClass(0); + jclOrgMap.setFClassName("行政维度"); + jclOrgMap.setFName((String) params.get("departmentName")); + jclOrgMap.setFParentId(Integer.parseInt((String) params.get("supSubComId"))); + jclOrgMap.setFIsVitual(0); + jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime())); + + JclOrgMap jclOrgMapByFParentId = getJclOrgMapMapper().getJclOrgMapByFParentId(jclOrgMap.getFDateBegin(), id); + jclOrgMap.setFPlan(jclOrgMapByFParentId.getFPlan()); + jclOrgMap.setFOnJob(jclOrgMapByFParentId.getFOnJob()); - //1.参数处理 + Calendar cal = Calendar.getInstance(); + cal.setTime(jclOrgMap.getFDateBegin()); + Calendar calendar = DateUtil.addDay(cal, -1); + Date time = new Date(calendar.getTime().getTime()); - //2.枚举处理不同mapper + MapperProxyFactory.getProxy(CompTriggerMapper.class).deleteMap(jclOrgMap.getFType(), jclOrgMap.getFObjId(), jclOrgMap.getFDateBegin()); + MapperProxyFactory.getProxy(CompTriggerMapper.class).updateMap(jclOrgMap.getFType(), jclOrgMap.getFObjId(), jclOrgMap.getFDateBegin(), time); - //3.保存逻辑 - //版本表 操作者,操作时间,版本V1.0 + 0.1 (默认字段) + getJclOrgMapMapper().insertMap(jclOrgMap); } + + /** + * 分部保存至版本表 + */ + void saveSubComToVersion(Map params,User user) { + String id = (String) params.get("id"); + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + + HrmSubCompanyVersion hrmSubCompanyVersion = new HrmSubCompanyVersion(); + hrmSubCompanyVersion.setSubComId(Integer.parseInt(id)); + hrmSubCompanyVersion.setSubCompanyDesc((String) params.get("subCompanyDesc")); + hrmSubCompanyVersion.setSubCompanyCode((String) params.get("subCompanyCode")); + hrmSubCompanyVersion.setSubCompanyName((String) params.get("subCompanyName")); + hrmSubCompanyVersion.setSupsSubComId(Integer.parseInt((String) params.get("supSubComId"))); + hrmSubCompanyVersion.setShowOrder(Integer.parseInt((String) params.get("showOrder"))); + hrmSubCompanyVersion.setCanceled(Integer.parseInt((String) params.get("canceled"))); + hrmSubCompanyVersion.setDescription((String) params.get("description")); + hrmSubCompanyVersion.setOperator(user.getUsername()); + hrmSubCompanyVersion.setVersion(genVersionId(id)); + hrmSubCompanyVersion.setOperateTime(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + + getCompanyVersionMapper().insertHrmSubComVersion(hrmSubCompanyVersion); + } + + /** + * 版本号生成 + */ + private String genVersionId(String sid) { + // 版本V1.0 + 0.1 (默认字段) + double id = 1.0; + HrmSubCompanyVersion hrmSubCompanyVersion = getCompanyVersionMapper().getMaxVersion(sid); + if (null != hrmSubCompanyVersion) { + id = id + Double.parseDouble(hrmSubCompanyVersion.getVersion()); + } + return String.valueOf(id); + } + + } diff --git a/src/com/engine/organization/wrapper/VersionManageWrapper.java b/src/com/engine/organization/wrapper/VersionManageWrapper.java index 482d45cd..c8187866 100644 --- a/src/com/engine/organization/wrapper/VersionManageWrapper.java +++ b/src/com/engine/organization/wrapper/VersionManageWrapper.java @@ -23,6 +23,6 @@ public class VersionManageWrapper extends OrganizationWrapper { } public void save(ModuleTypeEnum moduleTypeEnum, Map params) { - getVersionManageService(user).save(moduleTypeEnum,params); + getVersionManageService(user).save(moduleTypeEnum,params,user); } } From 3470ba04cd910421a4dc8e769b43aa302b21beb9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 9 Dec 2022 14:29:20 +0800 Subject: [PATCH 054/203] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/employee/vo/EmployeeTableVO.java | 10 +- .../organization/entity/job/bo/JobBO.java | 41 ++-- .../entity/job/dto/JobListDTO.java | 16 +- .../entity/job/param/JobSearchParam.java | 4 +- .../organization/entity/job/po/JobPO.java | 20 +- .../organization/mapper/comp/CompMapper.xml | 14 ++ .../mapper/department/DepartmentMapper.xml | 14 ++ .../organization/mapper/job/JobMapper.java | 40 ---- .../organization/mapper/job/JobMapper.xml | 202 ++++------------ .../service/impl/HrmResourceServiceImpl.java | 209 ++++++----------- .../service/impl/ImportCommonServiceImpl.java | 23 -- .../service/impl/JobServiceImpl.java | 217 +++++------------- .../service/impl/StaffServiceImpl.java | 4 +- .../thread/OrganizationSyncEc.java | 192 ---------------- .../thread/StaffTriggerRunnable.java | 2 +- .../transmethod/HrmResourceTransMethod.java | 5 +- .../transmethod/JobTransMethod.java | 11 +- .../organization/util/detach/DetachUtil.java | 2 +- .../util/relation/EcHrmRelationUtil.java | 54 +---- .../util/saveimport/StaffInfoImportUtil.java | 4 +- .../organization/wrapper/JobWrapper.java | 15 +- 21 files changed, 266 insertions(+), 833 deletions(-) diff --git a/src/com/engine/organization/entity/employee/vo/EmployeeTableVO.java b/src/com/engine/organization/entity/employee/vo/EmployeeTableVO.java index dbe1d060..96895d8d 100644 --- a/src/com/engine/organization/entity/employee/vo/EmployeeTableVO.java +++ b/src/com/engine/organization/entity/employee/vo/EmployeeTableVO.java @@ -21,11 +21,11 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @OrganizationTable(pageId = "80e7830c-18e8-4e14-8241-18821195ef31", fields = "t.id," + - "t.last_name," + + "t.lastname," + "t.mobile," + - "t.company_start_date," + + "t.companystartdate," + "t.sex", - fromSql = "FROM jcl_org_hrmresource t ", + fromSql = "FROM hrmresource t ", orderby = "id", primarykey = "id", tableType = WeaTableType.NONE @@ -35,7 +35,7 @@ public class EmployeeTableVO { @OrganizationTableColumn(column = "id", display = false) private Long id; - @OrganizationTableColumn(text = "姓名", width = "25%", column = "last_name") + @OrganizationTableColumn(text = "姓名", width = "25%", column = "lastname") private String lastname; @OrganizationTableColumn(text = "性别", width = "25%", column = "sex",transmethod = "com.engine.organization.transmethod.JobTransMethod.getSexName") @@ -44,7 +44,7 @@ public class EmployeeTableVO { @OrganizationTableColumn(text = "手机", width = "25%", column = "mobile") private String mobile; - @OrganizationTableColumn(text = "入职日期", width = "25%", column = "company_start_date") + @OrganizationTableColumn(text = "入职日期", width = "25%", column = "companystartdate") private String companystartdate; diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index bce53d58..d07e88e4 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -5,11 +5,9 @@ import com.engine.organization.entity.job.param.JobSearchParam; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.job.vo.SingleJobTreeVO; import com.engine.organization.entity.searchtree.SearchTree; -import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.transmethod.JobTransMethod; -import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; -import weaver.general.Util; +import weaver.hrm.job.JobTitlesComInfo; import java.util.*; import java.util.stream.Collectors; @@ -30,11 +28,10 @@ public class JobBO { .builder() .id(param.getId() == null ? 0 : param.getId()) .jobNo(param.getJobNo()) - .jobName(param.getJobName()) + .jobTitleName(param.getJobTitleName()) + .ecJobTitle(param.getEcJobTitle()) .ecCompany(param.getEcCompany()) .ecDepartment(param.getEcDepartment()) - .parentComp(param.getSubcompanyid1()) - .parentDept(param.getDepartmentid()) .sequenceId(param.getSequenceId()) .schemeId(param.getSchemeId()) .parentJob(param.getParentJob()) @@ -64,10 +61,10 @@ public class JobBO { .builder() .id(e.getId()) .jobNo(e.getJobNo()) - .jobName(e.getJobName()) - .parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobName()) + .jobName(e.getJobTitleName()) + .parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobTitleName()) .parentJob(e.getParentJob()) - .parentDept(e.getParentDept()) + .parentDept(e.getEcDepartment()) .build()).collect(Collectors.toList()); //获取非一级部门 Map> collects = singleJobTreeVOS.stream().filter(item -> null != item.getParentJob()).collect(Collectors.groupingBy(SingleJobTreeVO::getParentJob)); @@ -82,31 +79,23 @@ public class JobBO { JobListDTO.builder() .id(e.getId()) .jobNo(e.getJobNo()) - .jobName(e.getJobName()) + .jobTitleName(e.getJobTitleName()) .subCompanyName(e.getSubCompanyName()) .departmentName(e.getDepartmentName()) - .sequenceName(e.getSequenceName()) - .schemeName(e.getSchemeName()) + //.sequenceName(e.getSequenceName()) + //.schemeName(e.getSchemeName()) //.parentJob(e.getParentJob()) //.parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobName()) .isKey(JobTransMethod.getIsKeySpan(e.getIsKey())) .showOrder(e.getShowOrder()) - .forbiddenTag(e.getForbiddenTag()) + //.forbiddenTag(e.getForbiddenTag()) + .isUsed(0) .build()).collect(Collectors.toList()); Map> collects = dtoList.stream().filter(item -> null != item.getParentJob() && 0 != item.getParentJob()).collect(Collectors.groupingBy(JobListDTO::getParentJob)); - // 处理被引用数据 - List usedIds = MapperProxyFactory.getProxy(JobMapper.class).listUsedId(); return dtoList.stream().peek(e -> { List childList = collects.get(e.getId()); if (CollectionUtils.isNotEmpty(childList)) { e.setChildren(childList); - e.setIsUsed(1); - } else { - if (usedIds.contains(Util.null2String(e.getId()))) { - e.setIsUsed(1); - } else { - e.setIsUsed(0); - } } }).filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); } @@ -154,14 +143,18 @@ public class JobBO { tree.setId(item.getId().toString()); tree.setIsParent(false); tree.setIsVirtual("0"); - tree.setName(item.getJobName()); + tree.setName(item.getJobTitleName()); tree.setPid(null == item.getParentJob() ? "0" : item.getParentJob().toString()); tree.setSelected(false); tree.setType("3"); - tree.setParentComp(null == item.getParentDept() ? "0" : item.getParentDept().toString()); + tree.setParentComp(null == item.getEcDepartment() ? "0" : item.getEcDepartment().toString()); tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); return tree; }).collect(Collectors.toList()); } + + public static String getJobTitleNameByEcJobTitle(String ecJobTitle) { + return new JobTitlesComInfo().getJobTitlesname(ecJobTitle); + } } diff --git a/src/com/engine/organization/entity/job/dto/JobListDTO.java b/src/com/engine/organization/entity/job/dto/JobListDTO.java index f57fc163..6e8e74ab 100644 --- a/src/com/engine/organization/entity/job/dto/JobListDTO.java +++ b/src/com/engine/organization/entity/job/dto/JobListDTO.java @@ -34,8 +34,8 @@ public class JobListDTO { /** * 名称 */ - @TableTitle(title = "名称", dataIndex = "jobName", key = "jobName", width = "150") - private String jobName; + @TableTitle(title = "名称", dataIndex = "jobTitleName", key = "jobTitleName", width = "150") + private String jobTitleName; /** * 编号 */ @@ -54,13 +54,13 @@ public class JobListDTO { /** * 岗位序列 */ - @TableTitle(title = "岗位序列", dataIndex = "sequenceName", key = "sequenceName") - private String sequenceName; + //@TableTitle(title = "岗位序列", dataIndex = "sequenceName", key = "sequenceName") + //private String sequenceName; /** * 等级方案 */ - @TableTitle(title = "等级方案", dataIndex = "schemeName", key = "schemeName") - private String schemeName; + //@TableTitle(title = "等级方案", dataIndex = "schemeName", key = "schemeName") + //private String schemeName; /** * 上级岗位 */ @@ -84,8 +84,8 @@ public class JobListDTO { /** * 禁用标记 */ - @TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag") - private Integer forbiddenTag; + //@TableTitle(title = "是否启用", dataIndex = "forbiddenTag", key = "forbiddenTag") + //private Integer forbiddenTag; /** * 操作列 diff --git a/src/com/engine/organization/entity/job/param/JobSearchParam.java b/src/com/engine/organization/entity/job/param/JobSearchParam.java index bb929e44..77ebc80f 100644 --- a/src/com/engine/organization/entity/job/param/JobSearchParam.java +++ b/src/com/engine/organization/entity/job/param/JobSearchParam.java @@ -28,7 +28,7 @@ public class JobSearchParam extends BaseQueryParam { /** * 名称 */ - private String jobName; + private String jobTitleName; /** * ec分部 */ @@ -82,4 +82,6 @@ public class JobSearchParam extends BaseQueryParam { private Integer subcompanyid1; private Integer departmentid; + + private Integer ecJobTitle; } diff --git a/src/com/engine/organization/entity/job/po/JobPO.java b/src/com/engine/organization/entity/job/po/JobPO.java index 2fd5fe58..c7cb358a 100644 --- a/src/com/engine/organization/entity/job/po/JobPO.java +++ b/src/com/engine/organization/entity/job/po/JobPO.java @@ -29,20 +29,20 @@ public class JobPO { /** * 名称 */ - private String jobName; - /** - * 所属分部 - */ - private Integer parentComp; + private String jobTitleName; + ///** + // * 所属分部 + // */ + //private Integer parentComp; /** * ec分部 */ private Integer ecCompany; - /** - * 所属部门 - */ - private Integer parentDept; + ///** + // * 所属部门 + // */ + //private Integer parentDept; /** * ec部门 */ @@ -93,6 +93,8 @@ public class JobPO { private String levelId; + private Integer ecJobTitle; + private Long creator; private int deleteType; diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index df9631fb..67392d6c 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -54,6 +54,7 @@ and t.supSubComId = #{CompanyPO.supSubComId} + order by ${orderSql} @@ -213,4 +214,17 @@ and isnull(canceled,0)=0 + + and ifnull(canceled,0)= + #{CompanyPO.canceled} + + + and nvl(canceled,0)= + #{CompanyPO.canceled} + + + and isnull(canceled,0)= + #{CompanyPO.canceled} + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 802b2d48..28ab23da 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -62,6 +62,7 @@ and t.id = #{departmentPO.departmentId} + order by ${orderSql} @@ -180,4 +181,17 @@ + + and ifnull(canceled,0)= + #{departmentPO.canceled} + + + and nvl(canceled,0)= + #{departmentPO.canceled} + + + and isnull(canceled,0)= + #{departmentPO.canceled} + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index c4f1d786..2d76756d 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -79,24 +79,6 @@ public interface JobMapper { */ List listByNo(@Param("jobNo") String jobNo); - /** - * 查询是否存在同名岗位 - * - * @param jobName - * @param id - * @return - */ - List listByNameExceptId(@Param("jobName") String jobName, @Param("id") Long id); - - /** - * 统计同一层级下是否有重名岗位 - * @param jobName - * @param id - * @param parentJob - * @param ecDepartment - * @return - */ - Integer countRepeatNameByPid(@Param("jobName") String jobName, @Param("id") Long id, @Param("parentJob") Long parentJob, @Param("ecDepartment") Integer ecDepartment); /** * 根据所属部门查询数据 @@ -139,14 +121,6 @@ public interface JobMapper { */ int deleteByIds(@Param("ids") Collection ids); - /** - * 查询所有被引用的ID - * - * @return - */ - List listUsedId(); - - /** * 获取最大排序 * @@ -165,18 +139,4 @@ public interface JobMapper { */ Long getIdByNameAndPid(@Param("jobName") String jobName, @Param("parentCompany") Integer parentCompany, @Param("parentDepartment") Integer parentDepartment, @Param("parentJob") Long parentJob); - Long getIdByNameAndEcId(@Param("jobName") String jobName, @Param("ecCompany") String ecCompany, @Param("ecDepartment") String ecDepartment); - - int checkRepeatNo(@Param("jobNo") String jobNo, @Param("id") Long id); - - /** - * 批量更新岗位的所属分部 - * - * @param ids - * @param parentCompany - * @return - */ - int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") Integer ecCompany); - - int isHasResource(@Param("jobId") Long jobId); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index b6ec28f1..041e1e43 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -4,9 +4,8 @@ - - - + + @@ -34,9 +33,8 @@ id , t.job_no, - t.job_name, - t.parent_comp, - t.parent_dept, + h.jobtitlename, + t.ec_jobTitle, t.ec_company, t.ec_department, t.sequence_id, @@ -73,15 +71,6 @@ job_no, - - job_name, - - - parent_comp, - - - parent_dept, - sequence_id, @@ -133,16 +122,6 @@ #{jobNo}, - - #{jobName}, - - - - #{parentComp}, - - - #{parentDept}, - #{sequenceId}, @@ -202,15 +181,6 @@ job_no, - - job_name, - - - parent_comp, - - - parent_dept, - sequence_id, @@ -262,16 +232,6 @@ #{jobNo}, - - #{jobName}, - - - - #{parentComp}, - - - #{parentDept}, - #{sequenceId}, @@ -314,9 +274,6 @@ creator=#{creator}, update_time=#{updateTime}, - job_name=#{jobName}, - parent_comp=#{parentComp}, - parent_dept=#{parentDept}, ec_company=#{ecCompany}, ec_department=#{ecDepartment}, sequence_id=#{sequenceId}, @@ -351,18 +308,7 @@ #{id} - - update jcl_org_job - - parent_comp = #{parentCompany}, - ec_company =#{ecCompany}, - - where delete_type = 0 - AND id IN - - #{id} - - + @@ -436,16 +379,18 @@ select from jcl_org_job t - where delete_type = 0 - and id = #{id} + left join hrmjobtitles h on t.ec_jobTitle = h.id + where t.delete_type = 0 + and t.id = #{id} select - from jcl_org_job t where job_no = #{jobNo} AND delete_type = 0 + from jcl_org_job t + left join hrmjobtitles h on t.ec_jobTitle = h.id + where job_no = #{jobNo} AND delete_type = 0 - - - - - - - - and ifnull(parent_job,0) = - #{parentJob} - - - and isnull(parent_job,0) = - #{parentJob} - - - - and NVL(parent_job,0) = - #{parentJob} - - and ifnull(parent_dept,0) = + and ifnull(ec_department,0) = #{parentDepartment} - and isnull(parent_dept,0) = + and isnull(ec_department,0) = #{parentDepartment} - and NVL(parent_dept,0) = + and NVL(ec_department,0) = #{parentDepartment} @@ -611,8 +495,8 @@ and t.job_no like CONCAT('%',#{jobPO.jobNo},'%') - - and t.job_name like CONCAT('%',#{jobPO.jobName},'%') + + and h.jobtitlename like CONCAT('%',#{jobPO.jobTitleName},'%') and t.workplace like CONCAT('%',#{jobPO.workplace},'%') @@ -632,8 +516,8 @@ and t.job_no like '%'||#{jobPO.jobNo}||'%' - - and t.job_name like '%'||#{jobPO.jobName}||'%' + + and h.jobtitlename like '%'||#{jobPO.jobTitleName}||'%' and t.workplace like '%'||#{jobPO.workplace}||'%' @@ -653,8 +537,8 @@ and t.job_no like '%'+#{jobPO.jobNo}+'%' - - and t.job_name like '%'+#{jobPO.jobName}+'%' + + and h.jobTitleName like '%'+#{jobPO.jobTitleName}+'%' and t.workplace like '%'+#{jobPO.workplace}+'%' diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 0d91ef86..71c521a1 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -38,16 +38,9 @@ import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.post.PostInfoMapper; -import com.engine.organization.mapper.post.PostMapper; import com.engine.organization.mapper.resource.ResourceMapper; -import com.engine.organization.mapper.scheme.GradeMapper; -import com.engine.organization.mapper.scheme.LevelMapper; -import com.engine.organization.mapper.scheme.SchemeMapper; -import com.engine.organization.mapper.sequence.SequenceMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.HrmResourceService; -import com.engine.organization.thread.HrmResourceTriggerRunnable; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; @@ -68,7 +61,6 @@ import weaver.hrm.User; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * @author:dxfeng @@ -117,30 +109,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private static final String RIGHT_NAME = "Roster:All"; - private SchemeMapper getSchemeMapper() { - return MapperProxyFactory.getProxy(SchemeMapper.class); - } - - private LevelMapper getLevelMapper() { - return MapperProxyFactory.getProxy(LevelMapper.class); - } - - private GradeMapper getGradeMapper() { - return MapperProxyFactory.getProxy(GradeMapper.class); - } - - private SequenceMapper getSequenceMapper() { - return MapperProxyFactory.getProxy(SequenceMapper.class); - } - - private PostMapper getPostMapper() { - return MapperProxyFactory.getProxy(PostMapper.class); - } - - private PostInfoMapper getPostInfoMapper() { - return MapperProxyFactory.getProxy(PostInfoMapper.class); - } - private HrmRelationMapper getHrmRelationMapper() { return MapperProxyFactory.getProxy(HrmRelationMapper.class); } @@ -229,7 +197,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId); params.put("uuid", recordInfo.getUuid()); Long resourceId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", null); - new HrmResourceTriggerRunnable(resourceId).run(); + // TODO new HrmResourceTriggerRunnable(resourceId).run(); return resourceId; } @@ -300,7 +268,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 更新主表数据 updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", id); - new HrmResourceTriggerRunnable(id).run(); + // TODO new HrmResourceTriggerRunnable(id).run(); } else { // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRMEXT, params, "", id); @@ -367,61 +335,61 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic int viewAttr = Integer.parseInt(viewAttrStr); Map apiDatas = new HashMap<>(); - List addGroups = new ArrayList<>(); - SearchConditionItem schemeId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "等级方案", "161", "schemeId", "schemeBrowser"); - schemeId.setRules("required"); - SearchConditionItem gradeId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职级", "161", "gradeId", "gradeBrowser"); - gradeId.setRules("required"); - SearchConditionItem levelId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职等", "162", "levelId", "levelBrowser"); - levelId.setRules("required"); - SearchConditionItem sequenceId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位序列", "161", "sequenceId", "sequenceBrowser"); - sequenceId.setRules("required"); - SearchConditionItem postId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职务分类", "161", "postId", "postBrowser"); - postId.setRules("required"); - SearchConditionItem postInfoId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职务信息", "161", "postInfoId", "postInfoBrowser"); - postInfoId.setRules("required"); - SearchConditionItem companyId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "分部", "164", "companyId", ""); - companyId.setRules("required"); - SearchConditionItem departmentId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "部门", "4", "departmentId", ""); - departmentId.setRules("required"); - SearchConditionItem jobId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位", "161", "jobId", "jobBrowser"); - jobId.setRules("required"); - - - // 编辑状态下赋值操作 - HrmRelationPO relationPO = getHrmRelationMapper().getRelationById(Long.parseLong(id)); - if (null != relationPO) { - setBrowserValue(schemeId, relationPO.getSchemeId(), getSchemeMapper().listSchemesByIds(Stream.of(relationPO.getSchemeId()).collect(Collectors.toList())), null, null); - setBrowserValue(gradeId, relationPO.getGradeId(), getGradeMapper().listGradessByIds(Stream.of(relationPO.getGradeId()).collect(Collectors.toList())), "scheme_id", relationPO.getSchemeId()); - setBrowserValue(levelId, relationPO.getLevelId(), getLevelMapper().listLevelsByIds(DeleteParam.builder().ids(relationPO.getLevelId()).build().getIds()), "grade_id", relationPO.getGradeId()); - setBrowserValue(sequenceId, relationPO.getSequenceId(), getSequenceMapper().listSequencesByIds(Stream.of(relationPO.getSequenceId()).collect(Collectors.toList())), "scheme_id", relationPO.getSchemeId()); - setBrowserValue(postId, relationPO.getPostId(), getPostMapper().listPostsByIds(Stream.of(relationPO.getPostId()).collect(Collectors.toList())), null, null); - setBrowserValue(postInfoId, relationPO.getPostInfoId(), getPostInfoMapper().listPostInfosByIds(Stream.of(relationPO.getPostInfoId()).collect(Collectors.toList())), "post_id", relationPO.getPostId()); - - List> companyMaps = new ArrayList<>(); - String scCompanyNameById = MapperProxyFactory.getProxy(SystemDataMapper.class).getScCompanyNameById(relationPO.getCompanyId().toString()); - Map companyMap = new HashMap<>(); - companyMap.put(relationPO.getCompanyId().toString(), scCompanyNameById); - companyMaps.add(companyMap); - setBrowserValue(companyId, relationPO.getCompanyId(), companyMaps, null, null); - - List> departmentMaps = new ArrayList<>(); - String departmentNameById = MapperProxyFactory.getProxy(SystemDataMapper.class).getScDepartmentNameById(relationPO.getDepartmentId().toString()); - Map departmentMap = new HashMap<>(); - departmentMap.put(relationPO.getDepartmentId().toString(), departmentNameById); - departmentMaps.add(departmentMap); - setBrowserValue(departmentId, relationPO.getDepartmentId(), departmentMaps, "subcompany1", relationPO.getCompanyId()); - - setBrowserValue(jobId, relationPO.getJobId(), getJobMapper().listJobsByIds(Stream.of(relationPO.getJobId()).collect(Collectors.toList())), "departmentid", relationPO.getDepartmentId()); - } - - addGroups.add(new SearchConditionGroup("岗职位体系", true, Stream.of(schemeId, gradeId, levelId, sequenceId, postId, postInfoId).collect(Collectors.toList()))); - addGroups.add(new SearchConditionGroup("组织机构", true, Stream.of(companyId, departmentId, jobId).collect(Collectors.toList()))); - HashMap buttonsMap = new HashMap<>(); - buttonsMap.put("hasEdit", true); - buttonsMap.put("hasSave", true); - apiDatas.put("buttons", buttonsMap); - apiDatas.put("conditions", addGroups); + //List addGroups = new ArrayList<>(); + //SearchConditionItem schemeId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "等级方案", "161", "schemeId", "schemeBrowser"); + //schemeId.setRules("required"); + //SearchConditionItem gradeId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职级", "161", "gradeId", "gradeBrowser"); + //gradeId.setRules("required"); + //SearchConditionItem levelId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职等", "162", "levelId", "levelBrowser"); + //levelId.setRules("required"); + //SearchConditionItem sequenceId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位序列", "161", "sequenceId", "sequenceBrowser"); + //sequenceId.setRules("required"); + //SearchConditionItem postId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职务分类", "161", "postId", "postBrowser"); + //postId.setRules("required"); + //SearchConditionItem postInfoId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "职务信息", "161", "postInfoId", "postInfoBrowser"); + //postInfoId.setRules("required"); + //SearchConditionItem companyId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "分部", "164", "companyId", ""); + //companyId.setRules("required"); + //SearchConditionItem departmentId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "部门", "4", "departmentId", ""); + //departmentId.setRules("required"); + //SearchConditionItem jobId = OrganizationFormItemUtil.browserItem(user, 2, 17, viewAttr, false, "岗位", "161", "jobId", "jobBrowser"); + //jobId.setRules("required"); + // + // + //// 编辑状态下赋值操作 + //HrmRelationPO relationPO = getHrmRelationMapper().getRelationById(Long.parseLong(id)); + //if (null != relationPO) { + // setBrowserValue(schemeId, relationPO.getSchemeId(), getSchemeMapper().listSchemesByIds(Stream.of(relationPO.getSchemeId()).collect(Collectors.toList())), null, null); + // setBrowserValue(gradeId, relationPO.getGradeId(), getGradeMapper().listGradessByIds(Stream.of(relationPO.getGradeId()).collect(Collectors.toList())), "scheme_id", relationPO.getSchemeId()); + // setBrowserValue(levelId, relationPO.getLevelId(), getLevelMapper().listLevelsByIds(DeleteParam.builder().ids(relationPO.getLevelId()).build().getIds()), "grade_id", relationPO.getGradeId()); + // setBrowserValue(sequenceId, relationPO.getSequenceId(), getSequenceMapper().listSequencesByIds(Stream.of(relationPO.getSequenceId()).collect(Collectors.toList())), "scheme_id", relationPO.getSchemeId()); + // setBrowserValue(postId, relationPO.getPostId(), getPostMapper().listPostsByIds(Stream.of(relationPO.getPostId()).collect(Collectors.toList())), null, null); + // setBrowserValue(postInfoId, relationPO.getPostInfoId(), getPostInfoMapper().listPostInfosByIds(Stream.of(relationPO.getPostInfoId()).collect(Collectors.toList())), "post_id", relationPO.getPostId()); + // + // List> companyMaps = new ArrayList<>(); + // String scCompanyNameById = MapperProxyFactory.getProxy(SystemDataMapper.class).getScCompanyNameById(relationPO.getCompanyId().toString()); + // Map companyMap = new HashMap<>(); + // companyMap.put(relationPO.getCompanyId().toString(), scCompanyNameById); + // companyMaps.add(companyMap); + // setBrowserValue(companyId, relationPO.getCompanyId(), companyMaps, null, null); + // + // List> departmentMaps = new ArrayList<>(); + // String departmentNameById = MapperProxyFactory.getProxy(SystemDataMapper.class).getScDepartmentNameById(relationPO.getDepartmentId().toString()); + // Map departmentMap = new HashMap<>(); + // departmentMap.put(relationPO.getDepartmentId().toString(), departmentNameById); + // departmentMaps.add(departmentMap); + // setBrowserValue(departmentId, relationPO.getDepartmentId(), departmentMaps, "subcompany1", relationPO.getCompanyId()); + // + // setBrowserValue(jobId, relationPO.getJobId(), getJobMapper().listJobsByIds(Stream.of(relationPO.getJobId()).collect(Collectors.toList())), "departmentid", relationPO.getDepartmentId()); + //} + // + //addGroups.add(new SearchConditionGroup("岗职位体系", true, Stream.of(schemeId, gradeId, levelId, sequenceId, postId, postInfoId).collect(Collectors.toList()))); + //addGroups.add(new SearchConditionGroup("组织机构", true, Stream.of(companyId, departmentId, jobId).collect(Collectors.toList()))); + //HashMap buttonsMap = new HashMap<>(); + //buttonsMap.put("hasEdit", true); + //buttonsMap.put("hasSave", true); + //apiDatas.put("buttons", buttonsMap); + //apiDatas.put("conditions", addGroups); return apiDatas; } @@ -455,36 +423,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return hrmRelationPO.getId(); } - /** - * 浏览按钮赋值 - * - * @param browserItem - * @param browserValue - * @param maps - */ - private void setBrowserValue(SearchConditionItem browserItem, Object browserValue, List> maps, String relateField, Object relatedValue) { - browserItem.setValue(browserValue); - BrowserBean browserBean = browserItem.getBrowserConditionParam(); - browserBean.setReplaceDatas(maps); - browserItem.setBrowserConditionParam(browserBean); - - if (StringUtils.isNotBlank(relateField) && 1 != browserItem.getViewAttr()) { - long l = System.currentTimeMillis(); - Map completeParams = browserBean.getCompleteParams(); - completeParams.put("currenttime", l); - completeParams.put(relateField + "_" + l, relatedValue); - Map conditionDataParams = browserBean.getConditionDataParams(); - conditionDataParams.put("currenttime", l); - conditionDataParams.put(relateField + "_" + l, relatedValue); - Map dataParams = browserBean.getDataParams(); - dataParams.put("currenttime", l); - dataParams.put(relateField + "_" + l, relatedValue); - Map destDataParams = browserBean.getDestDataParams(); - destDataParams.put("currenttime", l); - destDataParams.put(relateField + "_" + l, relatedValue); - } - } - /** * 查询条件 * @@ -496,23 +434,23 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String sqlWhere = " where 1=1 "; String lastName = params.getLastName(); if (StringUtils.isNotBlank(lastName)) { - sqlWhere += " AND t.last_name " + dbType.like(lastName); + sqlWhere += " AND t.lastname " + dbType.like(lastName); } Long companyId = params.getCompanyId(); if (null != companyId) { - sqlWhere += " AND t.company_id = '" + companyId + "'"; + sqlWhere += " AND t.subcompanyid1 = '" + companyId + "'"; } Long departmentId = params.getDepartmentId(); if (null != departmentId) { - sqlWhere += " AND t.department_id = '" + departmentId + "'"; + sqlWhere += " AND t.departmentid = '" + departmentId + "'"; } Long ecCompany = params.getEcCompany(); if (null != ecCompany) { - sqlWhere += " AND t.ec_company = '" + ecCompany + "'"; + sqlWhere += " AND t.subcompanyid1 = '" + ecCompany + "'"; } Long ecDepartment = params.getEcDepartment(); if (null != ecDepartment) { - sqlWhere += " AND t.ec_department = '" + ecDepartment + "'"; + sqlWhere += " AND t.departmentid = '" + ecDepartment + "'"; } String telephone = params.getTelephone(); if (StringUtils.isNotBlank(telephone)) { @@ -524,14 +462,15 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } Long jobTitle = params.getJobTitle(); if (null != jobTitle) { - sqlWhere += " AND t.job_title = '" + jobTitle + "'"; + // TODO BUG修复 + sqlWhere += " AND t.jobtitle = '" + jobTitle + "'"; } // 分权查询 DetachUtil detachUtil = new DetachUtil(user.getUID()); String parentCompanyIds = detachUtil.getJclRoleLevels(); if (detachUtil.isDETACH()) { - sqlWhere += " And t.company_id in(" + parentCompanyIds + ")"; + sqlWhere += " And t.subcompanyid1 in(" + parentCompanyIds + ")"; } return sqlWhere; @@ -542,21 +481,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { Integer parentCompId = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); - DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(parentCompId).build(); - CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(parentCompId).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(parentCompId).canceled(0).build(); + CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(parentCompId).canceled(0).build(); // 所属分部下的岗位 - JobPO jobBuild = JobPO.builder().jobName(keyword).parentComp(parentCompId).build(); + JobPO jobBuild = JobPO.builder().jobTitleName(keyword).ecCompany(parentCompId).forbiddenTag(0).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild, jobBuild); } else if (TYPE_DEPT.equals(type)) { Integer parentDeptId = Integer.parseInt(id); - DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).supDepId(parentDeptId).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).supDepId(parentDeptId).canceled(0).build(); // 所属分部下的岗位 - JobPO jobBuild = JobPO.builder().jobName(keyword).parentDept(parentDeptId).build(); + JobPO jobBuild = JobPO.builder().jobTitleName(keyword).ecDepartment(parentDeptId).forbiddenTag(0).build(); searchTree = buildTreeByDeptAndJob(departmentBuild, jobBuild); } else if (TYPE_JOB.equals(type)) { // 查询部门信息 - List filterDeparts = getJobMapper().listPOsByFilter(JobPO.builder().jobName(keyword).parentJob(Long.parseLong(id)).build()); + List filterDeparts = getJobMapper().listPOsByFilter(JobPO.builder().jobTitleName(keyword).parentJob(Long.parseLong(id)).forbiddenTag(0).build()); Set builderJobs = new HashSet<>(); for (JobPO departmentPO : filterDeparts) { buildParentJobs(departmentPO, builderJobs); @@ -589,7 +528,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String parentDeptS = jobTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentDeptS)) { // 兼容SQLServer每次最多in,2100条数据 - List ids = (List) DeleteParam.builder().ids(parentDeptS).build().getIds(); + List ids = DeleteParam.builder().ids(parentDeptS).build().getIds(); int ceilCount = (int) Math.ceil((double) ids.size() / 1000); List departmentsByIds = new ArrayList<>(); for (int i = 1; i < ceilCount + 1; i++) { @@ -716,8 +655,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String jobId = Util.null2String(params.get("job_title")); if (StringUtils.isNotBlank(jobId)) { JobPO jobById = getJobMapper().getJobById(Long.parseLong(jobId)); - params.put("department_id", jobById.getParentDept()); - params.put("company_id", jobById.getParentComp()); + params.put("department_id", jobById.getEcDepartment()); + params.put("company_id", jobById.getEcCompany()); params.put("ec_department", jobById.getEcDepartment()); params.put("ec_company", jobById.getEcCompany()); // 等级方案、岗位序列、职等、职级 diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index bd670c9c..aaeb096c 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -16,12 +16,10 @@ import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.po.LevelPO; import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.enums.OrgImportEnum; -import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; -import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; @@ -753,27 +751,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - /** - * 校验重复编号 - */ - private boolean checkRepeatNo(String no, Long extendType, Long id) { - if (StringUtils.isBlank(no)) { - return true; - } - if (null != extendType) { - switch (extendType.toString()) { - case "1": - // return 0 == MapperProxyFactory.getProxy(CompMapper.class).checkRepeatNo(no, id); - case "2": - return 0 == MapperProxyFactory.getProxy(DepartmentMapper.class).checkRepeatNo(no, id); - case "3": - return 0 == MapperProxyFactory.getProxy(JobMapper.class).checkRepeatNo(no, id); - default: - return false; - } - } - return false; - } /** * 生成导入模板文件 diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index a624d4d2..37320e58 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -21,7 +21,6 @@ import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.employee.vo.EmployeeTableVO; import com.engine.organization.entity.extend.po.ExtendTitlePO; -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.param.JobMergeParam; @@ -32,6 +31,7 @@ import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; @@ -44,8 +44,6 @@ import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; -import com.engine.organization.thread.HrmResourceTriggerRunnable; -import com.engine.organization.thread.JobTriggerRunnable; import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.*; import com.engine.organization.util.coderule.CodeRuleUtil; @@ -57,7 +55,6 @@ import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; -import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.User; @@ -203,7 +200,16 @@ public class JobServiceImpl extends Service implements JobService { @Override public Map> getHasRight() { - return MenuBtn.getDatasNoBtnColum(); + Map> btnDatas = new HashMap<>(); + ArrayList topMenuList = new ArrayList<>(); + ArrayList rightMenuList = new ArrayList<>(); + // 批量删除 + topMenuList.add(MenuBtn.topMenu_batchDelete()); + btnDatas.put("topMenu", topMenuList); + // 日志 + rightMenuList.add(MenuBtn.rightMenu_btnLog()); + btnDatas.put("rightMenu", rightMenuList); + return btnDatas; } @Override @@ -214,23 +220,11 @@ public class JobServiceImpl extends Service implements JobService { // 编号 SearchConditionItem jobNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "编号", "jobNo"); // 名称 - SearchConditionItem jobNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "jobName"); + SearchConditionItem jobTitleNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "名称", "jobTitleName"); // 所属分部 SearchConditionItem parentCompBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "164", "ecCompany", ""); // 所属部门 SearchConditionItem parentDeptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属部门", "4", "ecDepartment", ""); - // 岗位序列 - SearchConditionItem sequenceBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "岗位序列", "161", "sequenceId", "sequenceBrowser"); - // 等级方案 - SearchConditionItem schemeBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "等级方案", "161", "schemeId", "schemeBrowser"); - // 上级岗位 - SearchConditionItem parentJobBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "上级岗位", "666", "parentJob", ""); - BrowserBean browserBean = parentJobBrowserItem.getBrowserConditionParam(); - String s = JSONObject.toJSONString(browserBean); - CustomBrowserBean customBrowserBean = JSONObject.parseObject(s, CustomBrowserBean.class); - customBrowserBean.setHasLeftTree(true); - customBrowserBean.setLeftToSearchKey("treeKey"); - parentJobBrowserItem.setBrowserConditionParam(customBrowserBean); // 是否关键岗 List isKeyOptions = new ArrayList<>(); SearchConditionOption yesOption = new SearchConditionOption("0", "否"); @@ -249,12 +243,9 @@ public class JobServiceImpl extends Service implements JobService { SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "禁用标记", "forbiddenTag"); conditionItems.add(jobNoItem); - conditionItems.add(jobNameItem); + conditionItems.add(jobTitleNameItem); conditionItems.add(parentCompBrowserItem); conditionItems.add(parentDeptBrowserItem); - conditionItems.add(sequenceBrowserItem); - conditionItems.add(schemeBrowserItem); - conditionItems.add(parentJobBrowserItem); conditionItems.add(isKeyItem); conditionItems.add(workplaceItem); conditionItems.add(forbiddenTagItem); @@ -321,7 +312,7 @@ public class JobServiceImpl extends Service implements JobService { List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId), "1"); if (CollectionUtils.isNotEmpty(extendTitles)) { for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_JOB : JCL_ORG_JOBEXT, viewAttr, id, extendTitle.getId().toString(), "scheme_id", "parent_comp"); + List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_JOB : JCL_ORG_JOBEXT, viewAttr, id, extendTitle.getId().toString(), "ec_jobTitle", "ec_department", "ec_company"); if (CollectionUtils.isNotEmpty(items)) { addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); } @@ -357,7 +348,6 @@ public class JobServiceImpl extends Service implements JobService { public Long saveBaseForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); JobSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), JobSearchParam.class); - assertNameRepeat(null, searchParam.getEcDepartment(), searchParam.getParentJob(), searchParam.getJobName()); String jobNo = (String) params.get("job_no"); // 判断是否开启自动编号 jobNo = repeatDetermine(jobNo); @@ -365,18 +355,13 @@ public class JobServiceImpl extends Service implements JobService { params.put("is_key", null == searchParam.getIsKey() ? 0 : searchParam.getIsKey()); if (null != searchParam.getParentJob()) { JobPO parentJob = getJobMapper().getJobById(searchParam.getParentJob()); - params.put("parent_dept", parentJob.getParentDept()); - params.put("parent_comp", parentJob.getParentComp()); params.put("ec_company", parentJob.getEcCompany()); params.put("ec_department", parentJob.getEcDepartment()); } else { Integer ecDepartment = searchParam.getEcDepartment(); DepartmentPO jclDepartment = getDepartmentMapper().getDeptById(ecDepartment); - params.put("parent_dept", jclDepartment.getId()); - params.put("parent_comp", jclDepartment.getSubCompanyId1()); - if (null != jclDepartment.getSubCompanyId1()) { - params.put("ec_company", jclDepartment.getSubCompanyId1()); - } + params.put("ec_company", jclDepartment.getId()); + params.put("ec_department", jclDepartment.getSubCompanyId1()); } if (StringUtils.isBlank(params.get("show_order").toString())) { @@ -395,7 +380,6 @@ public class JobServiceImpl extends Service implements JobService { public Long updateForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); JobSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), JobSearchParam.class); - assertNameRepeat(searchParam.getId(), searchParam.getEcDepartment(), searchParam.getParentJob(), searchParam.getJobName()); String groupId = (String) params.get("viewCondition"); searchParam.setIsKey(null == searchParam.getIsKey() ? 0 : searchParam.getIsKey()); // 上级岗位不能选择本身 @@ -416,27 +400,22 @@ public class JobServiceImpl extends Service implements JobService { params.put("is_key", searchParam.getIsKey()); if (null != searchParam.getParentJob()) { JobPO parentJob = getJobMapper().getJobById(searchParam.getParentJob()); - params.put("parent_dept", parentJob.getParentDept()); - params.put("parent_comp", parentJob.getParentComp()); params.put("ec_company", parentJob.getEcCompany()); params.put("ec_department", parentJob.getEcDepartment()); } else { Integer ecDepartment = searchParam.getEcDepartment(); DepartmentPO jclDepartment = getDepartmentMapper().getDeptById(ecDepartment); - params.put("parent_dept", jclDepartment.getId()); - params.put("parent_comp", jclDepartment.getSubCompanyId1()); - if (null != jclDepartment.getSubCompanyId1()) { - params.put("ec_company", jclDepartment.getSubCompanyId1()); - } + params.put("ec_department", jclDepartment.getId()); + params.put("ec_company", jclDepartment.getSubCompanyId1()); } params.put("jobactivityid", JOB_ACTIVITY_ID); new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, oldJobPO).sync(); getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); JobPO jobById = getJobMapper().getJobById(searchParam.getId()); - new JobTriggerRunnable(oldJobPO, jobById).run(); + //TODO new JobTriggerRunnable(oldJobPO, jobById).run(); // 更新人员关联字段 - updateResourceJob(jobById); + // updateResourceJob(jobById); } // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, "", searchParam.getId()); @@ -463,18 +442,15 @@ public class JobServiceImpl extends Service implements JobService { jobById.setEcDepartment(Integer.parseInt(department)); DepartmentPO jclDepartmentId = getDepartmentMapper().getDeptById(jobById.getEcDepartment()); if (null != jclDepartmentId) { - jobById.setParentDept(jclDepartmentId.getId()); //分部赋值 jobById.setEcCompany(jclDepartmentId.getSubCompanyId1()); - jobById.setParentComp(jclDepartmentId.getSubCompanyId1()); } // 清空上级岗位 jobById.setParentJob(null); jobById.setShowOrder(orderNum); - assertNameRepeat(null, jobById.getEcDepartment(), jobById.getParentJob(), jobById.getJobName()); insertCount += getJobMapper().insertIgnoreNull(jobById); // 更新组织架构图 - new JobTriggerRunnable(jobById.getId()).run(); + //TODO new JobTriggerRunnable(jobById.getId()).run(); } return insertCount; @@ -484,10 +460,10 @@ public class JobServiceImpl extends Service implements JobService { public int updateForbiddenTagById(JobSearchParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); JobPO jobById = getJobMapper().getJobById(params.getId()); - JobPO jobPO = JobPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).jobName(jobById.getJobName()).build(); + JobPO jobPO = JobPO.builder().id(params.getId()).forbiddenTag(params.getForbiddenTag() ? 0 : 1).build(); if (params.getForbiddenTag()) { // 启用:判断上级部门是否启用,上级部门启用,岗位才可启用 - DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(jobById.getParentDept()); + DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(jobById.getEcDepartment()); OrganizationAssert.isTrue(0 == parentDepartment.getCanceled(), "该岗位不能解封,请先解封上级部门"); // 启用:判断上级岗位是否启用,上级岗位启用,岗位才可启用 @@ -497,8 +473,9 @@ public class JobServiceImpl extends Service implements JobService { } } else { //禁用:判断当前岗位下是否有人员,如有人员则不能禁用 - int hasResource = getJobMapper().isHasResource(params.getId()); - OrganizationAssert.isTrue(hasResource == 0, "该岗位存在人员,不能封存"); + // int hasResource = getJobMapper().isHasResource(params.getId()); + // OrganizationAssert.isTrue(hasResource == 0, "该岗位存在人员,不能封存"); + throw new OrganizationRunTimeException("该岗位不能封存"); } new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobPO).sync(); return getJobMapper().updateForbiddenTagById(jobPO.getId(), jobPO.getForbiddenTag()); @@ -522,7 +499,8 @@ public class JobServiceImpl extends Service implements JobService { @Override public Map getHrmListByJobId(Long jobId) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, EmployeeTableVO.class); - table.setSqlwhere(" where job_title = '" + jobId + "' and status<4"); + // TODO BUG修复 + table.setSqlwhere(" where jobtitle = '" + jobId + "' and status<4"); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); @@ -543,11 +521,6 @@ public class JobServiceImpl extends Service implements JobService { deptBrowserItem.setBrowserConditionParam(customBrowserBean); SearchConditionItem mergeNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "合并后名称", "mergeName"); mergeNameItem.setRules("required|string"); - JobPO jobById = getJobMapper().getJobById(id); - if (null != jobById) { - String jobName = jobById.getJobName(); - mergeNameItem.setValue(jobName); - } condition.add(deptBrowserItem); condition.add(mergeNameItem); addGroups.add(new SearchConditionGroup("", true, condition)); @@ -576,45 +549,42 @@ public class JobServiceImpl extends Service implements JobService { // 待合并的部门 JobPO jobById = getJobMapper().getJobById(mergeParam.getId()); - assertNameRepeat(targetJob.getId(), targetJob.getEcDepartment(), targetJob.getParentJob(), mergeParam.getMergeName()); // 递归处理子岗位所属分部、所部部门、上级岗位 - recursionMergeJob(jobs, targetJob.getParentComp(), targetJob.getEcCompany(), targetJob.getParentDept(), targetJob.getEcDepartment(), targetJob.getId()); + recursionMergeJob(jobs, targetJob.getEcCompany(), targetJob.getEcDepartment(), targetJob.getId()); // 人员信息变动,更新分部、部门、岗位 - updateResourceJob(jobById, targetJob); + // updateResourceJob(jobById, targetJob); // 更新合并后的岗位,更新组织架构图 - updateEcJob(targetJob, mergeParam.getMergeName()); + // updateEcJob(targetJob, mergeParam.getMergeName()); - targetJob.setJobName(mergeParam.getMergeName()); + // TODO targetJob.setJobName(mergeParam.getMergeName()); getJobMapper().updateBaseJob(targetJob); - new JobTriggerRunnable(jobById.getId(), targetJob.getId()).run(); + //TODO new JobTriggerRunnable(jobById.getId(), targetJob.getId()).run(); // 原岗位删除 new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobById).sync(); getJobMapper().deleteByIds(Collections.singletonList(jobById.getId())); // 更新组织架构图 - new JobTriggerRunnable(jobById).run(); + //TODO new JobTriggerRunnable(jobById).run(); return updateCount; } - void recursionMergeJob(List jobs, Integer parentCompany, Integer ecCompany, Integer parentDepartment, Integer ecDepartment, Long parentJob) { + void recursionMergeJob(List jobs, Integer ecCompany, Integer ecDepartment, Long parentJob) { for (JobPO job : jobs) { - job.setParentComp(parentCompany); job.setEcCompany(ecCompany); - job.setParentDept(parentDepartment); job.setEcDepartment(ecDepartment); job.setParentJob(parentJob); getJobMapper().updateBaseJob(job); // 更新人员信息 - updateResourceJob(job); + // updateResourceJob(job); // 更新组织架构图 - new JobTriggerRunnable(job.getId()).run(); + //TODO new JobTriggerRunnable(job.getId()).run(); // 递归处理子级元素 List jobsByPid = getJobMapper().getJobsByPid(job.getId()); - recursionMergeJob(jobsByPid, parentCompany, ecCompany, parentDepartment, ecDepartment, parentJob); + recursionMergeJob(jobsByPid, ecCompany, ecDepartment, parentJob); } } @@ -724,13 +694,11 @@ public class JobServiceImpl extends Service implements JobService { */ private boolean isFilter(JobPO jobPO) { return !(StringUtil.isEmpty(jobPO.getJobNo()) - && StringUtil.isEmpty(jobPO.getJobName()) + && StringUtil.isEmpty(jobPO.getJobTitleName()) && StringUtil.isEmpty(jobPO.getWorkplace()) && StringUtil.isEmpty(jobPO.getDescription()) && StringUtil.isEmpty(jobPO.getWorkDuty()) && StringUtil.isEmpty(jobPO.getWorkAuthority()) - && null == jobPO.getParentComp() - && null == jobPO.getParentDept() && null == jobPO.getParentJob() && null == jobPO.getSequenceId() && null == jobPO.getSchemeId() @@ -738,6 +706,7 @@ public class JobServiceImpl extends Service implements JobService { && null == jobPO.getForbiddenTag() && null == jobPO.getEcCompany() && null == jobPO.getEcDepartment() + && null == jobPO.getEcJobTitle() ); } @@ -787,95 +756,19 @@ public class JobServiceImpl extends Service implements JobService { } } - /** - * 更新EC岗位 - * - * @param jobPO - */ - private void updateEcJob(JobPO jobPO, String newName) { - Map params = new HashMap<>(); - params.put("job_name", newName); - params.put("jobactivityid", JOB_ACTIVITY_ID); - params.put("work_duty", jobPO.getWorkDuty()); - params.put("work_authority", jobPO.getWorkAuthority()); - params.put("description", jobPO.getDescription()); - params.put("job_no", jobPO.getJobNo()); - new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, jobPO).sync(); - } - - - /** - * 判断相同层级下有无同名岗位 - */ - public static void assertNameRepeat(Long jobId, Integer departmentId, Long parentJobId, String jobName) { - assertNameRepeat(jobId, departmentId, parentJobId, jobName, true); - } - - /** - * 判断相同层级下有无同名岗位 - */ - public static boolean assertNameRepeat(String jobId, String departmentId, String parentJobId, String jobName) { - return assertNameRepeat(StringUtils.isBlank(jobId) ? null : Long.parseLong(jobId), StringUtils.isBlank(departmentId) ? null : Integer.parseInt(departmentId), StringUtils.isBlank(parentJobId) ? null : Long.parseLong(parentJobId), jobName, false); - } - - /** - * 判断相同层级下有无同名岗位 - * - * @param jobId - * @param departmentId - * @param parentJobId - * @param jobName - * @param throwException - * @return - */ - public static boolean assertNameRepeat(Long jobId, Integer departmentId, Long parentJobId, String jobName, boolean throwException) { - int count; - // 有上级岗位、判断相同层级下有无相同名称岗位 - if (null != jobId) { - count = getJobMapper().countRepeatNameByPid(jobName, jobId, parentJobId, departmentId); - } else { - // 无上级岗位,判断当前部门下,有无同名岗位 - count = getJobMapper().countRepeatNameByPid(jobName, jobId, null, departmentId); - } - if (throwException) { - OrganizationAssert.isTrue(count == 0, "岗位名称已存在"); - } - return count == 0; - } - - - /** - * 更新人员岗位信息 - * - * @param originalJob - * @param targetJob - */ - private void updateResourceJob(JobPO originalJob, JobPO targetJob) { - // 更新岗位下的人员 - Long originalJobId = originalJob.getId(); - Long targetJobId = targetJob.getId(); - Integer parentComp = targetJob.getParentComp(); - Integer parentDept = targetJob.getParentDept(); - Integer ecCompany = targetJob.getEcCompany(); - Integer ecDepartment = targetJob.getEcDepartment(); - List resourceList = getResourceMapper().getResourceListByJobId(originalJobId); - getResourceMapper().updateResourceJob(originalJobId, targetJobId, parentComp, parentDept, ecCompany, ecDepartment); - - // 更新Ec人员分部、部门、岗位 - for (HrmResourcePO hrmResourcePO : resourceList) { - new RecordSet().executeUpdate("UPDATE HRMRESOURCE SET SUBCOMPANYID1 = ? , DEPARTMENTID = ? WHERE UUID =? ", ecCompany, ecDepartment, hrmResourcePO.getUuid()); - // 更新人员Map表信息 - new HrmResourceTriggerRunnable(hrmResourcePO.getId()).run(); - } - } - - - /** - * 更新人员岗位信息 - * - * @param job - */ - private void updateResourceJob(JobPO job) { - updateResourceJob(job, job); - } + ///** + // * 更新EC岗位 + // * + // * @param jobPO + // */ + //private void updateEcJob(JobPO jobPO, String newName) { + // Map params = new HashMap<>(); + // params.put("job_name", newName); + // params.put("jobactivityid", JOB_ACTIVITY_ID); + // params.put("work_duty", jobPO.getWorkDuty()); + // params.put("work_authority", jobPO.getWorkAuthority()); + // params.put("description", jobPO.getDescription()); + // params.put("job_no", jobPO.getJobNo()); + // new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, jobPO).sync(); + //} } diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index 8db6350b..b440f983 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -448,9 +448,9 @@ public class StaffServiceImpl extends Service implements StaffService { OrganizationAssert.notNull(staffPO.getJobId(), "编制维度选择岗位时,岗位必填!"); JobPO jobById = getJobMapper().getJobById(staffPO.getJobId()); if (null != jobById) { - staffPO.setDeptId(jobById.getParentDept()); + staffPO.setDeptId(jobById.getEcDepartment()); staffPO.setEcDepartment(jobById.getEcDepartment()); - staffPO.setCompId(jobById.getParentComp()); + staffPO.setCompId(jobById.getEcCompany()); staffPO.setEcCompany(jobById.getEcCompany()); } break; diff --git a/src/com/engine/organization/thread/OrganizationSyncEc.java b/src/com/engine/organization/thread/OrganizationSyncEc.java index 90a7f254..2551781c 100644 --- a/src/com/engine/organization/thread/OrganizationSyncEc.java +++ b/src/com/engine/organization/thread/OrganizationSyncEc.java @@ -1,27 +1,20 @@ package com.engine.organization.thread; import com.engine.common.util.ServiceUtil; -import com.engine.hrm.service.impl.HrmJobServiceImpl; import com.engine.hrm.service.impl.OrganizationServiceImpl; -import com.engine.organization.entity.commom.RecordInfo; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.hrmresource.SystemDataMapper; -import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; -import com.engine.organization.util.relation.EcHrmRelationUtil; import com.engine.organization.util.relation.ResourceSyncUtil; -import org.apache.commons.collections.CollectionUtils; import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.stream.Collectors; /** * @author:dxfeng @@ -81,9 +74,6 @@ public class OrganizationSyncEc { case DEPARTMENT: refreshDepartment(); break; - case JOB: - refreshJob(); - break; case RESOURCE: refreshResource(); default: @@ -134,21 +124,6 @@ public class OrganizationSyncEc { } } - private void refreshJob() { - switch (operateType) { - case ADD: - addJob(); - break; - case UPDATE: - updateJob(); - break; - case CANCELED: - cancelJob(); - break; - default: - break; - } - } private void refreshResource() { switch (operateType) { @@ -175,173 +150,6 @@ public class OrganizationSyncEc { } - /** - * 新增岗位 - * - *

- * 1、EC表HrmJobTitles - *

- * 2、系统中新建“聚才林”、“默认职务”(sql写入) - *

- * 3、检索岗位名称jobtitlename,如果已存在,判断是否封存,对已封存数据解封操作 - *

- * 4、如果不存在,在“聚才林--默认职务”下新建岗位 - */ - private void addJob() { - // 判断是否存在同名岗位、存在不做处理,不存在,在“默认职务分类--默认职务”下新建岗位 - String jobName = Util.null2String(params.get("job_name")); - RecordInfo hrmJobActivity = getSystemDataMapper().getHrmJobTitleByName(jobName); - Map map = new HashMap<>(); - //存在且已封存,对岗位解封 - if (null != hrmJobActivity) { - map.put("ids", hrmJobActivity.getId()); - map.put("canceled", "docanceled"); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - // 不存在则新建职务 - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", jobName); - map.put("jobtitlename", jobName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no"))); - - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); - } - } - - /** - * 更新岗位 - */ - private void updateJob() { - Long jclJobId = oldJobPO.getId(); - String oldName = oldJobPO.getJobName(); - - String newName = Util.null2String(params.get("job_name")); - if (newName.equals(oldName)) { - this.resultMap = new HashMap<>(); - this.resultMap.put("sign", "1"); - return; - } - RecordInfo oldHrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(oldName); - - Map map = new HashMap<>(); - // 修改前不存在共用 - if (EcHrmRelationUtil.isNotExistJob(oldName, jclJobId)) { - // 修改后不存在共用、直接修改EC岗位表数据 - if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { - // 查询ec表ID - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); - if (null != hrmJobTitle) { - map.put("id", Util.null2String(hrmJobTitle.getId())); - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", newName); - map.put("jobtitlename", newName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no")) + "_" + System.currentTimeMillis()); - // 修改岗位表数据 - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).editJobTitle(map, user); - } else { - // 不存在则新建职务 - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", newName); - map.put("jobtitlename", newName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no")) + "_" + System.currentTimeMillis()); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); - } - } else { - // 修改后存在共用、不修改岗位表数据,更新对应人员的岗位信息为当前岗位的ID - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); - // 查询原分部、原岗位下的人员,并更新岗位ID - List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getId()); - if (CollectionUtils.isNotEmpty(hrmResourceIds)) { - getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.getId()), hrmResourceIds); - } - // 封存原名称岗位 - map.put("ids", oldHrmJobTitle.getId()); - map.put("canceled", "canceled"); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } - } else { - // 修改前存在共用,不对原有数据进行操作。 - - // 修改后不存在共用、新建岗位,更新原有岗位下人员的岗位ID - if (EcHrmRelationUtil.isNotExistJob(newName, jclJobId)) { - RecordInfo hrmJobActivity = getSystemDataMapper().getHrmJobTitleByName(newName); - //存在且已封存,对岗位解封 - if (null != hrmJobActivity) { - map.put("ids", hrmJobActivity.getId()); - map.put("canceled", "docanceled"); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - // 不存在则新建职务 - map.put("operateIp", Util.null2String(user.getLoginip())); - map.put("jobtitlemark", newName); - map.put("jobtitlename", newName); - map.put("jobactivityid", Util.null2String(params.get("jobactivityid"))); - map.put("jobresponsibility", Util.null2String(params.get("work_duty"))); - map.put("jobcompetency", Util.null2String(params.get("work_authority"))); - map.put("jobtitleremark", Util.null2String(params.get("description"))); - map.put("jobtitlecode", Util.null2String(params.get("job_no"))); - - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).addJobTitle(map, user); - } - } else { - this.resultMap = new HashMap<>(); - this.resultMap.put("sign", "1"); - } - // 查询原分部、原岗位下的人员,并更新岗位ID - RecordInfo hrmJobTitle = getSystemDataMapper().getHrmJobTitleByName(newName); - List hrmResourceIds = getSystemDataMapper().getHrmResourceIds(oldJobPO.getParentDept(), oldHrmJobTitle.getId()); - if (CollectionUtils.isNotEmpty(hrmResourceIds)) { - getSystemDataMapper().updateResourceJobTitleByIds(Util.null2String(hrmJobTitle.getId()), hrmResourceIds); - } - } - } - - /** - * 封存、解封岗位 - */ - private void cancelJob() { - Map map = new HashMap<>(); - RecordInfo hrmJobTitleByName = getSystemDataMapper().getHrmJobTitleByName(oldJobPO.getJobName()); - if (null == hrmJobTitleByName) { - return; - } - if (0 == oldJobPO.getForbiddenTag()) { - // 启用 - map.put("ids", hrmJobTitleByName.getId()); - map.put("canceled", "docanceled"); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - // 禁用 - List jobPOS = MapperProxyFactory.getProxy(JobMapper.class).listByNameExceptId(oldJobPO.getJobName(), oldJobPO.getId()); - // 不存在共用 - if (CollectionUtils.isEmpty(jobPOS)) { - map.put("ids", hrmJobTitleByName.getId()); - map.put("canceled", "canceled"); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } else { - List collect = jobPOS.stream().filter(item -> 0 == item.getForbiddenTag()).collect(Collectors.toList()); - // 不存在非禁用 - if (CollectionUtils.isEmpty(collect)) { - map.put("ids", hrmJobTitleByName.getId()); - map.put("canceled", "canceled"); - this.resultMap = ServiceUtil.getService(HrmJobServiceImpl.class, user).doCanceled(map, user); - } - } - } - } - /** * 新增部门 */ diff --git a/src/com/engine/organization/thread/StaffTriggerRunnable.java b/src/com/engine/organization/thread/StaffTriggerRunnable.java index f67d412f..a4ff15f6 100644 --- a/src/com/engine/organization/thread/StaffTriggerRunnable.java +++ b/src/com/engine/organization/thread/StaffTriggerRunnable.java @@ -68,7 +68,7 @@ public class StaffTriggerRunnable implements Runnable { if (null != jclJobId) { JobPO jobById = getJobMapper().getJobById((long) jclJobId); if (null != jobById) { - this.staffPO = StaffPO.builder().compId(jobById.getParentComp()).deptId(jobById.getParentDept()).jobId(jobById.getId()).build(); + this.staffPO = StaffPO.builder().compId(jobById.getEcCompany()).deptId(jobById.getEcDepartment()).jobId(jobById.getId()).build(); this.staffPlanByID = StaffPlanPO.builder().controlDimension("3").build(); } } diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index 23a5069b..fc52ea13 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -1,9 +1,9 @@ package com.engine.organization.transmethod; +import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; -import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.db.MapperProxyFactory; import weaver.hrm.User; @@ -21,8 +21,9 @@ public class HrmResourceTransMethod { public static String getCompanyName(String companyId) { return MapperProxyFactory.getProxy(CompMapper.class).listById(Integer.parseInt(companyId)).getSubCompanyName(); } + public static String getJobName(String jobTitle) { - return MapperProxyFactory.getProxy(JobMapper.class).getJobById(Long.parseLong(jobTitle)).getJobName(); + return JobBO.getJobTitleNameByEcJobTitle(jobTitle); } public static String getManagerName(String managerId) { diff --git a/src/com/engine/organization/transmethod/JobTransMethod.java b/src/com/engine/organization/transmethod/JobTransMethod.java index 20850a8b..82d0b130 100644 --- a/src/com/engine/organization/transmethod/JobTransMethod.java +++ b/src/com/engine/organization/transmethod/JobTransMethod.java @@ -1,6 +1,7 @@ package com.engine.organization.transmethod; import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; @@ -20,18 +21,16 @@ import java.util.stream.Collectors; */ public class JobTransMethod { - public static String getSpanById(String planId) { + public static String getSpanById(String jobId) { JobMapper jobMapper = MapperProxyFactory.getProxy(JobMapper.class); - List> maps = jobMapper.listJobsByIds(DeleteParam.builder().ids(planId).build().getIds()); - String names = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); - return names; + List jobsByIds = jobMapper.getJobsByIds(DeleteParam.builder().ids(jobId).build().getIds()); + return jobsByIds.stream().map(JobPO::getJobTitleName).collect(Collectors.joining(",")); } public static String getLevelName(String levelId) { LevelMapper levelMapper = MapperProxyFactory.getProxy(LevelMapper.class); List> maps = levelMapper.listLevelsByIds(DeleteParam.builder().ids(levelId).build().getIds()); - String levelName = maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); - return levelName; + return maps.stream().map(item -> (String) item.get("name")).collect(Collectors.joining(",")); } public static String getGradeName(String gradeId) { diff --git a/src/com/engine/organization/util/detach/DetachUtil.java b/src/com/engine/organization/util/detach/DetachUtil.java index 5ad83ce5..c482fb33 100644 --- a/src/com/engine/organization/util/detach/DetachUtil.java +++ b/src/com/engine/organization/util/detach/DetachUtil.java @@ -65,7 +65,7 @@ public class DetachUtil { */ public void filterJobList(List jobList) { if (DETACH && CollectionUtils.isNotEmpty(jobList)) { - jobList.removeIf(item -> !jclRoleLevels.contains(item.getParentComp())); + jobList.removeIf(item -> !jclRoleLevels.contains(item.getEcCompany())); } } diff --git a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java index cba61155..7219bd1e 100644 --- a/src/com/engine/organization/util/relation/EcHrmRelationUtil.java +++ b/src/com/engine/organization/util/relation/EcHrmRelationUtil.java @@ -1,15 +1,9 @@ package com.engine.organization.util.relation; -import com.engine.organization.entity.commom.RecordInfo; import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.collections.CollectionUtils; - -import java.util.List; +import weaver.general.Util; /** * @author:dxfeng @@ -18,22 +12,6 @@ import java.util.List; */ public class EcHrmRelationUtil { - private static final String HRM_COMPANY = "hrmsubcompany"; - private static final String HRM_DEPARTMENT = "hrmdepartment"; - - - private static SystemDataMapper getSystemDataMapper() { - return MapperProxyFactory.getProxy(SystemDataMapper.class); - } - - private static CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); - } - - private static DepartmentMapper getDepartmentMapper() { - return MapperProxyFactory.getProxy(DepartmentMapper.class); - } - private static JobMapper getJobMapper() { return MapperProxyFactory.getProxy(JobMapper.class); } @@ -43,37 +21,9 @@ public class EcHrmRelationUtil { if (null == jobById) { return ""; } - RecordInfo hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName()); - if (null == hrmJobTitleByName) { - return ""; - } - return hrmJobTitleByName.getId(); - } - - /** - * 判断岗位名称是否共用 - *

存在返回true

- * - * @param jobName - * @param id - * @return - */ - public static boolean isExistJob(String jobName, Long id) { - List jobPOS = getJobMapper().listByNameExceptId(jobName, id); - return CollectionUtils.isNotEmpty(jobPOS); + return Util.null2String(jobById.getEcJobTitle()); } - /** - * 判断岗位名称是否共用 - *

不存在返回true

- * - * @param jobName - * @param id - * @return - */ - public static boolean isNotExistJob(String jobName, Long id) { - return !isExistJob(jobName, id); - } } diff --git a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java index 0524a3ef..4fc78a89 100644 --- a/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java +++ b/src/com/engine/organization/util/saveimport/StaffInfoImportUtil.java @@ -273,9 +273,9 @@ public class StaffInfoImportUtil { if (null == jobPO) { checkMsg = "未找到对应岗位!"; } else { - param.setCompId(jobPO.getParentComp()); + param.setCompId(jobPO.getEcCompany()); param.setEcCompany(jobPO.getEcCompany()); - param.setDeptId(jobPO.getParentDept()); + param.setDeptId(jobPO.getEcDepartment()); param.setEcDepartment(jobPO.getEcDepartment()); } } diff --git a/src/com/engine/organization/wrapper/JobWrapper.java b/src/com/engine/organization/wrapper/JobWrapper.java index 6030abdf..6b3d023b 100644 --- a/src/com/engine/organization/wrapper/JobWrapper.java +++ b/src/com/engine/organization/wrapper/JobWrapper.java @@ -11,14 +11,11 @@ import com.engine.organization.entity.job.param.JobMergeParam; import com.engine.organization.entity.job.param.JobSearchParam; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.searchtree.SearchTreeParams; -import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.service.JobService; import com.engine.organization.service.impl.JobServiceImpl; -import com.engine.organization.thread.JobTriggerRunnable; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.OrganizationWrapper; @@ -116,7 +113,7 @@ public class JobWrapper extends OrganizationWrapper { writeOperateLog(new Object() { }.getClass(), params.get("job_name").toString(), JSON.toJSONString(params), "新增岗位"); // 更新组织架构图 - new Thread(new JobTriggerRunnable(jobId)).start(); + //TODO new Thread(new JobTriggerRunnable(jobId)).start(); return jobId; } @@ -133,7 +130,7 @@ public class JobWrapper extends OrganizationWrapper { Long jobId = getJobService(user).updateForm(params); JobPO newJobById = getJobMapper().getJobById(id); writeOperateLog(new Object() { - }.getClass(), jobById.getJobName(), JSON.toJSONString(params), jobById, newJobById); + }.getClass(), jobById.getJobTitleName(), JSON.toJSONString(params), jobById, newJobById); // 更新组织架构图 return jobId; @@ -151,7 +148,7 @@ public class JobWrapper extends OrganizationWrapper { int copyJobItem = getJobService(user).copyJobItem(param.getIds(), param.getDepartment()); for (JobPO jobPO : jobPOS) { writeOperateLog(new Object() { - }.getClass(), jobPO.getJobName(), JSON.toJSONString(param), "复制岗位[" + jobPO.getJobName() + "]"); + }.getClass(), jobPO.getJobTitleName(), JSON.toJSONString(param), "复制岗位[" + jobPO.getJobTitleName() + "]"); } return copyJobItem; } @@ -171,7 +168,7 @@ public class JobWrapper extends OrganizationWrapper { }.getClass(), jobById.getJobNo(), JSON.toJSONString(params), jobById, newJobById); // 更新组织架构图 - new Thread(new JobTriggerRunnable(jobById, newJobById)).start(); + //TODO new Thread(new JobTriggerRunnable(jobById, newJobById)).start(); return updateForbiddenTagById; } @@ -187,9 +184,9 @@ public class JobWrapper extends OrganizationWrapper { int deleteByIds = getJobService(user).deleteByIds(ids); for (JobPO jobPO : jobPOS) { writeOperateLog(new Object() { - }.getClass(), jobPO.getJobName(), JSON.toJSONString(ids), "删除岗位"); + }.getClass(), jobPO.getJobTitleName(), JSON.toJSONString(ids), "删除岗位"); // 更新组织架构图 - new JobTriggerRunnable(jobPO).run(); + // TODO new JobTriggerRunnable(jobPO).run(); } return deleteByIds; } From dee6bb25b567ef93073ad1ad6a95bcb141e0e1c6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 9 Dec 2022 14:29:56 +0800 Subject: [PATCH 055/203] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E5=85=B3=E8=81=94?= =?UTF-8?q?=E5=85=B3=E7=B3=BB=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/hrmresource/vo/HrmResourceVO.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java index 6142c7f5..2a51e8e2 100644 --- a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java @@ -31,7 +31,8 @@ import lombok.NoArgsConstructor; sortway = " asc", primarykey = "id", operates = { - @OrganizationTableOperate(text = "查看") + @OrganizationTableOperate(text = "查看"), + @OrganizationTableOperate(index = "1", text = "另存为版本") }, tableType = WeaTableType.CHECKBOX ) From 06c9912d21adcc7c3f6a769a5465923f6763950f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 9 Dec 2022 15:07:34 +0800 Subject: [PATCH 056/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D,=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/job/bo/JobBO.java | 9 +++++++++ .../organization/mapper/comp/CompMapper.xml | 15 +++++++++------ .../mapper/department/DepartmentMapper.xml | 15 +++++++++------ .../engine/organization/mapper/job/JobMapper.xml | 2 +- .../service/impl/HrmResourceServiceImpl.java | 10 ++++++++-- .../organization/service/impl/JobServiceImpl.java | 12 ++++++++++-- 6 files changed, 46 insertions(+), 17 deletions(-) diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index d07e88e4..433031ab 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -5,7 +5,9 @@ import com.engine.organization.entity.job.param.JobSearchParam; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.job.vo.SingleJobTreeVO; import com.engine.organization.entity.searchtree.SearchTree; +import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.transmethod.JobTransMethod; +import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; import weaver.hrm.job.JobTitlesComInfo; @@ -157,4 +159,11 @@ public class JobBO { public static String getJobTitleNameByEcJobTitle(String ecJobTitle) { return new JobTitlesComInfo().getJobTitlesname(ecJobTitle); } + + public static JobPO getEcJobTitleByJobId(Long jobId) { + if (null == jobId) { + return null; + } + return MapperProxyFactory.getProxy(JobMapper.class).getJobById(jobId); + } } diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index 67392d6c..d93c8a52 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -215,16 +215,19 @@ - and ifnull(canceled,0)= - #{CompanyPO.canceled} + + and ifnull(canceled,0)= #{CompanyPO.canceled} + - and nvl(canceled,0)= - #{CompanyPO.canceled} + + and nvl(canceled,0)= #{CompanyPO.canceled} + - and isnull(canceled,0)= - #{CompanyPO.canceled} + + and isnull(canceled,0)= #{CompanyPO.canceled} + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 28ab23da..50803f0d 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -182,16 +182,19 @@ - and ifnull(canceled,0)= - #{departmentPO.canceled} + + and ifnull(canceled,0)= #{departmentPO.canceled} + - and nvl(canceled,0)= - #{departmentPO.canceled} + + and nvl(canceled,0)= #{departmentPO.canceled} + - and isnull(canceled,0)= - #{departmentPO.canceled} + + and isnull(canceled,0)= #{departmentPO.canceled} + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 041e1e43..054165da 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -5,7 +5,7 @@ - + diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 71c521a1..c83f6b63 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -462,8 +462,14 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } Long jobTitle = params.getJobTitle(); if (null != jobTitle) { - // TODO BUG修复 - sqlWhere += " AND t.jobtitle = '" + jobTitle + "'"; + JobPO ecJobTitleByJobId = JobBO.getEcJobTitleByJobId(jobTitle); + if (null != ecJobTitleByJobId) { + sqlWhere += " AND t.subcompanyid1 = '" + ecJobTitleByJobId.getEcCompany() + "'"; + sqlWhere += " AND t.departmentid = '" + ecJobTitleByJobId.getEcDepartment() + "'"; + sqlWhere += " AND t.jobtitle = '" + ecJobTitleByJobId.getEcJobTitle() + "'"; + } else { + sqlWhere = " where 1 = 2 "; + } } // 分权查询 diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 37320e58..6450f6f0 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -499,8 +499,16 @@ public class JobServiceImpl extends Service implements JobService { @Override public Map getHrmListByJobId(Long jobId) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, EmployeeTableVO.class); - // TODO BUG修复 - table.setSqlwhere(" where jobtitle = '" + jobId + "' and status<4"); + String sqlWhere = " where 1=1 "; + JobPO ecJobTitleByJobId = JobBO.getEcJobTitleByJobId(jobId); + if (null != ecJobTitleByJobId) { + sqlWhere += " AND t.subcompanyid1 = '" + ecJobTitleByJobId.getEcCompany() + "'"; + sqlWhere += " AND t.departmentid = '" + ecJobTitleByJobId.getEcDepartment() + "'"; + sqlWhere += " AND t.jobtitle = '" + ecJobTitleByJobId.getEcJobTitle() + "'"; + } else { + sqlWhere = " where 1 = 2 "; + } + table.setSqlwhere(sqlWhere + " and status<4"); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); From 45a24cb0bec62b3deca5061df0423952a4ebb390 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 9 Dec 2022 15:39:15 +0800 Subject: [PATCH 057/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D,=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/department/param/DeptSearchParam.java | 1 + .../organization/service/impl/DepartmentServiceImpl.java | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/engine/organization/entity/department/param/DeptSearchParam.java b/src/com/engine/organization/entity/department/param/DeptSearchParam.java index bb4b005e..93b53094 100644 --- a/src/com/engine/organization/entity/department/param/DeptSearchParam.java +++ b/src/com/engine/organization/entity/department/param/DeptSearchParam.java @@ -31,4 +31,5 @@ public class DeptSearchParam extends BaseQueryParam { private String uuid; private Double showOrder; private Integer showOrderOfTree; + private Boolean forbiddenTag; } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index c5d607ba..24a91fba 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -182,10 +182,10 @@ public class DepartmentServiceImpl extends Service implements DepartmentService @Override public int updateForbiddenTagById(DeptSearchParam params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); - DepartmentPO departmentPO = DepartmentPO.builder().id(params.getId()).canceled(params.getCanceled() ? 0 : 1).build(); + DepartmentPO departmentPO = DepartmentPO.builder().id(params.getId()).canceled(params.getForbiddenTag() ? 0 : 1).build(); Map map = new HashMap<>(); - map.put("id", departmentPO.getId()); - map.put("forbiddenTag", departmentPO.getCanceled()); + map.put("id", Util.null2String(departmentPO.getId())); + map.put("forbiddenTag", Util.null2String(departmentPO.getCanceled())); new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.CANCELED, map).sync(); return 1; } From 13ae13687248fbf1fbe25d474bccb5b9700e8d02 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 9 Dec 2022 16:04:35 +0800 Subject: [PATCH 058/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=86=99=E5=85=A5=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/HrmDepartmentVersion.java | 24 +++ .../entity/version/HrmResourceVersion.java | 162 ++++++++++++++++++ .../entity/version/HrmSubCompanyVersion.java | 2 +- .../mapper/version/CompanyVersionMapper.java | 27 ++- .../mapper/version/CompanyVersionMapper.xml | 42 ++++- .../impl/VersionManageServiceImpl.java | 120 +++++++++++-- 6 files changed, 359 insertions(+), 18 deletions(-) create mode 100644 src/com/engine/organization/entity/version/HrmDepartmentVersion.java create mode 100644 src/com/engine/organization/entity/version/HrmResourceVersion.java diff --git a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java new file mode 100644 index 00000000..9435263b --- /dev/null +++ b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java @@ -0,0 +1,24 @@ +package com.engine.organization.entity.version; + +import lombok.Data; + +import java.util.Date; + +@Data +public class HrmDepartmentVersion { + + int id; + int departmentId; + String departmentMark; + String departmentCode; + String departmentName; + int subCompanyId1; + int supDepId; + int bmfzr; + int showOrder; + int canceled; + String description; + String operator; + Double version; + Date operateTime; +} diff --git a/src/com/engine/organization/entity/version/HrmResourceVersion.java b/src/com/engine/organization/entity/version/HrmResourceVersion.java new file mode 100644 index 00000000..618df54c --- /dev/null +++ b/src/com/engine/organization/entity/version/HrmResourceVersion.java @@ -0,0 +1,162 @@ +package com.engine.organization.entity.version; + +import lombok.Data; + +import java.util.Date; + +@Data +public class HrmResourceVersion { + + private Integer id; + + private Integer resourceid; + + private Date companystartdate; + + private Integer companyworkyear; + + private Date workstartdate; + + private Integer workyear; + + private Integer usekind; + + private Integer jobcall; + + private String accumfundaccount; + + private String birthplace; + + private String folk; + + private String residentphone; + + private String residentpostcode; + + private String extphone; + + private String managerstr; + + private Integer status; + + private String fax; + + private String islabouunion; + + private Integer weight; + + private String tempresidentnumber; + + private Date probationenddate; + + private Integer countryid; + + private Date passwdchgdate; + + private String lloginid; + + private Integer dsporder; + + private Integer passwordstate; + + private Integer accounttype; + + private Integer belongto; + + private String messagerurl; + + private String accountname; + + private String loginid; + + private String password; + + private String lastname; + + private String sex; + + private String birthday; + + private Integer nationality; + + private String maritalstatus; + + private String telephone; + + private String mobile; + + private String mobilecall; + + private String email; + + private Integer locationid; + + private String workroom; + + private String homeaddress; + + private String resourcetype; + + private Date startdate; + + private Date enddate; + + private Integer jobtitle; + + private String jobactivitydesc; + + private Integer joblevel; + + private Integer seclevel; + + private Integer departmentid; + + private Integer subcompanyid1; + + private Integer costcenterid; + + private Integer managerid; + + private Integer assistantid; + + private Integer bankid1; + + private String accountid1; + + private Integer resourceimageid; + + private String certificatenum; + + private String nativeplace; + + private Integer educationlevel; + + private Date bememberdate; + + private Date bepartydate; + + private String workcode; + + private String regresidentplace; + + private String healthinfo; + + private String residentplace; + + private String policy; + + private String degree; + + private String height; + + private String classification; + + private String description; + + private String operator; + + private Double version; + + private Date operateTime; + +} diff --git a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java index 4a7e7181..5fcd7fa4 100644 --- a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java +++ b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java @@ -17,6 +17,6 @@ public class HrmSubCompanyVersion { Integer canceled; String description; String operator; - String version; + Double version; Date operateTime; } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java index 198e9282..02c8cbaa 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -1,5 +1,7 @@ package com.engine.organization.mapper.version; +import com.engine.organization.entity.version.HrmDepartmentVersion; +import com.engine.organization.entity.version.HrmResourceVersion; import com.engine.organization.entity.version.HrmSubCompanyVersion; import org.apache.ibatis.annotations.Param; @@ -14,10 +16,33 @@ public interface CompanyVersionMapper { /** * 取分部版本最大记录 */ - HrmSubCompanyVersion getMaxVersion(@Param("sid") String sid); + HrmSubCompanyVersion getMaxVersion(@Param("subComId") String subComId); /** * 新增分部版本 */ int insertHrmSubComVersion(HrmSubCompanyVersion hrmSubCompanyVersion); + + + /** + * 取部门版本最大记录 + */ + HrmDepartmentVersion getMaxDeptVersion(@Param("departmentid") String departmentid); + + + /** + * 新增部门版本 + */ + int insertHrmDeptVersion(HrmDepartmentVersion hrmDepartmentVersion); + + + /** + * 人员版本最大记录 + */ + HrmResourceVersion getMaxHrmVersion(@Param("getMaxHrmVersion") String getMaxHrmVersion); + + /** + * 新增人员版本 + */ + int insertHrmResourceVersion(HrmResourceVersion hrmResourceVersion); } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 6a456a29..d5be2b05 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -22,10 +22,10 @@ t.showorder ,t.canceled ,t.description ,t.operator ,t.version ,t.operate_time - select - from hrmsubcompany_version t where t.sid=#{sid} order by t.version desc limit 1 + from hrmsubcompany_version t where t.subcomid=#{subComId} order by t.version desc limit 1 @@ -36,6 +36,44 @@ #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) + + + insert into hrmdepartment_version + (departmentid, departmentmark, departmentcode, departmentname, subcompanyid1, supdepid, + bmfzr, showorder, canceled, description, operator, version, operate_time) + VALUES (#{departmentid}, #{departmentmark}, #{departmentcode}, #{departmentname}, #{subcompanyid1}, #{supdepid}, + #{bmfzr}, #{showorder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) + + + + + + insert into hrmresource_version + (resourceid, companystartdate, companyworkyear, workstartdate, workyear, usekind, jobcall, + accumfundaccount, birthplace, folk, residentphone, residentpostcode, extphone, managerstr, + status, fax, islabouunion, weight, tempresidentnumber, probationenddate, countryid, passwdchgdate, + lloginid, dsporder, passwordstate, accounttype, belongto, messagerurl, accountname, + loginid, password, lastname, sex, birthday, nationality, maritalstatus, telephone, mobile, + mobilecall, email, locationid, workroom, homeaddress, resourcetype, startdate, enddate, jobtitle, + jobactivitydesc, joblevel, seclevel, departmentid, subcompanyid1, costcenterid, managerid, assistantid, + bankid1, accountid1, resourceimageid, certificatenum, nativeplace, educationlevel, bememberdate, + bepartydate, workcode, regresidentplace, healthinfo, residentplace, policy, degree, height, + classification, description, operator, version, operate_time) + values (#{resourceid}, #{companystartdate}, #{companyworkyear}, #{workstartdate}, #{workyear}, #{usekind}, #{jobcall}, + #{accumfundaccount}, #{birthplace}, #{folk}, #{residentphone}, #{residentpostcode}, #{extphone}, #{managerstr}, + #{status}, #{fax}, #{islabouunion}, #{weight}, #{tempresidentnumber}, #{probationenddate}, #{countryid}, #{passwdchgdate}, + #{lloginid}, #{dsporder}, #{passwordstate}, #{accounttype}, #{belongto}, #{messagerurl}, #{accountname}, + #{loginid}, #{password}, #{lastname}, #{sex}, #{birthday}, #{nationality}, #{maritalstatus}, #{telephone}, #{mobile}, + #{mobilecall}, #{email}, #{locationid}, #{workroom}, #{homeaddress}, #{resourcetype}, #{startdate}, #{enddate}, #{jobtitle}, + #{jobactivitydesc}, #{joblevel}, #{seclevel}, #{departmentid}, #{subcompanyid1}, #{costcenterid}, #{managerid}, #{assistantid}, + #{bankid1}, #{accountid1}, #{resourceimageid}, #{certificatenum}, #{nativeplace}, #{educationlevel}, #{bememberdate}, + #{bepartydate}, #{workcode}, #{regresidentplace}, #{healthinfo}, #{residentplace}, #{policy}, #{degree}, #{height}, + #{classification}, #{description}, #{operator}, #{version}, #{operateTime}) + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 029c1fb6..6e4ffe21 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -2,6 +2,8 @@ package com.engine.organization.service.impl; import com.engine.core.impl.Service; import com.engine.organization.entity.map.JclOrgMap; +import com.engine.organization.entity.version.HrmDepartmentVersion; +import com.engine.organization.entity.version.HrmResourceVersion; import com.engine.organization.entity.version.HrmSubCompanyVersion; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; @@ -11,6 +13,7 @@ import com.engine.organization.service.VersionManageService; import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.db.MapperProxyFactory; import weaver.common.DateUtil; +import weaver.general.Util; import weaver.hrm.User; import java.sql.Date; @@ -42,6 +45,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe saveSubComToVersion(params,user); break; case 2: + saveComToVersion(params, user); break; case 4: break; @@ -64,23 +68,70 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFObjId(Integer.parseInt((String) params.get("id"))); jclOrgMap.setFClass(0); jclOrgMap.setFClassName("行政维度"); + jclOrgMap.setFName((String) params.get("subCompanyName")); + jclOrgMap.setFParentId(Integer.parseInt((String) params.get("supSubComId"))); + jclOrgMap.setFIsVitual(0); + jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime())); + + JclOrgMap jclOrgMapByFParentId = getJclOrgMapMapper().getSumPlanAndJobByFParentId(jclOrgMap.getFDateBegin(), String.valueOf(jclOrgMap.getId())); + if(jclOrgMapByFParentId !=null){ + jclOrgMap.setFPlan(jclOrgMapByFParentId.getFPlan()); + jclOrgMap.setFOnJob(jclOrgMapByFParentId.getFOnJob()); + }else{ + jclOrgMap.setFPlan(0); + jclOrgMap.setFOnJob(0); + } + + Calendar cal = Calendar.getInstance(); + cal.setTime(jclOrgMap.getFDateBegin()); + Calendar calendar = DateUtil.addDay(cal, -1); + Date time = new Date(calendar.getTime().getTime()); + + getJclOrgMapMapper().deleteMap("1", id, jclOrgMap.getFDateBegin()); + getJclOrgMapMapper().updateMap("1", id, jclOrgMap.getFDateBegin(), time); + + getJclOrgMapMapper().insertMap(jclOrgMap); + } + + /** + * 部门保存到map表 + */ + void saveDeptToMap(Map params){ + String id = (String) params.get("id"); + int st = 100000000; + int sj = 200000000; + int sk = 300000000; + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + + JclOrgMap jclOrgMap = new JclOrgMap(); + jclOrgMap.setId(st + Integer.parseInt(id)); + jclOrgMap.setFType(2); + jclOrgMap.setFObjId(Integer.parseInt(id)); + jclOrgMap.setFClass(0); + jclOrgMap.setFClassName("行政维度"); jclOrgMap.setFName((String) params.get("departmentName")); jclOrgMap.setFParentId(Integer.parseInt((String) params.get("supSubComId"))); jclOrgMap.setFIsVitual(0); jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime())); - JclOrgMap jclOrgMapByFParentId = getJclOrgMapMapper().getJclOrgMapByFParentId(jclOrgMap.getFDateBegin(), id); - jclOrgMap.setFPlan(jclOrgMapByFParentId.getFPlan()); - jclOrgMap.setFOnJob(jclOrgMapByFParentId.getFOnJob()); + JclOrgMap jclOrgMapByFParentId = getJclOrgMapMapper().getSumPlanAndJobByFParentId(jclOrgMap.getFDateBegin(), String.valueOf(jclOrgMap.getId())); + if (null != jclOrgMapByFParentId){ + jclOrgMap.setFPlan(jclOrgMapByFParentId.getFPlan()); + jclOrgMap.setFOnJob(jclOrgMapByFParentId.getFOnJob()); + }else { + jclOrgMap.setFPlan(0); + jclOrgMap.setFOnJob(0); + } Calendar cal = Calendar.getInstance(); cal.setTime(jclOrgMap.getFDateBegin()); Calendar calendar = DateUtil.addDay(cal, -1); Date time = new Date(calendar.getTime().getTime()); - MapperProxyFactory.getProxy(CompTriggerMapper.class).deleteMap(jclOrgMap.getFType(), jclOrgMap.getFObjId(), jclOrgMap.getFDateBegin()); - MapperProxyFactory.getProxy(CompTriggerMapper.class).updateMap(jclOrgMap.getFType(), jclOrgMap.getFObjId(), jclOrgMap.getFDateBegin(), time); + getJclOrgMapMapper().deleteMap("2", id, jclOrgMap.getFDateBegin()); + getJclOrgMapMapper().updateMap("2", id, jclOrgMap.getFDateBegin(), time); getJclOrgMapMapper().insertMap(jclOrgMap); } @@ -98,28 +149,69 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmSubCompanyVersion.setSubCompanyCode((String) params.get("subCompanyCode")); hrmSubCompanyVersion.setSubCompanyName((String) params.get("subCompanyName")); hrmSubCompanyVersion.setSupsSubComId(Integer.parseInt((String) params.get("supSubComId"))); - hrmSubCompanyVersion.setShowOrder(Integer.parseInt((String) params.get("showOrder"))); + String showOrder = (String) params.get("showOrder"); + hrmSubCompanyVersion.setShowOrder(null==showOrder ? null : Integer.parseInt(showOrder)); + hrmSubCompanyVersion.setCanceled(Integer.parseInt((String) params.get("canceled"))); - hrmSubCompanyVersion.setDescription((String) params.get("description")); +// hrmSubCompanyVersion.setDescription((String) params.get("description")); hrmSubCompanyVersion.setOperator(user.getUsername()); - hrmSubCompanyVersion.setVersion(genVersionId(id)); + hrmSubCompanyVersion.setVersion(genVersionId(1,id)); hrmSubCompanyVersion.setOperateTime(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); getCompanyVersionMapper().insertHrmSubComVersion(hrmSubCompanyVersion); } + /** + * 部门保存至版本 + */ + void saveComToVersion(Map params,User user) { + String id = (String) params.get("id"); + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + + HrmDepartmentVersion hrmDepartmentVersion = new HrmDepartmentVersion(); + hrmDepartmentVersion.setDepartmentId(Integer.parseInt(id)); + hrmDepartmentVersion.setDepartmentMark((String) params.get("departmentMark")); + hrmDepartmentVersion.setDepartmentCode((String) params.get("departmentCode")); + hrmDepartmentVersion.setDepartmentName((String) params.get("departmentName")); + hrmDepartmentVersion.setSubCompanyId1(Integer.parseInt((String) params.get("subCompanyId1"))); + hrmDepartmentVersion.setSupDepId((int) params.get("supDepId")); + hrmDepartmentVersion.setBmfzr((int) params.get("bmfzr")); + String showOrder = (String) params.get("showOrder"); + hrmDepartmentVersion.setShowOrder(null==showOrder ? null : Integer.parseInt(showOrder)); + hrmDepartmentVersion.setCanceled((int)params.get("canceled")); + hrmDepartmentVersion.setDescription((String) params.get("description")); + hrmDepartmentVersion.setOperator(user.getLastname()); + hrmDepartmentVersion.setVersion(genVersionId(2,id)); + hrmDepartmentVersion.setOperateTime(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + } + /** * 版本号生成 */ - private String genVersionId(String sid) { + private Double genVersionId(int fType,String sid) { // 版本V1.0 + 0.1 (默认字段) double id = 1.0; - HrmSubCompanyVersion hrmSubCompanyVersion = getCompanyVersionMapper().getMaxVersion(sid); - if (null != hrmSubCompanyVersion) { - id = id + Double.parseDouble(hrmSubCompanyVersion.getVersion()); + switch (fType) { + case 1: + HrmSubCompanyVersion hrmSubCompanyVersion = getCompanyVersionMapper().getMaxVersion(sid); + if (null != hrmSubCompanyVersion) { + id = 0.1 + hrmSubCompanyVersion.getVersion(); + } + break; + case 2: + HrmDepartmentVersion hrmDepartmentVersion = getCompanyVersionMapper().getMaxDeptVersion(sid); + if (null != hrmDepartmentVersion) { + id = 0.1 + hrmDepartmentVersion.getVersion(); + } + break; + case 3: + HrmResourceVersion hrmResourceVersion = getCompanyVersionMapper().getMaxHrmVersion(sid); + if (null != hrmResourceVersion) { + id = 0.1 + hrmResourceVersion.getVersion(); + } + break; } - return String.valueOf(id); + return id; } - } From 32e8eb4890e8db15d1216d4e6ddf55d7f39a1068 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 9 Dec 2022 16:57:42 +0800 Subject: [PATCH 059/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E7=89=88=E6=9C=AC=E6=8E=A7=E5=88=B6=E5=86=99=E5=85=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/version/CompanyVersionMapper.xml | 4 +-- .../impl/VersionManageServiceImpl.java | 35 ++++++++++++++----- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index d5be2b05..e4c5ee19 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -44,8 +44,8 @@ insert into hrmdepartment_version (departmentid, departmentmark, departmentcode, departmentname, subcompanyid1, supdepid, bmfzr, showorder, canceled, description, operator, version, operate_time) - VALUES (#{departmentid}, #{departmentmark}, #{departmentcode}, #{departmentname}, #{subcompanyid1}, #{supdepid}, - #{bmfzr}, #{showorder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) + VALUES (#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId}, + #{bmfzr}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) - select - - from jcl_org_detach t - WHERE delete_type = 0 - AND id IN - - #{id} - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/service/ManagerDetachService.java b/src/com/engine/organization/service/ManagerDetachService.java deleted file mode 100644 index 2a8619e3..00000000 --- a/src/com/engine/organization/service/ManagerDetachService.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.engine.organization.service; - -import com.engine.organization.entity.detach.param.ManagerDetachParam; - -import java.util.Collection; -import java.util.Map; - -/** - * @Author weaver_cl - * @Description: - * @Date 2022/10/21 - * @Version V1.0 - **/ -public interface ManagerDetachService { - - /** - * 获取table列表 - * @param params - * @return - */ - Map listPage(Map params); - - /** - * 新建编辑表单 - * @param id - * @return - */ - Map getForm(Integer id); - - /** - * 批量删除 - * @param ids - * @return - */ - int deleteByIds(Collection ids); - - /** - * 新增 - * @param param - * @return - */ - int save(ManagerDetachParam param); - - /** - * 更新 - * @param param - * @return - */ - int updateDetach(ManagerDetachParam param); - - /** - * 分权开关 - * @param isDetach - */ - String doDetach(String isDetach); -} diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java deleted file mode 100644 index a5a93482..00000000 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.engine.organization.service.impl; - -import com.api.browser.bean.BrowserBean; -import com.api.browser.bean.SearchConditionGroup; -import com.api.browser.bean.SearchConditionItem; -import com.api.browser.bean.SearchConditionOption; -import com.cloudstore.eccom.result.WeaResultMsg; -import com.engine.core.impl.Service; -import com.engine.organization.component.OrganizationWeaTable; -import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.detach.param.ManagerDetachParam; -import com.engine.organization.entity.detach.po.ManagerDetachPO; -import com.engine.organization.entity.detach.vo.ManagerDetachVO; -import com.engine.organization.mapper.detach.ManagerDetachMapper; -import com.engine.organization.mapper.employee.EmployeeMapper; -import com.engine.organization.mapper.hrmresource.SystemDataMapper; -import com.engine.organization.mapper.resource.ResourceMapper; -import com.engine.organization.service.ManagerDetachService; -import com.engine.organization.util.HasRightUtil; -import com.engine.organization.util.OrganizationFormItemUtil; -import com.engine.organization.util.db.DBType; -import com.engine.organization.util.db.MapperProxyFactory; -import com.weaver.file.ConfigOperator; -import com.weaver.general.BaseBean; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import weaver.conn.RecordSet; - -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -/** - * @Author weaver_cl - * @Description: - * @Date 2022/10/21 - * @Version V1.0 - **/ -public class ManagerDetachServiceImpl extends Service implements ManagerDetachService { - - - private static final String RIGHT_NAME = "MangerDeatch:All"; - - public ManagerDetachMapper getMangeDetachMapper() { - return MapperProxyFactory.getProxy(ManagerDetachMapper.class); - } - - public ResourceMapper getResourceMapper() { - return MapperProxyFactory.getProxy(ResourceMapper.class); - } - - public EmployeeMapper getEmployeeMapper() { - return MapperProxyFactory.getProxy(EmployeeMapper.class); - } - - public SystemDataMapper getSystemDataMapper(){ - return MapperProxyFactory.getProxy(SystemDataMapper.class); - } - - @Override - public Map listPage(Map params) { - Map resultMap = new HashMap<>(); - boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); - resultMap.put("hasRight", hasRight); - if (!hasRight) { - return resultMap; - } - String detach = new BaseBean().getPropValue("hrmOrganization", "detach"); - resultMap.put("isDetach",detach); - OrganizationWeaTable table = new OrganizationWeaTable<>(user, ManagerDetachVO.class); - String sqlWhere = buildSqlWhere(params); - table.setSqlwhere(sqlWhere); - WeaResultMsg result = new WeaResultMsg(false); - result.putAll(table.makeDataResult()); - result.success(); - resultMap.putAll(result.getResultMap()); - - return resultMap; - } - - @Override - public Map getForm(Integer id) { - Map apiDatas = new HashMap<>(); - List selectItems = new ArrayList<>(); - List addGroups = new ArrayList<>(); - List selectOptions = new ArrayList<>(); - SearchConditionOption moduleOption = new SearchConditionOption("0", "组织管理",true); - selectOptions.add(moduleOption); - - SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, "管理员", "1", "ecManager", ""); - ecManager.setRules("required|string"); - SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "可维护机构", "194", "ecRolelevel", ""); - ecRolelevel.setRules("required|string"); - SearchConditionItem module = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "可管理模块", "module"); - module.setViewAttr(1); - module.setDetailtype(2); - module.setHasBorder(true); - if (id != null) { - ManagerDetachPO detachById = getMangeDetachMapper().getDetachById(id); - BrowserBean manager = ecManager.getBrowserConditionParam(); - manager.setReplaceDatas(getEmployeeMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcManager())).build().getIds())); - ecManager.setBrowserConditionParam(manager); - BrowserBean roleLevel = ecRolelevel.getBrowserConditionParam(); - roleLevel.setReplaceDatas(getSystemDataMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcRolelevel())).build().getIds())); - ecRolelevel.setBrowserConditionParam(roleLevel); - } - selectItems.add(ecManager); - selectItems.add(ecRolelevel); - selectItems.add(module); - addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); - apiDatas.put("condition", addGroups); - return apiDatas; - } - - @Override - public int deleteByIds(Collection ids) { - return getMangeDetachMapper().deleteByIds(ids); - } - - @Override - public int save(ManagerDetachParam param) { - ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() - .managerType(0) - .ecManager(param.getEcManager()) - .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) - .ecRolelevel(param.getEcRolelevel()) - .manageModule("组织管理") - .creator((long)user.getUID()) - .deleteType(0) - .createTime(new Date()) - .updateTime(new Date()) - .build(); - - return getMangeDetachMapper().insertIgnoreNull(managerDetachPO); - } - - @Override - public int updateDetach(ManagerDetachParam param) { - ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() - .id(param.getId()) - .ecManager(param.getEcManager()) - .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) - .ecRolelevel(param.getEcRolelevel()) - .build(); - return getMangeDetachMapper().updateDetach(managerDetachPO); - } - - @Override - public String doDetach(String isDetach) { - ConfigOperator ConfigOperator = new ConfigOperator(); - ConfigOperator.setProp("hrmOrganization.properties", "detach", isDetach); - return new BaseBean().getPropValue("hrmOrganization", "detach"); - } - - private String buildSqlWhere(Map params) { - DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where delete_type = 0"; - String lastName = (String) params.get("ecManager"); - List resourceIds = MapperProxyFactory.getProxy(EmployeeMapper.class).getResourceIds(lastName); - String ecManager = StringUtils.join(resourceIds,","); - if (StringUtils.isNotBlank(lastName)) { - sqlWhere += " AND ec_manager in ("+ecManager+") "; - } - String ecRolelevel = (String) params.get("ecRolelevel"); - if (StringUtils.isNotBlank(ecRolelevel)) { - sqlWhere += " AND " + dbType.concat("ec_rolelevel") + dbType.like(ecRolelevel); - } - return sqlWhere; - } - - - /** - * 查询当前人员所辖分部JCL_ID - * @param uId - * @return - */ - public static List getJclRoleLevels(Integer uId) { - List ecRoleLevels = new ArrayList<>(); - ManagerDetachMapper mangeDetachMapper = MapperProxyFactory.getProxy(ManagerDetachMapper.class); - List detachListById = mangeDetachMapper.getDetachListById(uId); - for (ManagerDetachPO managerDetachPO : detachListById) { - List ids = Stream.of(managerDetachPO.getJclRolelevel().split(",")).map(Integer::parseInt).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(ids)) { - ecRoleLevels.addAll(ids); - } - } - return ecRoleLevels; - } -} diff --git a/src/com/engine/organization/web/ManagerDetachController.java b/src/com/engine/organization/web/ManagerDetachController.java deleted file mode 100644 index 16bdfd7f..00000000 --- a/src/com/engine/organization/web/ManagerDetachController.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.engine.organization.web; - -import com.engine.common.util.ParamUtil; -import com.engine.common.util.ServiceUtil; -import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.detach.param.ManagerDetachParam; -import com.engine.organization.util.response.ReturnResult; -import com.engine.organization.wrapper.ManagerDetachWrapper; -import io.swagger.v3.oas.annotations.parameters.RequestBody; -import weaver.hrm.HrmUserVarify; -import weaver.hrm.User; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.*; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import java.util.Map; - -/** - * @Author weaver_cl - * @Description: 模块管理分权 - * @Date 2022/10/21 - * @Version V1.0 - **/ -public class ManagerDetachController { - - public ManagerDetachWrapper getManagerDetachWrapper(User user) { - return ServiceUtil.getService(ManagerDetachWrapper.class,user); - } - - - @GET - @Path("/getTable") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult listPage(@Context HttpServletRequest request, @Context HttpServletResponse response) { - try { - User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getManagerDetachWrapper(user).listPage(map)); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - - @GET - @Path("/getTableBtn") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getTableBtn(@Context HttpServletRequest request, @Context HttpServletResponse response) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).getTableBtn()); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - - @GET - @Path("/getSearchCondition") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).getSearchCondition()); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - @GET - @Path("/getForm") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, - @QueryParam("id") Integer id) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).getForm(id)); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - @POST - @Path("/deleteByIds") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeleteParam param) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).deleteByIds(param.getIds())); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - - @POST - @Path("/save") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult saveDetach(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).save(param)); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - @POST - @Path("/update") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult updateDetach(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).updateDetach(param)); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - @GET - @Path("/doDetach") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult doDetach(@Context HttpServletRequest request,@Context HttpServletResponse response, - @QueryParam("idDetach") String isDetach) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getManagerDetachWrapper(user).doDetach(isDetach)); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } -} diff --git a/src/com/engine/organization/wrapper/ManagerDetachWrapper.java b/src/com/engine/organization/wrapper/ManagerDetachWrapper.java deleted file mode 100644 index 07f9808f..00000000 --- a/src/com/engine/organization/wrapper/ManagerDetachWrapper.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.engine.organization.wrapper; - -import com.alibaba.fastjson.JSON; -import com.api.browser.bean.SearchConditionGroup; -import com.api.browser.bean.SearchConditionItem; -import com.engine.common.util.ServiceUtil; -import com.engine.organization.annotation.Log; -import com.engine.organization.entity.detach.param.ManagerDetachParam; -import com.engine.organization.entity.detach.po.ManagerDetachPO; -import com.engine.organization.enums.LogModuleNameEnum; -import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.detach.ManagerDetachMapper; -import com.engine.organization.service.ManagerDetachService; -import com.engine.organization.service.impl.ManagerDetachServiceImpl; -import com.engine.organization.util.MenuBtn; -import com.engine.organization.util.OrganizationFormItemUtil; -import com.engine.organization.util.OrganizationWrapper; -import com.engine.organization.util.db.MapperProxyFactory; -import weaver.hrm.User; - -import java.util.*; - -/** - * @Author weaver_cl - * @Description: - * @Date 2022/10/21 - * @Version V1.0 - **/ -public class ManagerDetachWrapper extends OrganizationWrapper { - - public ManagerDetachService getManagerDetachService(User user) { - return ServiceUtil.getService(ManagerDetachServiceImpl.class,user); - } - - public Map listPage(Map params) { - return getManagerDetachService(user).listPage(params); - } - - public Map> getTableBtn() { - return MenuBtn.getCommonBtnDatas(); - } - - public Map getSearchCondition() { - Map apiDatas = new HashMap<>(); - List addGroups = new ArrayList<>(); - List conditionItems = new ArrayList<>(); - SearchConditionItem ecManager = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "管理员名称", "ecManager"); - SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "可管理组织机构", "164", "ecRolelevel", ""); - conditionItems.add(ecManager); - conditionItems.add(ecRolelevel); - addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); - apiDatas.put("conditions", addGroups); - return apiDatas; - } - - public Map getForm(Integer id) { - return getManagerDetachService(user).getForm(id); - } - - @Log(operateType = OperateTypeEnum.DELETE,operateModule = LogModuleNameEnum.DETACH,operateDesc = "删除分权数据") - public int deleteByIds(Collection ids) { - List managerDetachPOS = MapperProxyFactory.getProxy(ManagerDetachMapper.class).selectByIds(ids); - int deleteByIds = getManagerDetachService(user).deleteByIds(ids); - for (ManagerDetachPO managerDetachPO : managerDetachPOS) { - writeOperateLog(new Object() { - }.getClass(), String.valueOf(managerDetachPO.getEcManager()), JSON.toJSONString(ids), "删除等级方案"); - } - return deleteByIds; - } - - - @Log(operateType = OperateTypeEnum.ADD,operateModule = LogModuleNameEnum.DETACH,operateDesc = "新增分权管理员") - public int save(ManagerDetachParam param) { - int save = getManagerDetachService(user).save(param); - writeOperateLog(new Object() { - }.getClass(), String.valueOf(param.getEcManager()), JSON.toJSONString(param), "新增分权管理员"); - return save; - } - - @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.DETACH, operateDesc = "分权数据更新") - public int updateDetach(ManagerDetachParam param) { - ManagerDetachPO managerDetachPO = MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(param.getId()); - int result = getManagerDetachService(user).updateDetach(param); - writeOperateLog(new Object() { - }.getClass(), String.valueOf(managerDetachPO.getEcManager()), JSON.toJSONString(param), managerDetachPO, MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(param.getId())); - return result; - } - - - public String doDetach(String isDetach) { - return getManagerDetachService(user).doDetach(isDetach); - } -} From e81d8f49392ccb01ffecae27a1877113e1451d91 Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 13 Dec 2022 14:58:22 +0800 Subject: [PATCH 064/203] =?UTF-8?q?oracle=E3=80=81sqlserver=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=89=88=E6=9C=AC=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/version/CompanyVersionMapper.xml | 24 ++++++++++++++++++- .../service/VersionManageService.java | 7 ++++++ .../impl/VersionManageServiceImpl.java | 5 ++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index e4c5ee19..967c3914 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -28,6 +28,15 @@ from hrmsubcompany_version t where t.subcomid=#{subComId} order by t.version desc limit 1 + + + insert into hrmsubcompany_version (subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , @@ -39,6 +48,12 @@ + + insert into hrmdepartment_version @@ -49,7 +64,14 @@ + + diff --git a/src/com/engine/organization/service/VersionManageService.java b/src/com/engine/organization/service/VersionManageService.java index f3cb162a..da2e7e8f 100644 --- a/src/com/engine/organization/service/VersionManageService.java +++ b/src/com/engine/organization/service/VersionManageService.java @@ -19,4 +19,11 @@ public interface VersionManageService { * @param params */ void save(ModuleTypeEnum moduleTypeEnum, Map params, User user); + + /** + * 版本记录查询 + * @param moduleTypeEnum + * @param params + */ + Map getVersion(ModuleTypeEnum moduleTypeEnum,Map params); } diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 393f16c9..c87d1ac5 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -63,6 +63,11 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe } + @Override + public Map getVersion(ModuleTypeEnum moduleTypeEnum, Map params) { + return null; + } + /** * 分部保存至map表 */ From b9d06b424607f7892f01d3c7cca2d63570155155 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 13 Dec 2022 15:57:21 +0800 Subject: [PATCH 065/203] =?UTF-8?q?=E5=88=86=E6=9D=83=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=9B=9E=E9=80=80=EF=BC=8C=E5=B2=97=E4=BD=8D?= =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/ManagerDetachController.java | 13 ++ .../detach/param/ManagerDetachParam.java | 34 +++ .../entity/detach/po/ManagerDetachPO.java | 66 ++++++ .../entity/detach/vo/ManagerDetachVO.java | 59 +++++ .../organization/entity/job/bo/JobBO.java | 6 +- .../entity/job/vo/SingleJobTreeVO.java | 4 +- .../organization/mapper/comp/CompMapper.xml | 4 + .../mapper/detach/ManagerDetachMapper.java | 28 +++ .../mapper/detach/ManagerDetachMapper.xml | 220 ++++++++++++++++++ .../service/ManagerDetachService.java | 56 +++++ .../service/impl/JobServiceImpl.java | 12 +- .../impl/ManagerDetachServiceImpl.java | 189 +++++++++++++++ .../organization/util/detach/DetachUtil.java | 20 +- .../web/ManagerDetachController.java | 134 +++++++++++ .../wrapper/ManagerDetachWrapper.java | 93 ++++++++ 15 files changed, 910 insertions(+), 28 deletions(-) create mode 100644 src/com/api/organization/web/ManagerDetachController.java create mode 100644 src/com/engine/organization/entity/detach/param/ManagerDetachParam.java create mode 100644 src/com/engine/organization/entity/detach/po/ManagerDetachPO.java create mode 100644 src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java create mode 100644 src/com/engine/organization/mapper/detach/ManagerDetachMapper.java create mode 100644 src/com/engine/organization/mapper/detach/ManagerDetachMapper.xml create mode 100644 src/com/engine/organization/service/ManagerDetachService.java create mode 100644 src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java create mode 100644 src/com/engine/organization/web/ManagerDetachController.java create mode 100644 src/com/engine/organization/wrapper/ManagerDetachWrapper.java diff --git a/src/com/api/organization/web/ManagerDetachController.java b/src/com/api/organization/web/ManagerDetachController.java new file mode 100644 index 00000000..9a985c6c --- /dev/null +++ b/src/com/api/organization/web/ManagerDetachController.java @@ -0,0 +1,13 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/21 + * @Version V1.0 + **/ +@Path("/bs/hrmorganization/detach") +public class ManagerDetachController extends com.engine.organization.web.ManagerDetachController { +} diff --git a/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java b/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java new file mode 100644 index 00000000..ea79ddf8 --- /dev/null +++ b/src/com/engine/organization/entity/detach/param/ManagerDetachParam.java @@ -0,0 +1,34 @@ +package com.engine.organization.entity.detach.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/25 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ManagerDetachParam { + + private Integer id; + + private Integer managerType; + + private Integer ecManager; + + private Integer jclManager; + + private String ecRolelevel; + + private String jclRolelevel; + + private String manageModule; +} diff --git a/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java b/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java new file mode 100644 index 00000000..8ac75ee0 --- /dev/null +++ b/src/com/engine/organization/entity/detach/po/ManagerDetachPO.java @@ -0,0 +1,66 @@ +package com.engine.organization.entity.detach.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/21 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ManagerDetachPO { + /** + * 自增主键 + */ + private Integer id; + /** + * 管理员类型 + */ + private Integer managerType; + /** + * ec管理员 + */ + private Integer ecManager; + /** + * jcl管理员 + */ + private Integer jclManager; + /** + * ec分部 + */ + private String ecRolelevel; + /** + * jcl分部 + */ + private String jclRolelevel; + /** + * 可管理模块 + */ + private String manageModule; + /** + * 创建人 + */ + private Long creator; + /** + * 删除标记 + */ + private int deleteType; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; +} diff --git a/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java b/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java new file mode 100644 index 00000000..09eb15f4 --- /dev/null +++ b/src/com/engine/organization/entity/detach/vo/ManagerDetachVO.java @@ -0,0 +1,59 @@ +package com.engine.organization.entity.detach.vo; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/21 + * @Version V1.0 + **/ + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "0bf9b7bc-c8b0-4225-bf28-4cd015d96e98", + fields = "t.id," + + "t.ec_manager," + + "t.ec_rolelevel," + + "t.manage_module," + + "t.creator," + + "t.delete_type," + + "t.create_time," + + "t.update_time", + fromSql = "FROM jcl_org_detach t ", + orderby = "id", + sortway = "asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "删除") + }, + tableType = WeaTableType.CHECKBOX +) +public class ManagerDetachVO { + + + @OrganizationTableColumn(column = "id", display = false) + private Long id; + + + @OrganizationTableColumn(text = "管理员", width = "20%", column = "ec_manager", transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getManagerName") + private Integer ecManager; + + @OrganizationTableColumn(text = "可管理组织机构", width = "40%", column = "ec_rolelevel",transmethod = "com.engine.organization.transmethod.ManagerDetachTransMethod.getRoleLevel") + private String ecRolelevel; + + + @OrganizationTableColumn(text = "可管理模块", width = "40%", column = "manage_module") + private String manageModule; + +} diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index 433031ab..8ccf2a27 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -32,8 +32,8 @@ public class JobBO { .jobNo(param.getJobNo()) .jobTitleName(param.getJobTitleName()) .ecJobTitle(param.getEcJobTitle()) - .ecCompany(param.getEcCompany()) - .ecDepartment(param.getEcDepartment()) + .ecCompany(param.getSubcompanyid1()) + .ecDepartment(param.getDepartmentid()) .sequenceId(param.getSequenceId()) .schemeId(param.getSchemeId()) .parentJob(param.getParentJob()) @@ -64,7 +64,7 @@ public class JobBO { .id(e.getId()) .jobNo(e.getJobNo()) .jobName(e.getJobTitleName()) - .parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobTitleName()) + //.parentJobName(null == poMaps.get(e.getParentJob()) ? "" : poMaps.get(e.getParentJob()).getJobTitleName()) .parentJob(e.getParentJob()) .parentDept(e.getEcDepartment()) .build()).collect(Collectors.toList()); diff --git a/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java b/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java index ea304e53..fc15471b 100644 --- a/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java +++ b/src/com/engine/organization/entity/job/vo/SingleJobTreeVO.java @@ -32,8 +32,8 @@ public class SingleJobTreeVO { @TableTitle(title = "岗位名称", dataIndex = "jobName", key = "jobName") private String jobName; - @TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName") - private String parentJobName; + //@TableTitle(title = "上级岗位", dataIndex = "parentJobName", key = "parentJobName") + //private String parentJobName; private Long parentJob; diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index e932beb6..d93c8a52 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -75,6 +75,10 @@ select ec_company from JCL_ORG_STAFFPLAN where delete_type = 0 + union + select ec_rolelevel + from jcl_org_detach + where delete_type = 0 + select + + from jcl_org_detach t + WHERE delete_type = 0 + AND id IN + + #{id} + + + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/ManagerDetachService.java b/src/com/engine/organization/service/ManagerDetachService.java new file mode 100644 index 00000000..2a8619e3 --- /dev/null +++ b/src/com/engine/organization/service/ManagerDetachService.java @@ -0,0 +1,56 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.detach.param.ManagerDetachParam; + +import java.util.Collection; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/21 + * @Version V1.0 + **/ +public interface ManagerDetachService { + + /** + * 获取table列表 + * @param params + * @return + */ + Map listPage(Map params); + + /** + * 新建编辑表单 + * @param id + * @return + */ + Map getForm(Integer id); + + /** + * 批量删除 + * @param ids + * @return + */ + int deleteByIds(Collection ids); + + /** + * 新增 + * @param param + * @return + */ + int save(ManagerDetachParam param); + + /** + * 更新 + * @param param + * @return + */ + int updateDetach(ManagerDetachParam param); + + /** + * 分权开关 + * @param isDetach + */ + String doDetach(String isDetach); +} diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index d54b60e2..5cd3dae6 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -36,7 +36,6 @@ import com.engine.organization.mapper.extend.ExtDTMapper; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; @@ -97,8 +96,6 @@ public class JobServiceImpl extends Service implements JobService { private static final String RIGHT_NAME = "Job:All"; - //public static final String JOB_ACTIVITY_ID; - /** * 岗位主表title指定ID */ @@ -120,19 +117,12 @@ public class JobServiceImpl extends Service implements JobService { return MapperProxyFactory.getProxy(ExtendTitleMapper.class); } - private ResourceMapper getResourceMapper() { - return MapperProxyFactory.getProxy(ResourceMapper.class); - } - private ExtService getExtService(User user) { return ServiceUtil.getService(ExtServiceImpl.class, user); } - //static { - // RecordInfo hrmJobActivity = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmObjectByUUID("hrmjobactivities", "3a2efce3-95de-4ec2-afe1-347783817bdb"); - // JOB_ACTIVITY_ID = hrmJobActivity.getId(); - //} + @Override public Map getSearchTree(SearchTreeParams params) { diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java new file mode 100644 index 00000000..a5a93482 --- /dev/null +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -0,0 +1,189 @@ +package com.engine.organization.service.impl; + +import com.api.browser.bean.BrowserBean; +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.core.impl.Service; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.detach.param.ManagerDetachParam; +import com.engine.organization.entity.detach.po.ManagerDetachPO; +import com.engine.organization.entity.detach.vo.ManagerDetachVO; +import com.engine.organization.mapper.detach.ManagerDetachMapper; +import com.engine.organization.mapper.employee.EmployeeMapper; +import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.mapper.resource.ResourceMapper; +import com.engine.organization.service.ManagerDetachService; +import com.engine.organization.util.HasRightUtil; +import com.engine.organization.util.OrganizationFormItemUtil; +import com.engine.organization.util.db.DBType; +import com.engine.organization.util.db.MapperProxyFactory; +import com.weaver.file.ConfigOperator; +import com.weaver.general.BaseBean; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; + +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/21 + * @Version V1.0 + **/ +public class ManagerDetachServiceImpl extends Service implements ManagerDetachService { + + + private static final String RIGHT_NAME = "MangerDeatch:All"; + + public ManagerDetachMapper getMangeDetachMapper() { + return MapperProxyFactory.getProxy(ManagerDetachMapper.class); + } + + public ResourceMapper getResourceMapper() { + return MapperProxyFactory.getProxy(ResourceMapper.class); + } + + public EmployeeMapper getEmployeeMapper() { + return MapperProxyFactory.getProxy(EmployeeMapper.class); + } + + public SystemDataMapper getSystemDataMapper(){ + return MapperProxyFactory.getProxy(SystemDataMapper.class); + } + + @Override + public Map listPage(Map params) { + Map resultMap = new HashMap<>(); + boolean hasRight = HasRightUtil.hasRight(user, RIGHT_NAME, true); + resultMap.put("hasRight", hasRight); + if (!hasRight) { + return resultMap; + } + String detach = new BaseBean().getPropValue("hrmOrganization", "detach"); + resultMap.put("isDetach",detach); + OrganizationWeaTable table = new OrganizationWeaTable<>(user, ManagerDetachVO.class); + String sqlWhere = buildSqlWhere(params); + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + + return resultMap; + } + + @Override + public Map getForm(Integer id) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + List selectOptions = new ArrayList<>(); + SearchConditionOption moduleOption = new SearchConditionOption("0", "组织管理",true); + selectOptions.add(moduleOption); + + SearchConditionItem ecManager = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, true, "管理员", "1", "ecManager", ""); + ecManager.setRules("required|string"); + SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "可维护机构", "194", "ecRolelevel", ""); + ecRolelevel.setRules("required|string"); + SearchConditionItem module = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "可管理模块", "module"); + module.setViewAttr(1); + module.setDetailtype(2); + module.setHasBorder(true); + if (id != null) { + ManagerDetachPO detachById = getMangeDetachMapper().getDetachById(id); + BrowserBean manager = ecManager.getBrowserConditionParam(); + manager.setReplaceDatas(getEmployeeMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcManager())).build().getIds())); + ecManager.setBrowserConditionParam(manager); + BrowserBean roleLevel = ecRolelevel.getBrowserConditionParam(); + roleLevel.setReplaceDatas(getSystemDataMapper().getBrowserDatas(DeleteParam.builder().ids(String.valueOf(detachById.getEcRolelevel())).build().getIds())); + ecRolelevel.setBrowserConditionParam(roleLevel); + } + selectItems.add(ecManager); + selectItems.add(ecRolelevel); + selectItems.add(module); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public int deleteByIds(Collection ids) { + return getMangeDetachMapper().deleteByIds(ids); + } + + @Override + public int save(ManagerDetachParam param) { + ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() + .managerType(0) + .ecManager(param.getEcManager()) + .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) + .ecRolelevel(param.getEcRolelevel()) + .manageModule("组织管理") + .creator((long)user.getUID()) + .deleteType(0) + .createTime(new Date()) + .updateTime(new Date()) + .build(); + + return getMangeDetachMapper().insertIgnoreNull(managerDetachPO); + } + + @Override + public int updateDetach(ManagerDetachParam param) { + ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() + .id(param.getId()) + .ecManager(param.getEcManager()) + .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) + .ecRolelevel(param.getEcRolelevel()) + .build(); + return getMangeDetachMapper().updateDetach(managerDetachPO); + } + + @Override + public String doDetach(String isDetach) { + ConfigOperator ConfigOperator = new ConfigOperator(); + ConfigOperator.setProp("hrmOrganization.properties", "detach", isDetach); + return new BaseBean().getPropValue("hrmOrganization", "detach"); + } + + private String buildSqlWhere(Map params) { + DBType dbType = DBType.get(new RecordSet().getDBType()); + String sqlWhere = " where delete_type = 0"; + String lastName = (String) params.get("ecManager"); + List resourceIds = MapperProxyFactory.getProxy(EmployeeMapper.class).getResourceIds(lastName); + String ecManager = StringUtils.join(resourceIds,","); + if (StringUtils.isNotBlank(lastName)) { + sqlWhere += " AND ec_manager in ("+ecManager+") "; + } + String ecRolelevel = (String) params.get("ecRolelevel"); + if (StringUtils.isNotBlank(ecRolelevel)) { + sqlWhere += " AND " + dbType.concat("ec_rolelevel") + dbType.like(ecRolelevel); + } + return sqlWhere; + } + + + /** + * 查询当前人员所辖分部JCL_ID + * @param uId + * @return + */ + public static List getJclRoleLevels(Integer uId) { + List ecRoleLevels = new ArrayList<>(); + ManagerDetachMapper mangeDetachMapper = MapperProxyFactory.getProxy(ManagerDetachMapper.class); + List detachListById = mangeDetachMapper.getDetachListById(uId); + for (ManagerDetachPO managerDetachPO : detachListById) { + List ids = Stream.of(managerDetachPO.getJclRolelevel().split(",")).map(Integer::parseInt).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(ids)) { + ecRoleLevels.addAll(ids); + } + } + return ecRoleLevels; + } +} diff --git a/src/com/engine/organization/util/detach/DetachUtil.java b/src/com/engine/organization/util/detach/DetachUtil.java index 8bdf643c..d27ca2bb 100644 --- a/src/com/engine/organization/util/detach/DetachUtil.java +++ b/src/com/engine/organization/util/detach/DetachUtil.java @@ -4,15 +4,14 @@ import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; +import com.engine.organization.service.impl.ManagerDetachServiceImpl; +import com.weaver.general.BaseBean; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import weaver.hrm.User; -import weaver.hrm.moduledetach.ManageDetachComInfo; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; /** * @author:dxfeng @@ -20,21 +19,18 @@ import java.util.stream.Stream; * @version: 1.0 */ public class DetachUtil { - private boolean DETACH; + private boolean DETACH = "true".equals(new BaseBean().getPropValue("hrmOrganization", "detach")); - private List jclRoleLevels = new ArrayList<>(); + private final List jclRoleLevels; public DetachUtil(User user) { - ManageDetachComInfo manageDetachComInfo = new ManageDetachComInfo(); - DETACH = manageDetachComInfo.isUseManageDetach(); - if (1 == user.getUID()) { + if (1 == user.getUID() || user.isAdmin()) { DETACH = false; } if (DETACH) { - String detachableSubCompanyIds = manageDetachComInfo.getDetachableSubcompanyIds(user); - if (StringUtils.isNotBlank(detachableSubCompanyIds)) { - jclRoleLevels = Stream.of(detachableSubCompanyIds.split(",")).map(Integer::parseInt).collect(Collectors.toList()); - } + jclRoleLevels = ManagerDetachServiceImpl.getJclRoleLevels(user.getUID()); + } else { + jclRoleLevels = new ArrayList<>(); } } diff --git a/src/com/engine/organization/web/ManagerDetachController.java b/src/com/engine/organization/web/ManagerDetachController.java new file mode 100644 index 00000000..16bdfd7f --- /dev/null +++ b/src/com/engine/organization/web/ManagerDetachController.java @@ -0,0 +1,134 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.detach.param.ManagerDetachParam; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.ManagerDetachWrapper; +import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.*; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @Author weaver_cl + * @Description: 模块管理分权 + * @Date 2022/10/21 + * @Version V1.0 + **/ +public class ManagerDetachController { + + public ManagerDetachWrapper getManagerDetachWrapper(User user) { + return ServiceUtil.getService(ManagerDetachWrapper.class,user); + } + + + @GET + @Path("/getTable") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult listPage(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getManagerDetachWrapper(user).listPage(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + + @GET + @Path("/getTableBtn") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTableBtn(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).getTableBtn()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + + @GET + @Path("/getSearchCondition") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).getSearchCondition()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @GET + @Path("/getForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getForm(@Context HttpServletRequest request, @Context HttpServletResponse response, + @QueryParam("id") Integer id) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).getForm(id)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/deleteByIds") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteByIds(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DeleteParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).deleteByIds(param.getIds())); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + + @POST + @Path("/save") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveDetach(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).save(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/update") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateDetach(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody ManagerDetachParam param) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).updateDetach(param)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @GET + @Path("/doDetach") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult doDetach(@Context HttpServletRequest request,@Context HttpServletResponse response, + @QueryParam("idDetach") String isDetach) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getManagerDetachWrapper(user).doDetach(isDetach)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } +} diff --git a/src/com/engine/organization/wrapper/ManagerDetachWrapper.java b/src/com/engine/organization/wrapper/ManagerDetachWrapper.java new file mode 100644 index 00000000..07f9808f --- /dev/null +++ b/src/com/engine/organization/wrapper/ManagerDetachWrapper.java @@ -0,0 +1,93 @@ +package com.engine.organization.wrapper; + +import com.alibaba.fastjson.JSON; +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.annotation.Log; +import com.engine.organization.entity.detach.param.ManagerDetachParam; +import com.engine.organization.entity.detach.po.ManagerDetachPO; +import com.engine.organization.enums.LogModuleNameEnum; +import com.engine.organization.enums.OperateTypeEnum; +import com.engine.organization.mapper.detach.ManagerDetachMapper; +import com.engine.organization.service.ManagerDetachService; +import com.engine.organization.service.impl.ManagerDetachServiceImpl; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationFormItemUtil; +import com.engine.organization.util.OrganizationWrapper; +import com.engine.organization.util.db.MapperProxyFactory; +import weaver.hrm.User; + +import java.util.*; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/10/21 + * @Version V1.0 + **/ +public class ManagerDetachWrapper extends OrganizationWrapper { + + public ManagerDetachService getManagerDetachService(User user) { + return ServiceUtil.getService(ManagerDetachServiceImpl.class,user); + } + + public Map listPage(Map params) { + return getManagerDetachService(user).listPage(params); + } + + public Map> getTableBtn() { + return MenuBtn.getCommonBtnDatas(); + } + + public Map getSearchCondition() { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + SearchConditionItem ecManager = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "管理员名称", "ecManager"); + SearchConditionItem ecRolelevel = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "可管理组织机构", "164", "ecRolelevel", ""); + conditionItems.add(ecManager); + conditionItems.add(ecRolelevel); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); + apiDatas.put("conditions", addGroups); + return apiDatas; + } + + public Map getForm(Integer id) { + return getManagerDetachService(user).getForm(id); + } + + @Log(operateType = OperateTypeEnum.DELETE,operateModule = LogModuleNameEnum.DETACH,operateDesc = "删除分权数据") + public int deleteByIds(Collection ids) { + List managerDetachPOS = MapperProxyFactory.getProxy(ManagerDetachMapper.class).selectByIds(ids); + int deleteByIds = getManagerDetachService(user).deleteByIds(ids); + for (ManagerDetachPO managerDetachPO : managerDetachPOS) { + writeOperateLog(new Object() { + }.getClass(), String.valueOf(managerDetachPO.getEcManager()), JSON.toJSONString(ids), "删除等级方案"); + } + return deleteByIds; + } + + + @Log(operateType = OperateTypeEnum.ADD,operateModule = LogModuleNameEnum.DETACH,operateDesc = "新增分权管理员") + public int save(ManagerDetachParam param) { + int save = getManagerDetachService(user).save(param); + writeOperateLog(new Object() { + }.getClass(), String.valueOf(param.getEcManager()), JSON.toJSONString(param), "新增分权管理员"); + return save; + } + + @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.DETACH, operateDesc = "分权数据更新") + public int updateDetach(ManagerDetachParam param) { + ManagerDetachPO managerDetachPO = MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(param.getId()); + int result = getManagerDetachService(user).updateDetach(param); + writeOperateLog(new Object() { + }.getClass(), String.valueOf(managerDetachPO.getEcManager()), JSON.toJSONString(param), managerDetachPO, MapperProxyFactory.getProxy(ManagerDetachMapper.class).getDetachById(param.getId())); + return result; + } + + + public String doDetach(String isDetach) { + return getManagerDetachService(user).doDetach(isDetach); + } +} From 9c80a743862ff630a73c037c1c343d1c350a3c2d Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 13 Dec 2022 16:38:06 +0800 Subject: [PATCH 066/203] =?UTF-8?q?oracle=E3=80=81sqlserver=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=89=88=E6=9C=AC=E8=AF=AD=E5=8F=A5(=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E5=AD=98=E5=85=A5=E5=A4=B1=E8=B4=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/mapper/version/CompanyVersionMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 967c3914..2e39e4a8 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -52,7 +52,7 @@ select * from (select * from hrmdepartment_version where departmentid=#{departmentid} order by version desc) where rownum=1 From 8383c08a0635056618e232494626e115b1bf5daf Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 13 Dec 2022 18:19:12 +0800 Subject: [PATCH 067/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/mapper/comp/CompMapper.java | 2 +- .../organization/mapper/comp/CompMapper.xml | 19 ++++----- .../mapper/department/DepartmentMapper.xml | 11 +++-- .../mapper/resource/ResourceMapper.xml | 14 +++---- .../service/impl/CompServiceImpl.java | 42 ++++++++----------- .../service/impl/DepartmentServiceImpl.java | 41 +++++++++--------- .../thread/OrganizationSyncEc.java | 24 +---------- 7 files changed, 62 insertions(+), 91 deletions(-) diff --git a/src/com/engine/organization/mapper/comp/CompMapper.java b/src/com/engine/organization/mapper/comp/CompMapper.java index 29152732..d139b49d 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.java +++ b/src/com/engine/organization/mapper/comp/CompMapper.java @@ -37,7 +37,7 @@ public interface CompMapper { * @param ids * @return */ - List listChild(@Param("ids") Collection ids); + List listChild(@Param("ids") Collection ids); /** * 根据ID查询数据 diff --git a/src/com/engine/organization/mapper/comp/CompMapper.xml b/src/com/engine/organization/mapper/comp/CompMapper.xml index d93c8a52..03a49d57 100644 --- a/src/com/engine/organization/mapper/comp/CompMapper.xml +++ b/src/com/engine/organization/mapper/comp/CompMapper.xml @@ -54,7 +54,9 @@ and t.supSubComId = #{CompanyPO.supSubComId} - + + + order by ${orderSql} @@ -215,19 +217,16 @@ - - and ifnull(canceled,0)= #{CompanyPO.canceled} - + and ifnull(canceled,0)= + #{CompanyPO.canceled} - - and nvl(canceled,0)= #{CompanyPO.canceled} - + and nvl(canceled,0)= + #{CompanyPO.canceled} - - and isnull(canceled,0)= #{CompanyPO.canceled} - + and isnull(canceled,0)= + #{CompanyPO.canceled} \ No newline at end of file diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 50803f0d..f52a9bb0 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -95,13 +95,16 @@ from hrmdepartment t where departmentCode = #{departmentCode} - SELECT t.last_name as lastName,d.departmentname as departmentName, - c.subcompanyname as companyName,t.mobile,t.telephone,t1.last_name as managerName - from jcl_org_hrmresource t - left join hrmdepartment d on t.ec_department = d.id - left join hrmsubcompany c on t.ec_eompany = c.id - left join jcl_org_hrmresource t1 on t.manager_id = t1.id + SELECT t.lastname as lastName,d.departmentname as departmentName, + c.subcompanyname as companyName,t.mobile,t.telephone,t1.lastname as managerName + from hrmresource t + left join hrmdepartment d on t.subcompanyid1 = d.id + left join hrmsubcompany c on t.departmentid = c.id + left join hrmresource t1 on t.managerid = t1.id where 1 = 1 AND t.id IN @@ -92,7 +92,7 @@ - order by t.show_order asc + order by t.dsporder asc + + update jcl_org_job + + parent_comp = #{parentCompany}, + ec_company =#{ecCompany}, + + where delete_type = 0 + AND id IN + + #{id} + + + and ifnull(ec_department,0) = diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 172f73be..ae3597d8 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -820,15 +820,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService * @param parentComp */ private void refreshJobComp(Integer parentDepartment, Integer parentComp) { - //List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); - //jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); - //if (CollectionUtils.isNotEmpty(jobPOS)) { - // getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, parentComp); - // for (JobPO jobPO : jobPOS) { - // // 刷新组织架构图 - // new JobTriggerRunnable(jobPO.getId()).run(); - // } - //} + List jobPOS = getJobMapper().listJobsByDepartmentId(parentDepartment); + jobPOS = jobPOS.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(jobPOS)) { + getJobMapper().updateJobCompany(jobPOS.stream().map(JobPO::getId).collect(Collectors.toList()), parentComp, parentComp); + } } private List getDepartmentConditionGroups(Map params) { From 43f00f7d9d19a0c2313f653a72cea9930a86bdbd Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 14 Dec 2022 14:32:19 +0800 Subject: [PATCH 069/203] =?UTF-8?q?sqlserver=E5=AD=98=E5=85=A5=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E4=BF=AE=E5=A4=8D=E3=80=81=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/jclorgmap/JclOrgMapper.java | 3 + .../mapper/jclorgmap/JclOrgMapper.xml | 4 + .../mapper/version/CompanyVersionMapper.xml | 181 +++++++++++++++--- .../impl/VersionManageServiceImpl.java | 24 ++- .../organization/cronJob/JobAndPlanCron.java | 96 ++++++++++ 5 files changed, 279 insertions(+), 29 deletions(-) create mode 100644 src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java index 8ed57b8e..12f95af8 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java @@ -4,6 +4,7 @@ import com.engine.organization.entity.map.JclOrgMap; import org.apache.ibatis.annotations.Param; import java.sql.Date; +import java.util.List; /** * @author:dxfeng @@ -26,4 +27,6 @@ public interface JclOrgMapper { JclOrgMap getSumPlanAndJobByFParentId(@Param("currentDate") Date currentDate, @Param("fparentid") String fparentid); int updateMapById(@Param("id") Integer id,@Param("fplan") Integer fplan,@Param("fonjob") Integer fonjob,@Param("currentDate") Date currentDate); + + List getJclOrgMapByType(@Param("fType") String fType, @Param("currentDate") Date currentDate); } diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index e72f55a3..3a9cd68e 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -66,4 +66,8 @@ AND FDATEBEGIN <= #{currentDate} AND FDATEEND >= #{currentDate} + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 2e39e4a8..c1e0e6e5 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -74,28 +74,163 @@ - - insert into hrmresource_version - (resourceid, companystartdate, companyworkyear, workstartdate, workyear, usekind, jobcall, - accumfundaccount, birthplace, folk, residentphone, residentpostcode, extphone, managerstr, - status, fax, islabouunion, weight, tempresidentnumber, probationenddate, countryid, passwdchgdate, - lloginid, dsporder, passwordstate, accounttype, belongto, messagerurl, accountname, - loginid, password, lastname, sex, birthday, nationality, maritalstatus, telephone, mobile, - mobilecall, email, locationid, workroom, homeaddress, resourcetype, startdate, enddate, jobtitle, - jobactivitydesc, joblevel, seclevel, departmentid, subcompanyid1, costcenterid, managerid, assistantid, - bankid1, accountid1, resourceimageid, certificatenum, nativeplace, educationlevel, bememberdate, - bepartydate, workcode, regresidentplace, healthinfo, residentplace, policy, degree, height, - classification, description, operator, version, operate_time) - values (#{resourceid}, #{companystartdate}, #{companyworkyear}, #{workstartdate}, #{workyear}, #{usekind}, #{jobcall}, - #{accumfundaccount}, #{birthplace}, #{folk}, #{residentphone}, #{residentpostcode}, #{extphone}, #{managerstr}, - #{status}, #{fax}, #{islabouunion}, #{weight}, #{tempresidentnumber}, #{probationenddate}, #{countryid}, #{passwdchgdate}, - #{lloginid}, #{dsporder}, #{passwordstate}, #{accounttype}, #{belongto}, #{messagerurl}, #{accountname}, - #{loginid}, #{password}, #{lastname}, #{sex}, #{birthday}, #{nationality}, #{maritalstatus}, #{telephone}, #{mobile}, - #{mobilecall}, #{email}, #{locationid}, #{workroom}, #{homeaddress}, #{resourcetype}, #{startdate}, #{enddate}, #{jobtitle}, - #{jobactivitydesc}, #{joblevel}, #{seclevel}, #{departmentid}, #{subcompanyid1}, #{costcenterid}, #{managerid}, #{assistantid}, - #{bankid1}, #{accountid1}, #{resourceimageid}, #{certificatenum}, #{nativeplace}, #{educationlevel}, #{bememberdate}, - #{bepartydate}, #{workcode}, #{regresidentplace}, #{healthinfo}, #{residentplace}, #{policy}, #{degree}, #{height}, - #{classification}, #{description}, #{operator}, #{version}, #{operateTime}) + + insert into hrmresource_version + + id, + resourceid, + companystartdate, + companyworkyear, + workstartdate, + workyear, + usekind, + jobcall, + accumfundaccount, + birthplace, + folk, + residentphone, + residentpostcode, + extphone, + managerstr, + status, + fax, + islabouunion, + weight, + tempresidentnumber, + probationenddate, + countryid, + passwdchgdate, + lloginid, + dsporder, + passwordstate, + accounttype, + belongto, + messagerurl, + accountname, + loginid, + password, + lastname, + sex, + birthday, + nationality, + maritalstatus, + telephone, + mobile, + mobilecall, + email, + locationid, + workroom, + homeaddress, + resourcetype, + startdate, + enddate, + jobtitle, + jobactivitydesc, + joblevel, + seclevel, + departmentid, + subcompanyid1, + costcenterid, + managerid, + assistantid, + bankid1, + accountid1, + resourceimageid, + certificatenum, + nativeplace, + educationlevel, + bememberdate, + bepartydate, + workcode, + regresidentplace, + healthinfo, + residentplace, + policy, + degree, + height, + classification, + description, + operator, + version, + operate_time, + + + #{id,jdbcType=INTEGER}, + #{resourceid,jdbcType=INTEGER}, + #{companystartdate,jdbcType=TIMESTAMP}, + #{companyworkyear,jdbcType=INTEGER}, + #{workstartdate,jdbcType=TIMESTAMP}, + #{workyear,jdbcType=INTEGER}, + #{usekind,jdbcType=INTEGER}, + #{jobcall,jdbcType=INTEGER}, + #{accumfundaccount,jdbcType=VARCHAR}, + #{birthplace,jdbcType=VARCHAR}, + #{folk,jdbcType=VARCHAR}, + #{residentphone,jdbcType=VARCHAR}, + #{residentpostcode,jdbcType=VARCHAR}, + #{extphone,jdbcType=VARCHAR}, + #{managerstr,jdbcType=VARCHAR}, + #{status,jdbcType=INTEGER}, + #{fax,jdbcType=VARCHAR}, + #{islabouunion,jdbcType=CHAR}, + #{weight,jdbcType=INTEGER}, + #{tempresidentnumber,jdbcType=VARCHAR}, + #{probationenddate,jdbcType=TIMESTAMP}, + #{countryid,jdbcType=INTEGER}, + #{passwdchgdate,jdbcType=TIMESTAMP}, + #{lloginid,jdbcType=VARCHAR}, + #{dsporder,jdbcType=INTEGER}, + #{passwordstate,jdbcType=INTEGER}, + #{accounttype,jdbcType=INTEGER}, + #{belongto,jdbcType=INTEGER}, + #{messagerurl,jdbcType=VARCHAR}, + #{accountname,jdbcType=VARCHAR}, + #{loginid,jdbcType=VARCHAR}, + #{password,jdbcType=VARCHAR}, + #{lastname,jdbcType=VARCHAR}, + #{sex,jdbcType=CHAR}, + #{birthday,jdbcType=CHAR}, + #{nationality,jdbcType=INTEGER}, + #{maritalstatus,jdbcType=CHAR}, + #{telephone,jdbcType=VARCHAR}, + #{mobile,jdbcType=VARCHAR}, + #{mobilecall,jdbcType=VARCHAR}, + #{email,jdbcType=VARCHAR}, + #{locationid,jdbcType=INTEGER}, + #{workroom,jdbcType=VARCHAR}, + #{homeaddress,jdbcType=VARCHAR}, + #{resourcetype,jdbcType=CHAR}, + #{startdate,jdbcType=TIMESTAMP}, + #{enddate,jdbcType=TIMESTAMP}, + #{jobtitle,jdbcType=INTEGER}, + #{jobactivitydesc,jdbcType=VARCHAR}, + #{joblevel,jdbcType=INTEGER}, + #{seclevel,jdbcType=INTEGER}, + #{departmentid,jdbcType=INTEGER}, + #{subcompanyid1,jdbcType=INTEGER}, + #{costcenterid,jdbcType=INTEGER}, + #{managerid,jdbcType=INTEGER}, + #{assistantid,jdbcType=INTEGER}, + #{bankid1,jdbcType=INTEGER}, + #{accountid1,jdbcType=VARCHAR}, + #{resourceimageid,jdbcType=INTEGER}, + #{certificatenum,jdbcType=VARCHAR}, + #{nativeplace,jdbcType=VARCHAR}, + #{educationlevel,jdbcType=INTEGER}, + #{bememberdate,jdbcType=TIMESTAMP}, + #{bepartydate,jdbcType=TIMESTAMP}, + #{workcode,jdbcType=VARCHAR}, + #{regresidentplace,jdbcType=VARCHAR}, + #{healthinfo,jdbcType=CHAR}, + #{residentplace,jdbcType=VARCHAR}, + #{policy,jdbcType=VARCHAR}, + #{degree,jdbcType=VARCHAR}, + #{height,jdbcType=VARCHAR}, + #{classification,jdbcType=CHAR}, + #{description,jdbcType=VARCHAR}, + #{operator,jdbcType=VARCHAR}, + #{version,jdbcType=FLOAT}, + #{operateTime,jdbcType=TIMESTAMP}, + - \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index c87d1ac5..8db856f9 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -50,7 +50,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe saveSubComToVersion(params,user); break; case 2: - saveComToVersion(params, user); + saveDeptToVersion(params, user); saveDeptToMap(params); break; case 4: @@ -82,6 +82,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFClass(0); jclOrgMap.setFClassName("行政维度"); jclOrgMap.setFName((String) params.get("subCompanyName")); + String supSubComId = (String) params.get("supSubComId"); jclOrgMap.setFParentId(Integer.parseInt((String) params.get("supSubComId"))); jclOrgMap.setFIsVitual(0); jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); @@ -131,7 +132,14 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFLeaderJobId(Math.toIntExact(hrmResourcePO.getJobTitle())); } jclOrgMap.setFName((String) params.get("departmentName")); - jclOrgMap.setFParentId(st+Integer.parseInt((String) params.get("subCompanyId1"))); + String subCompanyId1 = (String) params.get("subCompanyId1"); + String supdepid = (String) params.get("supDepId"); + if (supdepid!=null){ + jclOrgMap.setFParentId(st + Integer.parseInt(supdepid)); + } + if ("0".equals(supdepid)){ + jclOrgMap.setFParentId(Integer.parseInt(subCompanyId1)); + } jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime())); jclOrgMap.setFIsVitual(0); @@ -235,7 +243,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 部门保存至版本 */ - void saveComToVersion(Map params,User user) { + void saveDeptToVersion(Map params,User user) { String id = (String) params.get("id"); String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); @@ -245,9 +253,12 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmDepartmentVersion.setDepartmentCode((String) params.get("departmentCode")); hrmDepartmentVersion.setDepartmentName((String) params.get("departmentName")); hrmDepartmentVersion.setSubCompanyId1(Integer.parseInt((String) params.get("subCompanyId1"))); - hrmDepartmentVersion.setSupDepId(Integer.parseInt((String) params.get("supDepId"))); + String supDepId = (String) params.get("supDepId"); + if (supDepId!=null){ + hrmDepartmentVersion.setSupDepId(Integer.parseInt(supDepId)); + } String bmfzr = (String) params.get("bmfzr"); - if (!"".equals(bmfzr)){ + if (!"".equals(bmfzr) && bmfzr!=null){ hrmDepartmentVersion.setBmfzr(Integer.parseInt(bmfzr)); } String showOrder = (String) params.get("showOrder"); @@ -280,7 +291,8 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmResourceVersion.setJobtitle(Integer.parseInt((String) params.get("jobtitle"))); hrmResourceVersion.setMobile((String) params.get("mobile")); hrmResourceVersion.setTelephone((String) params.get("telephone")); - hrmResourceVersion.setManagerid(Integer.parseInt((String) params.get("managerid"))); + String managerid = (String) params.get("managerid"); + hrmResourceVersion.setManagerid(StringUtils.isNotBlank(managerid) ? Integer.parseInt(managerid):null); hrmResourceVersion.setLastname((String) params.get("lastname")); hrmResourceVersion.setOperator(user.getLastname()); hrmResourceVersion.setVersion(genVersionId(4,id)); diff --git a/src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java b/src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java new file mode 100644 index 00000000..91a4fc2b --- /dev/null +++ b/src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java @@ -0,0 +1,96 @@ +package weaver.interfaces.organization.cronJob; + +import com.engine.organization.entity.map.JclOrgMap; +import com.engine.organization.mapper.jclorgmap.JclOrgMapper; +import com.engine.organization.mapper.staff.StaffMapper; +import com.engine.organization.util.OrganizationDateUtil; +import com.engine.organization.util.db.MapperProxyFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import weaver.conn.RecordSet; +import weaver.general.Util; +import weaver.interfaces.schedule.BaseCronJob; + +import java.sql.Date; +import java.util.List; + +/** + * 定时任务刷新在岗数、编制数 + */ +public class JobAndPlanCron extends BaseCronJob { + + private static final Logger LOGGER = LoggerFactory.getLogger("chartDataLog"); + + char separator = Util.getSeparator(); + + private JclOrgMapper getJclOrgMapMapper(){ + return MapperProxyFactory.getProxy(JclOrgMapper.class); + } + + private StaffMapper getStaffMapper() { + return MapperProxyFactory.getProxy(StaffMapper.class); + } + @Override + public void execute() { + // 计划任务需要处理的逻辑 + RecordSet recordSet = new RecordSet(); + String fType = "3"; + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType(fType,new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + + for (JclOrgMap jclOrgMap : jclOrgMaps){ + String id = String.valueOf(jclOrgMap.getId()); + + } + + } + + /** + * 刷新在岗数 + */ + void countJobs(String type,int id,String currentDate) { + //找上级 + RecordSet rs = new RecordSet(); + String sql = "select fparentid from jcl_org_map where ftype=? and id=? and fdateend>?"; + String typeSql = "select ftype from jcl_org_map where id=? and fdateend>?"; + rs.executeQuery(sql, type, currentDate); + String fparentid = null; + String ftype = null; + if (rs.next()) { + fparentid = rs.getString("fparentid"); + rs.executeQuery(typeSql, fparentid, currentDate); + if (rs.next()) { + ftype = rs.getString("ftype"); + } + } + JclOrgMap jclOrgMap = getJclOrgMapMapper().getSumPlanAndJobByFParentId(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()), fparentid); + getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), jclOrgMap.getFOnJob(), new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + + if (fparentid.equals("-1")) { + countJobs(ftype, Integer.parseInt(fparentid), currentDate); + } + + } + /** + * 刷新编制数 + */ + void countPlans(String type,int id,String currentDate) { + //找上级 + RecordSet rs = new RecordSet(); + String sql = "select fparentid from jcl_org_map where ftype=? and id=? and fdateend>?"; + String typeSql = "select ftype from jcl_org_map where id=? and fdateend>?"; + rs.executeQuery(sql, type, currentDate); + String fparentid = null; + String ftype = null; + if (rs.next()) { + fparentid = rs.getString("fparentid"); + rs.executeQuery(typeSql, fparentid, currentDate); + if (rs.next()) { + ftype = rs.getString("ftype"); + } + } +// JclOrgMap jclOrgMap + + } + +} From 946354b32dba6973904fed856178611267444ff9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 14 Dec 2022 15:38:29 +0800 Subject: [PATCH 070/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/company/dto/CompListDTO.java | 2 +- .../department/dto/DepartmentListDTO.java | 2 +- .../mapper/jclimport/ImportMapper.java | 2 ++ .../mapper/jclimport/ImportMapper.xml | 28 ++++++++++++++++++- .../mapper/resource/ResourceMapper.java | 5 ---- .../mapper/resource/ResourceMapper.xml | 14 ---------- .../service/impl/ExtServiceImpl.java | 7 ++--- .../impl/HrmPersonnelCardServiceImpl.java | 14 ++++++++-- .../service/impl/ImportCommonServiceImpl.java | 18 ++++++------ .../service/impl/JobServiceImpl.java | 4 +-- .../impl/ManagerDetachServiceImpl.java | 2 -- .../util/relation/ResourceSyncUtil.java | 10 ++----- .../util/saveimport/CompanyImport.java | 3 ++ .../util/saveimport/DepartmentImport.java | 3 ++ .../util/saveimport/ResourceImport.java | 5 ---- 15 files changed, 63 insertions(+), 56 deletions(-) diff --git a/src/com/engine/organization/entity/company/dto/CompListDTO.java b/src/com/engine/organization/entity/company/dto/CompListDTO.java index 4e429498..f7a925aa 100644 --- a/src/com/engine/organization/entity/company/dto/CompListDTO.java +++ b/src/com/engine/organization/entity/company/dto/CompListDTO.java @@ -61,7 +61,7 @@ public class CompListDTO { /** * 禁用标记 */ - @TableTitle(title = "是否启用", dataIndex = "canceled", key = "canceled") + @TableTitle(title = "封存", dataIndex = "canceled", key = "canceled") private Integer canceled; /** diff --git a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java index dfa9b138..a6ed69df 100644 --- a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java +++ b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java @@ -79,7 +79,7 @@ public class DepartmentListDTO { /** * 禁用标记 */ - @TableTitle(title = "是否启用", dataIndex = "canceled", key = "canceled") + @TableTitle(title = "封存", dataIndex = "canceled", key = "canceled") private int canceled; /** * 操作列 diff --git a/src/com/engine/organization/mapper/jclimport/ImportMapper.java b/src/com/engine/organization/mapper/jclimport/ImportMapper.java index b18705bc..e036ca3d 100644 --- a/src/com/engine/organization/mapper/jclimport/ImportMapper.java +++ b/src/com/engine/organization/mapper/jclimport/ImportMapper.java @@ -15,4 +15,6 @@ public interface ImportMapper { List getImportFields(@Param("languageId") Integer languageId, @Param("groupType") Integer groupType); List getImportFieldInfo(@Param("languageId") Integer languageId, @Param("groupType") Integer groupType, @Param("labelName") String labelName); + + List getResourceExceptedFields(); } diff --git a/src/com/engine/organization/mapper/jclimport/ImportMapper.xml b/src/com/engine/organization/mapper/jclimport/ImportMapper.xml index 68c9f0d0..94ac3e18 100644 --- a/src/com/engine/organization/mapper/jclimport/ImportMapper.xml +++ b/src/com/engine/organization/mapper/jclimport/ImportMapper.xml @@ -9,13 +9,39 @@ inner join htmllabelinfo b on a.fieldlabel = b.indexid and b.languageid = #{languageId} inner join hrm_fieldgroup c on a.groupid = c.id where a.fieldhtmltype != '6' and c.grouptype = #{groupType} + and a.isuse = 1 + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index 9515880c..ac130ba5 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -37,9 +37,4 @@ public interface ResourceMapper { * @return */ List getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); - - String getEcResourceId(@Param("jclResourceId") String jclResourceId); - - Long getJclResourceId(@Param("ecResourceId") String ecResourceId); - } diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.xml b/src/com/engine/organization/mapper/resource/ResourceMapper.xml index 00054b62..03d01e98 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.xml @@ -143,20 +143,6 @@ and ${keyField} = #{keyFieldValue} - - - - AND t.last_name like CONCAT('%',#{param.lastName},'%') diff --git a/src/com/engine/organization/service/impl/ExtServiceImpl.java b/src/com/engine/organization/service/impl/ExtServiceImpl.java index 908b92e4..7c1db295 100644 --- a/src/com/engine/organization/service/impl/ExtServiceImpl.java +++ b/src/com/engine/organization/service/impl/ExtServiceImpl.java @@ -17,7 +17,6 @@ import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.extend.*; import com.engine.organization.mapper.personnelcard.CardButtonMapper; -import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.service.ExtService; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; @@ -74,8 +73,7 @@ public class ExtServiceImpl extends Service implements ExtService { } List readOnlyFieldList = new ArrayList<>(Arrays.asList(readOnlyFields)); if ("4".equals(extendType) && noEditRight(user)) { - String ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(String.valueOf(id)); - if (Util.null2String(user.getUID()).equals(ecResourceId)) { + if (Util.null2String(user.getUID()).equals(String.valueOf(id))) { List readOnlyList = infoPOList.stream().filter(item -> !"1".equals(Util.null2String(item.getIsModify()))).map(ExtendInfoPO::getFieldName).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(readOnlyList)) { readOnlyFieldList.addAll(readOnlyList); @@ -162,8 +160,7 @@ public class ExtServiceImpl extends Service implements ExtService { boolean checkRight = true; if (2 == viewAttr && "4".equals(extendType) && noEditRight(user)) { checkRight = false; - String ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(String.valueOf(id)); - if (Util.null2String(user.getUID()).equals(ecResourceId)) { + if (Util.null2String(user.getUID()).equals(String.valueOf(id))) { infoPOList.removeIf(item -> !"1".equals(Util.null2String(item.getIsModify()))); } else { infoPOList = new ArrayList<>(); diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index f215d4fb..20f566af 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -20,6 +20,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.json.JSONObject; import weaver.blog.BlogShareManager; +import weaver.conn.RecordSet; import weaver.cowork.CoworkShareManager; import weaver.crm.CrmShareBase; import weaver.docs.search.DocSearchComInfo; @@ -182,8 +183,17 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel String fieldName = hfm.getFieldname(); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); String fieldLabel = Util.toScreen(SystemEnv.getHtmlLabelName(hrmFieldConf.getInt("fieldlabel"), user.getLanguage()), user.getLanguage()); - String hrmData = hfm.getHrmData(fieldName); - String fieldValue = hfm.getFieldvalue(null, user, null, null, hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); + String hrmData = ""; + if (hfm.isBaseField(fieldName)) { + hrmData = hfm.getHrmData(fieldName); + } else { + RecordSet recordSet = new RecordSet(); + recordSet.execute("select " + fieldName + " from cus_fielddata where SCOPE = '" + cusTreeFormPO.getScope() + "' and SCOPEID =" + cusTreeFormPO.getId() + " and id = " + uId); + if (recordSet.next()) { + hrmData = recordSet.getString(fieldName); + } + } + String fieldValue = hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); itemList.add(Item.builder().fieldId(fieldLabel).fieldValue(fieldValue).build()); } formItem.setItems(itemList); diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index aaeb096c..2bcc49a2 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -18,7 +18,7 @@ import com.engine.organization.entity.scheme.po.SchemePO; import com.engine.organization.enums.OrgImportEnum; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.extend.ExtendInfoMapper; -import com.engine.organization.mapper.hrmresource.SystemDataMapper; +import com.engine.organization.mapper.jclimport.ImportMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; @@ -60,14 +60,8 @@ import java.util.stream.Collectors; * @version: 1.0 */ public class ImportCommonServiceImpl extends Service implements ImportCommonService { - /** - * extend_group - */ - private static final Long JOB_TYPE = 3L; - private static final Long RESOURCE_TYPE = 4L; private static final String RIGHT_NAME = "DataImport:All"; - private static final String HRM_RESOURCE = "hrmresource"; static Map importFieldsMap; @@ -89,8 +83,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return MapperProxyFactory.getProxy(ExtendInfoMapper.class); } - private SystemDataMapper getSystemDataMapper() { - return MapperProxyFactory.getProxy(SystemDataMapper.class); + private ImportMapper getImportMapper() { + return MapperProxyFactory.getProxy(ImportMapper.class); } @Override @@ -115,12 +109,17 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return DepartmentImport.getImportFields(user, excludeFields); case "jobtitle": case "resource": + List resourceExceptedFields = getImportMapper().getResourceExceptedFields(); + if (CollectionUtils.isNotEmpty(resourceExceptedFields)) { + excludeFields.addAll(resourceExceptedFields); + } excludeFields.add("resourceimageid"); excludeFields.add("messagerurl"); excludeFields.add("workyear"); excludeFields.add("companyworkyear"); excludeFields.add("textfield1"); excludeFields.add("textfield2"); + return ResourceImport.getImportFields(user, excludeFields); case "joblevel": extendType = "0"; @@ -751,7 +750,6 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ } - /** * 生成导入模板文件 */ diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 5cd3dae6..8a9a80c7 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -222,10 +222,10 @@ public class JobServiceImpl extends Service implements JobService { // 禁用标记 List selectOptions = new ArrayList<>(); SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); - SearchConditionOption disableOption = new SearchConditionOption("false", "禁用"); + SearchConditionOption disableOption = new SearchConditionOption("false", "封存"); selectOptions.add(enableOption); selectOptions.add(disableOption); - SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "禁用标记", "forbiddenTag"); + SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "封存", "forbiddenTag"); conditionItems.add(jobNoItem); conditionItems.add(jobTitleNameItem); diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java index a5a93482..edaef97b 100644 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -122,7 +122,6 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() .managerType(0) .ecManager(param.getEcManager()) - .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) .ecRolelevel(param.getEcRolelevel()) .manageModule("组织管理") .creator((long)user.getUID()) @@ -139,7 +138,6 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() .id(param.getId()) .ecManager(param.getEcManager()) - .jclManager(getResourceMapper().getJclResourceId(String.valueOf(param.getEcManager())).intValue()) .ecRolelevel(param.getEcRolelevel()) .build(); return getMangeDetachMapper().updateDetach(managerDetachPO); diff --git a/src/com/engine/organization/util/relation/ResourceSyncUtil.java b/src/com/engine/organization/util/relation/ResourceSyncUtil.java index 1fae4c34..da831abb 100644 --- a/src/com/engine/organization/util/relation/ResourceSyncUtil.java +++ b/src/com/engine/organization/util/relation/ResourceSyncUtil.java @@ -17,8 +17,6 @@ import com.engine.hrm.util.HrmWeakPasswordUtil; import com.engine.hrm.util.face.HrmFaceCheckManager; import com.engine.hrm.util.face.ValidateFieldManager; import com.engine.hrm.util.face.bean.CheckItemBean; -import com.engine.organization.mapper.resource.ResourceMapper; -import com.engine.organization.util.db.MapperProxyFactory; import com.weaver.general.BaseBean; import ln.LN; import org.apache.commons.lang3.StringUtils; @@ -1059,14 +1057,10 @@ public class ResourceSyncUtil { // 先查询原有EC人员信息,再封装传参 Map convertParams = new HashMap<>(); String jclResourceId = Util.null2String(params.get("id")); - String ecResourceId = ""; - if(StringUtils.isNotBlank(jclResourceId)){ - ecResourceId = MapperProxyFactory.getProxy(ResourceMapper.class).getEcResourceId(jclResourceId); - } // 更新人员时,初始化人员参数 - if (StringUtils.isNotBlank(ecResourceId)) { + if (StringUtils.isNotBlank(jclResourceId)) { RecordSet rs = new RecordSet(); - rs.execute("select * from hrmresource where id = '" + ecResourceId + "'"); + rs.execute("select * from hrmresource where id = '" + jclResourceId + "'"); int colcount = rs.getColCounts(); if (rs.next()) { for (int i = 1; i <= colcount; i++) { diff --git a/src/com/engine/organization/util/saveimport/CompanyImport.java b/src/com/engine/organization/util/saveimport/CompanyImport.java index ceffb03c..bfd66af7 100644 --- a/src/com/engine/organization/util/saveimport/CompanyImport.java +++ b/src/com/engine/organization/util/saveimport/CompanyImport.java @@ -110,6 +110,9 @@ public class CompanyImport { lsPromptLabel.add(34275); lsPromptLabel.add(125452); lsPromptLabel.add(125466); + lsPromptLabel.add(522356); + lsPromptLabel.add(522357); + lsPromptLabel.add(530411); for (int i = 0; i < lsPromptLabel.size(); i++) { Map item = new HashMap<>(); diff --git a/src/com/engine/organization/util/saveimport/DepartmentImport.java b/src/com/engine/organization/util/saveimport/DepartmentImport.java index 3d5dea57..2c082e2f 100644 --- a/src/com/engine/organization/util/saveimport/DepartmentImport.java +++ b/src/com/engine/organization/util/saveimport/DepartmentImport.java @@ -112,6 +112,9 @@ public class DepartmentImport { lsPromptLabel.add(34275); lsPromptLabel.add(125452); lsPromptLabel.add(125466); + lsPromptLabel.add(522356); + lsPromptLabel.add(522357); + lsPromptLabel.add(530411); for (int i = 0; i < lsPromptLabel.size(); i++) { Map item = new HashMap<>(); diff --git a/src/com/engine/organization/util/saveimport/ResourceImport.java b/src/com/engine/organization/util/saveimport/ResourceImport.java index c4c70e45..7c167a65 100644 --- a/src/com/engine/organization/util/saveimport/ResourceImport.java +++ b/src/com/engine/organization/util/saveimport/ResourceImport.java @@ -9,7 +9,6 @@ import com.engine.organization.entity.jclimport.po.HrmFormFieldPO; import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO; import com.engine.organization.entity.personnelcard.po.CusTreeFormPO; import com.engine.organization.exception.OrganizationRunTimeException; -import com.engine.organization.mapper.jclimport.ImportMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; import com.engine.organization.mapper.personnelcard.PersonnelCardMapper; import com.engine.organization.util.db.MapperProxyFactory; @@ -37,10 +36,6 @@ import java.util.stream.Collectors; */ public class ResourceImport { - private static ImportMapper getImportMapper() { - return MapperProxyFactory.getProxy(ImportMapper.class); - } - private static PersonnelCardMapper getPersonnelCardMapper() { return MapperProxyFactory.getProxy(PersonnelCardMapper.class); } From 94690cbd862a67cae8a068a9034f73b703d491ef Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 14 Dec 2022 17:42:23 +0800 Subject: [PATCH 071/203] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{cronJob => cronjob}/JobAndPlanCron.java | 68 ++++++++++--------- 1 file changed, 36 insertions(+), 32 deletions(-) rename src/weaver/interfaces/organization/{cronJob => cronjob}/JobAndPlanCron.java (56%) diff --git a/src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java b/src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java similarity index 56% rename from src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java rename to src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java index 91a4fc2b..1dcc33e0 100644 --- a/src/weaver/interfaces/organization/cronJob/JobAndPlanCron.java +++ b/src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java @@ -1,6 +1,7 @@ -package weaver.interfaces.organization.cronJob; +package weaver.interfaces.organization.cronjob; import com.engine.organization.entity.map.JclOrgMap; +import com.engine.organization.entity.staff.po.StaffPO; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.util.OrganizationDateUtil; @@ -12,7 +13,9 @@ import weaver.general.Util; import weaver.interfaces.schedule.BaseCronJob; import java.sql.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 定时任务刷新在岗数、编制数 @@ -39,21 +42,43 @@ public class JobAndPlanCron extends BaseCronJob { List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType(fType,new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); for (JclOrgMap jclOrgMap : jclOrgMaps){ - String id = String.valueOf(jclOrgMap.getId()); - + int id = jclOrgMap.getId(); + countJobAndPlans(fType,id,currentDate); } - } /** - * 刷新在岗数 + * 刷新在岗、编制数 */ - void countJobs(String type,int id,String currentDate) { - //找上级 + void countJobAndPlans(String type,int id,String currentDate) { + Date date = new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()); RecordSet rs = new RecordSet(); + StaffPO staffPO = null; + switch (type) { + case "1": + staffPO = getStaffMapper().getStaffsByParamId(Integer.parseInt(type), String.valueOf(id), null, null); + break; + case "2": + staffPO = getStaffMapper().getStaffsByParamId(Integer.parseInt(type), null, String.valueOf(id), null); + break; + case "3": + staffPO = getStaffMapper().getStaffsByParamId(Integer.parseInt(type), null, null, String.valueOf(id)); + rs.executeQuery("select count(1) as fonjob from jcl_org_map ftype=? and id=? and fdateend>?"); + if (rs.next()) { + getJclOrgMapMapper().updateMapById(id, null, Integer.valueOf(rs.getString("fonjob")), date); + } + break; + default: + break; + } + if (staffPO != null) { + // 处理自身 + getJclOrgMapMapper().updateMapById(id, staffPO.getStaffNum(), null, date); + } + //处理上级 String sql = "select fparentid from jcl_org_map where ftype=? and id=? and fdateend>?"; String typeSql = "select ftype from jcl_org_map where id=? and fdateend>?"; - rs.executeQuery(sql, type, currentDate); + rs.executeQuery(sql, type, id, currentDate); String fparentid = null; String ftype = null; if (rs.next()) { @@ -63,34 +88,13 @@ public class JobAndPlanCron extends BaseCronJob { ftype = rs.getString("ftype"); } } - JclOrgMap jclOrgMap = getJclOrgMapMapper().getSumPlanAndJobByFParentId(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime()), fparentid); - getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), jclOrgMap.getFOnJob(), new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + JclOrgMap jclOrgMap = getJclOrgMapMapper().getSumPlanAndJobByFParentId(date, fparentid); + getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), null, date); if (fparentid.equals("-1")) { - countJobs(ftype, Integer.parseInt(fparentid), currentDate); + countJobAndPlans(ftype, Integer.parseInt(fparentid), String.valueOf(currentDate)); } - } - /** - * 刷新编制数 - */ - void countPlans(String type,int id,String currentDate) { - //找上级 - RecordSet rs = new RecordSet(); - String sql = "select fparentid from jcl_org_map where ftype=? and id=? and fdateend>?"; - String typeSql = "select ftype from jcl_org_map where id=? and fdateend>?"; - rs.executeQuery(sql, type, currentDate); - String fparentid = null; - String ftype = null; - if (rs.next()) { - fparentid = rs.getString("fparentid"); - rs.executeQuery(typeSql, fparentid, currentDate); - if (rs.next()) { - ftype = rs.getString("ftype"); - } - } -// JclOrgMap jclOrgMap - } } From 7f51135424b0c5aec319f73d7e6fa5c109e63d1c Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 14 Dec 2022 17:42:59 +0800 Subject: [PATCH 072/203] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/HrmDepartmentVersion.java | 12 ++++++------ .../organization/mapper/jclorgmap/JclOrgMapper.xml | 8 ++++++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java index 9435263b..e16cde7a 100644 --- a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java +++ b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java @@ -8,15 +8,15 @@ import java.util.Date; public class HrmDepartmentVersion { int id; - int departmentId; + Integer departmentId; String departmentMark; String departmentCode; String departmentName; - int subCompanyId1; - int supDepId; - int bmfzr; - int showOrder; - int canceled; + Integer subCompanyId1; + Integer supDepId; + Integer bmfzr; + Integer showOrder; + Integer canceled; String description; String operator; Double version; diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index 3a9cd68e..ba7028af 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -59,8 +59,12 @@ update jcl_org_map - fplan=#{fplan}, - fonjob=#{fonjob}, + + fplan=#{fplan}, + + + fonjob=#{fonjob}, + where id=#{id} AND FDATEBEGIN <= #{currentDate} From 550be7fb14fd0d489b2953a23c012eacf9e00889 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 15 Dec 2022 09:49:55 +0800 Subject: [PATCH 073/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/DepartmentServiceImpl.java | 2 +- .../organization/service/impl/ManagerDetachServiceImpl.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index ae3597d8..e293dca8 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -565,7 +565,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Map map = new HashMap<>(); map.put("id", Util.null2String(mergeParam.getId())); // 删除部门 - ServiceUtil.getService(OrganizationServiceImpl.class, user).delDepartment(map, user); + ServiceUtil.getService(OrganizationServiceImpl.class, user).doDepartmentCancel(map, user); // 更新组织架构图 // TODO new DepartmentTriggerRunnable(mergeDepartment).run(); // 更新部门合并后名称 diff --git a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java index edaef97b..717e9c8f 100644 --- a/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java +++ b/src/com/engine/organization/service/impl/ManagerDetachServiceImpl.java @@ -122,7 +122,9 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe ManagerDetachPO managerDetachPO = ManagerDetachPO.builder() .managerType(0) .ecManager(param.getEcManager()) + .jclManager(param.getEcManager()) .ecRolelevel(param.getEcRolelevel()) + .jclRolelevel(param.getEcRolelevel()) .manageModule("组织管理") .creator((long)user.getUID()) .deleteType(0) @@ -139,6 +141,8 @@ public class ManagerDetachServiceImpl extends Service implements ManagerDetachSe .id(param.getId()) .ecManager(param.getEcManager()) .ecRolelevel(param.getEcRolelevel()) + .jclManager(param.getEcManager()) + .jclRolelevel(param.getEcRolelevel()) .build(); return getMangeDetachMapper().updateDetach(managerDetachPO); } From 34625116037496cca4a188a68f670622e93031e1 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 15 Dec 2022 09:59:57 +0800 Subject: [PATCH 074/203] =?UTF-8?q?showOrder=E7=B1=BB=E5=9E=8B=E5=B0=8F?= =?UTF-8?q?=E6=95=B0=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/version/CompanyVersionMapper.java | 20 +++ .../mapper/version/CompanyVersionMapper.xml | 30 ++++ .../impl/VersionManageServiceImpl.java | 161 ++++++++++-------- 3 files changed, 137 insertions(+), 74 deletions(-) diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java index 02c8cbaa..85d7bb20 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -1,10 +1,15 @@ package com.engine.organization.mapper.version; +import com.alibaba.fastjson.JSONObject; +import com.engine.common.entity.HrmDepartmentEntity; +import com.engine.common.entity.HrmSubCompanyEntity; import com.engine.organization.entity.version.HrmDepartmentVersion; import com.engine.organization.entity.version.HrmResourceVersion; import com.engine.organization.entity.version.HrmSubCompanyVersion; import org.apache.ibatis.annotations.Param; +import java.util.Map; + /** * @Author weaver_cl * @Description: @@ -45,4 +50,19 @@ public interface CompanyVersionMapper { * 新增人员版本 */ int insertHrmResourceVersion(HrmResourceVersion hrmResourceVersion); + + /** + * 获取分部信息 + */ + JSONObject getHrmSubComp(@Param("id") String id); + + /** + * 获取部门信息 + */ + JSONObject getHrmDepartment(@Param("id") String id); + + /** + * 获取人员信息 + */ + JSONObject getHrmResource(@Param("id") String id); } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index c1e0e6e5..eaa36e11 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -233,4 +233,34 @@ #{operateTime,jdbcType=TIMESTAMP}, + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 8db856f9..8511e027 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -1,5 +1,7 @@ package com.engine.organization.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.engine.common.entity.HrmSubCompanyEntity; import com.engine.core.impl.Service; import com.engine.organization.entity.hrmresource.po.HrmResourcePO; import com.engine.organization.entity.map.JclOrgMap; @@ -9,7 +11,6 @@ import com.engine.organization.entity.version.HrmSubCompanyVersion; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.resource.ResourceMapper; -import com.engine.organization.mapper.trigger.CompTriggerMapper; import com.engine.organization.mapper.version.CompanyVersionMapper; import com.engine.organization.service.VersionManageService; import com.engine.organization.util.OrganizationDateUtil; @@ -43,19 +44,23 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe @Override public void save(ModuleTypeEnum moduleTypeEnum, Map params, User user) { - + String id = (String) params.get("id"); + JSONObject paramMap = null; switch (moduleTypeEnum.getValue()){ case 1: - saveSubComToMap(params); - saveSubComToVersion(params,user); + paramMap = getCompanyVersionMapper().getHrmSubComp(id); + saveSubComToVersion(paramMap,user); + saveSubComToMap(paramMap); break; case 2: - saveDeptToVersion(params, user); - saveDeptToMap(params); + paramMap = getCompanyVersionMapper().getHrmDepartment(id); + saveDeptToVersion(paramMap, user); + saveDeptToMap(paramMap); break; case 4: - saveHrmToMap(params); - saveHrmToVersion(params, user); + paramMap = getCompanyVersionMapper().getHrmResource(id); + saveHrmToVersion(paramMap, user); + saveHrmToMap(paramMap); break; default: break; @@ -65,25 +70,36 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe @Override public Map getVersion(ModuleTypeEnum moduleTypeEnum, Map params) { + switch (moduleTypeEnum.getValue()){ + case 1: + + break; + case 2: + break; + case 4: + break; + default: + break; + } return null; } /** * 分部保存至map表 */ - void saveSubComToMap(Map params) { - String id = (String) params.get("id"); + void saveSubComToMap(JSONObject params) { String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + String id = params.getString("id"); JclOrgMap jclOrgMap = new JclOrgMap(); - jclOrgMap.setId(Integer.parseInt((String) params.get("id"))); + jclOrgMap.setId(Integer.parseInt(id)); jclOrgMap.setFType(1); - jclOrgMap.setFObjId(Integer.parseInt((String) params.get("id"))); + jclOrgMap.setFObjId(Integer.parseInt(id)); jclOrgMap.setFClass(0); jclOrgMap.setFClassName("行政维度"); - jclOrgMap.setFName((String) params.get("subCompanyName")); - String supSubComId = (String) params.get("supSubComId"); - jclOrgMap.setFParentId(Integer.parseInt((String) params.get("supSubComId"))); + jclOrgMap.setFName(params.getString("subcompanyname")); + String supSubComId = params.getString("supsubcomid"); + jclOrgMap.setFParentId(StringUtils.isNotBlank(supSubComId)?Integer.parseInt(supSubComId):null); jclOrgMap.setFIsVitual(0); jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime())); @@ -111,8 +127,8 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 部门保存到map表 */ - void saveDeptToMap(Map params) { - String id = (String) params.get("id"); + void saveDeptToMap(JSONObject params) { + String id = params.getString("id"); int st = 100000000; String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); @@ -123,7 +139,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFObjId(Integer.parseInt(id)); jclOrgMap.setFClass(0); jclOrgMap.setFClassName("行政维度"); - String bmfzr = (String) params.get("bmfzr"); + String bmfzr = params.getString("bmfzr"); if (StringUtils.isNotBlank(bmfzr)) { jclOrgMap.setFLeader(Integer.parseInt(bmfzr)); HrmResourcePO hrmResourcePO = MapperProxyFactory.getProxy(ResourceMapper.class).getResourceById(bmfzr); @@ -131,9 +147,9 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFLeaderName(hrmResourcePO.getLastName()); jclOrgMap.setFLeaderJobId(Math.toIntExact(hrmResourcePO.getJobTitle())); } - jclOrgMap.setFName((String) params.get("departmentName")); - String subCompanyId1 = (String) params.get("subCompanyId1"); - String supdepid = (String) params.get("supDepId"); + jclOrgMap.setFName(params.getString("departmentname")); + String subCompanyId1 = params.getString("subcompanyid1"); + String supdepid = params.getString("supdepid"); if (supdepid!=null){ jclOrgMap.setFParentId(st + Integer.parseInt(supdepid)); } @@ -152,7 +168,6 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFPlan(0); jclOrgMap.setFOnJob(0); } - Calendar cal = Calendar.getInstance(); cal.setTime(jclOrgMap.getFDateBegin()); Calendar calendar = DateUtil.addDay(cal, -1); @@ -160,7 +175,6 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe getJclOrgMapMapper().deleteMap("2", id, jclOrgMap.getFDateBegin()); getJclOrgMapMapper().updateMap("2", id, jclOrgMap.getFDateBegin(), time); - getJclOrgMapMapper().insertMap(jclOrgMap); } @@ -168,8 +182,8 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 人员保存至map */ - void saveHrmToMap(Map params){ - String id = (String) params.get("id"); + void saveHrmToMap(JSONObject params){ + String id = params.getString("id"); String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); int sk = 300000000; RecordSet rs = new RecordSet(); @@ -180,7 +194,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFObjId(Integer.parseInt(id)); jclOrgMap.setFClass(0); jclOrgMap.setFClassName("行政维度"); - jclOrgMap.setFName((String) params.get("lastname")); + jclOrgMap.setFName(params.getString("lastname")); if (StringUtils.isNotBlank(id)) { rs.executeQuery("select messagerurl, lastname, jobtitle from hrmresource where id="+id+";"); if (rs.next()){ @@ -189,15 +203,11 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe jclOrgMap.setFLeaderJobId(Integer.valueOf(rs.getString("jobtitle"))); } } - jclOrgMap.setFParentId(sk+Integer.parseInt((String) params.get("jobtitle"))); - JclOrgMap jclOrgMapByFParentId = getJclOrgMapMapper().getSumPlanAndJobByFParentId(jclOrgMap.getFDateBegin(), String.valueOf(jclOrgMap.getFParentId())); - if (null != jclOrgMapByFParentId) { - jclOrgMap.setFPlan(jclOrgMapByFParentId.getFPlan()); - jclOrgMap.setFOnJob(jclOrgMapByFParentId.getFOnJob()); - } else { - jclOrgMap.setFPlan(0); - jclOrgMap.setFOnJob(0); - } + String jobtitle = params.getString("jobtitle"); + jclOrgMap.setFParentId(StringUtils.isNotBlank(jobtitle)?sk+Integer.parseInt(jobtitle):null); + + jclOrgMap.setFPlan(0); + jclOrgMap.setFOnJob(0); jclOrgMap.setFIsVitual(0); jclOrgMap.setFDateBegin(new Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); jclOrgMap.setFDateEnd(new Date(OrganizationDateUtil.stringToDate("2022-12-31").getTime())); @@ -218,55 +228,58 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 分部保存至版本表 */ - void saveSubComToVersion(Map params,User user) { - String id = (String) params.get("id"); + void saveSubComToVersion(JSONObject params,User user) { String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); - + String id = params.getString("id"); HrmSubCompanyVersion hrmSubCompanyVersion = new HrmSubCompanyVersion(); hrmSubCompanyVersion.setSubComId(Integer.parseInt(id)); - hrmSubCompanyVersion.setSubCompanyDesc((String) params.get("subCompanyDesc")); - hrmSubCompanyVersion.setSubCompanyCode((String) params.get("subCompanyCode")); - hrmSubCompanyVersion.setSubCompanyName((String) params.get("subCompanyName")); - hrmSubCompanyVersion.setSupsSubComId(Integer.parseInt((String) params.get("supSubComId"))); - String showOrder = (String) params.get("showOrder"); - hrmSubCompanyVersion.setShowOrder(null==showOrder ? null : Integer.parseInt(showOrder)); - - hrmSubCompanyVersion.setCanceled(Integer.parseInt((String) params.get("canceled"))); - hrmSubCompanyVersion.setDescription((String) params.get("description")); + hrmSubCompanyVersion.setSubCompanyDesc(params.getString("subcompanydesc")); + hrmSubCompanyVersion.setSubCompanyCode(params.getString("subcompanycode")); + hrmSubCompanyVersion.setSubCompanyName(params.getString("subcompanyname")); + String supSubComId = params.getString("supsubcomid"); + hrmSubCompanyVersion.setSupsSubComId(StringUtils.isNotBlank(supSubComId) ? Integer.parseInt(supSubComId) : null); + String showOrder = params.getString("showorder"); + showOrder = showOrder.substring(0,showOrder.indexOf(".")); + hrmSubCompanyVersion.setShowOrder(null == showOrder ? null : Integer.parseInt(showOrder)); + String canceled = params.getString("canceled");; + hrmSubCompanyVersion.setCanceled(StringUtils.isNotBlank(canceled) ? Integer.parseInt(canceled) : null); + hrmSubCompanyVersion.setDescription(null); hrmSubCompanyVersion.setOperator(user.getUsername()); - hrmSubCompanyVersion.setVersion(genVersionId(1,id)); + hrmSubCompanyVersion.setVersion(genVersionId(1, id)); hrmSubCompanyVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); - getCompanyVersionMapper().insertHrmSubComVersion(hrmSubCompanyVersion); } /** * 部门保存至版本 */ - void saveDeptToVersion(Map params,User user) { - String id = (String) params.get("id"); + void saveDeptToVersion(JSONObject params,User user) { + String id = params.getString("id"); String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); HrmDepartmentVersion hrmDepartmentVersion = new HrmDepartmentVersion(); hrmDepartmentVersion.setDepartmentId(Integer.parseInt(id)); - hrmDepartmentVersion.setDepartmentMark((String) params.get("departmentMark")); - hrmDepartmentVersion.setDepartmentCode((String) params.get("departmentCode")); - hrmDepartmentVersion.setDepartmentName((String) params.get("departmentName")); - hrmDepartmentVersion.setSubCompanyId1(Integer.parseInt((String) params.get("subCompanyId1"))); - String supDepId = (String) params.get("supDepId"); - if (supDepId!=null){ + hrmDepartmentVersion.setDepartmentMark(params.getString("departmentmark")); + hrmDepartmentVersion.setDepartmentCode(params.getString("departmentcode")); + hrmDepartmentVersion.setDepartmentName(params.getString("departmentname")); + String subCompanyId1 = params.getString("subcompanyid1"); + hrmDepartmentVersion.setSubCompanyId1(StringUtils.isNotBlank(subCompanyId1) ? Integer.parseInt(subCompanyId1) : null); + String supDepId =params.getString("supdepid"); + if (supDepId != null) { hrmDepartmentVersion.setSupDepId(Integer.parseInt(supDepId)); } - String bmfzr = (String) params.get("bmfzr"); - if (!"".equals(bmfzr) && bmfzr!=null){ + String bmfzr = params.getString("bmfzr"); + if (!"".equals(bmfzr) && bmfzr != null) { hrmDepartmentVersion.setBmfzr(Integer.parseInt(bmfzr)); } - String showOrder = (String) params.get("showOrder"); - hrmDepartmentVersion.setShowOrder(null==showOrder ? null : Integer.parseInt(showOrder)); - hrmDepartmentVersion.setCanceled(Integer.parseInt((String) params.get("canceled"))); - hrmDepartmentVersion.setDescription((String) params.get("description")); + String showOrder = params.getString("showorder"); + showOrder = showOrder.substring(0,showOrder.indexOf(".")); + hrmDepartmentVersion.setShowOrder(null == showOrder ? null : Integer.parseInt(showOrder)); + String canceled = params.getString("canceled"); + hrmDepartmentVersion.setCanceled(StringUtils.isNotBlank(canceled) ? Integer.parseInt(canceled) : null); + hrmDepartmentVersion.setDescription(null); hrmDepartmentVersion.setOperator(user.getLastname()); - hrmDepartmentVersion.setVersion(genVersionId(2,id)); + hrmDepartmentVersion.setVersion(genVersionId(2, id)); hrmDepartmentVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); getCompanyVersionMapper().insertHrmDeptVersion(hrmDepartmentVersion); @@ -275,8 +288,8 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 人员保存至版本 */ - void saveHrmToVersion(Map params,User user){ - String id = (String) params.get("id"); + void saveHrmToVersion(JSONObject params,User user){ + String id = params.getString("id"); String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); HrmResourceVersion hrmResourceVersion = new HrmResourceVersion(); @@ -285,15 +298,15 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmResourceVersion.setCompanyworkyear(Integer.parseInt((String) params.get("companyworkyear"))); hrmResourceVersion.setWorkstartdate(new Date(OrganizationDateUtil.stringToDate((String) params.get("workstartdate")).getTime()));*/ - hrmResourceVersion.setDepartmentid(Integer.parseInt((String) params.get("departmentid"))); - hrmResourceVersion.setDsporder(Double.valueOf((String) params.get("dsporder")).intValue()); - hrmResourceVersion.setSubcompanyid1(Integer.parseInt((String) params.get("subcompanyid1"))); - hrmResourceVersion.setJobtitle(Integer.parseInt((String) params.get("jobtitle"))); - hrmResourceVersion.setMobile((String) params.get("mobile")); - hrmResourceVersion.setTelephone((String) params.get("telephone")); - String managerid = (String) params.get("managerid"); + hrmResourceVersion.setDepartmentid(Integer.parseInt( params.getString("departmentid"))); + hrmResourceVersion.setDsporder(Double.valueOf(params.getString("dsporder")).intValue()); + hrmResourceVersion.setSubcompanyid1(Integer.parseInt(params.getString("subcompanyid1"))); + hrmResourceVersion.setJobtitle(Integer.parseInt(params.getString("jobtitle"))); + hrmResourceVersion.setMobile( params.getString("mobile")); + hrmResourceVersion.setTelephone(params.getString("telephone")); + String managerid = params.getString("managerid"); hrmResourceVersion.setManagerid(StringUtils.isNotBlank(managerid) ? Integer.parseInt(managerid):null); - hrmResourceVersion.setLastname((String) params.get("lastname")); + hrmResourceVersion.setLastname(params.getString("lastname")); hrmResourceVersion.setOperator(user.getLastname()); hrmResourceVersion.setVersion(genVersionId(4,id)); hrmResourceVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); From b3057e2f4e863c0475f04ce4bcd96b2fbfed1e42 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 15 Dec 2022 14:38:48 +0800 Subject: [PATCH 075/203] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/HrmSubCompanyVersion.java | 2 +- .../mapper/version/CompanyVersionMapper.java | 6 +++ .../mapper/version/CompanyVersionMapper.xml | 24 ++++++++- .../service/VersionManageService.java | 2 +- .../impl/VersionManageServiceImpl.java | 50 +++++++++++++++---- .../web/VersionManageController.java | 15 ++++++ .../wrapper/VersionManageWrapper.java | 8 ++- 7 files changed, 90 insertions(+), 17 deletions(-) diff --git a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java index 5fcd7fa4..a9a1701d 100644 --- a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java +++ b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java @@ -12,7 +12,7 @@ public class HrmSubCompanyVersion { String subCompanyDesc; String subCompanyCode; String subCompanyName; - Integer supsSubComId; + Integer supSubComId; Integer showOrder; Integer canceled; String description; diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java index 85d7bb20..c35b2bda 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -8,6 +8,7 @@ import com.engine.organization.entity.version.HrmResourceVersion; import com.engine.organization.entity.version.HrmSubCompanyVersion; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -65,4 +66,9 @@ public interface CompanyVersionMapper { * 获取人员信息 */ JSONObject getHrmResource(@Param("id") String id); + + /** + * 获取分部版本记录 + */ + List getSubComVersionList(@Param("operateName") String operateName,@Param("operateTime") String operateTime,@Param("subComId") String subComId,@Param("id") String id); } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index eaa36e11..0e83d20e 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -7,7 +7,7 @@ - + @@ -41,7 +41,7 @@ insert into hrmsubcompany_version (subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , showorder ,canceled ,description ,operator ,version ,operate_time) - values (#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supsSubComId}, + values (#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supSubComId}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) @@ -263,4 +263,24 @@ workyear,DISMISSDATE,encKey,crc,usbscope,tenant_key,clauthtype,hashData,signData from HrmResource where id=#{id} + + \ No newline at end of file diff --git a/src/com/engine/organization/service/VersionManageService.java b/src/com/engine/organization/service/VersionManageService.java index da2e7e8f..65312702 100644 --- a/src/com/engine/organization/service/VersionManageService.java +++ b/src/com/engine/organization/service/VersionManageService.java @@ -25,5 +25,5 @@ public interface VersionManageService { * @param moduleTypeEnum * @param params */ - Map getVersion(ModuleTypeEnum moduleTypeEnum,Map params); + Map getVersion(ModuleTypeEnum moduleTypeEnum,Map params, User user); } diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 8511e027..576d32ad 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -23,8 +23,7 @@ import weaver.hrm.User; import java.sql.Date; import java.sql.Timestamp; -import java.util.Calendar; -import java.util.Map; +import java.util.*; /** * @Author weaver_cl @@ -46,6 +45,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe public void save(ModuleTypeEnum moduleTypeEnum, Map params, User user) { String id = (String) params.get("id"); JSONObject paramMap = null; + switch (moduleTypeEnum.getValue()){ case 1: paramMap = getCompanyVersionMapper().getHrmSubComp(id); @@ -69,10 +69,33 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe } @Override - public Map getVersion(ModuleTypeEnum moduleTypeEnum, Map params) { + public Map getVersion(ModuleTypeEnum moduleTypeEnum, Map params, User user) { + String operateName = user.getUsername(); + String id = (String) params.get("id"); + String supComId = (String) params.get("subComId"); + String operateTime = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + Map resultMap = new HashMap<>(); switch (moduleTypeEnum.getValue()){ case 1: - + List list = getCompanyVersionMapper().getSubComVersionList(operateName,operateTime,supComId,null); + List versions = new ArrayList<>(); + Map map = new HashMap<>(); + for (HrmSubCompanyVersion hrmSubCompanyVersion:list){ + map.put("value", String.valueOf(hrmSubCompanyVersion.getVersion())); + versions.add(map); + } + List list2 = getCompanyVersionMapper().getSubComVersionList(operateName,operateTime,supComId,id); +// List datas = new ArrayList<>(); +// Map map2 = new HashMap<>(); +// for (HrmSubCompanyVersion hrmSubCompanyVersion:list){ +// map2.put("fieldId", String.valueOf(hrmSubCompanyVersion.getVersion())); +// map2.put("fieldValue", String.valueOf(hrmSubCompanyVersion.getVersion())); +// versions.add(map); +// } + resultMap.put("operateName",operateName); + resultMap.put("operateTime",operateTime); + resultMap.put("versions",versions); + resultMap.put("datas",list2); break; case 2: break; @@ -81,7 +104,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe default: break; } - return null; + return resultMap; } /** @@ -237,11 +260,14 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmSubCompanyVersion.setSubCompanyCode(params.getString("subcompanycode")); hrmSubCompanyVersion.setSubCompanyName(params.getString("subcompanyname")); String supSubComId = params.getString("supsubcomid"); - hrmSubCompanyVersion.setSupsSubComId(StringUtils.isNotBlank(supSubComId) ? Integer.parseInt(supSubComId) : null); + hrmSubCompanyVersion.setSupSubComId(StringUtils.isNotBlank(supSubComId) ? Integer.parseInt(supSubComId) : null); String showOrder = params.getString("showorder"); - showOrder = showOrder.substring(0,showOrder.indexOf(".")); + if (showOrder != null) { + showOrder = showOrder.substring(0, showOrder.indexOf(".")); + } hrmSubCompanyVersion.setShowOrder(null == showOrder ? null : Integer.parseInt(showOrder)); - String canceled = params.getString("canceled");; + String canceled = params.getString("canceled"); + ; hrmSubCompanyVersion.setCanceled(StringUtils.isNotBlank(canceled) ? Integer.parseInt(canceled) : null); hrmSubCompanyVersion.setDescription(null); hrmSubCompanyVersion.setOperator(user.getUsername()); @@ -264,7 +290,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmDepartmentVersion.setDepartmentName(params.getString("departmentname")); String subCompanyId1 = params.getString("subcompanyid1"); hrmDepartmentVersion.setSubCompanyId1(StringUtils.isNotBlank(subCompanyId1) ? Integer.parseInt(subCompanyId1) : null); - String supDepId =params.getString("supdepid"); + String supDepId = params.getString("supdepid"); if (supDepId != null) { hrmDepartmentVersion.setSupDepId(Integer.parseInt(supDepId)); } @@ -272,8 +298,10 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe if (!"".equals(bmfzr) && bmfzr != null) { hrmDepartmentVersion.setBmfzr(Integer.parseInt(bmfzr)); } - String showOrder = params.getString("showorder"); - showOrder = showOrder.substring(0,showOrder.indexOf(".")); + String showOrder = params.getString("showorder"); + if (showOrder != null) { + showOrder = showOrder.substring(0, showOrder.indexOf(".")); + } hrmDepartmentVersion.setShowOrder(null == showOrder ? null : Integer.parseInt(showOrder)); String canceled = params.getString("canceled"); hrmDepartmentVersion.setCanceled(StringUtils.isNotBlank(canceled) ? Integer.parseInt(canceled) : null); diff --git a/src/com/engine/organization/web/VersionManageController.java b/src/com/engine/organization/web/VersionManageController.java index 080de3cb..fd873077 100644 --- a/src/com/engine/organization/web/VersionManageController.java +++ b/src/com/engine/organization/web/VersionManageController.java @@ -41,4 +41,19 @@ public class VersionManageController { return ReturnResult.exceptionHandle(e); } } + + @GET + @Path("/{moduleTypeEnum}/getVersion") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getVersion(@Context HttpServletRequest request, @Context HttpServletResponse response, + @PathParam("moduleTypeEnum") ModuleTypeEnum moduleTypeEnum) { + try { + User user = HrmUserVarify.getUser(request, response); + Map params = ParamUtil.request2Map(request); + Map map = getVersionManageWrapper(user).getVersion(moduleTypeEnum,params); + return ReturnResult.successed(map); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/VersionManageWrapper.java b/src/com/engine/organization/wrapper/VersionManageWrapper.java index c8187866..c9b0c9d9 100644 --- a/src/com/engine/organization/wrapper/VersionManageWrapper.java +++ b/src/com/engine/organization/wrapper/VersionManageWrapper.java @@ -19,10 +19,14 @@ import java.util.Map; public class VersionManageWrapper extends OrganizationWrapper { private VersionManageService getVersionManageService(User user) { - return ServiceUtil.getService(VersionManageServiceImpl.class,user); + return ServiceUtil.getService(VersionManageServiceImpl.class, user); } public void save(ModuleTypeEnum moduleTypeEnum, Map params) { - getVersionManageService(user).save(moduleTypeEnum,params,user); + getVersionManageService(user).save(moduleTypeEnum, params, user); + } + + public Map getVersion(ModuleTypeEnum moduleTypeEnum, Map params) { + return getVersionManageService(user).getVersion(moduleTypeEnum, params, user); } } From 569a3132c145cb49b1a6efc499c8ba153ebd21a7 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 15 Dec 2022 15:16:40 +0800 Subject: [PATCH 076/203] =?UTF-8?q?=E5=88=86=E9=83=A8=E3=80=81=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E3=80=81=E4=BA=BA=E5=91=98=E5=B0=81=E5=AD=98=E5=90=8E?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=9E=B6=E6=9E=84=E5=9B=BE=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/VersionManageServiceImpl.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 576d32ad..4046df73 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -80,10 +80,12 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe List list = getCompanyVersionMapper().getSubComVersionList(operateName,operateTime,supComId,null); List versions = new ArrayList<>(); Map map = new HashMap<>(); - for (HrmSubCompanyVersion hrmSubCompanyVersion:list){ - map.put("value", String.valueOf(hrmSubCompanyVersion.getVersion())); - versions.add(map); + for (int i=0;i list2 = getCompanyVersionMapper().getSubComVersionList(operateName,operateTime,supComId,id); // List datas = new ArrayList<>(); // Map map2 = new HashMap<>(); @@ -143,8 +145,9 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe getJclOrgMapMapper().deleteMap("1", id, jclOrgMap.getFDateBegin()); getJclOrgMapMapper().updateMap("1", id, jclOrgMap.getFDateBegin(), time); - - getJclOrgMapMapper().insertMap(jclOrgMap); + if(!params.getString("canceled").equals("1")){ + getJclOrgMapMapper().insertMap(jclOrgMap); + } } /** @@ -198,7 +201,9 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe getJclOrgMapMapper().deleteMap("2", id, jclOrgMap.getFDateBegin()); getJclOrgMapMapper().updateMap("2", id, jclOrgMap.getFDateBegin(), time); - getJclOrgMapMapper().insertMap(jclOrgMap); + if(!params.getString("canceled").equals("1")){ + getJclOrgMapMapper().insertMap(jclOrgMap); + } } @@ -243,7 +248,9 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe getJclOrgMapMapper().deleteMap("4", id, jclOrgMap.getFDateBegin()); getJclOrgMapMapper().updateMap("4", id, jclOrgMap.getFDateBegin(), time); - getJclOrgMapMapper().insertMap(jclOrgMap); + if(!params.getString("canceled").equals("1")){ + getJclOrgMapMapper().insertMap(jclOrgMap); + } } From 1db4a85d46621c44217e1981bff89d28b7e2ba33 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 15 Dec 2022 16:13:21 +0800 Subject: [PATCH 077/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobBrowserService.java | 4 +- .../entity/extend/bo/ExtendInfoBO.java | 71 +++++++++++++------ .../entity/job/vo/JobBrowserVO.java | 16 ++--- .../organization/mapper/job/JobMapper.xml | 2 +- .../service/impl/DepartmentServiceImpl.java | 18 +++-- .../organization/util/excel/ExcelSupport.java | 4 +- .../util/relation/ResourceSyncUtil.java | 50 ++++++------- .../hrmimport/HrmImportProcessE9.java | 19 ++--- .../organization/cronjob/JobAndPlanCron.java | 4 +- 9 files changed, 111 insertions(+), 77 deletions(-) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index c0cf3d84..52e7844b 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -99,7 +99,7 @@ public class JobBrowserService extends BrowserService { */ private String buildSqlWhere(Map params) { DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where t.delete_type ='0' and forbidden_tag ='0' "; + String sqlWhere = " where t.delete_type = 0 "; String jobNo = Util.null2String(params.get("jobNo")); if (StringUtils.isNotBlank(jobNo)) { sqlWhere += " AND t.job_no " + dbType.like(jobNo); @@ -191,7 +191,7 @@ public class JobBrowserService extends BrowserService { compList = MapperProxyFactory.getProxy(CompMapper.class).listParent(); } // 获取顶层分部 - compList.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); + compList.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).forEach(item -> buildCompNodes(treeNodes, compHasSubs, item)); } else if ("1".equals(params.getType())) { // 当前节点下的元素 CompPO compBuild = CompPO.builder().supSubComId(Integer.parseInt(params.getId())).canceled(0).build(); diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index ba1762ec..71166d97 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -571,7 +571,9 @@ public class ExtendInfoBO { Map groupitem = null; List itemlist = null; try { - if (isAdd) viewAttr = 2; + if (isAdd) { + viewAttr = 2; + } if (id.length() == 0) { id = "" + user.getUID(); } @@ -587,8 +589,9 @@ public class ExtendInfoBO { if (recordSet.next()) { subcompanyid = Util.toScreen(recordSet.getString("subcompanyid1"), user.getLanguage()); departmentId = StringUtil.vString(recordSet.getString("departmentId")); - if (subcompanyid == null || subcompanyid.equals("") || subcompanyid.equalsIgnoreCase("null")) + if (subcompanyid == null || "".equals(subcompanyid) || "null".equalsIgnoreCase(subcompanyid)) { subcompanyid = "-1"; + } } int operatelevel = -1; //人力资源模块是否开启了管理分权,如不是,则不显示框架,直接转向到列表页面(新的分权管理) @@ -616,14 +619,18 @@ public class ExtendInfoBO { HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); com.engine.hrm.biz.HrmFieldManager hfm = new com.engine.hrm.biz.HrmFieldManager("HrmCustomFieldByInfoType", scopeId); CustomFieldManager cfm = new CustomFieldManager("HrmCustomFieldByInfoType", scopeId); - if (viewAttr != 1) hfm.isReturnDecryptData(true); + if (viewAttr != 1) { + hfm.isReturnDecryptData(true); + } hfm.getHrmData(Util.getIntValue(id)); cfm.getCustomData(Util.getIntValue(id)); HrmListValidate hrmListValidate = new HrmListValidate(); while (HrmFieldGroupComInfo.next()) { int grouptype = Util.getIntValue(HrmFieldGroupComInfo.getType()); - if (grouptype != scopeId) continue; + if (grouptype != scopeId) { + continue; + } int grouplabel = Util.getIntValue(HrmFieldGroupComInfo.getLabel()); int groupid = Util.getIntValue(HrmFieldGroupComInfo.getid()); hfm.getCustomFields(groupid); @@ -635,7 +642,7 @@ public class ExtendInfoBO { if (groupid == 4) { groupitem.put("hide", (!isAdd && !canEdit && isSelf && viewAttr == 2 && hfm.getContactEditCount() == 0) || !hrmListValidate.isValidate(42)); } else { - groupitem.put("hide", (!isAdd && !canEdit && isSelf && viewAttr == 2 && hfm.getContactEditCount() == 0) || !Util.null2String(HrmFieldGroupComInfo.getIsShow()).equals("1")); + groupitem.put("hide", (!isAdd && !canEdit && isSelf && viewAttr == 2 && hfm.getContactEditCount() == 0) || !"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow()))); } groupitem.put("items", itemlist); lsGroup.add(groupitem); @@ -649,7 +656,9 @@ public class ExtendInfoBO { } else { fieldValue = Util.null2String(new EncryptUtil().decrypt("cus_fielddata", "field" + hfm.getFieldid(), "HrmCustomFieldByInfoType", "" + scopeId, cfm.getData("field" + hfm.getFieldid()), viewAttr == 2, true)); cusFieldname = "customfield" + hfm.getFieldid(); - if (isAdd) cusFieldname = "customfield_1_" + hfm.getFieldid(); + if (isAdd) { + cusFieldname = "customfield_1_" + hfm.getFieldid(); + } } if (!hfm.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !hfm.isModify())) { @@ -681,19 +690,19 @@ public class ExtendInfoBO { hrmFieldBean.setFieldvalue(fieldValue); } hrmFieldBean.setIsFormField(true); - if (viewAttr == 2 && ((String) hrmFieldConf.get("ismand")).equals("1")) { + if (viewAttr == 2 && "1".equals((String) hrmFieldConf.get("ismand"))) { tmpviewattr = 3; - if (hrmFieldBean.getFieldhtmltype().equals("3")) { + if ("3".equals(hrmFieldBean.getFieldhtmltype())) { hrmFieldBean.setRules("required|string"); // if (hrmFieldBean.getType().equals("2")||hrmFieldBean.getType().equals("161")||hrmFieldBean.getType().equals("162")) { // hrmFieldBean.setRules("required|string"); // }else{ // hrmFieldBean.setRules("required|integer"); // } - } else if (hrmFieldBean.getFieldhtmltype().equals("4") || - hrmFieldBean.getFieldhtmltype().equals("5")) { + } else if ("4".equals(hrmFieldBean.getFieldhtmltype()) || + "5".equals(hrmFieldBean.getFieldhtmltype())) { hrmFieldBean.setRules("required|integer"); - } else if (hrmFieldBean.getFieldhtmltype().equals("1") && hrmFieldBean.getType().equals("2")) { + } else if ("1".equals(hrmFieldBean.getFieldhtmltype()) && "2".equals(hrmFieldBean.getType())) { hrmFieldBean.setRules("required|integer"); } else { hrmFieldBean.setRules("required|string"); @@ -701,14 +710,18 @@ public class ExtendInfoBO { } SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); - if (searchConditionItem == null) continue; + if (searchConditionItem == null) { + continue; + } if (searchConditionItem.getBrowserConditionParam() != null) { searchConditionItem.getBrowserConditionParam().setViewAttr(tmpviewattr); } searchConditionItem.setViewAttr(tmpviewattr); itemlist.add(searchConditionItem); } - if (itemlist.size() == 0) lsGroup.remove(groupitem); + if (itemlist.size() == 0) { + lsGroup.remove(groupitem); + } } result.put("conditions", lsGroup); @@ -764,7 +777,9 @@ public class ExtendInfoBO { LinkedHashMap ht = new LinkedHashMap(); RecordSet.executeSql("select id, formlabel,viewtype from cus_treeform where parentid=" + scopeId + " order by scopeorder"); while (RecordSet.next()) { - if (RecordSet.getInt("viewtype") != 1) continue; + if (RecordSet.getInt("viewtype") != 1) { + continue; + } titles = new ArrayList(); int subId = RecordSet.getInt("id"); CustomFieldManager cfm2 = new CustomFieldManager("HrmCustomFieldByInfoType", subId); @@ -775,19 +790,27 @@ public class ExtendInfoBO { int col = 0; while (cfm2.next()) { rowcount++; - if (!cfm2.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !cfm2.isModify())) continue; + if (!cfm2.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !cfm2.isModify())) { + continue; + } col++; } - if (rowcount == 0) continue; + if (rowcount == 0) { + continue; + } cfm2.beforeFirst(); ht.put("cus_list_" + subId, RecordSet.getString("formlabel")); cfm2.beforeFirst(); while (cfm2.next()) { - if (!cfm2.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !cfm2.isModify())) continue; + if (!cfm2.isUse() || (!isAdd && viewAttr == 2 && !canEdit && isSelf && !cfm2.isModify())) { + continue; + } int tmpviewattr = viewAttr; //创建表头 String fieldname = "customfield" + cfm2.getId() + "_" + subId; - if (isAdd) fieldname = "customfield_1_" + cfm2.getId() + "_" + subId; + if (isAdd) { + fieldname = "customfield_1_" + cfm2.getId() + "_" + subId; + } hrmFieldBean = new HrmFieldBean(); hrmFieldBean.setFieldid("" + cfm2.getId()); hrmFieldBean.setFieldname(fieldname); @@ -820,20 +843,22 @@ public class ExtendInfoBO { int fieldhtmltype = Util.getIntValue(cfm2.getHtmlType()); String fieldname = "customfield" + cfm2.getId() + "_" + subId; - if (isAdd) fieldname = "customfield_1_" + cfm2.getId() + "_" + subId; + if (isAdd) { + fieldname = "customfield_1_" + cfm2.getId() + "_" + subId; + } String fieldvalue = ""; if (!isAdd) { fieldvalue = Util.null2String(CustomFieldTreeManager.getMutiData("field" + fieldid)); } data.put(fieldname, fieldvalue); - if (cfm2.getHtmlType().equals("1") && cfm2.getType() == 1) { + if ("1".equals(cfm2.getHtmlType()) && cfm2.getType() == 1) { data.put(fieldname, TextUtil.toBase64ForMultilang(Util.null2String(fieldvalue))); - } else if (cfm2.getHtmlType().equals("3")) { + } else if ("3".equals(cfm2.getHtmlType())) { String fieldshowname = hfm.getFieldvalue(user, dmlurl, fieldid, fieldhtmltype, type, fieldvalue, 0); data.put(fieldname, fieldvalue); data.put(fieldname + "span", fieldshowname); - } else if (cfm2.getHtmlType().equals("4")) { - data.put(fieldname, fieldvalue.equals("1")); + } else if ("4".equals(cfm2.getHtmlType())) { + data.put(fieldname, "1".equals(fieldvalue)); } //只允许有权限的人删除明细行,没有权限的人只能修改不能删除 if (canEdit) { diff --git a/src/com/engine/organization/entity/job/vo/JobBrowserVO.java b/src/com/engine/organization/entity/job/vo/JobBrowserVO.java index 69da67a0..097850f3 100644 --- a/src/com/engine/organization/entity/job/vo/JobBrowserVO.java +++ b/src/com/engine/organization/entity/job/vo/JobBrowserVO.java @@ -41,12 +41,12 @@ public class JobBrowserVO { @OrganizationTableColumn(text = "岗位名称", width = "25%", column = "name") private String jobName; - @OrganizationTableColumn(text = "等级方案", width = "25%", column = "scheme_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSchemeName") - private String schemeName; - @OrganizationTableColumn(text = "职等", width = "25%", column = "level_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getLevelName") - private String levelName; - @OrganizationTableColumn(text = "职级", width = "25%", column = "grade_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getGradeName") - private String gradeName; - @OrganizationTableColumn(text = "岗位序列", width = "25%", column = "sequence_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSequenceName") - private String sequenceName; + //@OrganizationTableColumn(text = "等级方案", width = "25%", column = "scheme_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSchemeName") + //private String schemeName; + //@OrganizationTableColumn(text = "职等", width = "25%", column = "level_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getLevelName") + //private String levelName; + //@OrganizationTableColumn(text = "职级", width = "25%", column = "grade_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getGradeName") + //private String gradeName; + //@OrganizationTableColumn(text = "岗位序列", width = "25%", column = "sequence_id", transmethod = "com.engine.organization.transmethod.JobTransMethod.getSequenceName") + //private String sequenceName; } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 03b81838..3fa37c9f 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -468,7 +468,7 @@ from jcl_org_job t left join hrmjobtitles h on t.ec_jobTitle = h.id where delete_type = 0 - AND id IN + AND t.id IN #{id} diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index e293dca8..aa09aad6 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -274,17 +274,23 @@ public class DepartmentServiceImpl extends Service implements DepartmentService for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); - if (lsField.size() == 0) + if (lsField.size() == 0) { continue; - if (hfm.getGroupCount(lsField) == 0) + } + if (hfm.getGroupCount(lsField) == 0) { + continue; + } + if (!"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)))) { continue; - if (!"1".equals(Util.null2String(HrmFieldGroupComInfo.getIsShow(groupId)))) continue; + } String groupLabel = HrmFieldGroupComInfo.getLabel(groupId); itemList = new ArrayList<>(); for (Object o : lsField) { String fieldId = (String) o; String isUse = HrmFieldComInfo.getIsused(fieldId); - if (!"1".equals(isUse)) continue; + if (!"1".equals(isUse)) { + continue; + } String fieldName = HrmFieldComInfo.getFieldname(fieldId); String fieldLabel = HrmFieldComInfo.getLabel(fieldId); String fieldHtmlType = HrmFieldComInfo.getFieldhtmltype(fieldId); @@ -866,7 +872,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService String fieldId = (String) o; String fieldName = HrmFieldComInfo.getFieldname(fieldId); String isUse = HrmFieldComInfo.getIsused(fieldId); - if (!"1".equals(isUse)) continue; + if (!"1".equals(isUse)) { + continue; + } int tmpViewAttr = viewAttr; String rules = ""; String fieldLabel = HrmFieldComInfo.getLabel(fieldId); diff --git a/src/com/engine/organization/util/excel/ExcelSupport.java b/src/com/engine/organization/util/excel/ExcelSupport.java index 2d307995..63b0f7cf 100644 --- a/src/com/engine/organization/util/excel/ExcelSupport.java +++ b/src/com/engine/organization/util/excel/ExcelSupport.java @@ -20,7 +20,7 @@ import static org.apache.poi.ss.usermodel.CellType.STRING; public class ExcelSupport { - private static final String pattern = "yyyy-MM-dd HH:mm:ss"; + private static final String PATTERN = "yyyy-MM-dd HH:mm:ss"; //excel类型 public static final String EXCEL_TYPE_XLSX = "xlsx"; @@ -115,7 +115,7 @@ public class ExcelSupport { switch (cell.getCellType()) { case NUMERIC: // 数值类型 if (DateUtil.isCellDateFormatted(cell)) { - cellValue = getDateStr(cell.getDateCellValue(), pattern); + cellValue = getDateStr(cell.getDateCellValue(), PATTERN); } else { cell.setCellType(STRING); cellValue = cell.getStringCellValue(); diff --git a/src/com/engine/organization/util/relation/ResourceSyncUtil.java b/src/com/engine/organization/util/relation/ResourceSyncUtil.java index da831abb..0c013e2a 100644 --- a/src/com/engine/organization/util/relation/ResourceSyncUtil.java +++ b/src/com/engine/organization/util/relation/ResourceSyncUtil.java @@ -63,8 +63,8 @@ import java.util.Map; * @version: 1.0 */ public class ResourceSyncUtil { - private static final char separator = Util.getSeparator(); - private static final String today = DateUtil.getCurrentDate(); + private static final char SEPARATOR = Util.getSeparator(); + private static final String TODAY = DateUtil.getCurrentDate(); public static Map addResource(User user, Map params) { @@ -411,11 +411,11 @@ public class ResourceSyncUtil { } } workcode = CodeRuleManager.getCodeRuleManager().generateRuleCode(RuleCodeType.USER, subcmpanyid1, departmentid, jobtitle, workcode); - para = new StringBuilder("" + id + separator + workcode + separator + lastname + separator + sex + separator + resourceimageid + separator + - departmentid + separator + costcenterid + separator + jobtitle + separator + joblevel + separator + jobactivitydesc + separator + - managerid + separator + assistantid + separator + status + separator + locationid + separator + workroom + separator + telephone + - separator + mobile + separator + mobilecall + separator + fax + separator + jobcall + separator + subcmpanyid1 + separator + managerstr + - separator + accounttype + separator + belongto + separator + systemlanguage + separator + email + separator + dsporder + separator + mobileshowtype); + para = new StringBuilder("" + id + SEPARATOR + workcode + SEPARATOR + lastname + SEPARATOR + sex + SEPARATOR + resourceimageid + SEPARATOR + + departmentid + SEPARATOR + costcenterid + SEPARATOR + jobtitle + SEPARATOR + joblevel + SEPARATOR + jobactivitydesc + SEPARATOR + + managerid + SEPARATOR + assistantid + SEPARATOR + status + SEPARATOR + locationid + SEPARATOR + workroom + SEPARATOR + telephone + + SEPARATOR + mobile + SEPARATOR + mobilecall + SEPARATOR + fax + SEPARATOR + jobcall + SEPARATOR + subcmpanyid1 + SEPARATOR + managerstr + + SEPARATOR + accounttype + SEPARATOR + belongto + SEPARATOR + systemlanguage + SEPARATOR + email + SEPARATOR + dsporder + SEPARATOR + mobileshowtype); rst.executeProc("HrmResourceBasicInfo_Insert", para.toString()); if (Util.null2String(locationid).length() > 0) { @@ -446,7 +446,7 @@ public class ResourceSyncUtil { } } int userid = user.getUID(); - String userpara = "" + userid + separator + today; + String userpara = "" + userid + SEPARATOR + TODAY; para = new StringBuilder("" + id); for (int i = 0; i < 5; i++) { int idx = i; @@ -457,10 +457,10 @@ public class ResourceSyncUtil { String numberfield = "" + Util.getDoubleValue(Util.null2String(params.get("numberfield" + idx)), 0); String textfield = Util.null2String(params.get("textfield" + idx)); String tinyintfield = "" + Util.getIntValue(Util.null2String(params.get("tinyintfield" + idx)), 0); - para.append(separator).append(datefield).append(separator).append(numberfield).append(separator).append(textfield).append(separator).append(tinyintfield); + para.append(SEPARATOR).append(datefield).append(SEPARATOR).append(numberfield).append(SEPARATOR).append(textfield).append(SEPARATOR).append(tinyintfield); } rs.executeProc("HrmResourceDefine_Update", para.toString()); - rs.executeProc("HrmResource_CreateInfo", "" + id + separator + userpara + separator + userpara); + rs.executeProc("HrmResource_CreateInfo", "" + id + SEPARATOR + userpara + SEPARATOR + userpara); //421944 用户自定义隐私设置 @@ -492,7 +492,7 @@ public class ResourceSyncUtil { ResourceComInfo.addResourceInfoCache(id); SalaryManager.initResourceSalary(id); - para = new StringBuilder("" + id + separator + managerid + separator + departmentid + separator + subcmpanyid1 + separator + "0" + separator + managerstr); + para = new StringBuilder("" + id + SEPARATOR + managerid + SEPARATOR + departmentid + SEPARATOR + subcmpanyid1 + SEPARATOR + "0" + SEPARATOR + managerstr); rs.executeProc("HrmResource_Trigger_Insert", para.toString()); String sql_1 = ("insert into HrmInfoStatus (itemid,hrmid) values(1," + id + ")"); @@ -532,7 +532,7 @@ public class ResourceSyncUtil { SWFTitle = SystemEnv.getHtmlLabelName(15670, user.getLanguage()); SWFTitle += ":" + lastname; SWFTitle += "-" + CurrentUserName; - SWFTitle += "-" + today; + SWFTitle += "-" + TODAY; SWFRemark = "" + Util.fromScreen2(Subject, user.getLanguage()) + ""; SWFSubmiter = CurrentUser; SysRemindWorkflow.setPrjSysRemind(SWFTitle, 0, Util.getIntValue(SWFSubmiter), SWFAccepter, SWFRemark); @@ -575,7 +575,7 @@ public class ResourceSyncUtil { String homeaddress = Util.null2String(rs.getString("homeaddress")); String tempresidentnumber = Util.null2String(rs.getString("tempresidentnumber")); - para = new StringBuilder("" + id + separator + birthday + separator + folk + separator + nativeplace + separator + regresidentplace + separator + maritalstatus + separator + policy + separator + bememberdate + separator + bepartydate + separator + islabouunion + separator + educationlevel + separator + degree + separator + healthinfo + separator + height + separator + weight + separator + residentplace + separator + homeaddress + separator + tempresidentnumber + separator + certificatenum); + para = new StringBuilder("" + id + SEPARATOR + birthday + SEPARATOR + folk + SEPARATOR + nativeplace + SEPARATOR + regresidentplace + SEPARATOR + maritalstatus + SEPARATOR + policy + SEPARATOR + bememberdate + SEPARATOR + bepartydate + SEPARATOR + islabouunion + SEPARATOR + educationlevel + SEPARATOR + degree + SEPARATOR + healthinfo + SEPARATOR + height + SEPARATOR + weight + SEPARATOR + residentplace + SEPARATOR + homeaddress + SEPARATOR + tempresidentnumber + SEPARATOR + certificatenum); RecordSet rs1 = new RecordSet(); rs1.executeProc("HrmResourcePersonalInfo_Insert", para.toString()); } @@ -810,12 +810,12 @@ public class ResourceSyncUtil { if (StringUtils.isNotEmpty(workcode)) { CodeRuleManager.getCodeRuleManager().checkReservedIfDel(RuleCodeType.USER.getValue(), workcode); } - para = new StringBuilder("" + id + separator + workcode + separator + lastname + separator + sex + separator + resourceimageid - + separator + departmentid + separator + costcenterid + separator + jobtitle + separator + joblevel - + separator + jobactivitydesc + separator + managerid + separator + assistantid + separator + status - + separator + locationid + separator + workroom + separator + telephone + separator + mobile - + separator + mobilecall + separator + fax + separator + jobcall + separator + systemlanguage - + separator + accounttype + separator + belongto + separator + email + separator + dsporder + separator + mobileshowtype); + para = new StringBuilder("" + id + SEPARATOR + workcode + SEPARATOR + lastname + SEPARATOR + sex + SEPARATOR + resourceimageid + + SEPARATOR + departmentid + SEPARATOR + costcenterid + SEPARATOR + jobtitle + SEPARATOR + joblevel + + SEPARATOR + jobactivitydesc + SEPARATOR + managerid + SEPARATOR + assistantid + SEPARATOR + status + + SEPARATOR + locationid + SEPARATOR + workroom + SEPARATOR + telephone + SEPARATOR + mobile + + SEPARATOR + mobilecall + SEPARATOR + fax + SEPARATOR + jobcall + SEPARATOR + systemlanguage + + SEPARATOR + accounttype + SEPARATOR + belongto + SEPARATOR + email + SEPARATOR + dsporder + SEPARATOR + mobileshowtype); RecordSetTrans rst = new RecordSetTrans(); rst.setAutoCommit(false); try { @@ -867,8 +867,8 @@ public class ResourceSyncUtil { } int userid = user.getUID(); - String userpara = "" + userid + separator + today; - rs.executeProc("HrmResource_ModInfo", "" + id + separator + userpara); + String userpara = "" + userid + SEPARATOR + TODAY; + rs.executeProc("HrmResource_ModInfo", "" + id + SEPARATOR + userpara); String managerstr = ""; if (!id.equals(managerid)) { sql = "select managerstr from HrmResource where id = " + Util.getIntValue(managerid); @@ -893,7 +893,7 @@ public class ResourceSyncUtil { rst = new RecordSetTrans(); rst.setAutoCommit(false); try { - para = new StringBuilder("" + id + separator + managerstr); + para = new StringBuilder("" + id + SEPARATOR + managerstr); rst.executeProc("HrmResource_UpdateManagerStr", para.toString()); rst.commit(); } catch (Exception e) { @@ -935,7 +935,7 @@ public class ResourceSyncUtil { rst = new RecordSetTrans(); rst.setAutoCommit(false); try { - para = new StringBuilder(resourceid + separator + nowmanagerstr2); + para = new StringBuilder(resourceid + SEPARATOR + nowmanagerstr2); rst.executeProc("HrmResource_UpdateManagerStr", para.toString()); rst.commit(); ResourceComInfo.updateResourceInfoCache(resourceid); //更新缓存 @@ -947,7 +947,7 @@ public class ResourceSyncUtil { } String subcmpanyid1 = DepartmentComInfo.getSubcompanyid1(departmentid); - para = new StringBuilder("" + id + separator + subcmpanyid1); + para = new StringBuilder("" + id + SEPARATOR + subcmpanyid1); rst = new RecordSetTrans(); rst.setAutoCommit(false); try { @@ -980,7 +980,7 @@ public class ResourceSyncUtil { String numberfield = "" + Util.getDoubleValue(Util.null2String(params.get("numberfield" + idx)), 0); String textfield = Util.null2String(params.get("textfield" + idx)); String tinyintfield = "" + Util.getIntValue(Util.null2String(params.get("tinyintfield" + idx)), 0); - para.append(separator).append(datefield).append(separator).append(numberfield).append(separator).append(textfield).append(separator).append(tinyintfield); + para.append(SEPARATOR).append(datefield).append(SEPARATOR).append(numberfield).append(SEPARATOR).append(textfield).append(SEPARATOR).append(tinyintfield); } rs.executeProc("HrmResourceDefine_Update", para.toString()); diff --git a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java index 8873e792..cc484069 100644 --- a/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java +++ b/src/com/engine/organization/util/saveimport/hrmimport/HrmImportProcessE9.java @@ -622,7 +622,7 @@ public class HrmImportProcessE9 extends BaseBean { //职级 if (isInteger(vo.getJoblevel())) { - int joblevel = vo.getJoblevel().equals("") ? 0 : Integer.parseInt(vo.getJoblevel()); + int joblevel = "".equals(vo.getJoblevel()) ? 0 : Integer.parseInt(vo.getJoblevel()); hrm.setJoblevel((short) joblevel); } else { hrm.setJoblevel((short) 0); @@ -975,8 +975,9 @@ public class HrmImportProcessE9 extends BaseBean { jobtitle = resourcecominfo.getJobTitle(hrmId); jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); jobactivityname = jobActivitiesComInfo.getJobActivitiesname(jobactivityid); - } else + } else { jobactivityname = vo.getJobactivityid(); + } if (vo.getJobgroupid() == null) { jobtitle = resourcecominfo.getJobTitle(hrmId); jobactivityid = jobTitlesComInfo.getJobactivityid(jobtitle); @@ -986,10 +987,12 @@ public class HrmImportProcessE9 extends BaseBean { jobgroupname = vo.getJobgroupid(); } int jobtitleid = getJobTitles(vo.getJobtitle(), jobactivityname, jobgroupname); - hrm.setJobtitle(new Integer(jobtitleid)); + hrm.setJobtitle(jobtitleid); } - if (Util.getIntValue(hrmId) < 0) continue; + if (Util.getIntValue(hrmId) < 0) { + continue; + } //上级id String managerstr = ""; //所有上级 @@ -1189,7 +1192,7 @@ public class HrmImportProcessE9 extends BaseBean { //职级 if (isInteger(vo.getJoblevel())) { - int joblevel = vo.getJoblevel().equals("") ? 0 : Integer.parseInt(vo.getJoblevel()); + int joblevel = "".equals(vo.getJoblevel()) ? 0 : Integer.parseInt(vo.getJoblevel()); hrm.setJoblevel((short) joblevel); } @@ -2115,7 +2118,7 @@ public class HrmImportProcessE9 extends BaseBean { /* 获取jobgroupid 职务类别 */ String selSql = "select id from HrmJobGroups where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { selSql = "select id from HrmJobGroups where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobgroupname))," + userlanguage + ")))='" + jobgroupname + "'"; } @@ -2135,7 +2138,7 @@ public class HrmImportProcessE9 extends BaseBean { /* 获取jobactivityid 职务 */ selSql = "select id from HrmJobActivities where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { selSql = "select id from HrmJobActivities where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobactivityname))," + userlanguage + ")))='" + jobactivityname + "' and jobgroupid=" + jobgroupid; } @@ -2150,7 +2153,7 @@ public class HrmImportProcessE9 extends BaseBean { /*获取岗位id*/ selSql = "select id from HrmJobTitles where ltrim(rtrim(dbo.convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; - if (recordSet.getDBType().equalsIgnoreCase("oracle") || DialectUtil.isMySql(recordSet.getDBType()) || recordSet.getDBType().equalsIgnoreCase("postgresql")) { + if ("oracle".equalsIgnoreCase(recordSet.getDBType()) || DialectUtil.isMySql(recordSet.getDBType()) || "postgresql".equalsIgnoreCase(recordSet.getDBType())) { selSql = "select id from HrmJobTitles where ltrim(rtrim(convToMultiLang(ltrim(rtrim(jobtitlemark))," + userlanguage + ")))='" + jobtitlename + "' and jobactivityid=" + jobactivityid; } diff --git a/src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java b/src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java index 1dcc33e0..c7beb66d 100644 --- a/src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java +++ b/src/weaver/interfaces/organization/cronjob/JobAndPlanCron.java @@ -13,9 +13,7 @@ import weaver.general.Util; import weaver.interfaces.schedule.BaseCronJob; import java.sql.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * 定时任务刷新在岗数、编制数 @@ -91,7 +89,7 @@ public class JobAndPlanCron extends BaseCronJob { JclOrgMap jclOrgMap = getJclOrgMapMapper().getSumPlanAndJobByFParentId(date, fparentid); getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), null, date); - if (fparentid.equals("-1")) { + if ("-1".equals(fparentid)) { countJobAndPlans(ftype, Integer.parseInt(fparentid), String.valueOf(currentDate)); } } From 4d8948724e456efaee39bdf740ab588cc6ed0ca1 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Thu, 15 Dec 2022 16:58:02 +0800 Subject: [PATCH 078/203] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/service/JobService.java | 5 +++++ .../organization/service/impl/JobServiceImpl.java | 7 +++++++ src/com/engine/organization/web/JobController.java | 13 +++++++++++++ src/com/engine/organization/wrapper/JobWrapper.java | 4 ++++ 4 files changed, 29 insertions(+) diff --git a/src/com/engine/organization/service/JobService.java b/src/com/engine/organization/service/JobService.java index 799f1ea0..b18793e2 100644 --- a/src/com/engine/organization/service/JobService.java +++ b/src/com/engine/organization/service/JobService.java @@ -117,4 +117,9 @@ public interface JobService { * @return */ int mergeJob(JobMergeParam mergeParam); + + /** + * 刷新岗位数据 + */ + void refresh(); } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 8a9a80c7..a426d0fc 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -190,9 +190,11 @@ public class JobServiceImpl extends Service implements JobService { ArrayList rightMenuList = new ArrayList<>(); // 批量删除 topMenuList.add(MenuBtn.topMenu_batchDelete()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("refresh").menuIcon("icon-coms-Refresh").menuName("新增").type("BTN_REFRESH").build()); btnDatas.put("topMenu", topMenuList); // 日志 rightMenuList.add(MenuBtn.rightMenu_btnLog()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("refresh").menuIcon("icon-coms-Refresh").menuName("刷新").type("BTN_REFRESH").build()); btnDatas.put("rightMenu", rightMenuList); return btnDatas; } @@ -563,6 +565,11 @@ public class JobServiceImpl extends Service implements JobService { return updateCount; } + @Override + public void refresh() { + + } + void recursionMergeJob(List jobs, Integer ecCompany, Integer ecDepartment, Long parentJob) { for (JobPO job : jobs) { diff --git a/src/com/engine/organization/web/JobController.java b/src/com/engine/organization/web/JobController.java index 8f58ef52..5235a96f 100644 --- a/src/com/engine/organization/web/JobController.java +++ b/src/com/engine/organization/web/JobController.java @@ -232,6 +232,19 @@ public class JobController { } } + @GET + @Path("/refresh") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult refresh(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + getJobWrapper(user).refresh(); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + /** * 高级搜索条件 * diff --git a/src/com/engine/organization/wrapper/JobWrapper.java b/src/com/engine/organization/wrapper/JobWrapper.java index 6b3d023b..826fea4c 100644 --- a/src/com/engine/organization/wrapper/JobWrapper.java +++ b/src/com/engine/organization/wrapper/JobWrapper.java @@ -231,4 +231,8 @@ public class JobWrapper extends OrganizationWrapper { return mergeJob; } + + public void refresh() { + getJobService(user).refresh(); + } } From 41056007709926a7a44d0d0f440678af0fa9cc22 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Thu, 15 Dec 2022 18:56:25 +0800 Subject: [PATCH 079/203] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/po/ResourcePO.java | 29 ++++++++++++++++++ .../organization/mapper/job/JobMapper.java | 3 +- .../organization/mapper/job/JobMapper.xml | 23 ++++++++++++++ .../mapper/resource/HrmResourceMapper.java | 16 ++++++++++ .../mapper/resource/HrmResourceMapper.xml | 17 +++++++++++ .../mapper/resource/ResourceMapper.java | 2 ++ .../service/impl/JobServiceImpl.java | 30 ++++++++++++++++++- 7 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 src/com/engine/organization/entity/hrmresource/po/ResourcePO.java create mode 100644 src/com/engine/organization/mapper/resource/HrmResourceMapper.java create mode 100644 src/com/engine/organization/mapper/resource/HrmResourceMapper.xml diff --git a/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java b/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java new file mode 100644 index 00000000..b55c8cdb --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java @@ -0,0 +1,29 @@ +package com.engine.organization.entity.hrmresource.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/15 + * @Version V1.0 + **/ + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ResourcePO { + + private Long id; + + private Integer subcompanyid1; + + private Integer departmentid; + + private Integer jobtitle; + +} diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 3663058c..cb45b39e 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -1,5 +1,6 @@ package com.engine.organization.mapper.job; +import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; import org.apache.ibatis.annotations.Param; @@ -141,5 +142,5 @@ public interface JobMapper { int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") Integer ecCompany); - + int selectByConditions(@Param("resourcePO") ResourcePO resourcePO); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 3fa37c9f..6e268409 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -8,6 +8,7 @@ + @@ -104,6 +105,9 @@ ec_department, + + ec_jobTitle, + forbidden_tag, @@ -155,6 +159,9 @@ #{ecDepartment}, + + #{ecJobTitle}, + 0, @@ -214,6 +221,9 @@ ec_department, + + ec_jobTitle, + forbidden_tag, @@ -265,6 +275,9 @@ #{ecDepartment}, + + #{ecJobTitle}, + 0, @@ -450,6 +463,14 @@ select max(show_order) from jcl_org_job + + + + + + update jcl_org_job diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java new file mode 100644 index 00000000..61d85294 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -0,0 +1,16 @@ +package com.engine.organization.mapper.resource; + +import com.engine.organization.entity.hrmresource.po.ResourcePO; + +import java.util.List; + +/** + * @Author weaver_cl + * @Description: + * @Date 2022/12/15 + * @Version V1.0 + **/ +public interface HrmResourceMapper { + + List selectFilterDatas(); +} diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml new file mode 100644 index 00000000..438baad3 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/ResourceMapper.java b/src/com/engine/organization/mapper/resource/ResourceMapper.java index ac130ba5..3883e6fd 100644 --- a/src/com/engine/organization/mapper/resource/ResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/ResourceMapper.java @@ -37,4 +37,6 @@ public interface ResourceMapper { * @return */ List getIdByKeyField(@Param("keyField") String keyField, @Param("keyFieldValue") String keyFieldValue); + + } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index a426d0fc..e06337d5 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -20,6 +20,7 @@ import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.employee.vo.EmployeeTableVO; import com.engine.organization.entity.extend.po.ExtendTitlePO; +import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.param.JobMergeParam; @@ -28,6 +29,7 @@ import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.enums.DeleteTypeEnum; import com.engine.organization.exception.OrganizationRunTimeException; import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; @@ -36,6 +38,8 @@ import com.engine.organization.mapper.extend.ExtDTMapper; import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobMapper; +import com.engine.organization.mapper.resource.HrmResourceMapper; +import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; @@ -121,6 +125,10 @@ public class JobServiceImpl extends Service implements JobService { return ServiceUtil.getService(ExtServiceImpl.class, user); } + private HrmResourceMapper getHrmResourceMapper() { + return MapperProxyFactory.getProxy(HrmResourceMapper.class); + } + @@ -190,7 +198,7 @@ public class JobServiceImpl extends Service implements JobService { ArrayList rightMenuList = new ArrayList<>(); // 批量删除 topMenuList.add(MenuBtn.topMenu_batchDelete()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("refresh").menuIcon("icon-coms-Refresh").menuName("新增").type("BTN_REFRESH").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("refresh").menuIcon("icon-coms-Refresh").menuName("刷新").type("BTN_REFRESH").build()); btnDatas.put("topMenu", topMenuList); // 日志 rightMenuList.add(MenuBtn.rightMenu_btnLog()); @@ -567,6 +575,26 @@ public class JobServiceImpl extends Service implements JobService { @Override public void refresh() { + //1.人员表查询 + List resourcePOS = getHrmResourceMapper().selectFilterDatas(); + //2.数据过滤 + //3.数据插入 + resourcePOS.forEach(resourcePO -> { + if (Objects.nonNull(resourcePO)) { + int count = getJobMapper().selectByConditions(resourcePO); + if (count == 0) { + JobPO jobPO = JobPO.builder() + .ecCompany(resourcePO.getSubcompanyid1()) + .ecDepartment(resourcePO.getDepartmentid()) + .ecJobTitle(resourcePO.getJobtitle()) + .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) + .createTime(new Date()) + .updateTime(new Date()) + .build(); + getJobMapper().insertIgnoreNull(jobPO); + } + } + }); } From faaed265fee836859a0a5b8a1282e807ab8a1229 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 15 Dec 2022 18:57:32 +0800 Subject: [PATCH 080/203] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/VersionData.java | 15 +++ .../mapper/version/CompanyVersionMapper.java | 14 ++- .../mapper/version/CompanyVersionMapper.xml | 43 +++++++-- .../impl/VersionManageServiceImpl.java | 95 ++++++++++++++----- 4 files changed, 136 insertions(+), 31 deletions(-) create mode 100644 src/com/engine/organization/entity/version/VersionData.java diff --git a/src/com/engine/organization/entity/version/VersionData.java b/src/com/engine/organization/entity/version/VersionData.java new file mode 100644 index 00000000..a6d31888 --- /dev/null +++ b/src/com/engine/organization/entity/version/VersionData.java @@ -0,0 +1,15 @@ +package com.engine.organization.entity.version; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class VersionData { + private String fieldId; + private String fieldValue; +} diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java index c35b2bda..f13386ee 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -70,5 +70,17 @@ public interface CompanyVersionMapper { /** * 获取分部版本记录 */ - List getSubComVersionList(@Param("operateName") String operateName,@Param("operateTime") String operateTime,@Param("subComId") String subComId,@Param("id") String id); + List getSubComVersionList(@Param("subComId") String subComId,@Param("version") String version); + + /** + * 获取部门版本记录 + */ + List getDeptVersionList(@Param("departmentid") String departmentid,@Param("version") String version); + + + /** + * 获取人员版本记录 + */ + List getResourceVersionList(@Param("departmentid") String departmentid,@Param("version") String version); + } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 0e83d20e..db94f366 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -264,21 +264,48 @@ where id=#{id} - select id,subComId,subCompanyDesc,subCompanyCode,subCompanyName,supSubComId,showOrder,canceled, description,operator,version,operate_time as operateTime from HRMSUBCOMPANY_VERSION - - and operator = #{operateName} - and subComId = #{subComId} - - and convert(varchar(100),operate_time,23) = #{operateTime} + + and version like #{version} + + + ORDER BY VERSION ASC + + + select * from jcl_org_map where ftype = #{fType} AND FDATEBEGIN <= #{currentDate} AND FDATEEND >= #{currentDate} + + + + + delete from jcl_org_map where fdatebegin = #{currentDate} + + + + update jcl_org_map + + fdateend=#{yesterday}, + + where fdateend > #{currentDate} + + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg, + fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fisvitual,fdatebegin,fdateend) + select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, + c.id,c.jobtitlename,null,null, isnull( b.id, '' ) +200000000,b.id, + 0,convert(varchar(100),getDate(),23),'2099-12-31' + from hrmresource a + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle + left join HrmJobTitles c on b.ec_jobTitle = c.id + where a.status < 4 + + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname, + fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+200000000,3,a.id,g.uuid,0,'行政维度',a.job_no,g.jobtitlename, + ec_department+100000000, + ec_department, + isnull(e.fcnt,0),isnull(f.fcnt,0),0,convert(varchar(100),getDate(),23),'2099-12-31' + from JCL_ORG_job as a + left join (select job_id,sum(isnull(staff_num,0)) fcnt from JCL_ORG_STAFF + where plan_id in (select id from JCL_ORG_STAFFPLAN + where time_start <= convert(varchar(100),getDate(),23) and time_end > convert(varchar(100),getDate(),23)) and delete_type=0 + group by job_id) e on a.id=e.job_id + left join (select jobtitle,count(1) fcnt from hrmresource group by jobtitle) f + on f.JOBTITLE=a.id + left join HrmJobTitles g on a.ec_jobTitle = g.id + where isnull(a.delete_type,0) <> 1 and isnull(a.forbidden_tag,0) <> 1 + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/OrgChartService.java b/src/com/engine/organization/service/OrgChartService.java index 45ed7ed5..48cd871a 100644 --- a/src/com/engine/organization/service/OrgChartService.java +++ b/src/com/engine/organization/service/OrgChartService.java @@ -21,4 +21,6 @@ public interface OrgChartService { Map asyncCompanyData(Map request2Map, User user); + Map synchronousData(Map request2Map, User user); + } diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 24c5cbf4..57e0725a 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -3,12 +3,17 @@ package com.engine.organization.service.impl; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import com.engine.core.impl.Service; +import com.engine.organization.entity.map.JclOrgMap; import com.engine.organization.entity.scheme.po.GradePO; import com.engine.organization.entity.scheme.po.LevelPO; +import com.engine.organization.entity.staff.po.StaffPO; +import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; +import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.service.OrgChartService; import com.engine.organization.util.HasRightUtil; +import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; @@ -497,6 +502,36 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { }); } + private JclOrgMapper getJclOrgMapMapper() { + return MapperProxyFactory.getProxy(JclOrgMapper.class); + } + private StaffMapper getStaffMapper() { + return MapperProxyFactory.getProxy(StaffMapper.class); + } + @Override + public Map synchronousData(Map request2Map, User user) { + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + java.sql.Date date = new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime()); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + Calendar calendar = weaver.common.DateUtil.addDay(cal, -1); + java.sql.Date time = new java.sql.Date(calendar.getTime().getTime()); + // 自下向上刷新 + getJclOrgMapMapper().deleteAllMap(date); + getJclOrgMapMapper().updateAllMap(date,time); + //同步人员信息 + getJclOrgMapMapper().insertResToMap(); + //同步岗位信息 + JclOrgMap jclOrgMap = new JclOrgMap(); + +// StaffPO staffPO = getStaffMapper().getStaffsByParamId(Integer.parseInt(type), null, null, String.valueOf(id)); + + + + + return null; + } + static class OrgSelectItem { private String id; private String fnumber; diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 550910f0..9b244ccd 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -51,17 +51,17 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe case 1: paramMap = getCompanyVersionMapper().getHrmSubComp(id); saveSubComToVersion(paramMap, user); - saveSubComToMap(paramMap); +// saveSubComToMap(paramMap); break; case 2: paramMap = getCompanyVersionMapper().getHrmDepartment(id); saveDeptToVersion(paramMap, user); - saveDeptToMap(paramMap); +// saveDeptToMap(paramMap); break; case 4: paramMap = getCompanyVersionMapper().getHrmResource(id); saveHrmToVersion(paramMap, user); - saveHrmToMap(paramMap); +// saveHrmToMap(paramMap); break; } diff --git a/src/com/engine/organization/web/OrgChartController.java b/src/com/engine/organization/web/OrgChartController.java index d63eb0fc..abb3166e 100644 --- a/src/com/engine/organization/web/OrgChartController.java +++ b/src/com/engine/organization/web/OrgChartController.java @@ -3,6 +3,7 @@ package com.engine.organization.web; import com.alibaba.fastjson.JSONObject; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; +import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.OrgChartWrapper; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -143,4 +144,21 @@ public class OrgChartController { return JSONObject.toJSONString(apidatas); } + /** + * 异步组织数据 + */ + @GET + @Path("/synchronousData") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult synchronousData(@Context HttpServletRequest request, @Context HttpServletResponse + response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map params = ParamUtil.request2Map(request); + return ReturnResult.successed(getOrgChartWrapper(user).synchronousData(params)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + } diff --git a/src/com/engine/organization/wrapper/OrgChartWrapper.java b/src/com/engine/organization/wrapper/OrgChartWrapper.java index 8ec94b5d..bf700a4c 100644 --- a/src/com/engine/organization/wrapper/OrgChartWrapper.java +++ b/src/com/engine/organization/wrapper/OrgChartWrapper.java @@ -40,4 +40,8 @@ public class OrgChartWrapper extends Service { return getOrgChartService(user).asyncCompanyData(request2Map, user); } + public Map synchronousData(Map request2Map) { + return getOrgChartService(user).synchronousData(request2Map, user); + } + } From 78dfc87f6114cab2baefc665f0f399b6ce1fb3da Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 16 Dec 2022 15:58:20 +0800 Subject: [PATCH 087/203] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/jclorgmap/JclOrgMapper.java | 9 ++++ .../mapper/jclorgmap/JclOrgMapper.xml | 41 +++++++++++++-- .../organization/service/OrgChartService.java | 2 +- .../service/impl/OrgChartServiceImpl.java | 50 +++++++++++++++---- .../organization/wrapper/OrgChartWrapper.java | 2 +- 5 files changed, 90 insertions(+), 14 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java index a5f9c483..2a1b839a 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java @@ -35,4 +35,13 @@ public interface JclOrgMapper { int updateAllMap(@Param("currentDate") Date currentDate, @Param("yesterday") Date yesterday); int insertResToMap(); + + int insertJobToMap(); + + int insertDeptToMap(); + + int insertSubComToMap(); + + int insertComToMap(); + } diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index 379e646a..c68bbd7b 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -118,11 +118,46 @@ where time_start <= convert(varchar(100),getDate(),23) and time_end > convert(varchar(100),getDate(),23)) and delete_type=0 group by job_id) e on a.id=e.job_id left join (select jobtitle,count(1) fcnt from hrmresource group by jobtitle) f - on f.JOBTITLE=a.id + on f.JOBTITLE=a.ec_jobTitle left join HrmJobTitles g on a.ec_jobTitle = g.id where isnull(a.delete_type,0) <> 1 and isnull(a.forbidden_tag,0) <> 1 - - + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,cast(a.BMFZR as varchar(10)),b.messagerurl, + b.lastname,b.jobtitle,c.jobtitlemark,null,null, + (case isnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), + (case isnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), + 0,0,0,convert(varchar(100),getDate(),23),'2099-12-31' + from + HrmDepartment as a + left join hrmresource as b on cast(a.BMFZR as varchar(10))=cast(b.ID as varchar(10)) + left join hrmjobtitles as c on b.JOBTITLE=c.id + where isnull(a.canceled,0) <> 1 + + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id,1,a.id,a.uuid,0,'行政维度', '',a.subcompanyname,null,'', + '',NULL,'','','',isnull(a.supsubcomid,0),isnull(a.supsubcomid,0), + 0,0,0,convert(varchar(100),getDate(),23),'2099-12-31' from hrmsubcompany as a + where isnull(a.canceled,0) <> 1 + + + + INSERT INTO jcl_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname, + fleader, fleaderimg, fleadername, fleaderjobid, fleaderjob, fparentid,fobjparentid, + fplan, fonjob, fisvitual, fdatebegin, fdateend) + SELECT 0, 0, 0, uuid, 0, '行政维度', '00', companyname, + 0, NULL, NULL, 0, NULL, -1, 0, + 0, 0, 0, convert(varchar(100),getDate(),23), '2099-12-31' FROM hrmcompany + \ No newline at end of file diff --git a/src/com/engine/organization/service/OrgChartService.java b/src/com/engine/organization/service/OrgChartService.java index 48cd871a..0a4042b0 100644 --- a/src/com/engine/organization/service/OrgChartService.java +++ b/src/com/engine/organization/service/OrgChartService.java @@ -21,6 +21,6 @@ public interface OrgChartService { Map asyncCompanyData(Map request2Map, User user); - Map synchronousData(Map request2Map, User user); + String synchronousData(Map request2Map, User user); } diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 57e0725a..317ec6d9 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -509,7 +509,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { return MapperProxyFactory.getProxy(StaffMapper.class); } @Override - public Map synchronousData(Map request2Map, User user) { + public String synchronousData(Map request2Map, User user) { String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); java.sql.Date date = new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime()); Calendar cal = Calendar.getInstance(); @@ -522,16 +522,48 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { //同步人员信息 getJclOrgMapMapper().insertResToMap(); //同步岗位信息 - JclOrgMap jclOrgMap = new JclOrgMap(); - -// StaffPO staffPO = getStaffMapper().getStaffsByParamId(Integer.parseInt(type), null, null, String.valueOf(id)); - - - - - return null; + getJclOrgMapMapper().insertJobToMap(); + //同步部门信息 + getJclOrgMapMapper().insertDeptToMap(); + //同步分部信息 + getJclOrgMapMapper().insertSubComToMap(); + //同步集团信息 + getJclOrgMapMapper().insertComToMap(); + + //刷新在岗数、编制数(从岗位向上刷,岗位不需处理) + List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType("3",date); + for (JclOrgMap jclOrgMap : jclOrgMaps){ + int id = jclOrgMap.getId(); + countJobAndPlans("3",id,currentDate); + } + return "同步成功"; } + /** + * 刷新在岗、编制数 + */ + void countJobAndPlans(String type,int id,String currentDate) { + java.sql.Date date = new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime()); + RecordSet rs = new RecordSet(); + //处理上级 + String sql = "select fparentid from jcl_org_map where ftype=? and id=? and fdateend>?"; + String typeSql = "select ftype from jcl_org_map where id=? and fdateend>?"; + rs.executeQuery(sql, type, id, currentDate); + String fparentid = null; + String ftype = null; + if (rs.next()) { + fparentid = rs.getString("fparentid"); + rs.executeQuery(typeSql, fparentid, currentDate); + if (rs.next()) { + ftype = rs.getString("ftype"); + } + } + JclOrgMap jclOrgMap = getJclOrgMapMapper().getSumPlanAndJobByFParentId(date, fparentid); + getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), jclOrgMap.getFOnJob(), date); + if (!"-1".equals(fparentid)) { + countJobAndPlans(ftype, Integer.parseInt(fparentid), String.valueOf(currentDate)); + } + } static class OrgSelectItem { private String id; private String fnumber; diff --git a/src/com/engine/organization/wrapper/OrgChartWrapper.java b/src/com/engine/organization/wrapper/OrgChartWrapper.java index bf700a4c..3cc23ad0 100644 --- a/src/com/engine/organization/wrapper/OrgChartWrapper.java +++ b/src/com/engine/organization/wrapper/OrgChartWrapper.java @@ -40,7 +40,7 @@ public class OrgChartWrapper extends Service { return getOrgChartService(user).asyncCompanyData(request2Map, user); } - public Map synchronousData(Map request2Map) { + public String synchronousData(Map request2Map) { return getOrgChartService(user).synchronousData(request2Map, user); } From b9cfe839e7086e618e181ea24f98079607ec2bb4 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Dec 2022 16:21:54 +0800 Subject: [PATCH 088/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/job/bo/JobBO.java | 9 + .../organization/mapper/job/JobMapper.java | 2 + .../organization/mapper/job/JobMapper.xml | 13 +- .../service/impl/CompServiceImpl.java | 16 +- .../service/impl/DepartmentServiceImpl.java | 20 +- .../impl/HrmPersonnelCardServiceImpl.java | 5 +- .../service/impl/JobServiceImpl.java | 5 +- .../service/impl/StaffServiceImpl.java | 11 +- .../thread/StaffTriggerRunnable.java | 376 +++++++++--------- .../util/saveimport/ResourceImport.java | 8 +- 10 files changed, 243 insertions(+), 222 deletions(-) diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index 8ccf2a27..9b31a888 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -9,6 +9,7 @@ import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.transmethod.JobTransMethod; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.collections.CollectionUtils; +import weaver.general.Util; import weaver.hrm.job.JobTitlesComInfo; import java.util.*; @@ -93,11 +94,19 @@ public class JobBO { //.forbiddenTag(e.getForbiddenTag()) .isUsed(0) .build()).collect(Collectors.toList()); + List usedIds = MapperProxyFactory.getProxy(JobMapper.class).listUsedId(); Map> collects = dtoList.stream().filter(item -> null != item.getParentJob() && 0 != item.getParentJob()).collect(Collectors.groupingBy(JobListDTO::getParentJob)); return dtoList.stream().peek(e -> { List childList = collects.get(e.getId()); if (CollectionUtils.isNotEmpty(childList)) { e.setChildren(childList); + e.setIsUsed(1); + }else{ + if (usedIds.contains(Util.null2String(e.getId()))) { + e.setIsUsed(1); + } else { + e.setIsUsed(0); + } } }).filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index cb45b39e..18d36ee3 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -143,4 +143,6 @@ public interface JobMapper { int updateJobCompany(@Param("ids") Collection ids, @Param("parentCompany") Integer parentCompany, @Param("ecCompany") Integer ecCompany); int selectByConditions(@Param("resourcePO") ResourcePO resourcePO); + + List listUsedId(); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 6e268409..58ac4e88 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -467,8 +467,10 @@ - + diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index ea7013fb..ad00de37 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -135,14 +135,16 @@ public class CompServiceImpl extends Service implements CompService { public Long updateComp(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Integer ecCompanyId = Integer.parseInt(Util.null2String(params.get("id"))); - Integer supSubComId = Integer.parseInt(Util.null2String(params.get("supsubcomid"))); - Set disableIds = new HashSet<>(); - disableIds.add(ecCompanyId); - List compPOS = getCompMapper().listChild(Collections.singletonList(ecCompanyId)); - if (CollectionUtils.isNotEmpty(compPOS)) { - addDisableIds(disableIds, compPOS); + String supSubComId = Util.null2String(params.get("supsubcomid")); + if (StringUtils.isNotBlank(supSubComId)) { + Set disableIds = new HashSet<>(); + disableIds.add(ecCompanyId); + List compPOS = getCompMapper().listChild(Collections.singletonList(ecCompanyId)); + if (CollectionUtils.isNotEmpty(compPOS)) { + addDisableIds(disableIds, compPOS); + } + OrganizationAssert.isFalse(disableIds.contains(Integer.parseInt(supSubComId)), "上级分部不能选择分部本身及其下级分部"); } - OrganizationAssert.isFalse(disableIds.contains(supSubComId), "上级分部不能选择分部本身及其下级分部"); new OrganizationSyncEc(user, LogModuleNameEnum.COMPANY, OperateTypeEnum.UPDATE, params).sync(); return (long) ecCompanyId; diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index aa09aad6..0e80e7ff 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -194,16 +194,18 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public Long updateForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Integer ecDepartmentId = Integer.parseInt(Util.null2String(params.get("id"))); - Integer supDepId = Integer.parseInt(Util.null2String(params.get("supdepid"))); - // 不可选择合并的数据,本身及子部门 - Set disableIds = new HashSet<>(); - // 添加选择部门本身 - disableIds.add(ecDepartmentId); - List deptListByPId = getDepartmentMapper().getDeptListByPId(ecDepartmentId); - if (CollectionUtils.isNotEmpty(deptListByPId)) { - addDisableIds(disableIds, deptListByPId); + String supDepId = Util.null2String(params.get("supdepid")); + if (StringUtils.isNotBlank(supDepId)) { + // 不可选择合并的数据,本身及子部门 + Set disableIds = new HashSet<>(); + // 添加选择部门本身 + disableIds.add(ecDepartmentId); + List deptListByPId = getDepartmentMapper().getDeptListByPId(ecDepartmentId); + if (CollectionUtils.isNotEmpty(deptListByPId)) { + addDisableIds(disableIds, deptListByPId); + } + OrganizationAssert.isFalse(disableIds.contains(Integer.parseInt(supDepId)), "上级部门不能选择部门本身及其下级部门"); } - OrganizationAssert.isFalse(disableIds.contains(supDepId), "上级部门不能选择部门本身及其下级部门"); new OrganizationSyncEc(user, LogModuleNameEnum.DEPARTMENT, OperateTypeEnum.UPDATE, params).sync(); return (long) ecDepartmentId; diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index 20f566af..404ffc05 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -183,6 +183,9 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel String fieldName = hfm.getFieldname(); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); String fieldLabel = Util.toScreen(SystemEnv.getHtmlLabelName(hrmFieldConf.getInt("fieldlabel"), user.getLanguage()), user.getLanguage()); + if ("resourceimageid".equals(fieldName) || "messagerurl".equals(fieldName) || "职等职级".equals(fieldLabel)) { + continue; + } String hrmData = ""; if (hfm.isBaseField(fieldName)) { hrmData = hfm.getHrmData(fieldName); @@ -193,7 +196,7 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel hrmData = recordSet.getString(fieldName); } } - String fieldValue = hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); + String fieldValue = hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); itemList.add(Item.builder().fieldId(fieldLabel).fieldValue(fieldValue).build()); } formItem.setItems(itemList); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index e06337d5..dd8db962 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -39,7 +39,6 @@ import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.HrmResourceMapper; -import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.service.ExtService; import com.engine.organization.service.JobService; @@ -130,8 +129,6 @@ public class JobServiceImpl extends Service implements JobService { } - - @Override public Map getSearchTree(SearchTreeParams params) { String keyword = params.getKeyword(); @@ -482,7 +479,7 @@ public class JobServiceImpl extends Service implements JobService { OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); List jobsByIds = getJobMapper().getJobsByIds(ids); for (JobPO jobsById : jobsByIds) { - jobsById.setForbiddenTag(1); + // jobsById.setForbiddenTag(1); //new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobsById).sync(); // 删除拓展表、明细表 MapperProxyFactory.getProxy(ExtMapper.class).deleteByID("jcl_org_jobext", jobsById.getId()); diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index b440f983..4e31de95 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -24,7 +24,6 @@ import com.engine.organization.mapper.staff.StaffMapper; import com.engine.organization.mapper.staff.StaffPlanMapper; import com.engine.organization.mapper.staff.StaffsMapper; import com.engine.organization.service.StaffService; -import com.engine.organization.thread.StaffTriggerRunnable; import com.engine.organization.util.*; import com.engine.organization.util.browser.OrganizationBrowserUtil; import com.engine.organization.util.db.DBType; @@ -134,7 +133,7 @@ public class StaffServiceImpl extends Service implements StaffService { int ignoreNull = getStaffMapper().insertIgnoreNull(staffPO); // 同步组织架构图编制信息 - new StaffTriggerRunnable(staffPO).run(); + //new StaffTriggerRunnable(staffPO).run(); return ignoreNull; } @@ -166,7 +165,7 @@ public class StaffServiceImpl extends Service implements StaffService { // 更新主表 int updateStaff = getStaffMapper().updateStaff(staffPO); // 同步组织架构图编制信息 - new StaffTriggerRunnable(staffPO).run(); + //new StaffTriggerRunnable(staffPO).run(); return updateStaff; } @@ -177,9 +176,9 @@ public class StaffServiceImpl extends Service implements StaffService { OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); List staffsByIds = getStaffMapper().getStaffsByIds(ids); int deleteByIds = getStaffMapper().deleteByIds(ids); - for (StaffPO staffsById : staffsByIds) { - new StaffTriggerRunnable(staffsById).run(); - } + //for (StaffPO staffsById : staffsByIds) { + // new StaffTriggerRunnable(staffsById).run(); + //} return deleteByIds; } diff --git a/src/com/engine/organization/thread/StaffTriggerRunnable.java b/src/com/engine/organization/thread/StaffTriggerRunnable.java index a4ff15f6..076ebed0 100644 --- a/src/com/engine/organization/thread/StaffTriggerRunnable.java +++ b/src/com/engine/organization/thread/StaffTriggerRunnable.java @@ -1,188 +1,188 @@ -package com.engine.organization.thread; - -import com.engine.organization.entity.company.po.CompPO; -import com.engine.organization.entity.department.po.DepartmentPO; -import com.engine.organization.entity.job.po.JobPO; -import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.entity.staff.po.StaffPO; -import com.engine.organization.entity.staff.po.StaffPlanPO; -import com.engine.organization.enums.ModuleTypeEnum; -import com.engine.organization.mapper.comp.CompMapper; -import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.jclorgmap.JclOrgMapper; -import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.staff.StaffPlanMapper; -import com.engine.organization.mapper.trigger.StaffTriggerMapper; -import com.engine.organization.util.OrganizationDateUtil; -import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.lang3.StringUtils; -import weaver.common.DateUtil; - -import java.sql.Date; - -/** - * @author:dxfeng - * @createTime: 2022/09/21 - * @version: 1.0 - */ -public class StaffTriggerRunnable implements Runnable { - StaffPO staffPO; - StaffPlanPO staffPlanByID; - - private StaffPlanMapper getStaffPlanMapper() { - return MapperProxyFactory.getProxy(StaffPlanMapper.class); - } - - private StaffTriggerMapper getStaffTriggerMapper() { - return MapperProxyFactory.getProxy(StaffTriggerMapper.class); - } - - private CompMapper getCompMapper() { - return MapperProxyFactory.getProxy(CompMapper.class); - } - - private DepartmentMapper getDepartmentMapper() { - return MapperProxyFactory.getProxy(DepartmentMapper.class); - } - - private JobMapper getJobMapper() { - return MapperProxyFactory.getProxy(JobMapper.class); - } - - private JclOrgMapper getJclOrgMapper() { - return MapperProxyFactory.getProxy(JclOrgMapper.class); - } - - private final Date currentDate; - private final Date yesterday; - - public StaffTriggerRunnable(StaffPO staffPO) { - this.staffPO = staffPO; - this.staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId()); - - currentDate = new Date(OrganizationDateUtil.stringToDate(OrganizationDateUtil.getFormatLocalDate(new java.util.Date())).getTime()); - yesterday = new Date(OrganizationDateUtil.stringToDate(DateUtil.addDate(currentDate.toString(), -1)).getTime()); - } - - public StaffTriggerRunnable(Integer jclJobId) { - if (null != jclJobId) { - JobPO jobById = getJobMapper().getJobById((long) jclJobId); - if (null != jobById) { - this.staffPO = StaffPO.builder().compId(jobById.getEcCompany()).deptId(jobById.getEcDepartment()).jobId(jobById.getId()).build(); - this.staffPlanByID = StaffPlanPO.builder().controlDimension("3").build(); - } - } - currentDate = new Date(OrganizationDateUtil.stringToDate(OrganizationDateUtil.getFormatLocalDate(new java.util.Date())).getTime()); - yesterday = new Date(OrganizationDateUtil.stringToDate(DateUtil.addDate(currentDate.toString(), -1)).getTime()); - } - - @Override - public void run() { - if (null != staffPO) { - if (null != staffPlanByID && StringUtils.isNotBlank(staffPlanByID.getControlDimension())) { - String fType = staffPlanByID.getControlDimension(); - switch (fType) { - case "1": - // 更新分部编制 - refreshCompanyStaff(staffPO.getCompId().intValue()); - break; - case "2": - // 更新部门编制 - refreshDepartmentStaff(staffPO.getDeptId()); - refreshCompanyStaff(staffPO.getCompId().intValue()); - break; - case "3": - // 更新岗位编制 - refreshJobStaff(staffPO.getJobId()); - refreshDepartmentStaff(staffPO.getDeptId()); - refreshCompanyStaff(staffPO.getCompId().intValue()); - break; - default: - break; - } - } - } - } - - private void refreshCompanyStaff(Integer companyId) { - if (null == companyId) { - return; - } - CompPO compPO = getCompMapper().listById(companyId); - if (null != compPO) { - updateOrgMap(ModuleTypeEnum.subcompanyfielddefined.getValue().toString(), companyId.toString()); - if (null != compPO.getSupSubComId() && 0 != compPO.getSupSubComId()) { - refreshCompanyStaff(compPO.getSupSubComId()); - } else { - // 刷新集团数据 - refreshGroupStaff(); - } - } - } - - private void refreshDepartmentStaff(Integer departmentId) { - if (null == departmentId) { - return; - } - DepartmentPO deptById = getDepartmentMapper().getDeptById(departmentId); - if (null != deptById) { - updateOrgMap(ModuleTypeEnum.departmentfielddefined.getValue().toString(), departmentId.toString()); - if (null != deptById.getSupDepId() && 0 != deptById.getSupDepId()) { - refreshDepartmentStaff(deptById.getSupDepId()); - } - } - } - - private void refreshJobStaff(Long jobId) { - if (null == jobId) { - return; - } - JobPO jobById = getJobMapper().getJobById(jobId); - if (null != jobById) { - updateOrgMap(ModuleTypeEnum.jobfielddefined.getValue().toString(), jobId.toString()); - if (null != jobById.getParentJob() && 0 != jobById.getParentJob()) { - refreshJobStaff(jobById.getParentJob()); - } - } - } - - private void refreshGroupStaff() { - updateOrgMap("0", "0"); - } - - - private void updateOrgMap(String type, String objId) { - Integer planSum = 0; - Integer onJobSum = 0; - switch (type) { - case "1": - planSum = getStaffTriggerMapper().countCompanyStaffNum(currentDate, objId); - break; - case "2": - planSum = getStaffTriggerMapper().countDepartmentStaffNum(currentDate, objId); - break; - case "3": - planSum = getStaffTriggerMapper().countJobStaffNum(currentDate, objId); - onJobSum = getStaffTriggerMapper().countOnJobByJObId(objId); - default: - break; - } - - JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(currentDate, type, objId); - String mapInfoId = getStaffTriggerMapper().getIdByObjIdAndType(currentDate, objId, type); - Integer childPlanSum = getStaffTriggerMapper().sumPlanByParentId(currentDate, mapInfoId); - Integer childOnJobSum = getStaffTriggerMapper().sumOnJobByParentId(currentDate, mapInfoId); - getJclOrgMapper().deleteMap(type, objId, currentDate); - getJclOrgMapper().updateMap(type, objId, currentDate, yesterday); - jclOrgMapByObjID.setFPlan(addInteger(planSum, childPlanSum)); - jclOrgMapByObjID.setFOnJob(addInteger(onJobSum, childOnJobSum)); - jclOrgMapByObjID.setFDateBegin(currentDate); - getJclOrgMapper().insertMap(jclOrgMapByObjID); - } - - private Integer addInteger(Integer num1, Integer num2) { - num1 = num1 == null ? 0 : num1; - num2 = num2 == null ? 0 : num2; - return num1 + num2; - } -} +//package com.engine.organization.thread; +// +//import com.engine.organization.entity.company.po.CompPO; +//import com.engine.organization.entity.department.po.DepartmentPO; +//import com.engine.organization.entity.job.po.JobPO; +//import com.engine.organization.entity.map.JclOrgMap; +//import com.engine.organization.entity.staff.po.StaffPO; +//import com.engine.organization.entity.staff.po.StaffPlanPO; +//import com.engine.organization.enums.ModuleTypeEnum; +//import com.engine.organization.mapper.comp.CompMapper; +//import com.engine.organization.mapper.department.DepartmentMapper; +//import com.engine.organization.mapper.jclorgmap.JclOrgMapper; +//import com.engine.organization.mapper.job.JobMapper; +//import com.engine.organization.mapper.staff.StaffPlanMapper; +//import com.engine.organization.mapper.trigger.StaffTriggerMapper; +//import com.engine.organization.util.OrganizationDateUtil; +//import com.engine.organization.util.db.MapperProxyFactory; +//import org.apache.commons.lang3.StringUtils; +//import weaver.common.DateUtil; +// +//import java.sql.Date; +// +///** +// * @author:dxfeng +// * @createTime: 2022/09/21 +// * @version: 1.0 +// */ +//public class StaffTriggerRunnable implements Runnable { +// StaffPO staffPO; +// StaffPlanPO staffPlanByID; +// +// private StaffPlanMapper getStaffPlanMapper() { +// return MapperProxyFactory.getProxy(StaffPlanMapper.class); +// } +// +// private StaffTriggerMapper getStaffTriggerMapper() { +// return MapperProxyFactory.getProxy(StaffTriggerMapper.class); +// } +// +// private CompMapper getCompMapper() { +// return MapperProxyFactory.getProxy(CompMapper.class); +// } +// +// private DepartmentMapper getDepartmentMapper() { +// return MapperProxyFactory.getProxy(DepartmentMapper.class); +// } +// +// private JobMapper getJobMapper() { +// return MapperProxyFactory.getProxy(JobMapper.class); +// } +// +// private JclOrgMapper getJclOrgMapper() { +// return MapperProxyFactory.getProxy(JclOrgMapper.class); +// } +// +// private final Date currentDate; +// private final Date yesterday; +// +// public StaffTriggerRunnable(StaffPO staffPO) { +// this.staffPO = staffPO; +// this.staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId()); +// +// currentDate = new Date(OrganizationDateUtil.stringToDate(OrganizationDateUtil.getFormatLocalDate(new java.util.Date())).getTime()); +// yesterday = new Date(OrganizationDateUtil.stringToDate(DateUtil.addDate(currentDate.toString(), -1)).getTime()); +// } +// +// public StaffTriggerRunnable(Integer jclJobId) { +// if (null != jclJobId) { +// JobPO jobById = getJobMapper().getJobById((long) jclJobId); +// if (null != jobById) { +// this.staffPO = StaffPO.builder().compId(jobById.getEcCompany()).deptId(jobById.getEcDepartment()).jobId(jobById.getId()).build(); +// this.staffPlanByID = StaffPlanPO.builder().controlDimension("3").build(); +// } +// } +// currentDate = new Date(OrganizationDateUtil.stringToDate(OrganizationDateUtil.getFormatLocalDate(new java.util.Date())).getTime()); +// yesterday = new Date(OrganizationDateUtil.stringToDate(DateUtil.addDate(currentDate.toString(), -1)).getTime()); +// } +// +// @Override +// public void run() { +// if (null != staffPO) { +// if (null != staffPlanByID && StringUtils.isNotBlank(staffPlanByID.getControlDimension())) { +// String fType = staffPlanByID.getControlDimension(); +// switch (fType) { +// case "1": +// // 更新分部编制 +// refreshCompanyStaff(staffPO.getCompId().intValue()); +// break; +// case "2": +// // 更新部门编制 +// refreshDepartmentStaff(staffPO.getDeptId()); +// refreshCompanyStaff(staffPO.getCompId().intValue()); +// break; +// case "3": +// // 更新岗位编制 +// refreshJobStaff(staffPO.getJobId()); +// refreshDepartmentStaff(staffPO.getDeptId()); +// refreshCompanyStaff(staffPO.getCompId().intValue()); +// break; +// default: +// break; +// } +// } +// } +// } +// +// private void refreshCompanyStaff(Integer companyId) { +// if (null == companyId) { +// return; +// } +// CompPO compPO = getCompMapper().listById(companyId); +// if (null != compPO) { +// updateOrgMap(ModuleTypeEnum.subcompanyfielddefined.getValue().toString(), companyId.toString()); +// if (null != compPO.getSupSubComId() && 0 != compPO.getSupSubComId()) { +// refreshCompanyStaff(compPO.getSupSubComId()); +// } else { +// // 刷新集团数据 +// refreshGroupStaff(); +// } +// } +// } +// +// private void refreshDepartmentStaff(Integer departmentId) { +// if (null == departmentId) { +// return; +// } +// DepartmentPO deptById = getDepartmentMapper().getDeptById(departmentId); +// if (null != deptById) { +// updateOrgMap(ModuleTypeEnum.departmentfielddefined.getValue().toString(), departmentId.toString()); +// if (null != deptById.getSupDepId() && 0 != deptById.getSupDepId()) { +// refreshDepartmentStaff(deptById.getSupDepId()); +// } +// } +// } +// +// private void refreshJobStaff(Long jobId) { +// if (null == jobId) { +// return; +// } +// JobPO jobById = getJobMapper().getJobById(jobId); +// if (null != jobById) { +// updateOrgMap(ModuleTypeEnum.jobfielddefined.getValue().toString(), jobId.toString()); +// if (null != jobById.getParentJob() && 0 != jobById.getParentJob()) { +// refreshJobStaff(jobById.getParentJob()); +// } +// } +// } +// +// private void refreshGroupStaff() { +// updateOrgMap("0", "0"); +// } +// +// +// private void updateOrgMap(String type, String objId) { +// Integer planSum = 0; +// Integer onJobSum = 0; +// switch (type) { +// case "1": +// planSum = getStaffTriggerMapper().countCompanyStaffNum(currentDate, objId); +// break; +// case "2": +// planSum = getStaffTriggerMapper().countDepartmentStaffNum(currentDate, objId); +// break; +// case "3": +// planSum = getStaffTriggerMapper().countJobStaffNum(currentDate, objId); +// onJobSum = getStaffTriggerMapper().countOnJobByJObId(objId); +// default: +// break; +// } +// +// JclOrgMap jclOrgMapByObjID = getJclOrgMapper().getJclOrgMapByObjID(currentDate, type, objId); +// String mapInfoId = getStaffTriggerMapper().getIdByObjIdAndType(currentDate, objId, type); +// Integer childPlanSum = getStaffTriggerMapper().sumPlanByParentId(currentDate, mapInfoId); +// Integer childOnJobSum = getStaffTriggerMapper().sumOnJobByParentId(currentDate, mapInfoId); +// getJclOrgMapper().deleteMap(type, objId, currentDate); +// getJclOrgMapper().updateMap(type, objId, currentDate, yesterday); +// jclOrgMapByObjID.setFPlan(addInteger(planSum, childPlanSum)); +// jclOrgMapByObjID.setFOnJob(addInteger(onJobSum, childOnJobSum)); +// jclOrgMapByObjID.setFDateBegin(currentDate); +// getJclOrgMapper().insertMap(jclOrgMapByObjID); +// } +// +// private Integer addInteger(Integer num1, Integer num2) { +// num1 = num1 == null ? 0 : num1; +// num2 = num2 == null ? 0 : num2; +// return num1 + num2; +// } +//} diff --git a/src/com/engine/organization/util/saveimport/ResourceImport.java b/src/com/engine/organization/util/saveimport/ResourceImport.java index 7c167a65..be8adda4 100644 --- a/src/com/engine/organization/util/saveimport/ResourceImport.java +++ b/src/com/engine/organization/util/saveimport/ResourceImport.java @@ -108,11 +108,11 @@ public class ResourceImport { //重复验证字段 List statusOptions = new ArrayList<>(); - statusOptions.add(new SearchConditionOption("last_name", SystemEnv.getHtmlLabelName(413, user.getLanguage()))); - statusOptions.add(new SearchConditionOption("work_code", SystemEnv.getHtmlLabelName(714, user.getLanguage()), true)); - //statusOptions.add(new SearchConditionOption("loginid", SystemEnv.getHtmlLabelName(412, user.getLanguage()))); + statusOptions.add(new SearchConditionOption("lastname", SystemEnv.getHtmlLabelName(413, user.getLanguage()))); + statusOptions.add(new SearchConditionOption("workcode", SystemEnv.getHtmlLabelName(714, user.getLanguage()), true)); + statusOptions.add(new SearchConditionOption("loginid", SystemEnv.getHtmlLabelName(412, user.getLanguage()))); searchConditionItem = conditionFactory.createCondition(ConditionType.SELECT, 24638, "keyField", statusOptions); - searchConditionItem.setValue("last_name"); + searchConditionItem.setValue("lastname"); itemList.add(searchConditionItem); //导入类型 From 78d08ea7405f58c61a2be1135f7946904b534725 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 16 Dec 2022 16:39:09 +0800 Subject: [PATCH 089/203] =?UTF-8?q?=E6=97=A0=E5=8E=86=E5=8F=B2=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=BF=94=E5=9B=9E=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/VersionManageServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 9b244ccd..ca25eeed 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -69,7 +69,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe @Override public Map getVersion(ModuleTypeEnum moduleTypeEnum, Map params, User user) { - String operateName = user.getUsername(); + String operateName = ""; String id = (String) params.get("id"); String version = (String) params.get("version"); String operateTime = ""; @@ -164,10 +164,14 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe default: break; } + resultMap.put("operateName", operateName); resultMap.put("operateTime", operateTime); resultMap.put("versions", versions); resultMap.put("datas", datas); + if (versions.size() < 1) { + return null; + } return resultMap; } From b11251701a4e0e8a806f4e71d413cac7e3b23637 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 16 Dec 2022 18:29:12 +0800 Subject: [PATCH 090/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/mapper/job/JobMapper.java | 2 ++ .../organization/mapper/job/JobMapper.xml | 6 ++++++ .../service/impl/CompServiceImpl.java | 12 +++++++---- .../service/impl/DepartmentServiceImpl.java | 12 +++++++---- .../service/impl/JobServiceImpl.java | 20 +++++++++++-------- 5 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 18d36ee3..77f8ef82 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -145,4 +145,6 @@ public interface JobMapper { int selectByConditions(@Param("resourcePO") ResourcePO resourcePO); List listUsedId(); + + List isAllowDelete(@Param("jobId") Long jobId); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 58ac4e88..60c197f8 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -502,6 +502,12 @@ inner join hrmresource h on t.ec_jobtitle = h.jobtitle and t.ec_company = h.subcompanyid1 and t.ec_department = h.departmentid + diff --git a/src/com/engine/organization/service/impl/CompServiceImpl.java b/src/com/engine/organization/service/impl/CompServiceImpl.java index ad00de37..9fc23f07 100644 --- a/src/com/engine/organization/service/impl/CompServiceImpl.java +++ b/src/com/engine/organization/service/impl/CompServiceImpl.java @@ -196,7 +196,7 @@ public class CompServiceImpl extends Service implements CompService { if (2 == viewAttr) { params.put("viewattr", viewAttr); - groupList = getCompanyConditionGroups(params); + groupList = getCompanyConditionGroups(true, params); } else { HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); HrmFieldComInfo HrmFieldComInfo = new HrmFieldComInfo(); @@ -349,7 +349,7 @@ public class CompServiceImpl extends Service implements CompService { public Map getCompSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - apiDatas.put("condition", getCompanyConditionGroups(params)); + apiDatas.put("condition", getCompanyConditionGroups(false, params)); return apiDatas; } @@ -412,7 +412,7 @@ public class CompServiceImpl extends Service implements CompService { } } - private List getCompanyConditionGroups(Map params) { + private List getCompanyConditionGroups(Boolean showAll, Map params) { String id = Util.null2String(params.get("id")); int viewAttr = Util.getIntValue(Util.null2String(params.get("viewattr")), 1); @@ -443,7 +443,11 @@ public class CompServiceImpl extends Service implements CompService { hfm.getCustomData(Util.getIntValue(id)); List lsGroup = hfm.getLsGroup(); List groupList = new ArrayList<>(); - for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + int lsSize = 1; + if (showAll && lsGroup != null) { + lsSize = lsGroup.size(); + } + for (int tmp = 0; tmp < lsSize; tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 0e80e7ff..39e32f06 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -257,7 +257,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService String id = Util.null2String(params.get("id")); if (2 == viewAttr) { params.put("viewattr", viewAttr); - groupList = getDepartmentConditionGroups(params); + groupList = getDepartmentConditionGroups(true, params); } else { HrmFieldGroupComInfo HrmFieldGroupComInfo = new HrmFieldGroupComInfo(); @@ -405,7 +405,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService public Map getSaveForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); Map apiDatas = new HashMap<>(); - apiDatas.put("condition", getDepartmentConditionGroups(params)); + apiDatas.put("condition", getDepartmentConditionGroups(false, params)); return apiDatas; } @@ -835,7 +835,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } } - private List getDepartmentConditionGroups(Map params) { + private List getDepartmentConditionGroups(Boolean showAll, Map params) { List groupList = new ArrayList<>(); List itemList; @@ -863,7 +863,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService hfm.isReturnDecryptData(true); hfm.getCustomData(Util.getIntValue(id)); List lsGroup = hfm.getLsGroup(); - for (int tmp = 0; lsGroup != null && tmp < lsGroup.size(); tmp++) { + int lsSize = 1; + if (showAll && lsGroup != null) { + lsSize = lsGroup.size(); + } + for (int tmp = 0; tmp < lsSize; tmp++) { String groupId = (String) lsGroup.get(tmp); List lsField = hfm.getLsField(groupId); diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index dd8db962..966ee663 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -227,12 +227,12 @@ public class JobServiceImpl extends Service implements JobService { // 工作地点 SearchConditionItem workplaceItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "工作地点", "workplace"); // 禁用标记 - List selectOptions = new ArrayList<>(); - SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); - SearchConditionOption disableOption = new SearchConditionOption("false", "封存"); - selectOptions.add(enableOption); - selectOptions.add(disableOption); - SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "封存", "forbiddenTag"); + //List selectOptions = new ArrayList<>(); + //SearchConditionOption enableOption = new SearchConditionOption("true", "启用"); + //SearchConditionOption disableOption = new SearchConditionOption("false", "封存"); + //selectOptions.add(enableOption); + //selectOptions.add(disableOption); + //SearchConditionItem forbiddenTagItem = OrganizationFormItemUtil.selectItem(user, selectOptions, 2, 16, 6, false, "封存", "forbiddenTag"); conditionItems.add(jobNoItem); conditionItems.add(jobTitleNameItem); @@ -240,7 +240,7 @@ public class JobServiceImpl extends Service implements JobService { conditionItems.add(parentDeptBrowserItem); conditionItems.add(isKeyItem); conditionItems.add(workplaceItem); - conditionItems.add(forbiddenTagItem); + //conditionItems.add(forbiddenTagItem); addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); apiDatas.put("conditions", addGroups); @@ -479,6 +479,10 @@ public class JobServiceImpl extends Service implements JobService { OrganizationAssert.notEmpty(ids, "请选择要删除的数据"); List jobsByIds = getJobMapper().getJobsByIds(ids); for (JobPO jobsById : jobsByIds) { + // 判断是否可以删除 + List allowDelete = getJobMapper().isAllowDelete(jobsById.getId()); + OrganizationAssert.isTrue(CollectionUtils.isEmpty(allowDelete), "该岗位存在引用,不允许删除"); + // jobsById.setForbiddenTag(1); //new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.CANCELED, null, jobsById).sync(); // 删除拓展表、明细表 @@ -592,7 +596,7 @@ public class JobServiceImpl extends Service implements JobService { } } }); - + } From a5cc902c1077b37c912a185167caafdd6c8447fa Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 16 Dec 2022 18:31:50 +0800 Subject: [PATCH 091/203] =?UTF-8?q?oracle=E7=8E=AF=E5=A2=83=E5=AD=98?= =?UTF-8?q?=E5=85=A5=E7=89=88=E6=9C=ACbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/HrmDepartmentDto.java | 18 ++++ .../entity/version/HrmResourceDto.java | 25 +++++ .../entity/version/HrmSubCompanyDto.java | 15 +++ .../mapper/version/CompanyVersionMapper.java | 15 +-- .../mapper/version/CompanyVersionMapper.xml | 19 ++-- .../impl/VersionManageServiceImpl.java | 102 +++++++++--------- 6 files changed, 125 insertions(+), 69 deletions(-) create mode 100644 src/com/engine/organization/entity/version/HrmDepartmentDto.java create mode 100644 src/com/engine/organization/entity/version/HrmResourceDto.java create mode 100644 src/com/engine/organization/entity/version/HrmSubCompanyDto.java diff --git a/src/com/engine/organization/entity/version/HrmDepartmentDto.java b/src/com/engine/organization/entity/version/HrmDepartmentDto.java new file mode 100644 index 00000000..39304088 --- /dev/null +++ b/src/com/engine/organization/entity/version/HrmDepartmentDto.java @@ -0,0 +1,18 @@ +package com.engine.organization.entity.version; + +import lombok.Data; + +@Data +public class HrmDepartmentDto { + + int id; + String departmentmark; + String departmentcode; + String departmentname; + String subcompanyid1; + String supdepid; + String bmfzr; + String showorder; + String canceled; + +} diff --git a/src/com/engine/organization/entity/version/HrmResourceDto.java b/src/com/engine/organization/entity/version/HrmResourceDto.java new file mode 100644 index 00000000..702b559d --- /dev/null +++ b/src/com/engine/organization/entity/version/HrmResourceDto.java @@ -0,0 +1,25 @@ +package com.engine.organization.entity.version; + + +import lombok.Data; + +@Data +public class HrmResourceDto { + private Integer id; + + private Integer departmentid; + + private String dsporder; + + private Integer subcompanyid1; + + private Integer jobtitle; + + private String mobile; + + private String telephone; + + private String managerid; + + private String lastname; +} diff --git a/src/com/engine/organization/entity/version/HrmSubCompanyDto.java b/src/com/engine/organization/entity/version/HrmSubCompanyDto.java new file mode 100644 index 00000000..4168004e --- /dev/null +++ b/src/com/engine/organization/entity/version/HrmSubCompanyDto.java @@ -0,0 +1,15 @@ +package com.engine.organization.entity.version; + +import lombok.Data; + +@Data +public class HrmSubCompanyDto { + + int id; + String subcompanydesc; + String subcompanycode; + String subcompanyname; + String supsubcomid; + String showorder; + String canceled; +} diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java index 4a2d8a70..e3e225c1 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.java +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.java @@ -1,15 +1,10 @@ package com.engine.organization.mapper.version; import com.alibaba.fastjson.JSONObject; -import com.engine.common.entity.HrmDepartmentEntity; -import com.engine.common.entity.HrmSubCompanyEntity; -import com.engine.organization.entity.version.HrmDepartmentVersion; -import com.engine.organization.entity.version.HrmResourceVersion; -import com.engine.organization.entity.version.HrmSubCompanyVersion; +import com.engine.organization.entity.version.*; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Map; /** * @Author weaver_cl @@ -45,7 +40,7 @@ public interface CompanyVersionMapper { /** * 人员版本最大记录 */ - HrmResourceVersion getMaxHrmVersion(@Param("getMaxHrmVersion") String getMaxHrmVersion); + HrmResourceVersion getMaxHrmVersion(@Param("resourceid") String resourceid); /** * 新增人员版本 @@ -55,17 +50,17 @@ public interface CompanyVersionMapper { /** * 获取分部信息 */ - JSONObject getHrmSubComp(@Param("id") String id); + HrmSubCompanyDto getHrmSubComp(@Param("id") String id); /** * 获取部门信息 */ - JSONObject getHrmDepartment(@Param("id") String id); + HrmDepartmentDto getHrmDepartment(@Param("id") String id); /** * 获取人员信息 */ - JSONObject getHrmResource(@Param("id") String id); + HrmResourceDto getHrmResource(@Param("id") String id); /** * 获取分部版本记录 diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index a801ec6f..04d66b13 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -39,9 +39,9 @@ insert into hrmsubcompany_version - (subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , + (id, subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , showorder ,canceled ,description ,operator ,version ,operate_time) - values (#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supSubComId}, + values (#{id},#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supSubComId}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) @@ -57,9 +57,9 @@ insert into hrmdepartment_version - (departmentid, departmentmark, departmentcode, departmentname, subcompanyid1, supdepid, + (id,departmentid, departmentmark, departmentcode, departmentname, subcompanyid1, supdepid, bmfzr, showorder, canceled, description, operator, version, operate_time) - VALUES (#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId}, + VALUES (#{id},#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId}, #{bmfzr}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) @@ -71,7 +71,6 @@ @@ -234,15 +233,15 @@ - + select id ,subcompanyname, subcompanydesc,companyid,supsubcomid,url,canceled,subcompanycode,outkey,showorder from HrmSubCompany where id=#{id} - select id,departmentmark,departmentname,subcompanyid1,supdepid,canceled,departmentcode,outkey,showorder,coadjutant,bmfzr from HrmDepartment where id=#{id} - select id,loginid,password,lastname,sex,birthday,nationality,systemlanguage, maritalstatus,telephone,mobile,mobilecall,email,locationid,workroom,homeaddress, resourcetype,startdate,enddate,jobtitle,jobactivitydesc,joblevel,seclevel,departmentid, @@ -257,7 +256,7 @@ needdynapass,dsporder,passwordstate,accounttype,belongto,dactylogram,assistantdactylogram, passwordlock,sumpasswordwrong,oldpassword1,oldpassword2,msgStyle,messagerurl,pinyinlastname, tokenkey,userUsbType,outkey,adsjgs,adgs,adbm,mobileshowtype,usbstate,totalSpace,occupySpace, - ecology_pinyin_search,isADAccount,accountname,notallot,beforefrozen,resourcefrom,isnewuser, + ecology_pinyin_search,isADAccount,accountname, haschangepwd,created,creater,modified,modifier,passwordlocktime,mobilecaflag,salt,companystartdate, workstartdate,secondaryPwd,useSecondaryPwd,classification,uuid,passwordLockReason,companyworkyear, workyear,DISMISSDATE,encKey,crc,usbscope,tenant_key,clauthtype,hashData,signData from HrmResource diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index ca25eeed..743176f9 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -4,10 +4,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.core.impl.Service; import com.engine.organization.entity.hrmresource.po.HrmResourcePO; import com.engine.organization.entity.map.JclOrgMap; -import com.engine.organization.entity.version.HrmDepartmentVersion; -import com.engine.organization.entity.version.HrmResourceVersion; -import com.engine.organization.entity.version.HrmSubCompanyVersion; -import com.engine.organization.entity.version.VersionData; +import com.engine.organization.entity.version.*; import com.engine.organization.enums.ModuleTypeEnum; import com.engine.organization.mapper.jclorgmap.JclOrgMapper; import com.engine.organization.mapper.resource.ResourceMapper; @@ -16,6 +13,7 @@ import com.engine.organization.service.VersionManageService; import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.db.MapperProxyFactory; import org.apache.commons.lang3.StringUtils; +import org.docx4j.wml.U; import weaver.common.DateUtil; import weaver.conn.RecordSet; import weaver.general.Util; @@ -49,18 +47,18 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe switch (moduleTypeEnum.getValue()) { case 1: - paramMap = getCompanyVersionMapper().getHrmSubComp(id); - saveSubComToVersion(paramMap, user); + HrmSubCompanyDto hrmSubComp = getCompanyVersionMapper().getHrmSubComp(id); + saveSubComToVersion(hrmSubComp, user); // saveSubComToMap(paramMap); break; case 2: - paramMap = getCompanyVersionMapper().getHrmDepartment(id); - saveDeptToVersion(paramMap, user); + HrmDepartmentDto hrmDepartmentDto = getCompanyVersionMapper().getHrmDepartment(id); + saveDeptToVersion(hrmDepartmentDto, user); // saveDeptToMap(paramMap); break; case 4: - paramMap = getCompanyVersionMapper().getHrmResource(id); - saveHrmToVersion(paramMap, user); + HrmResourceDto hrmResourceDto = getCompanyVersionMapper().getHrmResource(id); + saveHrmToVersion(hrmResourceDto, user); // saveHrmToMap(paramMap); break; } @@ -324,27 +322,30 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 分部保存至版本表 */ - void saveSubComToVersion(JSONObject params, User user) { + void saveSubComToVersion(HrmSubCompanyDto hrmSubComp, User user) { String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); - String id = params.getString("id"); + int id = hrmSubComp.getId(); HrmSubCompanyVersion hrmSubCompanyVersion = new HrmSubCompanyVersion(); - hrmSubCompanyVersion.setSubComId(Integer.parseInt(id)); - hrmSubCompanyVersion.setSubCompanyDesc(params.getString("subcompanydesc")); - hrmSubCompanyVersion.setSubCompanyCode(params.getString("subcompanycode")); - hrmSubCompanyVersion.setSubCompanyName(params.getString("subcompanyname")); - String supSubComId = params.getString("supsubcomid"); + hrmSubCompanyVersion.setSubComId(id); + hrmSubCompanyVersion.setSubCompanyDesc(hrmSubComp.getSubcompanydesc()); + hrmSubCompanyVersion.setSubCompanyCode(hrmSubComp.getSubcompanycode()); + hrmSubCompanyVersion.setSubCompanyName(hrmSubComp.getSubcompanyname()); + String supSubComId = hrmSubComp.getSupsubcomid(); hrmSubCompanyVersion.setSupSubComId(StringUtils.isNotBlank(supSubComId) ? Integer.parseInt(supSubComId) : null); - String showOrder = params.getString("showorder"); - if (showOrder != null) { - showOrder = showOrder.substring(0, showOrder.indexOf(".")); + String showOrder = hrmSubComp.getShoworder(); + if (showOrder != null && !showOrder.equals("0")) { + int length = showOrder.indexOf("."); + if (length>0){ + showOrder = showOrder.substring(0, length); + } } hrmSubCompanyVersion.setShowOrder(null == showOrder ? null : Integer.parseInt(showOrder)); - String canceled = params.getString("canceled"); + String canceled = hrmSubComp.getCanceled(); ; hrmSubCompanyVersion.setCanceled(StringUtils.isNotBlank(canceled) ? Integer.parseInt(canceled) : null); hrmSubCompanyVersion.setDescription(null); hrmSubCompanyVersion.setOperator(user.getUsername()); - hrmSubCompanyVersion.setVersion(genVersionId(1, id)); + hrmSubCompanyVersion.setVersion(genVersionId(1, Util.null2String(id))); hrmSubCompanyVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); getCompanyVersionMapper().insertHrmSubComVersion(hrmSubCompanyVersion); } @@ -352,35 +353,38 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 部门保存至版本 */ - void saveDeptToVersion(JSONObject params, User user) { - String id = params.getString("id"); + void saveDeptToVersion(HrmDepartmentDto hrmDepartmentDto, User user) { + int id = hrmDepartmentDto.getId(); String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); HrmDepartmentVersion hrmDepartmentVersion = new HrmDepartmentVersion(); - hrmDepartmentVersion.setDepartmentId(Integer.parseInt(id)); - hrmDepartmentVersion.setDepartmentMark(params.getString("departmentmark")); - hrmDepartmentVersion.setDepartmentCode(params.getString("departmentcode")); - hrmDepartmentVersion.setDepartmentName(params.getString("departmentname")); - String subCompanyId1 = params.getString("subcompanyid1"); + hrmDepartmentVersion.setDepartmentId(id); + hrmDepartmentVersion.setDepartmentMark(hrmDepartmentDto.getDepartmentmark()); + hrmDepartmentVersion.setDepartmentCode(hrmDepartmentDto.getDepartmentcode()); + hrmDepartmentVersion.setDepartmentName(hrmDepartmentDto.getDepartmentname()); + String subCompanyId1 = hrmDepartmentDto.getSubcompanyid1(); hrmDepartmentVersion.setSubCompanyId1(StringUtils.isNotBlank(subCompanyId1) ? Integer.parseInt(subCompanyId1) : null); - String supDepId = params.getString("supdepid"); + String supDepId = hrmDepartmentDto.getSupdepid(); if (supDepId != null) { hrmDepartmentVersion.setSupDepId(Integer.parseInt(supDepId)); } - String bmfzr = params.getString("bmfzr"); + String bmfzr = hrmDepartmentDto.getBmfzr(); if (!"".equals(bmfzr) && bmfzr != null) { hrmDepartmentVersion.setBmfzr(Integer.parseInt(bmfzr)); } - String showOrder = params.getString("showorder"); - if (showOrder != null) { - showOrder = showOrder.substring(0, showOrder.indexOf(".")); + String showOrder = hrmDepartmentDto.getShoworder(); + if (showOrder != null && !showOrder.equals("0")) { + int length = showOrder.indexOf("."); + if (length>0){ + showOrder = showOrder.substring(0, length); + } } hrmDepartmentVersion.setShowOrder(null == showOrder ? null : Integer.parseInt(showOrder)); - String canceled = params.getString("canceled"); + String canceled = hrmDepartmentDto.getCanceled(); hrmDepartmentVersion.setCanceled(StringUtils.isNotBlank(canceled) ? Integer.parseInt(canceled) : null); hrmDepartmentVersion.setDescription(null); hrmDepartmentVersion.setOperator(user.getLastname()); - hrmDepartmentVersion.setVersion(genVersionId(2, id)); + hrmDepartmentVersion.setVersion(genVersionId(2, Util.null2String(id))); hrmDepartmentVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); getCompanyVersionMapper().insertHrmDeptVersion(hrmDepartmentVersion); @@ -389,27 +393,27 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe /** * 人员保存至版本 */ - void saveHrmToVersion(JSONObject params, User user) { - String id = params.getString("id"); + void saveHrmToVersion(HrmResourceDto hrmResourceDto, User user) { + Integer id = hrmResourceDto.getId(); String currentDate = OrganizationDateUtil.getFormatLocalDateTime(new java.util.Date()); HrmResourceVersion hrmResourceVersion = new HrmResourceVersion(); - hrmResourceVersion.setResourceid(Integer.parseInt(id)); + hrmResourceVersion.setResourceid(id); /* hrmResourceVersion.setCompanystartdate(new Date(OrganizationDateUtil.stringToDate((String) params.get("companystartdate")).getTime())); hrmResourceVersion.setCompanyworkyear(Integer.parseInt((String) params.get("companyworkyear"))); hrmResourceVersion.setWorkstartdate(new Date(OrganizationDateUtil.stringToDate((String) params.get("workstartdate")).getTime()));*/ - hrmResourceVersion.setDepartmentid(Integer.parseInt(params.getString("departmentid"))); - hrmResourceVersion.setDsporder(Double.valueOf(params.getString("dsporder")).intValue()); - hrmResourceVersion.setSubcompanyid1(Integer.parseInt(params.getString("subcompanyid1"))); - hrmResourceVersion.setJobtitle(Integer.parseInt(params.getString("jobtitle"))); - hrmResourceVersion.setMobile(params.getString("mobile")); - hrmResourceVersion.setTelephone(params.getString("telephone")); - String managerid = params.getString("managerid"); + hrmResourceVersion.setDepartmentid(hrmResourceDto.getDepartmentid()); + hrmResourceVersion.setDsporder(Double.valueOf(hrmResourceDto.getDsporder()).intValue()); + hrmResourceVersion.setSubcompanyid1(hrmResourceDto.getSubcompanyid1()); + hrmResourceVersion.setJobtitle(hrmResourceDto.getJobtitle()); + hrmResourceVersion.setMobile(hrmResourceDto.getMobile()); + hrmResourceVersion.setTelephone(hrmResourceDto.getTelephone()); + String managerid = hrmResourceDto.getManagerid(); hrmResourceVersion.setManagerid(StringUtils.isNotBlank(managerid) ? Integer.parseInt(managerid) : null); - hrmResourceVersion.setLastname(params.getString("lastname")); + hrmResourceVersion.setLastname(hrmResourceDto.getLastname()); hrmResourceVersion.setOperator(user.getLastname()); - hrmResourceVersion.setVersion(genVersionId(4, id)); + hrmResourceVersion.setVersion(genVersionId(4, String.valueOf(id))); hrmResourceVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); getCompanyVersionMapper().insertHrmResourceVersion(hrmResourceVersion); @@ -435,7 +439,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe id = 0.1 + hrmDepartmentVersion.getVersion(); } break; - case 3: + case 4: HrmResourceVersion hrmResourceVersion = getCompanyVersionMapper().getMaxHrmVersion(sid); if (null != hrmResourceVersion) { id = 0.1 + hrmResourceVersion.getVersion(); From 5bcd3e22fcf554e19866257c35fa676f1899ba78 Mon Sep 17 00:00:00 2001 From: Mlin Date: Mon, 19 Dec 2022 08:44:37 +0800 Subject: [PATCH 092/203] =?UTF-8?q?oracle=E7=8E=AF=E5=A2=83=E5=AD=98?= =?UTF-8?q?=E5=85=A5=E7=89=88=E6=9C=ACbug=E4=BF=AE=E5=A4=8D1219?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/jclorgmap/JclOrgMapper.xml | 141 +++++++++++++++++- .../mapper/version/CompanyVersionMapper.xml | 69 ++++++++- .../service/impl/OrgChartServiceImpl.java | 15 +- .../impl/VersionManageServiceImpl.java | 4 +- 4 files changed, 218 insertions(+), 11 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index c68bbd7b..69707dc8 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -102,8 +102,34 @@ left join HrmJobTitles c on b.ec_jobTitle = c.id where a.status < 4 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg, + fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fisvitual,fdatebegin,fdateend) + select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, + c.id,c.jobtitlename,null,null, ifnull( b.id, '' ) +200000000,b.id, + 0,NOW(),'2099-12-31' + from hrmresource a + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle + left join HrmJobTitles c on b.ec_jobTitle = c.id + where a.status < 4 + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg, + fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fisvitual,fdatebegin,fdateend) + select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, + c.id,c.jobtitlename,null,null, nvl( b.id, '' ) +200000000,b.id, + 0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') + from hrmresource a + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle + left join HrmJobTitles c on b.ec_jobTitle = c.id + where a.status < 4 + - + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname, fparentid,fobjparentid, @@ -122,8 +148,47 @@ left join HrmJobTitles g on a.ec_jobTitle = g.id where isnull(a.delete_type,0) <> 1 and isnull(a.forbidden_tag,0) <> 1 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname, + fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+200000000,3,a.id,g.uuid,0,'行政维度',a.job_no,g.jobtitlename, + ec_department+100000000, + ec_department, + ifnull(e.fcnt,0),ifnull(f.fcnt,0),0,NOW(),'2099-12-31' + from JCL_ORG_job as a + left join (select job_id,sum(ifnull(staff_num,0)) fcnt from JCL_ORG_STAFF + where plan_id in (select id from JCL_ORG_STAFFPLAN + where time_start<=NOW() and time_end > NOW() and delete_type=0) + group by job_id) e on a.id=e.job_id + left join (select JOBTITLE,count(1) fcnt from hrmresource group by JOBTITLE + ) f + on f.JOBTITLE=a.ec_jobTitle + left join HrmJobTitles g on a.ec_jobTitle = g.id + where ifnull(a.delete_type,0) <> 1 and ifnull(a.forbidden_tag,0) <> 1 + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname, + fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+200000000,3,a.id,g.uuid,0,'行政维度',a.job_no,g.jobtitlename, + ec_department+100000000, + ec_department, + nvl(e.fcnt,0),nvl(f.fcnt,0),0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') + from JCL_ORG_job a + left join (select job_id,sum(nvl(staff_num,0)) fcnt from JCL_ORG_STAFF + where plan_id in (select id from JCL_ORG_STAFFPLAN + where time_start<=TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd') and time_end>TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd')) and delete_type=0 + group by job_id) e on a.id=e.job_id + left join (select jobtitle,count(1) fcnt from hrmresource group by jobtitle) f + on f.JOBTITLE=a.ec_jobTitle + left join HrmJobTitles g on a.ec_jobTitle = g.id + where nvl(a.delete_type,0) <> 1 and nvl(a.forbidden_tag,0) <> 1 + - + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, @@ -139,8 +204,40 @@ left join hrmjobtitles as c on b.JOBTITLE=c.id where isnull(a.canceled,0) <> 1 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,a.BMFZR,b.messagerurl, + b.lastname,b.jobtitle,c.jobtitlemark,null,null, + (case ifnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), + (case ifnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), + 0,0,0,NOW(),'2099-12-31' + from + HrmDepartment as a + left join hrmresource as b on a.BMFZR=b.ID + left join hrmjobtitles as c on b.JOBTITLE=c.id + where ifnull(a.canceled,0) <> 1 + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,a.BMFZR,b.messagerurl, + b.lastname,b.jobtitle,c.jobtitlemark,null,null, + (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), + (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), + 0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') + from + HrmDepartment a + left join hrmresource b on a.BMFZR=b.ID + left join hrmjobtitles c on b.JOBTITLE=c.id + where nvl(a.canceled,0) <> 1 + - + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, @@ -150,8 +247,28 @@ 0,0,0,convert(varchar(100),getDate(),23),'2099-12-31' from hrmsubcompany as a where isnull(a.canceled,0) <> 1 + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id,1,a.id,a.uuid,0,'行政维度', '',a.subcompanyname,null,'', + '',NULL,'','','',ifnull(a.supsubcomid,0),ifnull(a.supsubcomid,0), + 0,0,0,NOW(),'2099-12-31' from hrmsubcompany as a + where IFNULL(a.canceled,0) <> 1 + + + insert into jcl_org_map + (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id,1,a.id,a.uuid,0,'行政维度', '',a.subcompanyname,null,'', + '',NULL,'','','',nvl(a.supsubcomid,0),nvl(a.supsubcomid,0), + 0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') from hrmsubcompany a + where nvl(a.canceled,0) <> 1 + - + INSERT INTO jcl_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname, fleader, fleaderimg, fleadername, fleaderjobid, fleaderjob, fparentid,fobjparentid, fplan, fonjob, fisvitual, fdatebegin, fdateend) @@ -159,5 +276,21 @@ 0, NULL, NULL, 0, NULL, -1, 0, 0, 0, 0, convert(varchar(100),getDate(),23), '2099-12-31' FROM hrmcompany + + INSERT INTO jcl_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname, + fleader, fleaderimg, fleadername, fleaderjobid, fleaderjob, fparentid,fobjparentid, + fplan, fonjob, fisvitual, fdatebegin, fdateend) + SELECT 0, 0, 0, uuid, 0, '行政维度', '00', companyname, + 0, NULL, NULL, 0, NULL, -1, 0, + 0, 0, 0, TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') FROM hrmcompany + + + INSERT INTO jcl_org_map ( id, ftype, fobjid, uuid,fclass, fclassname, fnumber, fname, + fleader, fleaderimg, fleadername, fleaderjobid, fleaderjob, fparentid,fobjparentid, + fplan, fonjob, fisvitual, fdatebegin, fdateend) + SELECT 0, 0, 0, uuid, 0, '行政维度', '00', companyname, + 0, NULL, NULL, 0, NULL, -1, 0, + 0, 0, 0, NOW(), '2099-12-31' FROM hrmcompany + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 04d66b13..5b2460f0 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -62,7 +62,19 @@ VALUES (#{id},#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId}, #{bmfzr}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) - + + insert into HRMDEPARTMENT_VERSION + ( ID,DEPARTMENTID,DEPARTMENTMARK + ,DEPARTMENTCODE,DEPARTMENTNAME,SUBCOMPANYID1 + ,SUPDEPID,BMFZR,SHOWORDER + ,CANCELED,DESCRIPTION,OPERATOR + ,VERSION,OPERATE_TIME) + values (#{id,jdbcType=DECIMAL},#{departmentId,jdbcType=DECIMAL},#{departmentMark,jdbcType=VARCHAR} + ,#{departmentCode,jdbcType=VARCHAR},#{departmentName,jdbcType=VARCHAR},#{subCompanyId1,jdbcType=DECIMAL} + ,#{supDepId,jdbcType=DECIMAL},#{bmfzr,jdbcType=VARCHAR},#{showOrder,jdbcType=DECIMAL} + ,#{canceled,jdbcType=DECIMAL},#{description,jdbcType=VARCHAR},#{operator,jdbcType=VARCHAR} + ,#{version,jdbcType=DECIMAL},#{operateTime,jdbcType=TIMESTAMP}) + @@ -232,6 +244,61 @@ #{operateTime,jdbcType=TIMESTAMP}, + + insert into HRMRESOURCE_VERSION + ( ID,RESOURCEID,COMPANYSTARTDATE + ,COMPANYWORKYEAR,WORKSTARTDATE,WORKYEAR + ,USEKIND,JOBCALL,ACCUMFUNDACCOUNT + ,BIRTHPLACE,FOLK,RESIDENTPHONE + ,RESIDENTPOSTCODE,EXTPHONE,MANAGERSTR + ,STATUS,FAX,ISLABOUUNION + ,WEIGHT,TEMPRESIDENTNUMBER,PROBATIONENDDATE + ,COUNTRYID,PASSWDCHGDATE,LLOGINID + ,DSPORDER,PASSWORDSTATE,ACCOUNTTYPE + ,BELONGTO,MESSAGERURL,ACCOUNTNAME + ,LOGINID,PASSWORD,LASTNAME + ,SEX,BIRTHDAY,NATIONALITY + ,MARITALSTATUS,TELEPHONE,MOBILE + ,MOBILECALL,EMAIL,LOCATIONID + ,WORKROOM,HOMEADDRESS,RESOURCETYPE + ,STARTDATE,ENDDATE,JOBTITLE + ,JOBACTIVITYDESC,JOBLEVEL,SECLEVEL + ,DEPARTMENTID,SUBCOMPANYID1,COSTCENTERID + ,MANAGERID,ASSISTANTID,BANKID1 + ,ACCOUNTID1,RESOURCEIMAGEID,CERTIFICATENUM + ,NATIVEPLACE,EDUCATIONLEVEL,BEMEMBERDATE + ,BEPARTYDATE,WORKCODE,REGRESIDENTPLACE + ,HEALTHINFO,RESIDENTPLACE,POLICY + ,DEGREE,HEIGHT,CLASSIFICATION + ,DESCRIPTION,OPERATOR,VERSION + ,OPERATE_TIME) + values (#{id,jdbcType=DECIMAL},#{resourceid,jdbcType=DECIMAL},#{companystartdate,jdbcType=TIMESTAMP} + ,#{companyworkyear,jdbcType=DECIMAL},#{workstartdate,jdbcType=TIMESTAMP},#{workyear,jdbcType=DECIMAL} + ,#{usekind,jdbcType=DECIMAL},#{jobcall,jdbcType=DECIMAL},#{accumfundaccount,jdbcType=VARCHAR} + ,#{birthplace,jdbcType=VARCHAR},#{folk,jdbcType=VARCHAR},#{residentphone,jdbcType=VARCHAR} + ,#{residentpostcode,jdbcType=VARCHAR},#{extphone,jdbcType=VARCHAR},#{managerstr,jdbcType=VARCHAR} + ,#{status,jdbcType=DECIMAL},#{fax,jdbcType=VARCHAR},#{islabouunion,jdbcType=CHAR} + ,#{weight,jdbcType=DECIMAL},#{tempresidentnumber,jdbcType=VARCHAR},#{probationenddate,jdbcType=TIMESTAMP} + ,#{countryid,jdbcType=DECIMAL},#{passwdchgdate,jdbcType=TIMESTAMP},#{lloginid,jdbcType=VARCHAR} + ,#{dsporder,jdbcType=FLOAT},#{passwordstate,jdbcType=DECIMAL},#{accounttype,jdbcType=DECIMAL} + ,#{belongto,jdbcType=DECIMAL},#{messagerurl,jdbcType=VARCHAR},#{accountname,jdbcType=VARCHAR} + ,#{loginid,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{lastname,jdbcType=VARCHAR} + ,#{sex,jdbcType=CHAR},#{birthday,jdbcType=CHAR},#{nationality,jdbcType=DECIMAL} + ,#{maritalstatus,jdbcType=CHAR},#{telephone,jdbcType=VARCHAR},#{mobile,jdbcType=VARCHAR} + ,#{mobilecall,jdbcType=VARCHAR},#{email,jdbcType=VARCHAR},#{locationid,jdbcType=DECIMAL} + ,#{workroom,jdbcType=VARCHAR},#{homeaddress,jdbcType=VARCHAR},#{resourcetype,jdbcType=CHAR} + ,#{startdate,jdbcType=TIMESTAMP},#{enddate,jdbcType=TIMESTAMP},#{jobtitle,jdbcType=DECIMAL} + ,#{jobactivitydesc,jdbcType=VARCHAR},#{joblevel,jdbcType=DECIMAL},#{seclevel,jdbcType=DECIMAL} + ,#{departmentid,jdbcType=DECIMAL},#{subcompanyid1,jdbcType=DECIMAL},#{costcenterid,jdbcType=DECIMAL} + ,#{managerid,jdbcType=DECIMAL},#{assistantid,jdbcType=DECIMAL},#{bankid1,jdbcType=DECIMAL} + ,#{accountid1,jdbcType=VARCHAR},#{resourceimageid,jdbcType=DECIMAL},#{certificatenum,jdbcType=VARCHAR} + ,#{nativeplace,jdbcType=VARCHAR},#{educationlevel,jdbcType=DECIMAL},#{bememberdate,jdbcType=TIMESTAMP} + ,#{bepartydate,jdbcType=TIMESTAMP},#{workcode,jdbcType=VARCHAR},#{regresidentplace,jdbcType=VARCHAR} + ,#{healthinfo,jdbcType=CHAR},#{residentplace,jdbcType=VARCHAR},#{policy,jdbcType=VARCHAR} + ,#{degree,jdbcType=VARCHAR},#{height,jdbcType=VARCHAR},#{classification,jdbcType=CHAR} + ,#{description,jdbcType=VARCHAR},#{operator,jdbcType=VARCHAR},#{version,jdbcType=DECIMAL} + ,#{operateTime,jdbcType=TIMESTAMP}) + select * from hrmresource_version where resourceid=#{resourceid} order by version desc limit 1 @@ -85,7 +72,7 @@ select top 1 * from hrmresource_version where resourceid=#{resourceid} order by version desc - + insert into hrmresource_version id, @@ -244,61 +231,7 @@ #{operateTime,jdbcType=TIMESTAMP}, - - insert into HRMRESOURCE_VERSION - ( ID,RESOURCEID,COMPANYSTARTDATE - ,COMPANYWORKYEAR,WORKSTARTDATE,WORKYEAR - ,USEKIND,JOBCALL,ACCUMFUNDACCOUNT - ,BIRTHPLACE,FOLK,RESIDENTPHONE - ,RESIDENTPOSTCODE,EXTPHONE,MANAGERSTR - ,STATUS,FAX,ISLABOUUNION - ,WEIGHT,TEMPRESIDENTNUMBER,PROBATIONENDDATE - ,COUNTRYID,PASSWDCHGDATE,LLOGINID - ,DSPORDER,PASSWORDSTATE,ACCOUNTTYPE - ,BELONGTO,MESSAGERURL,ACCOUNTNAME - ,LOGINID,PASSWORD,LASTNAME - ,SEX,BIRTHDAY,NATIONALITY - ,MARITALSTATUS,TELEPHONE,MOBILE - ,MOBILECALL,EMAIL,LOCATIONID - ,WORKROOM,HOMEADDRESS,RESOURCETYPE - ,STARTDATE,ENDDATE,JOBTITLE - ,JOBACTIVITYDESC,JOBLEVEL,SECLEVEL - ,DEPARTMENTID,SUBCOMPANYID1,COSTCENTERID - ,MANAGERID,ASSISTANTID,BANKID1 - ,ACCOUNTID1,RESOURCEIMAGEID,CERTIFICATENUM - ,NATIVEPLACE,EDUCATIONLEVEL,BEMEMBERDATE - ,BEPARTYDATE,WORKCODE,REGRESIDENTPLACE - ,HEALTHINFO,RESIDENTPLACE,POLICY - ,DEGREE,HEIGHT,CLASSIFICATION - ,DESCRIPTION,OPERATOR,VERSION - ,OPERATE_TIME) - values (#{id,jdbcType=DECIMAL},#{resourceid,jdbcType=DECIMAL},#{companystartdate,jdbcType=TIMESTAMP} - ,#{companyworkyear,jdbcType=DECIMAL},#{workstartdate,jdbcType=TIMESTAMP},#{workyear,jdbcType=DECIMAL} - ,#{usekind,jdbcType=DECIMAL},#{jobcall,jdbcType=DECIMAL},#{accumfundaccount,jdbcType=VARCHAR} - ,#{birthplace,jdbcType=VARCHAR},#{folk,jdbcType=VARCHAR},#{residentphone,jdbcType=VARCHAR} - ,#{residentpostcode,jdbcType=VARCHAR},#{extphone,jdbcType=VARCHAR},#{managerstr,jdbcType=VARCHAR} - ,#{status,jdbcType=DECIMAL},#{fax,jdbcType=VARCHAR},#{islabouunion,jdbcType=CHAR} - ,#{weight,jdbcType=DECIMAL},#{tempresidentnumber,jdbcType=VARCHAR},#{probationenddate,jdbcType=TIMESTAMP} - ,#{countryid,jdbcType=DECIMAL},#{passwdchgdate,jdbcType=TIMESTAMP},#{lloginid,jdbcType=VARCHAR} - ,#{dsporder,jdbcType=FLOAT},#{passwordstate,jdbcType=DECIMAL},#{accounttype,jdbcType=DECIMAL} - ,#{belongto,jdbcType=DECIMAL},#{messagerurl,jdbcType=VARCHAR},#{accountname,jdbcType=VARCHAR} - ,#{loginid,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{lastname,jdbcType=VARCHAR} - ,#{sex,jdbcType=CHAR},#{birthday,jdbcType=CHAR},#{nationality,jdbcType=DECIMAL} - ,#{maritalstatus,jdbcType=CHAR},#{telephone,jdbcType=VARCHAR},#{mobile,jdbcType=VARCHAR} - ,#{mobilecall,jdbcType=VARCHAR},#{email,jdbcType=VARCHAR},#{locationid,jdbcType=DECIMAL} - ,#{workroom,jdbcType=VARCHAR},#{homeaddress,jdbcType=VARCHAR},#{resourcetype,jdbcType=CHAR} - ,#{startdate,jdbcType=TIMESTAMP},#{enddate,jdbcType=TIMESTAMP},#{jobtitle,jdbcType=DECIMAL} - ,#{jobactivitydesc,jdbcType=VARCHAR},#{joblevel,jdbcType=DECIMAL},#{seclevel,jdbcType=DECIMAL} - ,#{departmentid,jdbcType=DECIMAL},#{subcompanyid1,jdbcType=DECIMAL},#{costcenterid,jdbcType=DECIMAL} - ,#{managerid,jdbcType=DECIMAL},#{assistantid,jdbcType=DECIMAL},#{bankid1,jdbcType=DECIMAL} - ,#{accountid1,jdbcType=VARCHAR},#{resourceimageid,jdbcType=DECIMAL},#{certificatenum,jdbcType=VARCHAR} - ,#{nativeplace,jdbcType=VARCHAR},#{educationlevel,jdbcType=DECIMAL},#{bememberdate,jdbcType=TIMESTAMP} - ,#{bepartydate,jdbcType=TIMESTAMP},#{workcode,jdbcType=VARCHAR},#{regresidentplace,jdbcType=VARCHAR} - ,#{healthinfo,jdbcType=CHAR},#{residentplace,jdbcType=VARCHAR},#{policy,jdbcType=VARCHAR} - ,#{degree,jdbcType=VARCHAR},#{height,jdbcType=VARCHAR},#{classification,jdbcType=CHAR} - ,#{description,jdbcType=VARCHAR},#{operator,jdbcType=VARCHAR},#{version,jdbcType=DECIMAL} - ,#{operateTime,jdbcType=TIMESTAMP}) - + select * from jcl_org_map where ftype = #{fType} AND FDATEBEGIN <= #{currentDate} AND FDATEEND >= #{currentDate} - - delete from jcl_org_map where fdatebegin = #{currentDate} @@ -95,11 +93,14 @@ fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, fisvitual,fdatebegin,fdateend) select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, - c.id,c.jobtitlename,null,null, isnull( b.id, '' ) +200000000,b.id, + c.id,c.jobtitlename,e.level_name,f.grade_name, isnull( b.id, '' ) +200000000,b.id, 0,convert(varchar(100),getDate(),23),'2099-12-31' from hrmresource a left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle left join HrmJobTitles c on b.ec_jobTitle = c.id + left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 + left join jcl_org_level e on d.field3=e.id + left join jcl_org_grade f on d.field4=f.id where a.status < 4 @@ -108,11 +109,14 @@ fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, fisvitual,fdatebegin,fdateend) select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, - c.id,c.jobtitlename,null,null, ifnull( b.id, '' ) +200000000,b.id, + c.id,c.jobtitlename,e.level_name,f.grade_name, ifnull( b.id, '' ) +200000000,b.id, 0,NOW(),'2099-12-31' from hrmresource a left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle left join HrmJobTitles c on b.ec_jobTitle = c.id + left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 + left join jcl_org_level e on d.field3=e.id + left join jcl_org_grade f on d.field4=f.id where a.status < 4 @@ -121,11 +125,14 @@ fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, fisvitual,fdatebegin,fdateend) select a.id+300000000,4,a.id,a.uuid,0,'行政维度',a.workcode,a.LASTNAME,a.messagerurl, - c.id,c.jobtitlename,null,null, nvl( b.id, '' ) +200000000,b.id, + c.id,c.jobtitlename,e.level_name,f.grade_name, nvl( b.id, '' ) +200000000,b.id, 0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') from hrmresource a left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle left join HrmJobTitles c on b.ec_jobTitle = c.id + left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 + left join jcl_org_level e on d.field3=e.id + left join jcl_org_grade f on d.field4=f.id where a.status < 4 @@ -193,15 +200,19 @@ (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, fplan,fonjob,fisvitual,fdatebegin,fdateend) - select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,cast(a.BMFZR as varchar(10)),b.messagerurl, - b.lastname,b.jobtitle,c.jobtitlemark,null,null, + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,cast(b.BMFZR as varchar(10)),c.messagerurl, + c.lastname,c.jobtitle,d.jobtitlemark,f.level_name,g.grade_name, (case isnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), (case isnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), 0,0,0,convert(varchar(100),getDate(),23),'2099-12-31' from HrmDepartment as a - left join hrmresource as b on cast(a.BMFZR as varchar(10))=cast(b.ID as varchar(10)) - left join hrmjobtitles as c on b.JOBTITLE=c.id + left join hrmdepartmentdefined as b on a.id=b.deptid + left join hrmresource as c on cast(b.BMFZR as varchar(10))=cast(c.ID as varchar(10)) + left join hrmjobtitles as d on c.JOBTITLE=d.id + left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 + left join jcl_org_level f on e.field3=f.id + left join jcl_org_grade g on e.field4=g.id where isnull(a.canceled,0) <> 1 @@ -209,31 +220,38 @@ (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, fplan,fonjob,fisvitual,fdatebegin,fdateend) - select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,a.BMFZR,b.messagerurl, - b.lastname,b.jobtitle,c.jobtitlemark,null,null, + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,b.BMFZR,c.messagerurl, + c.lastname,c.jobtitle,d.jobtitlemark,f.level_name,g.grade_name, (case ifnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), (case ifnull(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), 0,0,0,NOW(),'2099-12-31' from HrmDepartment as a - left join hrmresource as b on a.BMFZR=b.ID - left join hrmjobtitles as c on b.JOBTITLE=c.id + left join hrmdepartmentdefined as b on a.id=b.deptid + left join hrmresource as c on b.BMFZR=c.ID + left join hrmjobtitles as d on c.JOBTITLE=d.id + left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 + left join jcl_org_level f on e.field3=f.id + left join jcl_org_grade g on e.field4=g.id where ifnull(a.canceled,0) <> 1 insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, - fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, - fplan,fonjob,fisvitual,fdatebegin,fdateend) - select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,a.BMFZR,b.messagerurl, - b.lastname,b.jobtitle,c.jobtitlemark,null,null, - (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), - (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), - 0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') - from - HrmDepartment a - left join hrmresource b on a.BMFZR=b.ID - left join hrmjobtitles c on b.JOBTITLE=c.id + fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, + fplan,fonjob,fisvitual,fdatebegin,fdateend) + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,to_number(b.BMFZR),c.messagerurl, + c.lastname,c.jobtitle,d.jobtitlemark,f.level_name,g.grade_name, + (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), + (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), + 0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') + from HrmDepartment a + left join hrmdepartmentdefined b on a.id=b.deptid + left join hrmresource c on to_char(b.BMFZR)=c.ID + left join hrmjobtitles d on c.JOBTITLE=d.id + left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 + left join jcl_org_level f on e.field3=f.id + left join jcl_org_grade g on e.field4=g.id where nvl(a.canceled,0) <> 1 diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 66b22f70..743176f9 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -385,7 +385,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmDepartmentVersion.setDescription(null); hrmDepartmentVersion.setOperator(user.getLastname()); hrmDepartmentVersion.setVersion(genVersionId(2, Util.null2String(id))); -// hrmDepartmentVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); + hrmDepartmentVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); getCompanyVersionMapper().insertHrmDeptVersion(hrmDepartmentVersion); } @@ -413,7 +413,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe hrmResourceVersion.setManagerid(StringUtils.isNotBlank(managerid) ? Integer.parseInt(managerid) : null); hrmResourceVersion.setLastname(hrmResourceDto.getLastname()); hrmResourceVersion.setOperator(user.getLastname()); -// hrmResourceVersion.setVersion(genVersionId(4, String.valueOf(id))); + hrmResourceVersion.setVersion(genVersionId(4, String.valueOf(id))); hrmResourceVersion.setOperateTime(new Timestamp(OrganizationDateUtil.stringToDateTime(currentDate).getTime())); getCompanyVersionMapper().insertHrmResourceVersion(hrmResourceVersion); From 30898d0eee17cdbc6cf7a21806c2a27dbeead4b9 Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 20 Dec 2022 09:02:51 +0800 Subject: [PATCH 096/203] =?UTF-8?q?oracle=E7=8E=AF=E5=A2=83=E5=AD=98?= =?UTF-8?q?=E5=85=A5=E7=89=88=E6=9C=ACbug=E4=BF=AE=E5=A4=8D=E3=80=81?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A71220?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/version/HrmDepartmentVersion.java | 4 + .../entity/version/HrmResourceVersion.java | 4 + .../entity/version/HrmSubCompanyVersion.java | 2 + .../mapper/version/CompanyVersionMapper.xml | 83 +++++++++---------- .../service/impl/OrgChartServiceImpl.java | 2 +- .../impl/VersionManageServiceImpl.java | 15 ++-- 6 files changed, 58 insertions(+), 52 deletions(-) diff --git a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java index e16cde7a..740fc704 100644 --- a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java +++ b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java @@ -21,4 +21,8 @@ public class HrmDepartmentVersion { String operator; Double version; Date operateTime; + + String subcompanyname; + String supDepName; + String bmfzrName; } diff --git a/src/com/engine/organization/entity/version/HrmResourceVersion.java b/src/com/engine/organization/entity/version/HrmResourceVersion.java index 618df54c..37e149af 100644 --- a/src/com/engine/organization/entity/version/HrmResourceVersion.java +++ b/src/com/engine/organization/entity/version/HrmResourceVersion.java @@ -159,4 +159,8 @@ public class HrmResourceVersion { private Date operateTime; + String departmentname; + String subcompanyname; + String jobtitlename; + } diff --git a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java index a9a1701d..c9524ecc 100644 --- a/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java +++ b/src/com/engine/organization/entity/version/HrmSubCompanyVersion.java @@ -19,4 +19,6 @@ public class HrmSubCompanyVersion { String operator; Double version; Date operateTime; + + String supSubComName; } diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 79574162..1ab42fb7 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -234,79 +234,76 @@ \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 795487d6..a3876982 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -558,7 +558,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { String ftype = null; if (rs.next()) { fparentid = rs.getString("fparentid"); - String typeSql = "select ftype from jcl_org_map where id=" + fparentid + " "; + String typeSql = "select ftype from jcl_org_map where id=" + fparentid + whereSql; rs.executeQuery(typeSql + whereSql); if (rs.next()) { ftype = rs.getString("ftype"); diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 743176f9..87c88a3d 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -94,7 +94,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe for (HrmSubCompanyVersion hrmSubCompanyVersion : list) { datas.add(VersionData.builder().fieldId("分部简称").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyName())).build()); datas.add(VersionData.builder().fieldId("分部描述").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyDesc())).build()); - datas.add(VersionData.builder().fieldId("上级分部id").fieldValue(Util.null2String(hrmSubCompanyVersion.getSupSubComId())).build()); + datas.add(VersionData.builder().fieldId("上级分部").fieldValue(Util.null2String(hrmSubCompanyVersion.getSupSubComName())).build()); datas.add(VersionData.builder().fieldId("版本号").fieldValue(Util.null2String(String.format("%.1f", hrmSubCompanyVersion.getVersion()))).build()); datas.add(VersionData.builder().fieldId("分部编码").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyCode())).build()); datas.add(VersionData.builder().fieldId("排序").fieldValue(Util.null2String(hrmSubCompanyVersion.getShowOrder())).build()); @@ -122,10 +122,9 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe datas.add(VersionData.builder().fieldId("部门编号").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentCode())).build()); datas.add(VersionData.builder().fieldId("部门简称").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentName())).build()); datas.add(VersionData.builder().fieldId("部门标识").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentMark())).build()); - datas.add(VersionData.builder().fieldId("所属分部").fieldValue(Util.null2String(hrmDepartmentVersion.getSubCompanyId1())).build()); - datas.add(VersionData.builder().fieldId("上级部门").fieldValue(Util.null2String(hrmDepartmentVersion.getSupDepId())).build()); - datas.add(VersionData.builder().fieldId("上级部门").fieldValue(Util.null2String(hrmDepartmentVersion.getSupDepId())).build()); - datas.add(VersionData.builder().fieldId("部门负责人").fieldValue(Util.null2String(hrmDepartmentVersion.getBmfzr())).build()); + datas.add(VersionData.builder().fieldId("所属分部").fieldValue(Util.null2String(hrmDepartmentVersion.getSubcompanyname())).build()); + datas.add(VersionData.builder().fieldId("上级部门").fieldValue(Util.null2String(hrmDepartmentVersion.getSupDepName())).build()); + datas.add(VersionData.builder().fieldId("部门负责人").fieldValue(Util.null2String(hrmDepartmentVersion.getBmfzrName())).build()); datas.add(VersionData.builder().fieldId("版本号").fieldValue(Util.null2String(String.format("%.1f", hrmDepartmentVersion.getVersion()))).build()); datas.add(VersionData.builder().fieldId("排序").fieldValue(Util.null2String(hrmDepartmentVersion.getShowOrder())).build()); operateName = hrmDepartmentVersion.getOperator(); @@ -150,9 +149,9 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe resVersionList = getCompanyVersionMapper().getResourceVersionList(id, version); for (HrmResourceVersion hrmResourceVersion : resVersionList) { datas.add(VersionData.builder().fieldId("姓名").fieldValue(Util.null2String(hrmResourceVersion.getLastname())).build()); - datas.add(VersionData.builder().fieldId("部门").fieldValue(Util.null2String(hrmResourceVersion.getDepartmentid())).build()); - datas.add(VersionData.builder().fieldId("岗位").fieldValue(Util.null2String(hrmResourceVersion.getJobtitle())).build()); - datas.add(VersionData.builder().fieldId("分部").fieldValue(Util.null2String(hrmResourceVersion.getSubcompanyid1())).build()); + datas.add(VersionData.builder().fieldId("部门").fieldValue(Util.null2String(hrmResourceVersion.getDepartmentname())).build()); + datas.add(VersionData.builder().fieldId("岗位").fieldValue(Util.null2String(hrmResourceVersion.getJobtitlename())).build()); + datas.add(VersionData.builder().fieldId("分部").fieldValue(Util.null2String(hrmResourceVersion.getSubcompanyname())).build()); datas.add(VersionData.builder().fieldId("版本号").fieldValue(Util.null2String(String.format("%.1f", hrmResourceVersion.getVersion()))).build()); operateName = hrmResourceVersion.getOperator(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); From e7cc13ed60b959fe5656fffafa4d44c0c16f0bf6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Dec 2022 09:13:11 +0800 Subject: [PATCH 097/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/service/impl/JobServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 58661a43..b807eba1 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -588,6 +588,7 @@ public class JobServiceImpl extends Service implements JobService { .ecCompany(resourcePO.getSubcompanyid1()) .ecDepartment(resourcePO.getDepartmentid()) .ecJobTitle(resourcePO.getJobtitle()) + .isKey(0) .deleteType(DeleteTypeEnum.NOT_DELETED.getValue()) .createTime(new Date()) .updateTime(new Date()) From b8158cdcec8b4e1d36430b82ec918a8438d6cc53 Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 20 Dec 2022 10:57:46 +0800 Subject: [PATCH 098/203] =?UTF-8?q?oracle=E7=89=88=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/mapper/jclorgmap/JclOrgMapper.xml | 9 ++++++--- .../service/impl/VersionManageServiceImpl.java | 6 +++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index 9db63187..cdac7079 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -128,7 +128,7 @@ c.id,c.jobtitlename,e.level_name,f.grade_name, nvl( b.id, '' ) +200000000,b.id, 0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') from hrmresource a - left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle and a.subcompanyid1=b.ec_company and a.departmentid=b.ec_department left join HrmJobTitles c on b.ec_jobTitle = c.id left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 left join jcl_org_level e on d.field3=e.id @@ -189,8 +189,11 @@ where plan_id in (select id from JCL_ORG_STAFFPLAN where time_start<=TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd') and time_end>TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd')) and delete_type=0 group by job_id) e on a.id=e.job_id - left join (select jobtitle,count(1) fcnt from hrmresource group by jobtitle) f - on f.JOBTITLE=a.ec_jobTitle + left join ( select c.id,count(1) fcnt from hrmresource a + left join Hrmjobtitles b on a.jobtitle=b.id + left join jcl_org_job c on b.id=c.ec_jobtitle and a.subcompanyid1=c.ec_company and a.departmentid=c.ec_department + group by c.id) f + on f.id=a.id left join HrmJobTitles g on a.ec_jobTitle = g.id where nvl(a.delete_type,0) <> 1 and nvl(a.forbidden_tag,0) <> 1 diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index 87c88a3d..d64a0540 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -93,10 +93,10 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe list = getCompanyVersionMapper().getSubComVersionList(id, version); for (HrmSubCompanyVersion hrmSubCompanyVersion : list) { datas.add(VersionData.builder().fieldId("分部简称").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyName())).build()); - datas.add(VersionData.builder().fieldId("分部描述").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyDesc())).build()); + datas.add(VersionData.builder().fieldId("分部全称").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyDesc())).build()); datas.add(VersionData.builder().fieldId("上级分部").fieldValue(Util.null2String(hrmSubCompanyVersion.getSupSubComName())).build()); datas.add(VersionData.builder().fieldId("版本号").fieldValue(Util.null2String(String.format("%.1f", hrmSubCompanyVersion.getVersion()))).build()); - datas.add(VersionData.builder().fieldId("分部编码").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyCode())).build()); + datas.add(VersionData.builder().fieldId("分部编号").fieldValue(Util.null2String(hrmSubCompanyVersion.getSubCompanyCode())).build()); datas.add(VersionData.builder().fieldId("排序").fieldValue(Util.null2String(hrmSubCompanyVersion.getShowOrder())).build()); operateName = hrmSubCompanyVersion.getOperator(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -121,7 +121,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe for (HrmDepartmentVersion hrmDepartmentVersion : deptVersionList) { datas.add(VersionData.builder().fieldId("部门编号").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentCode())).build()); datas.add(VersionData.builder().fieldId("部门简称").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentName())).build()); - datas.add(VersionData.builder().fieldId("部门标识").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentMark())).build()); + datas.add(VersionData.builder().fieldId("部门全称").fieldValue(Util.null2String(hrmDepartmentVersion.getDepartmentMark())).build()); datas.add(VersionData.builder().fieldId("所属分部").fieldValue(Util.null2String(hrmDepartmentVersion.getSubcompanyname())).build()); datas.add(VersionData.builder().fieldId("上级部门").fieldValue(Util.null2String(hrmDepartmentVersion.getSupDepName())).build()); datas.add(VersionData.builder().fieldId("部门负责人").fieldValue(Util.null2String(hrmDepartmentVersion.getBmfzrName())).build()); From 31a26dec08c219f453efb1f044f0b855a16c1391 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Dec 2022 13:53:18 +0800 Subject: [PATCH 099/203] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E3=80=81=E8=BD=AC=E7=A7=BB=E3=80=82=E5=B2=97=E4=BD=8D=E5=90=8C?= =?UTF-8?q?=E6=AD=A5BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/DepartmentServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 39e32f06..a5ff62ff 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -549,7 +549,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService RecordSet rs = new RecordSet(); String targetEcDeptId = targetDepartment.getId().toString(); String mergeEcDeptId = mergeParam.getId().toString(); - rs.executeUpdate("update jcl_org_job set parent_comp =?,ec_company =?,parent_dept =?,ec_department =? where ec_department =?", targetDepartment.getSubCompanyId1(), targetDepartment.getSubCompanyId1(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); + //rs.executeUpdate("update jcl_org_job set parent_comp =?,ec_company =?,parent_dept =?,ec_department =? where ec_department =?", targetDepartment.getSubCompanyId1(), targetDepartment.getSubCompanyId1(), targetDepartment.getId(), targetEcDeptId, mergeParam.getId()); // 更新岗位组织架构图 //for (JobPO jobPO : firstChildJobList) { // // 刷新组织架构图 @@ -644,7 +644,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService updateEcDepartment(deptById); // 刷新岗位分部 - refreshJobComp(deptById.getId(), deptById.getSubCompanyId1()); + //refreshJobComp(deptById.getId(), deptById.getSubCompanyId1()); List deptList = getDepartmentMapper().getDeptListByPId(deptById.getId()); // 更新当前部门下的人员 // new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", deptById.getSubCompanyId1(), deptById.getId()); @@ -674,7 +674,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService // 更新组织架构图 // TODO new DepartmentTriggerRunnable(departmentPO.getId()).run(); // 刷新岗位所属分部 - refreshJobComp(departmentPO.getId(), subCompanyId1); + //refreshJobComp(departmentPO.getId(), subCompanyId1); // 更新当前部门下的人员 // String ecDepartmentId = EcHrmRelationUtil.getEcDepartmentId(departmentPO.getId().toString()); //new RecordSet().executeUpdate("update hrmresource set SUBCOMPANYID1 =? where DEPARTMENTID = ?", ecCompanyId, ecDepartmentId); From a080ebea22cb49c2fe1d72ed253dc6b7e5401df2 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Dec 2022 15:17:36 +0800 Subject: [PATCH 100/203] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E6=8C=89=E9=92=AEBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/api/browser/service/impl/JobBrowserService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/api/browser/service/impl/JobBrowserService.java b/src/com/api/browser/service/impl/JobBrowserService.java index 52e7844b..a229bb30 100644 --- a/src/com/api/browser/service/impl/JobBrowserService.java +++ b/src/com/api/browser/service/impl/JobBrowserService.java @@ -121,9 +121,9 @@ public class JobBrowserService extends BrowserService { String[] keyArray = treeKey.split("_"); if (keyArray.length == 2) { if (TreeNodeTypeEnum.TYPE_COMP.getName().equals(keyArray[0])) { - sqlWhere += " AND t.parent_comp = '" + Long.parseLong(keyArray[1]) + "'"; + sqlWhere += " AND t.ec_company = '" + Long.parseLong(keyArray[1]) + "'"; } else if (TreeNodeTypeEnum.TYPE_DEPT.getName().equals(keyArray[0])) { - sqlWhere += " AND t.parent_dept = '" + Long.parseLong(keyArray[1]) + "'"; + sqlWhere += " AND t.ec_department = '" + Long.parseLong(keyArray[1]) + "'"; } } } From 6dcb5db15f015c3c0227562ff97f2edbeee30b7b Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 20 Dec 2022 15:36:39 +0800 Subject: [PATCH 101/203] =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/jclorgmap/JclOrgMapper.java | 4 +- .../mapper/jclorgmap/JclOrgMapper.xml | 39 ++++++++++--------- .../service/impl/OrgChartServiceImpl.java | 28 ++++++++----- .../impl/VersionManageServiceImpl.java | 2 + 4 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java index 2a1b839a..006df4b2 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java @@ -34,11 +34,11 @@ public interface JclOrgMapper { int updateAllMap(@Param("currentDate") Date currentDate, @Param("yesterday") Date yesterday); - int insertResToMap(); + int insertResToMap(@Param("level") String level, @Param("grade") String grade); int insertJobToMap(); - int insertDeptToMap(); + int insertDeptToMap(@Param("level") String level, @Param("grade") String grade); int insertSubComToMap(); diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index cdac7079..bf8a67ce 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -86,6 +86,7 @@ where fdateend > #{currentDate} + insert into jcl_org_map @@ -96,11 +97,11 @@ c.id,c.jobtitlename,e.level_name,f.grade_name, isnull( b.id, '' ) +200000000,b.id, 0,convert(varchar(100),getDate(),23),'2099-12-31' from hrmresource a - left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle and a.subcompanyid1=b.ec_company and a.departmentid=b.ec_department left join HrmJobTitles c on b.ec_jobTitle = c.id left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 - left join jcl_org_level e on d.field3=e.id - left join jcl_org_grade f on d.field4=f.id + left join jcl_org_level e on d.${level}=e.id + left join jcl_org_grade f on d.${grade}=f.id where a.status < 4 @@ -112,14 +113,14 @@ c.id,c.jobtitlename,e.level_name,f.grade_name, ifnull( b.id, '' ) +200000000,b.id, 0,NOW(),'2099-12-31' from hrmresource a - left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle + left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle and a.subcompanyid1=b.ec_company and a.departmentid=b.ec_department left join HrmJobTitles c on b.ec_jobTitle = c.id left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 - left join jcl_org_level e on d.field3=e.id - left join jcl_org_grade f on d.field4=f.id + left join jcl_org_level e on d.${level}=e.id + left join jcl_org_grade f on d.${grade}=f.id where a.status < 4 - + insert into jcl_org_map (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleaderimg, fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, @@ -131,8 +132,8 @@ left join jcl_org_job b ON a.JOBTITLE = b.ec_jobTitle and a.subcompanyid1=b.ec_company and a.departmentid=b.ec_department left join HrmJobTitles c on b.ec_jobTitle = c.id left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 - left join jcl_org_level e on d.field3=e.id - left join jcl_org_grade f on d.field4=f.id + left join jcl_org_level e on ${level}=e.id + left join jcl_org_grade f on ${grade}=f.id where a.status < 4 @@ -169,9 +170,11 @@ where plan_id in (select id from JCL_ORG_STAFFPLAN where time_start<=NOW() and time_end > NOW() and delete_type=0) group by job_id) e on a.id=e.job_id - left join (select JOBTITLE,count(1) fcnt from hrmresource group by JOBTITLE - ) f - on f.JOBTITLE=a.ec_jobTitle + left join ( select c.id,count(1) fcnt from hrmresource a + left join Hrmjobtitles b on a.jobtitle=b.id + left join jcl_org_job c on b.id=c.ec_jobtitle and a.subcompanyid1=c.ec_company and a.departmentid=c.ec_department + group by c.id) f + on f.id=a.id left join HrmJobTitles g on a.ec_jobTitle = g.id where ifnull(a.delete_type,0) <> 1 and ifnull(a.forbidden_tag,0) <> 1 @@ -214,8 +217,8 @@ left join hrmresource as c on cast(b.BMFZR as varchar(10))=cast(c.ID as varchar(10)) left join hrmjobtitles as d on c.JOBTITLE=d.id left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 - left join jcl_org_level f on e.field3=f.id - left join jcl_org_grade g on e.field4=g.id + left join jcl_org_level f on e.${level}=f.id + left join jcl_org_grade g on e.${grade}=g.id where isnull(a.canceled,0) <> 1 @@ -234,8 +237,8 @@ left join hrmresource as c on b.BMFZR=c.ID left join hrmjobtitles as d on c.JOBTITLE=d.id left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 - left join jcl_org_level f on e.field3=f.id - left join jcl_org_grade g on e.field4=g.id + left join jcl_org_level f on e.${level}=f.id + left join jcl_org_grade g on e.${grade}=g.id where ifnull(a.canceled,0) <> 1 @@ -253,8 +256,8 @@ left join hrmresource c on to_char(b.BMFZR)=c.ID left join hrmjobtitles d on c.JOBTITLE=d.id left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 - left join jcl_org_level f on e.field3=f.id - left join jcl_org_grade g on e.field4=g.id + left join jcl_org_level f on e.${level}=f.id + left join jcl_org_grade g on e.${grade}=g.id where nvl(a.canceled,0) <> 1 diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index a3876982..2c0e7491 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -37,6 +37,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { private static final String COMPANY_RIGHT = "OrgChart:All"; private static final String USER_RIGHT = "OrgPerspective:All"; + private final String level = getFieldName("职等"); + private final String grade = getFieldName("职级"); @Override public Map getOptionCondition(Map request2Map, User user) { @@ -505,9 +507,6 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { private JclOrgMapper getJclOrgMapMapper() { return MapperProxyFactory.getProxy(JclOrgMapper.class); } - private StaffMapper getStaffMapper() { - return MapperProxyFactory.getProxy(StaffMapper.class); - } @Override public String synchronousData(Map request2Map, User user) { String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); @@ -520,11 +519,11 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { getJclOrgMapMapper().deleteAllMap(date); getJclOrgMapMapper().updateAllMap(date,time); //同步人员信息 - getJclOrgMapMapper().insertResToMap(); + getJclOrgMapMapper().insertResToMap(level,grade); //同步岗位信息 getJclOrgMapMapper().insertJobToMap(); //同步部门信息 - getJclOrgMapMapper().insertDeptToMap(); + getJclOrgMapMapper().insertDeptToMap(level,grade); //同步分部信息 getJclOrgMapMapper().insertSubComToMap(); //同步集团信息 @@ -565,11 +564,22 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { } } JclOrgMap jclOrgMap = getJclOrgMapMapper().getSumPlanAndJobByFParentId(date, fparentid); - getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), jclOrgMap.getFOnJob(), date); - - if (!"-1".equals(fparentid)) { - countJobAndPlans(ftype, Integer.parseInt(fparentid), String.valueOf(currentDate)); + if (fparentid != null) { + getJclOrgMapMapper().updateMapById(Integer.parseInt(fparentid), jclOrgMap.getFPlan(), jclOrgMap.getFOnJob(), date); + if (!"-1".equals(fparentid)) { + countJobAndPlans(ftype, Integer.parseInt(fparentid), String.valueOf(currentDate)); + } } + + } + private String getFieldName(String fieldabel) { + RecordSet recordSet = new RecordSet(); + String fieldname = null; + recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel+"'"); + if (recordSet.next()) { + fieldname = recordSet.getString("fieldname"); + } + return fieldname; } static class OrgSelectItem { private String id; diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index d64a0540..b09e3252 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -32,6 +32,7 @@ import java.util.*; **/ public class VersionManageServiceImpl extends Service implements VersionManageService { + private CompanyVersionMapper getCompanyVersionMapper() { return MapperProxyFactory.getProxy(CompanyVersionMapper.class); } @@ -448,4 +449,5 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe return id; } + } From 665172325ea7fa95275a7d38fded81b294d325fa Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Dec 2022 16:52:36 +0800 Subject: [PATCH 102/203] =?UTF-8?q?=E8=81=8C=E7=AD=89=E8=81=8C=E7=BA=A7BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JclOrgServiceImpl.java | 42 +++++-------------- .../util/field/StaticFieldName.java | 39 +++++++++++++++++ 2 files changed, 49 insertions(+), 32 deletions(-) create mode 100644 src/com/engine/organization/util/field/StaticFieldName.java diff --git a/src/com/engine/organization/service/impl/JclOrgServiceImpl.java b/src/com/engine/organization/service/impl/JclOrgServiceImpl.java index bfd48af4..4a608ae9 100644 --- a/src/com/engine/organization/service/impl/JclOrgServiceImpl.java +++ b/src/com/engine/organization/service/impl/JclOrgServiceImpl.java @@ -2,12 +2,10 @@ package com.engine.organization.service.impl; import com.engine.core.impl.Service; import com.engine.organization.service.JclOrgService; +import com.engine.organization.util.field.StaticFieldName; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; -import java.util.HashMap; -import java.util.Map; - /** * @author:dxfeng * @createTime: 2022/12/16 @@ -17,39 +15,19 @@ public class JclOrgServiceImpl extends Service implements JclOrgService { @Override public void supplementResourceInfo(Integer userId) { - // 职等职级树 - String zdzjFieldName; - // 等级方案 - String schemeFieldName; - // 职等 - String levelFieldName; - // 职级 - String gradeFieldName; - // 岗位序列 - String sequenceFieldName; - Map fieldNameMap = new HashMap<>(); // 查询职等职级字段 RecordSet rs = new RecordSet(); - rs.execute("select fieldlabel ,fieldname from jcl_org_field"); - while (rs.next()) { - fieldNameMap.put(rs.getString("fieldlabel"), rs.getString("fieldname")); - } - zdzjFieldName = fieldNameMap.get("职等职级"); - schemeFieldName = fieldNameMap.get("等级方案"); - levelFieldName = fieldNameMap.get("职等"); - gradeFieldName = fieldNameMap.get("职级"); - sequenceFieldName = fieldNameMap.get("岗位序列"); // 所有字段信息存在,执行业务逻辑 - if (StringUtils.isNoneBlank(zdzjFieldName, schemeFieldName, levelFieldName, gradeFieldName, sequenceFieldName)) { + if (StringUtils.isNoneBlank(StaticFieldName.zdzjFieldName, StaticFieldName.schemeFieldName, StaticFieldName.levelFieldName, StaticFieldName.gradeFieldName, StaticFieldName.sequenceFieldName)) { String zdzjFieldValue = ""; String schemeFieldValue = ""; String levelFieldValue = ""; String gradeFieldValue = ""; String sequenceFieldValue = ""; - String sql = "select " + zdzjFieldName + " from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id= " + userId; + String sql = "select " + StaticFieldName.zdzjFieldName + " from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id= " + userId; rs.execute(sql); if (rs.next()) { - zdzjFieldValue = rs.getString(zdzjFieldName); + zdzjFieldValue = rs.getString(StaticFieldName.zdzjFieldName); } // 职等职级为空时不处理 if (StringUtils.isBlank(zdzjFieldValue)) { @@ -58,8 +36,8 @@ public class JclOrgServiceImpl extends Service implements JclOrgService { sql = "select xlid, zjid, zdid from v_jcl_zdzjs where fid='" + zdzjFieldValue.substring(zdzjFieldValue.indexOf("_") + 1) + "'"; rs.execute(sql); if (rs.next()) { - levelFieldValue = rs.getString("zjid"); - gradeFieldValue = rs.getString("zdid"); + levelFieldValue = rs.getString("zdid"); + gradeFieldValue = rs.getString("zjid"); sequenceFieldValue = rs.getString("xlid"); } sql = "select scheme_id from jcl_org_sequence where id='" + sequenceFieldValue + "'"; @@ -69,13 +47,13 @@ public class JclOrgServiceImpl extends Service implements JclOrgService { } // 更新字段信息 - sql = "update cus_fielddata set " + sequenceFieldName + " = '" + sequenceFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; + sql = "update cus_fielddata set " + StaticFieldName.sequenceFieldName + " = '" + sequenceFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); - sql = "update cus_fielddata set " + schemeFieldName + " = '" + schemeFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; + sql = "update cus_fielddata set " + StaticFieldName.schemeFieldName + " = '" + schemeFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); - sql = "update cus_fielddata set " + levelFieldName + " = '" + levelFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; + sql = "update cus_fielddata set " + StaticFieldName.levelFieldName + " = '" + levelFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); - sql = "update cus_fielddata set " + gradeFieldName + " = '" + gradeFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; + sql = "update cus_fielddata set " + StaticFieldName.gradeFieldName + " = '" + gradeFieldValue + "' where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=" + userId; rs.execute(sql); } } diff --git a/src/com/engine/organization/util/field/StaticFieldName.java b/src/com/engine/organization/util/field/StaticFieldName.java new file mode 100644 index 00000000..8c474f5c --- /dev/null +++ b/src/com/engine/organization/util/field/StaticFieldName.java @@ -0,0 +1,39 @@ +package com.engine.organization.util.field; + +import weaver.conn.RecordSet; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/12/20 + * @version: 1.0 + */ +public class StaticFieldName { + private static final Map fieldNameMap; + public static final String zdzjFieldName; + // 等级方案 + public static final String schemeFieldName; + // 职等 + public static final String levelFieldName; + // 职级 + public static final String gradeFieldName; + // 岗位序列 + public static final String sequenceFieldName; + + static { + fieldNameMap = new HashMap<>(); + RecordSet rs = new RecordSet(); + rs.execute("select fieldlabel ,fieldname from jcl_org_field"); + while (rs.next()) { + fieldNameMap.put(rs.getString("fieldlabel"), rs.getString("fieldname")); + } + zdzjFieldName = fieldNameMap.get("职等职级"); + schemeFieldName = fieldNameMap.get("等级方案"); + levelFieldName = fieldNameMap.get("职等"); + gradeFieldName = fieldNameMap.get("职级"); + sequenceFieldName = fieldNameMap.get("岗位序列"); + } + +} From b7938cfb6b5ac53a5a5a6e6a6b62eab3cc2501af Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 20 Dec 2022 18:17:40 +0800 Subject: [PATCH 103/203] =?UTF-8?q?=E5=A4=9A=E9=83=A8=E9=97=A8=E8=B4=9F?= =?UTF-8?q?=E8=B4=A3=E4=BA=BABUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/department/bo/DepartmentBO.java | 7 ++++++- .../mapper/employee/EmployeeMapper.java | 4 ++-- .../mapper/employee/EmployeeMapper.xml | 5 ++++- .../service/impl/DepartmentServiceImpl.java | 4 ++-- .../transmethod/ManagerDetachTransMethod.java | 15 ++++++++++++--- 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 78370d1d..9468c5c9 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -162,7 +162,12 @@ public class DepartmentBO { if (StringUtils.isBlank(departmentPrincipal)) { return ""; } - return MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(Long.parseLong(departmentPrincipal)); + List collect = Arrays.stream(departmentPrincipal.split(",")).map(Long::parseLong).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(collect)) { + return ""; + } + List employeeNameById = MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(collect); + return StringUtils.join(employeeNameById, ","); } diff --git a/src/com/engine/organization/mapper/employee/EmployeeMapper.java b/src/com/engine/organization/mapper/employee/EmployeeMapper.java index 004a2077..158d2ee4 100644 --- a/src/com/engine/organization/mapper/employee/EmployeeMapper.java +++ b/src/com/engine/organization/mapper/employee/EmployeeMapper.java @@ -15,12 +15,12 @@ import java.util.Map; **/ public interface EmployeeMapper { - String getEmployeeNameById(@Param("employeeId") Long id); + List getEmployeeNameById(@Param("ids") Collection ids); List getResourceIds(@Param("lastName") String lastName); List getResourceIdsByName(@Param("lastName") String lastName); - List> getBrowserDatas(@Param("ids") Collection ids); + List> getBrowserDatas(@Param("ids") Collection ids); } diff --git a/src/com/engine/organization/mapper/employee/EmployeeMapper.xml b/src/com/engine/organization/mapper/employee/EmployeeMapper.xml index 99d1dcd3..78cdb7e9 100644 --- a/src/com/engine/organization/mapper/employee/EmployeeMapper.xml +++ b/src/com/engine/organization/mapper/employee/EmployeeMapper.xml @@ -21,7 +21,10 @@ diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index a5ff62ff..955c0b36 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -543,8 +543,8 @@ public class DepartmentServiceImpl extends Service implements DepartmentService //TODO new DepartmentTriggerRunnable(departmentPO.getId()).run(); } // 查询该部门一级岗位、更新岗位所属分部、所属部门 - List firstChildJobList = getJobMapper().listJobsByDepartmentId(mergeParam.getId()); - firstChildJobList = firstChildJobList.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); + //List firstChildJobList = getJobMapper().listJobsByDepartmentId(mergeParam.getId()); + //firstChildJobList = firstChildJobList.stream().filter(item -> null == item.getParentJob() || 0 == item.getParentJob()).collect(Collectors.toList()); // 批量更新部门、所属分部 RecordSet rs = new RecordSet(); String targetEcDeptId = targetDepartment.getId().toString(); diff --git a/src/com/engine/organization/transmethod/ManagerDetachTransMethod.java b/src/com/engine/organization/transmethod/ManagerDetachTransMethod.java index 7ad97512..330f8c65 100644 --- a/src/com/engine/organization/transmethod/ManagerDetachTransMethod.java +++ b/src/com/engine/organization/transmethod/ManagerDetachTransMethod.java @@ -5,8 +5,10 @@ import com.engine.organization.entity.DeleteParam; import com.engine.organization.mapper.employee.EmployeeMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.util.db.MapperProxyFactory; -import org.apache.commons.lang3.StringUtils; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.StringUtils; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -20,8 +22,15 @@ import java.util.stream.Collectors; public class ManagerDetachTransMethod { public static String getManagerName(String ecManager) { - String managerName = MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(Long.valueOf(ecManager)); - return managerName; + if (org.apache.commons.lang.StringUtils.isBlank(ecManager)) { + return ""; + } + List collect = Arrays.stream(ecManager.split(",")).map(Long::parseLong).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(collect)) { + return ""; + } + List employeeNameById = MapperProxyFactory.getProxy(EmployeeMapper.class).getEmployeeNameById(collect); + return StringUtils.join(employeeNameById, ","); } From 33106aaaecaa02b873d95c13598c3d6df51b70e9 Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 21 Dec 2022 10:58:49 +0800 Subject: [PATCH 104/203] =?UTF-8?q?sqlserver=E7=89=88=E6=9C=AC=E5=AD=98?= =?UTF-8?q?=E5=85=A5=E3=80=81=E9=83=A8=E9=97=A8=E8=BD=AC=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/mapper/jclorgmap/JclOrgMapper.java | 2 ++ .../organization/mapper/jclorgmap/JclOrgMapper.xml | 10 ++++++++-- .../mapper/version/CompanyVersionMapper.xml | 8 ++++---- .../organization/service/impl/OrgChartServiceImpl.java | 8 ++++++++ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java index 006df4b2..bb87dbd3 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java @@ -44,4 +44,6 @@ public interface JclOrgMapper { int insertComToMap(); + int deleteJobNull(); + } diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index bf8a67ce..05e96d6d 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -151,8 +151,11 @@ where plan_id in (select id from JCL_ORG_STAFFPLAN where time_start <= convert(varchar(100),getDate(),23) and time_end > convert(varchar(100),getDate(),23)) and delete_type=0 group by job_id) e on a.id=e.job_id - left join (select jobtitle,count(1) fcnt from hrmresource group by jobtitle) f - on f.JOBTITLE=a.ec_jobTitle + left join ( select c.id,count(1) fcnt from hrmresource a + left join Hrmjobtitles b on a.jobtitle=b.id + left join jcl_org_job c on b.id=c.ec_jobtitle and a.subcompanyid1=c.ec_company and a.departmentid=c.ec_department + group by c.id) f + on f.id=a.id left join HrmJobTitles g on a.ec_jobTitle = g.id where isnull(a.delete_type,0) <> 1 and isnull(a.forbidden_tag,0) <> 1 @@ -316,5 +319,8 @@ 0, NULL, NULL, 0, NULL, -1, 0, 0, 0, 0, NOW(), '2099-12-31' FROM hrmcompany + + delete from jcl_org_map where ftype=3 and fonjob=0 + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml index 1ab42fb7..58ad054a 100644 --- a/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml +++ b/src/com/engine/organization/mapper/version/CompanyVersionMapper.xml @@ -39,9 +39,9 @@ insert into hrmsubcompany_version - (id, subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , + (subcomid ,subcompanydesc ,subcompanycode ,subcompanyname ,supsubcomid , showorder ,canceled ,description ,operator ,version ,operate_time) - values (#{id},#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supSubComId}, + values (#{subComId}, #{subCompanyDesc}, #{subCompanyCode}, #{subCompanyName}, #{supSubComId}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) @@ -57,9 +57,9 @@ insert into hrmdepartment_version - (id,departmentid, departmentmark, departmentcode, departmentname, subcompanyid1, supdepid, + (departmentid, departmentmark, departmentcode, departmentname, subcompanyid1, supdepid, bmfzr, showorder, canceled, description, operator, version, operate_time) - VALUES (#{id},#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId}, + VALUES (#{departmentId}, #{departmentMark}, #{departmentCode}, #{departmentName}, #{subCompanyId1}, #{supDepId}, #{bmfzr}, #{showOrder}, #{canceled}, #{description}, #{operator}, #{version}, #{operateTime}) + select a.messagerurl as fLeaderImg,a.LASTNAME as fLeaderName,c.id as fLeaderJobId,b.JOBTITLEMARK as fLeaderJob,e.level_name as fLeaderLv,f.grade_name as fLeaderSt + from hrmresource a + left join hrmjobtitles b on a.JOBTITLE=b.ID + left join jcl_org_job c on b.ID = c.ec_jobTitle + left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 + left join jcl_org_level e on d.${level}=e.id + left join jcl_org_grade f on d.${grade}=f.id + where a.id=#{id} + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 3cba9971..1eadb1af 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -377,8 +377,21 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { return result; } //处理多个部门负责人 - private Map getBmfzrInfo (String bmfzr){ - + private JclOrgMap getBmfzrInfo (String bmfzr){ +// if (StringUtils.isNotBlank(bmfzr)) { +// try { +// String[] split = fLeaderSt.split(","); +// for (String s : split) { +// long parseLong = Long.parseLong(s); +// GradePO gradeByID = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(parseLong); +// if (null != gradeByID) { +// jobGradeName.append(gradeByID.getGradeName()); +// } +// } +// } catch (NumberFormatException exception) { +// jobGradeName = new StringBuilder(fLeaderSt); +// } +// } return null; } @@ -533,16 +546,14 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { getJclOrgMapMapper().insertSubComToMap(); //同步集团信息 getJclOrgMapMapper().insertComToMap(); - + //清除部门合并、转移造成的脏数据 + getJclOrgMapMapper().deleteJobNull(currentDate); //刷新在岗数、编制数(从岗位向上刷,岗位不需处理) List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType("3",date); for (JclOrgMap jclOrgMap : jclOrgMaps){ int id = jclOrgMap.getId(); countJobAndPlans("3",id,currentDate); } - - //清除部门合并、转移造成的脏数据 - getJclOrgMapMapper().deleteJobNull(); return "同步成功"; } /** From d231bf3bd39312be217f1bc883aa4ccefc690036 Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 21 Dec 2022 14:53:56 +0800 Subject: [PATCH 108/203] =?UTF-8?q?=E5=A4=9A=E9=83=A8=E9=97=A8=E8=B4=9F?= =?UTF-8?q?=E8=B4=A3=E4=BA=BA=E6=88=AA=E5=8F=96=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/jclorgmap/JclOrgMapper.xml | 4 +- .../service/impl/OrgChartServiceImpl.java | 58 +++++++++++-------- 2 files changed, 35 insertions(+), 27 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index 30e94239..9aefaa75 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -320,10 +320,10 @@ 0, 0, 0, NOW(), '2099-12-31' FROM hrmcompany - delete from jcl_org_map where ftype =3 and id not in (select FPARENTID from jcl_org_map where ftype=4 ) and fdateend > #{currentDate} + delete from jcl_org_map where ftype =3 and fdateend > #{currentDate} and id not in (select a.FPARENTID from (select FPARENTID from jcl_org_map where ftype=4 and fdateend > #{currentDate}) a) - select a.id as fLeader,a.messagerurl as fLeaderImg,a.LASTNAME as fLeaderName,c.id as fLeaderJobId,b.JOBTITLEMARK as fLeaderJob,e.level_name as fLeaderLv,f.grade_name as fLeaderSt + select a.id as fLeader,a.messagerurl as fLeaderImg,a.LASTNAME as fLeaderName,a.jobtitle as fLeaderJobId,b.JOBTITLEMARK as fLeaderJob,e.level_name as fLeaderLv,f.grade_name as fLeaderSt from hrmresource a left join hrmjobtitles b on a.JOBTITLE=b.ID - left join jcl_org_job c on b.ID = c.ec_jobTitle left join cus_fielddata d on a.id = d.id and d.scope='HrmCustomFieldByInfoType' and d.scopeid=3 left join jcl_org_level e on d.${level}=e.id left join jcl_org_grade f on d.${grade}=f.id From 7b9a82dda9a041e30fc55da54221f4e9f202ae02 Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 21 Dec 2022 15:45:49 +0800 Subject: [PATCH 110/203] =?UTF-8?q?=E5=A4=9A=E9=83=A8=E9=97=A8=E8=B4=9F?= =?UTF-8?q?=E8=B4=A3=E4=BA=BA=E6=88=AA=E5=8F=96=E6=98=BE=E7=A4=BAbug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java | 2 +- .../engine/organization/service/impl/OrgChartServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java index e109c95e..9d8e7a9f 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.java @@ -44,7 +44,7 @@ public interface JclOrgMapper { int insertComToMap(); - int deleteJobNull(@Param("currentDate") String currentDate); + int deleteJobNull(@Param("currentDate") Date currentDate); JclOrgMap getResInfo(@Param("level") String level, @Param("grade") String grade, @Param("id") String id); diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index 96650665..e85c4e5e 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -555,7 +555,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { //同步集团信息 getJclOrgMapMapper().insertComToMap(); //清除部门合并、转移造成的脏数据 - getJclOrgMapMapper().deleteJobNull(currentDate); + getJclOrgMapMapper().deleteJobNull(date); //刷新在岗数、编制数(从岗位向上刷,岗位不需处理) List jclOrgMaps = getJclOrgMapMapper().getJclOrgMapByType("3",date); for (JclOrgMap jclOrgMap : jclOrgMaps){ From 347e3505d14d5277640b0d6af754855173c94bbb Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 21 Dec 2022 16:26:21 +0800 Subject: [PATCH 111/203] =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=AD=98=E5=85=A5=E7=89=88=E6=9C=AC?= =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/entity/version/HrmDepartmentVersion.java | 2 +- .../organization/service/impl/VersionManageServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java index 740fc704..402e3f90 100644 --- a/src/com/engine/organization/entity/version/HrmDepartmentVersion.java +++ b/src/com/engine/organization/entity/version/HrmDepartmentVersion.java @@ -14,7 +14,7 @@ public class HrmDepartmentVersion { String departmentName; Integer subCompanyId1; Integer supDepId; - Integer bmfzr; + String bmfzr; Integer showOrder; Integer canceled; String description; diff --git a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java index b09e3252..aef2652f 100644 --- a/src/com/engine/organization/service/impl/VersionManageServiceImpl.java +++ b/src/com/engine/organization/service/impl/VersionManageServiceImpl.java @@ -370,7 +370,7 @@ public class VersionManageServiceImpl extends Service implements VersionManageSe } String bmfzr = hrmDepartmentDto.getBmfzr(); if (!"".equals(bmfzr) && bmfzr != null) { - hrmDepartmentVersion.setBmfzr(Integer.parseInt(bmfzr)); + hrmDepartmentVersion.setBmfzr(bmfzr); } String showOrder = hrmDepartmentDto.getShoworder(); if (showOrder != null && !showOrder.equals("0")) { From 950da74ac8cf6079da44c2e8c9a1a054f2e73fc6 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 22 Dec 2022 11:26:09 +0800 Subject: [PATCH 112/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BAbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrgChartServiceImpl.java | 58 ++++++++++--------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index e85c4e5e..63590b1e 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -330,19 +330,22 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("fonjob", rs.getString("fonjob")); item.put("fnumber", rs.getString("fnumber")); item.put("hasChildren", hasChildren(rs.getString("id"), false)); - JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader")); - item.put("fleader", jclOrgMap.getFLeader()==null?"":String.valueOf(jclOrgMap.getFLeader())); - item.put("fleaderimg", jclOrgMap.getFLeaderImg()); - item.put("fleadername", jclOrgMap.getFLeaderName()==null?"":jclOrgMap.getFLeaderName()); - item.put("fleaderjob", jclOrgMap.getFLeaderJob()); - item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); - item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); -// item.put("fleader", rs.getString("fleader")); -// item.put("fleaderimg", rs.getString("fleaderimg")); -// item.put("fleadername", rs.getString("fleadername")); -// item.put("fleaderjob", rs.getString("fleaderjob")); -// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); -// item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); + if (rs.getString("ftype").equals("2")) { + JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader")); + item.put("fleader", jclOrgMap.getFLeader() == null ? "" : String.valueOf(jclOrgMap.getFLeader())); + item.put("fleaderimg", jclOrgMap.getFLeaderImg()); + item.put("fleadername", jclOrgMap.getFLeaderName() == null ? "" : jclOrgMap.getFLeaderName()); + item.put("fleaderjob", jclOrgMap.getFLeaderJob()); + item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); + item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); + } else { + item.put("fleader", rs.getString("fleader")); + item.put("fleaderimg", rs.getString("fleaderimg")); + item.put("fleadername", rs.getString("fleadername")); + item.put("fleaderjob", rs.getString("fleaderjob")); + item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); + item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); + } item.put("fobjid", rs.getString("fobjid")); item.put("fisvitual", rs.getString("fisvitual")); currentList.add(item); @@ -424,19 +427,22 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { item.put("expand", expand ? "1" : "0"); item.put("fobjid", rs.getString("fobjid")); item.put("fecid", rs.getString("fecid")); - JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader")); - item.put("fleader", jclOrgMap.getFLeader()==null?"":String.valueOf(jclOrgMap.getFLeader())); - item.put("fleaderimg", jclOrgMap.getFLeaderImg()); - item.put("fleadername", jclOrgMap.getFLeaderName()==null?"":jclOrgMap.getFLeaderName()); - item.put("fleaderjob", jclOrgMap.getFLeaderJob()); - item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); - item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); -// item.put("fleadername", rs.getString("fleadername")); -// item.put("fleaderimg", rs.getString("fleaderimg")); -// item.put("fleaderjob", rs.getString("fleaderjob")); -// item.put("fleader", rs.getString("fleader")); -// item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); -// item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); + if (rs.getString("ftype").equals("2")) { + JclOrgMap jclOrgMap = getBmfzrInfo(rs.getString("fleader")); + item.put("fleader", jclOrgMap.getFLeader() == null ? "" : String.valueOf(jclOrgMap.getFLeader())); + item.put("fleaderimg", jclOrgMap.getFLeaderImg()); + item.put("fleadername", jclOrgMap.getFLeaderName() == null ? "" : jclOrgMap.getFLeaderName()); + item.put("fleaderjob", jclOrgMap.getFLeaderJob()); + item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); + item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); + } else { + item.put("fleader", rs.getString("fleader")); + item.put("fleaderimg", rs.getString("fleaderimg")); + item.put("fleadername", rs.getString("fleadername")); + item.put("fleaderjob", rs.getString("fleaderjob")); + item.put("fleaderlv", convertLevel(rs.getString("fleaderlv"))); + item.put("fleaderst", convertGrade(rs.getString("fleaderst"))); + } item.put("fisvitual", rs.getString("fisvitual")); item.put("hasChildren", hasChildren(rs.getString("id"), false)); currentList.add(item); From 2e392355159e22eec39c0d0698986d052d71bd0f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 28 Dec 2022 14:13:56 +0800 Subject: [PATCH 113/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/PersonnelResumeController.java | 12 + .../entity/hrmresource/bo/ResourceBO.java | 36 +++ .../entity/hrmresource/po/ResourcePO.java | 8 + .../organization/mapper/job/JobMapper.java | 2 + .../organization/mapper/job/JobMapper.xml | 16 + .../mapper/resource/HrmResourceMapper.java | 4 + .../mapper/resource/HrmResourceMapper.xml | 35 ++- .../service/PersonnelResumeService.java | 27 ++ .../service/impl/ImportCommonServiceImpl.java | 32 -- .../impl/PersonnelResumeServiceImpl.java | 276 ++++++++++++++++++ .../web/PersonnelResumeController.java | 67 +++++ .../wrapper/PersonnelResumeWrapper.java | 29 ++ 12 files changed, 511 insertions(+), 33 deletions(-) create mode 100644 src/com/api/organization/web/PersonnelResumeController.java create mode 100644 src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java create mode 100644 src/com/engine/organization/service/PersonnelResumeService.java create mode 100644 src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java create mode 100644 src/com/engine/organization/web/PersonnelResumeController.java create mode 100644 src/com/engine/organization/wrapper/PersonnelResumeWrapper.java diff --git a/src/com/api/organization/web/PersonnelResumeController.java b/src/com/api/organization/web/PersonnelResumeController.java new file mode 100644 index 00000000..0f1a1415 --- /dev/null +++ b/src/com/api/organization/web/PersonnelResumeController.java @@ -0,0 +1,12 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * @author:dxfeng + * @createTime: 2022/12/28 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/personnelresume") +public class PersonnelResumeController extends com.engine.organization.web.PersonnelResumeController { +} diff --git a/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java b/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java new file mode 100644 index 00000000..d7ad29e0 --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java @@ -0,0 +1,36 @@ +package com.engine.organization.entity.hrmresource.bo; + +import com.engine.organization.entity.hrmresource.po.ResourcePO; +import com.engine.organization.entity.searchtree.SearchTree; + +import java.util.Collection; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2022/12/28 + * @version: 1.0 + */ +public class ResourceBO { + + public static List buildSetToSearchTree(Collection builderJobs) { + return builderJobs.stream().map(item -> { + SearchTree tree = new SearchTree(); + tree.setCanClick(true); + tree.setCanceled(true); + tree.setIcon("icon-coms-content-o"); + tree.setId(item.getId().toString()); + tree.setIsParent(false); + tree.setIsVirtual("0"); + tree.setName(item.getLastName()); + tree.setPid("0"); + tree.setSelected(false); + tree.setType("3"); + tree.setParentComp(null == item.getJobId() ? "0" : item.getJobId().toString()); + tree.setOrderNum(null == item.getDspOrder() ? 0 : item.getDspOrder()); + return tree; + }).collect(Collectors.toList()); + + } +} diff --git a/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java b/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java index b55c8cdb..c7faae1b 100644 --- a/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java +++ b/src/com/engine/organization/entity/hrmresource/po/ResourcePO.java @@ -26,4 +26,12 @@ public class ResourcePO { private Integer jobtitle; + private String lastName; + private Integer dspOrder; + + /** + * 临时关联聚才林岗位ID + */ + private Long jobId; + } diff --git a/src/com/engine/organization/mapper/job/JobMapper.java b/src/com/engine/organization/mapper/job/JobMapper.java index 77f8ef82..e1a03e49 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.java +++ b/src/com/engine/organization/mapper/job/JobMapper.java @@ -147,4 +147,6 @@ public interface JobMapper { List listUsedId(); List isAllowDelete(@Param("jobId") Long jobId); + + JobPO getJobByResource(@Param("resourcePO") ResourcePO resourcePO); } diff --git a/src/com/engine/organization/mapper/job/JobMapper.xml b/src/com/engine/organization/mapper/job/JobMapper.xml index 87b240b7..7a28de6f 100644 --- a/src/com/engine/organization/mapper/job/JobMapper.xml +++ b/src/com/engine/organization/mapper/job/JobMapper.xml @@ -509,6 +509,22 @@ inner join hrmresource h on t.ec_jobtitle = h.jobtitle and t.ec_company = h.subcompanyid1 and t.ec_department = h.departmentid and t.id = #{jobId} + diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 61d85294..866eaa98 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -1,6 +1,7 @@ package com.engine.organization.mapper.resource; import com.engine.organization.entity.hrmresource.po.ResourcePO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -13,4 +14,7 @@ import java.util.List; public interface HrmResourceMapper { List selectFilterDatas(); + + List listByFilter(@Param("resourcePO") ResourcePO resourcePO); + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 438baad3..87206743 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -6,12 +6,45 @@ + + + + + + + AND t.lastname like CONCAT('%',#{resourcePO.lastName},'%') + + + + + AND t.lastname like '%'||#{resourcePO.lastName}||'%' + + + + + AND t.lastname like '%'+#{resourcePO.lastName}+'%' + + \ No newline at end of file diff --git a/src/com/engine/organization/service/PersonnelResumeService.java b/src/com/engine/organization/service/PersonnelResumeService.java new file mode 100644 index 00000000..cedc5cf7 --- /dev/null +++ b/src/com/engine/organization/service/PersonnelResumeService.java @@ -0,0 +1,27 @@ +package com.engine.organization.service; + +import com.engine.organization.entity.searchtree.SearchTreeParams; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/12/28 + * @version: 1.0 + */ +public interface PersonnelResumeService { + /** + * 左侧树 + * + * @param params + * @return + */ + Map getSearchTree(SearchTreeParams params); + + /** + * 获取列表页面按钮信息 + * + * @return + */ + Map hasRight(); +} diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 9ef5938c..4d054d55 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -19,7 +19,6 @@ import com.engine.organization.enums.OrgImportEnum; import com.engine.organization.mapper.extend.ExtendInfoMapper; import com.engine.organization.mapper.jclimport.ImportMapper; import com.engine.organization.mapper.jclimport.JclImportHistoryDetailMapper; -import com.engine.organization.mapper.resource.ResourceMapper; import com.engine.organization.mapper.scheme.GradeMapper; import com.engine.organization.mapper.scheme.LevelMapper; import com.engine.organization.mapper.scheme.SchemeMapper; @@ -872,35 +871,4 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ return excelPath; } - - - - /** - * 判断所选关键字段是否查出多条数据 - * - * @param historyDetailPO - * @param keyField - * @param keyFieldValue - * @return - */ - private boolean hasSameKeyFieldValue(JclImportHistoryDetailPO historyDetailPO, String keyField, String keyFieldValue) { - String operateDetail = ""; - if (StringUtils.isBlank(keyFieldValue)) { - return false; - } - List resourceIds = MapperProxyFactory.getProxy(ResourceMapper.class).getIdByKeyField(keyField, keyFieldValue); - if (CollectionUtils.isEmpty(resourceIds)) { - operateDetail = "[" + keyFieldValue + "]未找到对应人员"; - } - if (resourceIds.size() > 1) { - operateDetail = "[" + keyFieldValue + "]查询到多个人员,请确认"; - } - if (StringUtils.isNotBlank(operateDetail)) { - historyDetailPO.setOperateDetail(operateDetail); - historyDetailPO.setStatus("0"); - OrgImportUtil.saveImportDetailLog(historyDetailPO); - return true; - } - return false; - } } diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java new file mode 100644 index 00000000..a396cc8b --- /dev/null +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -0,0 +1,276 @@ +package com.engine.organization.service.impl; + +import com.engine.core.impl.Service; +import com.engine.organization.entity.DeleteParam; +import com.engine.organization.entity.company.bo.CompBO; +import com.engine.organization.entity.company.po.CompPO; +import com.engine.organization.entity.department.bo.DepartmentBO; +import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.entity.hrmresource.bo.ResourceBO; +import com.engine.organization.entity.hrmresource.po.ResourcePO; +import com.engine.organization.entity.job.bo.JobBO; +import com.engine.organization.entity.job.po.JobPO; +import com.engine.organization.entity.searchtree.SearchTree; +import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.enums.ModuleTypeEnum; +import com.engine.organization.mapper.comp.CompMapper; +import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.mapper.job.JobMapper; +import com.engine.organization.mapper.resource.HrmResourceMapper; +import com.engine.organization.service.PersonnelResumeService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.db.MapperProxyFactory; +import com.engine.organization.util.detach.DetachUtil; +import com.engine.organization.util.page.PageUtil; +import com.engine.organization.util.tree.SearchTreeUtil; +import org.apache.commons.collections.CollectionUtils; +import weaver.general.StringUtil; +import weaver.general.Util; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2022/12/28 + * @version: 1.0 + */ +public class PersonnelResumeServiceImpl extends Service implements PersonnelResumeService { + + + private DepartmentMapper getDepartmentMapper() { + return MapperProxyFactory.getProxy(DepartmentMapper.class); + } + + private CompMapper getCompMapper() { + return MapperProxyFactory.getProxy(CompMapper.class); + } + + private JobMapper getJobMapper() { + return MapperProxyFactory.getProxy(JobMapper.class); + } + + private HrmResourceMapper getHrmResourceMapper() { + return MapperProxyFactory.getProxy(HrmResourceMapper.class); + } + + @Override + public Map getSearchTree(SearchTreeParams params) { + String keyword = params.getKeyword(); + String id = params.getId(); + String type = Util.null2String(params.getType()); + List treeList = getFilterCompany(id, type, keyword); + return SearchTreeUtil.getSearchTree(type, treeList); + } + + @Override + public Map hasRight() { + Map resultMap = new HashMap<>(); + resultMap.put("hasRight", true); + ArrayList topMenuList = new ArrayList<>(); + ArrayList rightMenuList = new ArrayList<>(); + // 新增 + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("screening").menuIcon("icon-coms-New-Flow").menuName("人员筛选").type("BTN_Screening").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("currentExport").menuIcon("icon-coms-edit").menuName("导出当前").type("BTN_CurrentExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("MergeExport").menuIcon("icon-coms-Delete").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("AllExport").menuIcon("icon-coms-Delete").menuName("全部导出").type("BTN_AllExport").build()); + + resultMap.put("topMenu", topMenuList); + // 新增 + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("screening").menuIcon("icon-coms-New-Flow").menuName("人员筛选").type("BTN_Screening").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("currentExport").menuIcon("icon-coms-edit").menuName("导出当前").type("BTN_CurrentExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("MergeExport").menuIcon("icon-coms-Delete").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("AllExport").menuIcon("icon-coms-Delete").menuName("全部导出").type("BTN_AllExport").build()); + + resultMap.put("rightMenu", rightMenuList); + return resultMap; + } + + public List getFilterCompany(String id, String type, String keyword) { + List searchTree = new ArrayList<>(); + // 通过分部、公司 组装数据 + if (StringUtil.isEmpty(id) || ModuleTypeEnum.subcompanyfielddefined.getValue().toString().equals(type)) { + Integer subCompanyId1 = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(subCompanyId1).canceled(0).build(); + CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(subCompanyId1).canceled(0).build(); + // 所属分部下的岗位 + JobPO jobBuild = JobPO.builder().jobTitleName(keyword).ecCompany(subCompanyId1).forbiddenTag(0).build(); + ResourcePO resourcePO = ResourcePO.builder().lastName(keyword).subcompanyid1(subCompanyId1).build(); + searchTree = buildTreeByCompAndDept(departmentBuild, compBuild, jobBuild, resourcePO); + } else if (ModuleTypeEnum.departmentfielddefined.getValue().toString().equals(type)) { + Integer departmentId = Integer.parseInt(id); + DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).supDepId(departmentId).canceled(0).build(); + // 所属分部下的岗位 + JobPO jobBuild = JobPO.builder().jobTitleName(keyword).ecDepartment(departmentId).forbiddenTag(0).build(); + ResourcePO resourcePO = ResourcePO.builder().lastName(keyword).departmentid(departmentId).build(); + + searchTree = buildTreeByDeptAndJob(departmentBuild, jobBuild, resourcePO); + + } else if (ModuleTypeEnum.jobfielddefined.getValue().toString().equals(type)) { + Long jobId = Long.parseLong(id); + JobPO jobById = getJobMapper().getJobById(jobId); + ResourcePO resourcePO = ResourcePO.builder().lastName(keyword).subcompanyid1(jobById.getEcCompany()).departmentid(jobById.getEcDepartment()).jobtitle(jobById.getEcJobTitle()).build(); + List resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + searchTree = SearchTreeUtil.builderTreeMode(ResourceBO.buildSetToSearchTree(resourcePOS)); + } + return searchTree; + } + + /** + * 分部、部门 组装左侧树 + * + * @param departmentBuild + * @param compBuild + * @param jobBuild + * @return + */ + private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompPO compBuild, JobPO jobBuild, ResourcePO resourcePO) { + // 查询人员数据 + List resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + Set builderJobs = new HashSet<>(); + + // 补充人员所有岗位,关联人员及聚才林岗位 + for (ResourcePO resource : resourcePOS) { + JobPO jobByResource = getJobMapper().getJobByResource(resource); + if (null != jobByResource) { + resource.setJobId(jobByResource.getId()); + builderJobs.add(jobByResource); + } + } + List resourceTrees = SearchTreeUtil.builderTreeMode(ResourceBO.buildSetToSearchTree(resourcePOS)); + + + List jobPOS = getJobMapper().listPOsByFilter(jobBuild); + new DetachUtil(user).filterJobList(jobPOS); + List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); + new DetachUtil(user).filterDepartmentList(filterDeparts); + // 添加父级岗位 + builderJobs.addAll(jobPOS); + // 添加岗位的上级部门或分部 + List jobTrees = SearchTreeUtil.builderTreeMode(JobBO.buildSetToSearchTree(builderJobs), resourceTrees); + String parentDeptS = jobTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); + if (!StringUtil.isEmpty(parentDeptS)) { + // 兼容SQLServer每次最多in,2100条数据 + List ids = DeleteParam.builder().ids(parentDeptS).build().getIds(); + int ceilCount = (int) Math.ceil((double) ids.size() / 1000); + List departmentsByIds = new ArrayList<>(); + for (int i = 1; i < ceilCount + 1; i++) { + List longs = PageUtil.subList(i, 1000, ids); + List departmentsById = getDepartmentMapper().getDeptsByIds(longs); + if (CollectionUtils.isNotEmpty(departmentsById)) { + departmentsByIds.addAll(departmentsById); + } + } + + if (CollectionUtils.isNotEmpty(departmentsByIds)) { + filterDeparts.addAll(departmentsByIds); + } + } + + // 查询分部信息 + List filterComps = getCompMapper().listByFilter(compBuild, "showorder"); + new DetachUtil(user).filterCompanyList(filterComps); + Set builderDeparts = new HashSet<>(); + for (DepartmentPO departmentPO : filterDeparts) { + buildParentDepts(departmentPO, builderDeparts); + } + List departmentList = DepartmentBO.buildSetToSearchTree(builderDeparts); + List deptTrees = SearchTreeUtil.builderTreeMode(departmentList); + List searchTrees = SearchTreeUtil.builderTreeMode(departmentList, jobTrees); + // 添加部门的上级分部 + String parentCompS = deptTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); + if (!StringUtil.isEmpty(parentCompS)) { + List compsByIds = getCompMapper().getCompsByIds(DeleteParam.builder().ids(parentCompS).build().getIds()); + if (CollectionUtils.isNotEmpty(compsByIds)) { + filterComps.addAll(compsByIds); + } + } + List allCompanys = getCompMapper().listAll("showorder"); + new DetachUtil(user).filterCompanyList(allCompanys); + Map allMaps = allCompanys.stream().collect(Collectors.toMap(CompPO::getId, item -> item, (k1, k2) -> k1)); + Set builderComps = new HashSet<>(); + for (CompPO compPO : filterComps) { + buildParentComps(compPO, builderComps, allMaps); + } + return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), searchTrees); + } + + private List buildTreeByDeptAndJob(DepartmentPO departmentBuild, JobPO jobBuild, ResourcePO resourcePO) { + // 查询人员数据 + List resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + Set builderJobs = new HashSet<>(); + + // 补充人员所有岗位,关联人员及聚才林岗位 + for (ResourcePO resource : resourcePOS) { + JobPO jobByResource = getJobMapper().getJobByResource(resource); + if (null != jobByResource) { + resource.setJobId(jobByResource.getId()); + builderJobs.add(jobByResource); + } + } + List resourceTrees = SearchTreeUtil.builderTreeMode(ResourceBO.buildSetToSearchTree(resourcePOS)); + + List jobPOS = getJobMapper().listPOsByFilter(jobBuild); + List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); + // 添加父级岗位 + builderJobs.addAll(jobPOS); + // 添加岗位的上级部门或分部 + List jobTrees = SearchTreeUtil.builderTreeMode(JobBO.buildSetToSearchTree(builderJobs), resourceTrees); + String parentDeptS = jobTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); + if (!StringUtil.isEmpty(parentDeptS)) { + // 兼容SQLServer每次最多in,2100条数据 + List ids = (List) DeleteParam.builder().ids(parentDeptS).build().getIds(); + int ceilCount = (int) Math.ceil((double) ids.size() / 1000); + List departmentsByIds = new ArrayList<>(); + for (int i = 0; i < ceilCount - 1; i++) { + List departmentsById = getDepartmentMapper().getDeptsByIds(PageUtil.subList(i, 1000, ids)); + if (CollectionUtils.isNotEmpty(departmentsById)) { + departmentsByIds.addAll(departmentsById); + } + } + + if (CollectionUtils.isNotEmpty(departmentsByIds)) { + filterDeparts.addAll(departmentsByIds); + } + } + + // 查询分部信息 + Set builderDeparts = new HashSet<>(); + for (DepartmentPO departmentPO : filterDeparts) { + buildParentDepts(departmentPO, builderDeparts); + } + return SearchTreeUtil.builderTreeMode(DepartmentBO.buildSetToSearchTree(builderDeparts), jobTrees); + } + + + /** + * 添加查询元素的父级元素 + * + * @param departmentPO + * @param builderDeparts + */ + private void buildParentDepts(DepartmentPO departmentPO, Set builderDeparts) { + builderDeparts.add(departmentPO); + if (SearchTreeUtil.isTop(departmentPO.getSupDepId())) { + return; + } + DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getSupDepId()); + if (null != parentDept) { + buildParentDepts(parentDept, builderDeparts); + } + } + + /** + * 添加查询元素的父级元素 + * + * @param compPO + * @param builderComps + */ + private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { + builderComps.add(compPO); + CompPO parentComp = allMaps.get(compPO.getSupSubComId()); + if (null != parentComp) { + buildParentComps(parentComp, builderComps, allMaps); + } + } +} diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java new file mode 100644 index 00000000..50e641f0 --- /dev/null +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -0,0 +1,67 @@ +package com.engine.organization.web; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.PersonnelResumeWrapper; +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.Map; + +/** + * @author:dxfeng + * @createTime: 2022/12/28 + * @version: 1.0 + */ +public class PersonnelResumeController { + public PersonnelResumeWrapper getPersonnelResumeWrapper(User user) { + return ServiceUtil.getService(PersonnelResumeWrapper.class, user); + } + + /** + * 左侧树接口 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSearchTree") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchTree(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class); + return ReturnResult.successed(getPersonnelResumeWrapper(user).getSearchTree(params)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + + } + + @GET + @Path("/hasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult hasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getPersonnelResumeWrapper(user).hasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + + } + +} diff --git a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java new file mode 100644 index 00000000..0ec90153 --- /dev/null +++ b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java @@ -0,0 +1,29 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.service.PersonnelResumeService; +import com.engine.organization.service.impl.PersonnelResumeServiceImpl; +import com.engine.organization.util.OrganizationWrapper; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2022/12/28 + * @version: 1.0 + */ +public class PersonnelResumeWrapper extends OrganizationWrapper { + private PersonnelResumeService getPersonnelResumeService(User user) { + return ServiceUtil.getService(PersonnelResumeServiceImpl.class, user); + } + + public Map getSearchTree(SearchTreeParams params) { + return getPersonnelResumeService(user).getSearchTree(params); + } + + public Map hasRight() { + return getPersonnelResumeService(user).hasRight(); + } +} From b53007b7c2f921f0fda1d818982976dbe74f4736 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 28 Dec 2022 15:40:23 +0800 Subject: [PATCH 114/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/bo/ResourceBO.java | 4 ++-- .../impl/PersonnelResumeServiceImpl.java | 20 +++++++++---------- .../web/PersonnelResumeController.java | 15 +++++--------- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java b/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java index d7ad29e0..016f65e7 100644 --- a/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java +++ b/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java @@ -18,8 +18,8 @@ public class ResourceBO { return builderJobs.stream().map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); - tree.setCanceled(true); - tree.setIcon("icon-coms-content-o"); + tree.setCanceled(false); + tree.setIcon("icon-coms-currency-Customer"); tree.setId(item.getId().toString()); tree.setIsParent(false); tree.setIsVirtual("0"); diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index a396cc8b..192e0a75 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -59,7 +59,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu String keyword = params.getKeyword(); String id = params.getId(); String type = Util.null2String(params.getType()); - List treeList = getFilterCompany(id, type, keyword); + List treeList = getFilterDatas(id, type, keyword); return SearchTreeUtil.getSearchTree(type, treeList); } @@ -70,23 +70,23 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu ArrayList topMenuList = new ArrayList<>(); ArrayList rightMenuList = new ArrayList<>(); // 新增 - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("screening").menuIcon("icon-coms-New-Flow").menuName("人员筛选").type("BTN_Screening").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("currentExport").menuIcon("icon-coms-edit").menuName("导出当前").type("BTN_CurrentExport").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("MergeExport").menuIcon("icon-coms-Delete").menuName("全部导出(合并)").type("BTN_MergeExport").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("AllExport").menuIcon("icon-coms-Delete").menuName("全部导出").type("BTN_AllExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("screening").menuIcon("icon-coms-man").menuName("人员筛选").type("BTN_Screening").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("currentExport").menuIcon("icon-coms-export").menuName("导出当前").type("BTN_CurrentExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("MergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("AllExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); resultMap.put("topMenu", topMenuList); // 新增 - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("screening").menuIcon("icon-coms-New-Flow").menuName("人员筛选").type("BTN_Screening").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("currentExport").menuIcon("icon-coms-edit").menuName("导出当前").type("BTN_CurrentExport").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("MergeExport").menuIcon("icon-coms-Delete").menuName("全部导出(合并)").type("BTN_MergeExport").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("AllExport").menuIcon("icon-coms-Delete").menuName("全部导出").type("BTN_AllExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("screening").menuIcon("icon-coms-man").menuName("人员筛选").type("BTN_Screening").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("currentExport").menuIcon("icon-coms-export").menuName("导出当前").type("BTN_CurrentExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("MergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("AllExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); resultMap.put("rightMenu", rightMenuList); return resultMap; } - public List getFilterCompany(String id, String type, String keyword) { + public List getFilterDatas(String id, String type, String keyword) { List searchTree = new ArrayList<>(); // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || ModuleTypeEnum.subcompanyfielddefined.getValue().toString().equals(type)) { diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java index 50e641f0..d3fe3002 100644 --- a/src/com/engine/organization/web/PersonnelResumeController.java +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -39,16 +39,11 @@ public class PersonnelResumeController { @GET @Path("/getSearchTree") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getSearchTree(@Context HttpServletRequest request, @Context HttpServletResponse response) { - try { - User user = HrmUserVarify.getUser(request, response); - Map map = ParamUtil.request2Map(request); - SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class); - return ReturnResult.successed(getPersonnelResumeWrapper(user).getSearchTree(params)); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - + public Map getSearchTree(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class); + return getPersonnelResumeWrapper(user).getSearchTree(params); } @GET From 33e9073e1c866e76a4ed5a20fa281e394fedf686 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 29 Dec 2022 15:52:08 +0800 Subject: [PATCH 115/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resume/po/PersonnelResumeColumn.java | 22 +++++ .../entity/resume/po/PersonnelResumePO.java | 79 +++++++++++++++++ .../resume/po/PersonnelResumeTable.java | 23 +++++ .../mapper/resource/HrmResourceMapper.java | 3 + .../mapper/resource/HrmResourceMapper.xml | 22 +++++ .../service/PersonnelResumeService.java | 8 ++ .../impl/PersonnelResumeServiceImpl.java | 86 +++++++++++++++++++ .../web/PersonnelResumeController.java | 16 ++++ .../wrapper/PersonnelResumeWrapper.java | 4 + 9 files changed, 263 insertions(+) create mode 100644 src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java create mode 100644 src/com/engine/organization/entity/resume/po/PersonnelResumePO.java create mode 100644 src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java b/src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java new file mode 100644 index 00000000..0f6cc06e --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumeColumn.java @@ -0,0 +1,22 @@ +package com.engine.organization.entity.resume.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2022/12/29 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PersonnelResumeColumn { + private String name; + private String value; + private Integer colspans; + private Integer rowspans; +} diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java new file mode 100644 index 00000000..4eba90f1 --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java @@ -0,0 +1,79 @@ +package com.engine.organization.entity.resume.po; + +import lombok.Data; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.util.IOUtils; +import weaver.file.ImageFileManager; +import weaver.general.Util; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Base64; + +/** + * @author:dxfeng + * @createTime: 2022/12/29 + * @version: 1.0 + */ +@Data +public class PersonnelResumePO { + private String lastName; + private String sex; + private String birthday; + // resourceImageId; + private String image; + private String nativePlace; + // policy; + private String politics; + // departmentid; + private String department; + // maritalStatus; + private String marriage; + private String jobTitle; + private String companyStartDate; + private String workStartDate; + // certificatenum + private String idCard; + // homeaddress + private String address; + private String telephone; + private String email; + private String selfStatement; + + public String getSex() { + if ("1".equals(sex)) { + return "女"; + } + return "男"; + } + + public String getImage() { + if (StringUtils.isBlank(image)) { + return ""; + } + ImageFileManager manager = new ImageFileManager(); + manager.getImageFileInfoById(Util.getIntValue(image)); + InputStream inputStream = manager.getInputStream(); + try { + return "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(inputStream)); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + + public String getMarriage() { + if (StringUtils.isBlank(marriage)) { + return "未婚"; + } + switch (marriage) { + case "1": + return "已婚"; + case "2": + return "离异"; + case "0": + default: + return "未婚"; + } + } +} diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java b/src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java new file mode 100644 index 00000000..012e656f --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumeTable.java @@ -0,0 +1,23 @@ +package com.engine.organization.entity.resume.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2022/12/29 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PersonnelResumeTable { + private String title; + private List columns; + private List> datas; +} diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 866eaa98..09ec695f 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -1,6 +1,7 @@ package com.engine.organization.mapper.resource; import com.engine.organization.entity.hrmresource.po.ResourcePO; +import com.engine.organization.entity.resume.po.PersonnelResumePO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -17,4 +18,6 @@ public interface HrmResourceMapper { List listByFilter(@Param("resourcePO") ResourcePO resourcePO); + PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id); + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 87206743..1d5e20e2 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -29,6 +29,28 @@ and jobtitle = #{resourcePO.jobtitle} + diff --git a/src/com/engine/organization/service/PersonnelResumeService.java b/src/com/engine/organization/service/PersonnelResumeService.java index cedc5cf7..28b83ab2 100644 --- a/src/com/engine/organization/service/PersonnelResumeService.java +++ b/src/com/engine/organization/service/PersonnelResumeService.java @@ -18,6 +18,14 @@ public interface PersonnelResumeService { */ Map getSearchTree(SearchTreeParams params); + /** + * 获取人员简历列表 + * + * @param uId + * @return + */ + Map getResumeList(Integer uId); + /** * 获取列表页面按钮信息 * diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 192e0a75..bc886a4b 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -10,6 +10,9 @@ import com.engine.organization.entity.hrmresource.bo.ResourceBO; import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; +import com.engine.organization.entity.resume.po.PersonnelResumeColumn; +import com.engine.organization.entity.resume.po.PersonnelResumePO; +import com.engine.organization.entity.resume.po.PersonnelResumeTable; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.ModuleTypeEnum; @@ -19,6 +22,7 @@ import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.service.PersonnelResumeService; import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.PageUtil; @@ -63,6 +67,88 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu return SearchTreeUtil.getSearchTree(type, treeList); } + @Override + public Map getResumeList(Integer uId) { + Map resultMap = new HashMap<>(); + // 根据ID查询用户信息 + PersonnelResumePO personnelResumePO = getHrmResourceMapper().getPersonnelResumeById(uId); + OrganizationAssert.notNull(personnelResumePO, "未找到对应人员"); + resultMap.put("lastName", Util.null2String(personnelResumePO.getLastName())); + resultMap.put("sex", Util.null2String(personnelResumePO.getSex())); + resultMap.put("birthday", Util.null2String(personnelResumePO.getBirthday())); + resultMap.put("image", Util.null2String(personnelResumePO.getImage())); + resultMap.put("native", Util.null2String(personnelResumePO.getNativePlace())); + resultMap.put("politics", Util.null2String(personnelResumePO.getPolitics())); + resultMap.put("department", Util.null2String(personnelResumePO.getDepartment())); + resultMap.put("marriage", Util.null2String(personnelResumePO.getMarriage())); + resultMap.put("jobtitle", Util.null2String(personnelResumePO.getJobTitle())); + resultMap.put("companystartdate", Util.null2String(personnelResumePO.getCompanyStartDate())); + resultMap.put("workstartdate", Util.null2String(personnelResumePO.getWorkStartDate())); + resultMap.put("idCard", Util.null2String(personnelResumePO.getIdCard())); + resultMap.put("address", Util.null2String(personnelResumePO.getAddress())); + resultMap.put("telephone", Util.null2String(personnelResumePO.getTelephone())); + resultMap.put("email", Util.null2String(personnelResumePO.getEmail())); + resultMap.put("selfStatement", ""); + + // 简历相关表格,待拓展 + List tables = new ArrayList<>(); + List columns1 = new ArrayList<>(); + List columns2 = new ArrayList<>(); + + List datas1 = new ArrayList<>(); + List datas2 = new ArrayList<>(); + List datas3 = new ArrayList<>(); + List datas4 = new ArrayList<>(); + columns1.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build()); + columns1.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build()); + columns1.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build()); + columns1.add(PersonnelResumeColumn.builder().name("失业保险").colspans(1).rowspans(1).build()); + columns1.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build()); + columns1.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).rowspans(1).build()); + + datas1.add(PersonnelResumeColumn.builder().name("2022-10-02").colspans(2).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().name("80").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().name("36").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().name("360").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().name("180").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().name("20000").colspans(1).rowspans(1).build()); + tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(columns1).datas(Collections.singletonList(datas1)).build()); + + columns2.add(PersonnelResumeColumn.builder().name("关系").colspans(2).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("姓名").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("工作单位及职务").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("联系电话").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("住址").colspans(2).rowspans(1).build()); + + datas2.add(PersonnelResumeColumn.builder().name("父子").colspans(2).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().name("徐晓").colspans(1).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().name("北凉王").colspans(1).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().name("1589756859").colspans(1).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().name("江苏省南京市北凉军营").colspans(2).rowspans(1).build()); + + datas3.add(PersonnelResumeColumn.builder().name("母子").colspans(2).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().name("吴素").colspans(1).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().name("北凉王妃").colspans(1).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().name("15897566487").colspans(1).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().name("江苏省南京市北凉龙雀军团").colspans(2).rowspans(1).build()); + + datas4.add(PersonnelResumeColumn.builder().name("女儿").colspans(2).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().name("徐念凉").colspans(1).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().name("北凉公主").colspans(1).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().name("15897566587").colspans(1).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().name("莽荒之地").colspans(2).rowspans(1).build()); + List> objects = new ArrayList<>(); + objects.add(datas2); + objects.add(datas3); + objects.add(datas4); + tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(columns2).datas(objects).build()); + + + resultMap.put("tables", tables); + + return resultMap; + } + @Override public Map hasRight() { Map resultMap = new HashMap<>(); diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java index d3fe3002..f09053b3 100644 --- a/src/com/engine/organization/web/PersonnelResumeController.java +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -7,6 +7,7 @@ import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.PersonnelResumeWrapper; +import weaver.general.Util; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -59,4 +60,19 @@ public class PersonnelResumeController { } + @GET + @Path("/getResumeList") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getResumeList(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + Integer uId = Integer.parseInt(Util.null2String(map.get("id"))); + return ReturnResult.successed(getPersonnelResumeWrapper(user).getResumeList(uId)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + + } + } diff --git a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java index 0ec90153..460b3fc2 100644 --- a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java +++ b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java @@ -26,4 +26,8 @@ public class PersonnelResumeWrapper extends OrganizationWrapper { public Map hasRight() { return getPersonnelResumeService(user).hasRight(); } + + public Map getResumeList(Integer uId) { + return getPersonnelResumeService(user).getResumeList(uId); + } } From ea22378df0b0dada19c23137f5039b10297d1d0c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 29 Dec 2022 17:49:37 +0800 Subject: [PATCH 116/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/bo/ResourceBO.java | 2 +- .../entity/resume/po/PersonnelResumePO.java | 17 +++++-- .../mapper/resource/HrmResourceMapper.xml | 4 +- .../impl/PersonnelResumeServiceImpl.java | 46 +++++++++---------- 4 files changed, 40 insertions(+), 29 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java b/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java index 016f65e7..2c0cefca 100644 --- a/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java +++ b/src/com/engine/organization/entity/hrmresource/bo/ResourceBO.java @@ -26,7 +26,7 @@ public class ResourceBO { tree.setName(item.getLastName()); tree.setPid("0"); tree.setSelected(false); - tree.setType("3"); + tree.setType("4"); tree.setParentComp(null == item.getJobId() ? "0" : item.getJobId().toString()); tree.setOrderNum(null == item.getDspOrder() ? 0 : item.getDspOrder()); return tree; diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java index 4eba90f1..d5d603ff 100644 --- a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java @@ -1,13 +1,15 @@ package com.engine.organization.entity.resume.po; import lombok.Data; +import net.coobird.thumbnailator.Thumbnails; import org.apache.commons.lang3.StringUtils; import org.apache.poi.util.IOUtils; import weaver.file.ImageFileManager; +import weaver.general.GCONST; import weaver.general.Util; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; +import java.nio.file.Files; import java.util.Base64; /** @@ -54,11 +56,20 @@ public class PersonnelResumePO { ImageFileManager manager = new ImageFileManager(); manager.getImageFileInfoById(Util.getIntValue(image)); InputStream inputStream = manager.getInputStream(); + String imageStr = ""; try { - return "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(inputStream)); + String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + + manager.getImageFileName(); + File f = new File(outPutPath); + Thumbnails.of(inputStream).forceSize(100, 120).toFile(f); + InputStream fileInputStream = Files.newInputStream(f.toPath()); + imageStr = "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(fileInputStream)); + // 删除文件 + f.delete(); } catch (IOException e) { throw new RuntimeException(e); } + return imageStr; } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 1d5e20e2..22e9c4b5 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -43,8 +43,8 @@ companystartdate, workstartdate, certificatenum as idCard, - homeaddress as address, - telephone, + residentplace as address, + mobile as telephone, email from hrmresource h inner join hrmdepartment a on a.id = h.departmentid diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index bc886a4b..b5c4a6bd 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -106,12 +106,12 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu columns1.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build()); columns1.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().name("2022-10-02").colspans(2).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().name("80").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().name("36").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().name("360").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().name("180").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().name("20000").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().value("2022-10-02").colspans(2).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().value("80").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().value("36").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); + datas1.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(columns1).datas(Collections.singletonList(datas1)).build()); columns2.add(PersonnelResumeColumn.builder().name("关系").colspans(2).rowspans(1).build()); @@ -120,23 +120,23 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu columns2.add(PersonnelResumeColumn.builder().name("联系电话").colspans(1).rowspans(1).build()); columns2.add(PersonnelResumeColumn.builder().name("住址").colspans(2).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().name("父子").colspans(2).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().name("徐晓").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().name("北凉王").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().name("1589756859").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().name("江苏省南京市北凉军营").colspans(2).rowspans(1).build()); - - datas3.add(PersonnelResumeColumn.builder().name("母子").colspans(2).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().name("吴素").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().name("北凉王妃").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().name("15897566487").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().name("江苏省南京市北凉龙雀军团").colspans(2).rowspans(1).build()); - - datas4.add(PersonnelResumeColumn.builder().name("女儿").colspans(2).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().name("徐念凉").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().name("北凉公主").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().name("15897566587").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().name("莽荒之地").colspans(2).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().value("父子").colspans(2).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().value("徐晓").colspans(1).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().value("北凉王").colspans(1).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().value("1589756859").colspans(1).rowspans(1).build()); + datas2.add(PersonnelResumeColumn.builder().value("江苏省南京市北凉军营").colspans(2).rowspans(1).build()); + + datas3.add(PersonnelResumeColumn.builder().value("母子").colspans(2).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().value("吴素").colspans(1).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().value("北凉王妃").colspans(1).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().value("15897566487").colspans(1).rowspans(1).build()); + datas3.add(PersonnelResumeColumn.builder().value("江苏省南京市北凉龙雀军团").colspans(2).rowspans(1).build()); + + datas4.add(PersonnelResumeColumn.builder().value("女儿").colspans(2).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().value("徐念凉").colspans(1).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().value("北凉公主").colspans(1).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().value("15897566587").colspans(1).rowspans(1).build()); + datas4.add(PersonnelResumeColumn.builder().value("莽荒之地").colspans(2).rowspans(1).build()); List> objects = new ArrayList<>(); objects.add(datas2); objects.add(datas3); From 702092c5a261dec174d7e29acecb7d91a82efda9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 30 Dec 2022 09:39:16 +0800 Subject: [PATCH 117/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/resume/po/PersonnelResumePO.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java index d5d603ff..1206bf87 100644 --- a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java @@ -61,6 +61,16 @@ public class PersonnelResumePO { String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator + manager.getImageFileName(); File f = new File(outPutPath); + if (!f.exists()) { + String substring = outPutPath.substring(0, outPutPath.lastIndexOf(File.separator)); + File file = new File(substring); + if (file.mkdirs()) { + boolean newFile = f.createNewFile(); + if (!newFile) { + throw new IOException(outPutPath + "文件创建失败"); + } + } + } Thumbnails.of(inputStream).forceSize(100, 120).toFile(f); InputStream fileInputStream = Files.newInputStream(f.toPath()); imageStr = "data:image/" + manager.getImageFileType() + ";base64," + Base64.getEncoder().encodeToString(IOUtils.toByteArray(fileInputStream)); From c41716318d390b9ee196b2ed8caf5ebd267c70d3 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 30 Dec 2022 10:16:48 +0800 Subject: [PATCH 118/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/resume/po/HrmFamilyInfoPO.java | 21 ++++++++ .../mapper/resource/HrmResourceMapper.java | 3 ++ .../mapper/resource/HrmResourceMapper.xml | 19 ++++--- .../impl/PersonnelResumeServiceImpl.java | 49 +++++++++---------- 4 files changed, 59 insertions(+), 33 deletions(-) create mode 100644 src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java diff --git a/src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java b/src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java new file mode 100644 index 00000000..f70a854a --- /dev/null +++ b/src/com/engine/organization/entity/resume/po/HrmFamilyInfoPO.java @@ -0,0 +1,21 @@ +package com.engine.organization.entity.resume.po; + +import lombok.Data; + +/** + * @author:dxfeng + * @createTime: 2022/12/30 + * @version: 1.0 + */ +@Data +public class HrmFamilyInfoPO { + private Integer resourceId; + private String member; + private String title; + private String company; + private String jobTitle; + private String address; + private String uuid; + private String birthday; + private Integer whetherChildren; +} diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 09ec695f..e303bd30 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -1,6 +1,7 @@ package com.engine.organization.mapper.resource; import com.engine.organization.entity.hrmresource.po.ResourcePO; +import com.engine.organization.entity.resume.po.HrmFamilyInfoPO; import com.engine.organization.entity.resume.po.PersonnelResumePO; import org.apache.ibatis.annotations.Param; @@ -20,4 +21,6 @@ public interface HrmResourceMapper { PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id); + List getHrmFamilyInfoByUser(@Param("resourceId") Integer resourceId); + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 22e9c4b5..8dae95f3 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -34,23 +34,28 @@ select lastname, sex, birthday, - resourceimageid as image, + resourceimageid as image, nativeplace, - policy as politics, + policy as politics, a.departmentname as department, - maritalstatus as marriage, - b.jobtitlename as jobTitle, + maritalstatus as marriage, + b.jobtitlename as jobTitle, companystartdate, workstartdate, - certificatenum as idCard, - residentplace as address, - mobile as telephone, + certificatenum as idCard, + residentplace as address, + mobile as telephone, email from hrmresource h inner join hrmdepartment a on a.id = h.departmentid inner join hrmjobtitles b on b.id = h.jobtitle where h.id = #{id} + diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index b5c4a6bd..ca98eb7f 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -10,6 +10,7 @@ import com.engine.organization.entity.hrmresource.bo.ResourceBO; import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; +import com.engine.organization.entity.resume.po.HrmFamilyInfoPO; import com.engine.organization.entity.resume.po.PersonnelResumeColumn; import com.engine.organization.entity.resume.po.PersonnelResumePO; import com.engine.organization.entity.resume.po.PersonnelResumeTable; @@ -114,33 +115,29 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu datas1.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(columns1).datas(Collections.singletonList(datas1)).build()); - columns2.add(PersonnelResumeColumn.builder().name("关系").colspans(2).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("姓名").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("工作单位及职务").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("联系电话").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("住址").colspans(2).rowspans(1).build()); - - datas2.add(PersonnelResumeColumn.builder().value("父子").colspans(2).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("徐晓").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("北凉王").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("1589756859").colspans(1).rowspans(1).build()); - datas2.add(PersonnelResumeColumn.builder().value("江苏省南京市北凉军营").colspans(2).rowspans(1).build()); - - datas3.add(PersonnelResumeColumn.builder().value("母子").colspans(2).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("吴素").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("北凉王妃").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("15897566487").colspans(1).rowspans(1).build()); - datas3.add(PersonnelResumeColumn.builder().value("江苏省南京市北凉龙雀军团").colspans(2).rowspans(1).build()); - - datas4.add(PersonnelResumeColumn.builder().value("女儿").colspans(2).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("徐念凉").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("北凉公主").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("15897566587").colspans(1).rowspans(1).build()); - datas4.add(PersonnelResumeColumn.builder().value("莽荒之地").colspans(2).rowspans(1).build()); + // 家庭情况 + columns2.add(PersonnelResumeColumn.builder().name("成员").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("称谓").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("工作单位").colspans(2).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("职务").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("地址").colspans(2).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("出生日期").colspans(1).rowspans(1).build()); + columns2.add(PersonnelResumeColumn.builder().name("是否子女").colspans(1).rowspans(1).build()); + + List hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId); List> objects = new ArrayList<>(); - objects.add(datas2); - objects.add(datas3); - objects.add(datas4); + + for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) { + List datas = new ArrayList<>(); + datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build()); + datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build()); + datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getCompany()).colspans(2).rowspans(1).build()); + datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getJobTitle()).colspans(1).rowspans(1).build()); + datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getAddress()).colspans(2).rowspans(1).build()); + datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getBirthday()).colspans(1).rowspans(1).build()); + datas.add(PersonnelResumeColumn.builder().value(1 == hrmFamilyInfoPO.getWhetherChildren() ? "是" : "否").colspans(1).rowspans(1).build()); + objects.add(datas); + } tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(columns2).datas(objects).build()); From df57b4e71fa4e0dcf8395c3cf5b7251d3186b76c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 30 Dec 2022 10:20:08 +0800 Subject: [PATCH 119/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PersonnelResumeServiceImpl.java | 74 +++++++++---------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index ca98eb7f..05d465b0 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -93,52 +93,48 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu // 简历相关表格,待拓展 List tables = new ArrayList<>(); - List columns1 = new ArrayList<>(); - List columns2 = new ArrayList<>(); - - List datas1 = new ArrayList<>(); - List datas2 = new ArrayList<>(); - List datas3 = new ArrayList<>(); - List datas4 = new ArrayList<>(); - columns1.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build()); - columns1.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build()); - columns1.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build()); - columns1.add(PersonnelResumeColumn.builder().name("失业保险").colspans(1).rowspans(1).build()); - columns1.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build()); - columns1.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).rowspans(1).build()); - - datas1.add(PersonnelResumeColumn.builder().value("2022-10-02").colspans(2).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("80").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("36").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); - datas1.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); - tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(columns1).datas(Collections.singletonList(datas1)).build()); + List insurancesTitles = new ArrayList<>(); + List familyInfoTitles = new ArrayList<>(); + + List insuranceDatas = new ArrayList<>(); + insurancesTitles.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("失业保险").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("住房公积金").colspans(1).rowspans(1).build()); + insurancesTitles.add(PersonnelResumeColumn.builder().name("企业年金").colspans(1).rowspans(1).build()); + + insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-10-02").colspans(2).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("80").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("36").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); + tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(Collections.singletonList(insuranceDatas)).build()); // 家庭情况 - columns2.add(PersonnelResumeColumn.builder().name("成员").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("称谓").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("工作单位").colspans(2).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("职务").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("地址").colspans(2).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("出生日期").colspans(1).rowspans(1).build()); - columns2.add(PersonnelResumeColumn.builder().name("是否子女").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("成员").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("称谓").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("工作单位").colspans(2).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("职务").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("地址").colspans(2).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("出生日期").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("是否子女").colspans(1).rowspans(1).build()); List hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId); List> objects = new ArrayList<>(); - for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) { - List datas = new ArrayList<>(); - datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build()); - datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build()); - datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getCompany()).colspans(2).rowspans(1).build()); - datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getJobTitle()).colspans(1).rowspans(1).build()); - datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getAddress()).colspans(2).rowspans(1).build()); - datas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getBirthday()).colspans(1).rowspans(1).build()); - datas.add(PersonnelResumeColumn.builder().value(1 == hrmFamilyInfoPO.getWhetherChildren() ? "是" : "否").colspans(1).rowspans(1).build()); - objects.add(datas); + List familyInfoDatas = new ArrayList<>(); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getCompany()).colspans(2).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getJobTitle()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getAddress()).colspans(2).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getBirthday()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(1 == hrmFamilyInfoPO.getWhetherChildren() ? "是" : "否").colspans(1).rowspans(1).build()); + objects.add(familyInfoDatas); } - tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(columns2).datas(objects).build()); + tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(familyInfoTitles).datas(objects).build()); resultMap.put("tables", tables); From 687b580494dcbb7524ed7b0cda58d9d8742f12a9 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 30 Dec 2022 10:38:47 +0800 Subject: [PATCH 120/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PersonnelResumeServiceImpl.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 05d465b0..7e565f33 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -113,25 +113,22 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(Collections.singletonList(insuranceDatas)).build()); // 家庭情况 - familyInfoTitles.add(PersonnelResumeColumn.builder().name("成员").colspans(1).rowspans(1).build()); - familyInfoTitles.add(PersonnelResumeColumn.builder().name("称谓").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("关系").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("姓名").colspans(1).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("工作单位").colspans(2).rowspans(1).build()); familyInfoTitles.add(PersonnelResumeColumn.builder().name("职务").colspans(1).rowspans(1).build()); - familyInfoTitles.add(PersonnelResumeColumn.builder().name("地址").colspans(2).rowspans(1).build()); - familyInfoTitles.add(PersonnelResumeColumn.builder().name("出生日期").colspans(1).rowspans(1).build()); - familyInfoTitles.add(PersonnelResumeColumn.builder().name("是否子女").colspans(1).rowspans(1).build()); + familyInfoTitles.add(PersonnelResumeColumn.builder().name("住址").colspans(2).rowspans(1).build()); + List hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId); List> objects = new ArrayList<>(); for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) { List familyInfoDatas = new ArrayList<>(); - familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build()); familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getTitle()).colspans(1).rowspans(1).build()); + familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getMember()).colspans(1).rowspans(1).build()); familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getCompany()).colspans(2).rowspans(1).build()); familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getJobTitle()).colspans(1).rowspans(1).build()); familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getAddress()).colspans(2).rowspans(1).build()); - familyInfoDatas.add(PersonnelResumeColumn.builder().value(hrmFamilyInfoPO.getBirthday()).colspans(1).rowspans(1).build()); - familyInfoDatas.add(PersonnelResumeColumn.builder().value(1 == hrmFamilyInfoPO.getWhetherChildren() ? "是" : "否").colspans(1).rowspans(1).build()); objects.add(familyInfoDatas); } tables.add(PersonnelResumeTable.builder().title("三、家庭成员信息(包括父母、配偶、子女)").columns(familyInfoTitles).datas(objects).build()); From dde1d0d0dbce14133f79e5e681d871f6b58f825c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 30 Dec 2022 10:40:42 +0800 Subject: [PATCH 121/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PersonnelResumeServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 7e565f33..3b26cf91 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -148,15 +148,15 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu // 新增 topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("screening").menuIcon("icon-coms-man").menuName("人员筛选").type("BTN_Screening").build()); topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("currentExport").menuIcon("icon-coms-export").menuName("导出当前").type("BTN_CurrentExport").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("MergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("AllExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("mergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("allExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); resultMap.put("topMenu", topMenuList); // 新增 rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("screening").menuIcon("icon-coms-man").menuName("人员筛选").type("BTN_Screening").build()); rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("currentExport").menuIcon("icon-coms-export").menuName("导出当前").type("BTN_CurrentExport").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("MergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("AllExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("mergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("allExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); resultMap.put("rightMenu", rightMenuList); return resultMap; From bc47f697d0c7f19a22e8bb899e106675cc2b59c3 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 30 Dec 2022 14:14:47 +0800 Subject: [PATCH 122/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/PersonnelResumeService.java | 9 ++ .../impl/PersonnelResumeServiceImpl.java | 62 ++++++++++++++ .../engine/organization/util/WordUtil.java | 84 +++++++++++++++++++ .../web/PersonnelResumeController.java | 16 ++++ .../wrapper/PersonnelResumeWrapper.java | 5 ++ 5 files changed, 176 insertions(+) create mode 100644 src/com/engine/organization/util/WordUtil.java diff --git a/src/com/engine/organization/service/PersonnelResumeService.java b/src/com/engine/organization/service/PersonnelResumeService.java index cedc5cf7..dcc9baa1 100644 --- a/src/com/engine/organization/service/PersonnelResumeService.java +++ b/src/com/engine/organization/service/PersonnelResumeService.java @@ -24,4 +24,13 @@ public interface PersonnelResumeService { * @return */ Map hasRight(); + + + /** + * 人员简历下载 + * @param params + * @return + */ + Map downloadPerResume(SearchTreeParams params); + } diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 192e0a75..97ab882f 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -19,14 +19,20 @@ import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.service.PersonnelResumeService; import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.WordUtil; +import com.engine.organization.util.WordUtils; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections.CollectionUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import weaver.general.GCONST; import weaver.general.StringUtil; import weaver.general.Util; +import java.io.File; +import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -86,6 +92,62 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu return resultMap; } + @Override + public Map downloadPerResume(SearchTreeParams params) { + // 调用word文档帮助类 + WordUtil wordUtil = new WordUtil(); + + // 模板文件存放的目录 + wordUtil.setBaseDir("E:/ww"); + + // 模板文件名称 + wordUtil.setTemplateFile("template.ftl"); + + // word生成的输出目录 + wordUtil.setOutputDir("E:/image/"); + + // 初始化数据map + Map dataMap = new HashMap<>(); + + // 录入采购基本数据 + dataMap.put("data1", "XX公司"); + dataMap.put("data2", "XX项目"); + dataMap.put("data3", "2022.01.01"); + dataMap.put("data4", "采购部"); + dataMap.put("data5", "张三"); + dataMap.put("data6", "189XXXXXXX"); + dataMap.put("data7", "李四"); + dataMap.put("data8", "张主任"); + dataMap.put("data9", "王总"); + dataMap.put("data10", "王某"); + dataMap.put("data11", "王某"); + dataMap.put("data12", "张三"); + + + // 录入表格数据(3条数据循环三次) + for (int i = 1; i <= 3; i++) { + dataMap.put("dataName"+i, "笔记本电脑"+i); + dataMap.put("dataBand"+i, "金山牌"+i); + dataMap.put("model"+i, "JHHJ6"+i); + dataMap.put("price"+i, 5000+i); + dataMap.put("quantity"+i, 3+i); + dataMap.put("total"+i, 15000+i); + } + + //处理定价方式复选框 + dataMap.put("select", "☑境内采购" + "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" + "□境外采购"); + + String oldPath = wordUtil.createWord(dataMap); + + if (oldPath.equals("操作失败")){ + System.out.println("操作失败"); + } + + //输出生成后的文件路径 + System.out.println(oldPath); + return null; + } + public List getFilterDatas(String id, String type, String keyword) { List searchTree = new ArrayList<>(); // 通过分部、公司 组装数据 diff --git a/src/com/engine/organization/util/WordUtil.java b/src/com/engine/organization/util/WordUtil.java new file mode 100644 index 00000000..717ec6a2 --- /dev/null +++ b/src/com/engine/organization/util/WordUtil.java @@ -0,0 +1,84 @@ +package com.engine.organization.util; +import freemarker.template.Configuration; +import freemarker.template.Template; +import freemarker.template.TemplateException; +import lombok.Data; + +import java.io.*; +import java.util.Map; + +/** + * @author + * @date + * @apiNote 生成动态文档帮助类 + */ +@Data +public class WordUtil { + private Configuration configuration = null; + + /* + * 模板文件存放的目录 + */ + private String baseDir; + + /* + * 模板文件名称 + */ + private String templateFile; + + /* + * word生成的输出目录 + */ + private String outputDir; + + public WordUtil(){ + configuration = new Configuration(); + configuration.setDefaultEncoding("utf-8"); + + } + + /* + *

转换成word
+ */ + public String createWord(Map dataMap){ + + configuration.setClassForTemplateLoading(this.getClass(), "");//模板文件所在路径 + + Template t = null; + + try { + //得到模板文件 + configuration.setDirectoryForTemplateLoading(new File(baseDir)); + } catch (IOException e) { + e.printStackTrace(); + } + try { + t = configuration.getTemplate(templateFile,"utf-8"); + } catch (IOException e) { + e.printStackTrace(); + } + + // GwUtil.getFileNo(""); 调用生成随机数的方法 + File outFile = new File(outputDir + "222.doc"); //导出文件 + + Writer out = null; + try { + try { + out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"utf-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } catch (FileNotFoundException e1) { + e1.printStackTrace(); + } + try { + t.process(dataMap, out); //将填充数据填入模板文件并输出到目标文件 + return outFile.getPath(); + } catch (TemplateException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return "文档生成失败"; + } +} diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java index d3fe3002..a7f37525 100644 --- a/src/com/engine/organization/web/PersonnelResumeController.java +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -59,4 +59,20 @@ public class PersonnelResumeController { } + /** + * 左侧树接口 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/downloadPerResume") + @Produces(MediaType.APPLICATION_JSON) + public Map downloadPerResume(@Context HttpServletRequest request, @Context HttpServletResponse response){ + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class); + return getPersonnelResumeWrapper(user).downloadPerResume(params); + } } diff --git a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java index 0ec90153..722380b6 100644 --- a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java +++ b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java @@ -5,6 +5,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.service.PersonnelResumeService; import com.engine.organization.service.impl.PersonnelResumeServiceImpl; import com.engine.organization.util.OrganizationWrapper; +import tebie.applib.api.O; import weaver.hrm.User; import java.util.Map; @@ -26,4 +27,8 @@ public class PersonnelResumeWrapper extends OrganizationWrapper { public Map hasRight() { return getPersonnelResumeService(user).hasRight(); } + + public Map downloadPerResume(SearchTreeParams params) { + return getPersonnelResumeService(user).downloadPerResume(params); + } } From a86a8dd2c8da1dda5619df7315fe65ba5b4e99dd Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 30 Dec 2022 14:19:16 +0800 Subject: [PATCH 123/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PersonnelResumeServiceImpl.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 97ab882f..52110c47 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -20,19 +20,14 @@ import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.service.PersonnelResumeService; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.WordUtil; -import com.engine.organization.util.WordUtils; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections.CollectionUtils; -import org.apache.poi.xwpf.usermodel.XWPFDocument; -import weaver.general.GCONST; import weaver.general.StringUtil; import weaver.general.Util; -import java.io.File; -import java.io.IOException; import java.util.*; import java.util.stream.Collectors; From 395d93067aa6c667ddc35cee9ac8b4cf396c08ab Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 3 Jan 2023 10:01:19 +0800 Subject: [PATCH 124/203] =?UTF-8?q?Oracle,SQL=E8=84=9A=E6=9C=ACBUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml index d263ceda..ddb14133 100644 --- a/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml +++ b/src/com/engine/organization/mapper/jclorgmap/JclOrgMapper.xml @@ -249,14 +249,14 @@ (id,ftype,fobjid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg, fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid, fplan,fonjob,fisvitual,fdatebegin,fdateend) - select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,to_number(b.BMFZR),c.messagerurl, + select a.id+100000000,2,a.id,a.uuid,0,'行政维度',a.DEPARTMENTCODE,a.departmentname,to_char(b.BMFZR),c.messagerurl, c.lastname,c.jobtitle,d.jobtitlemark,f.level_name,g.grade_name, (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid+100000000 end), (case nvl(a.supdepid,0) when 0 then a.subcompanyid1 else a.supdepid end), 0,0,0,TO_DATE(to_char(SYSDATE,'yyyy-MM-dd'),'yyyy-MM-dd'), TO_DATE('2099-12-31','yyyy-MM-dd') from HrmDepartment a left join hrmdepartmentdefined b on a.id=b.deptid - left join hrmresource c on to_char(b.BMFZR)=c.ID + left join hrmresource c on to_char(b.BMFZR)=to_char(c.ID) left join hrmjobtitles d on c.JOBTITLE=d.id left join cus_fielddata e on c.id = e.id and e.scope='HrmCustomFieldByInfoType' and e.scopeid=3 left join jcl_org_level f on e.${level}=f.id From bccae91e75e019269811806b21d10bf49adeca58 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 3 Jan 2023 10:32:11 +0800 Subject: [PATCH 125/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/PersonnelResumeServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 3b26cf91..50e55f5a 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -121,6 +121,9 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu List hrmFamilyInfoByUser = getHrmResourceMapper().getHrmFamilyInfoByUser(uId); + if (CollectionUtils.isEmpty(hrmFamilyInfoByUser)) { + hrmFamilyInfoByUser.add(new HrmFamilyInfoPO()); + } List> objects = new ArrayList<>(); for (HrmFamilyInfoPO hrmFamilyInfoPO : hrmFamilyInfoByUser) { List familyInfoDatas = new ArrayList<>(); From 6d1603aeb241657a924d39a8cf725d1e9bfa148d Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 3 Jan 2023 11:41:21 +0800 Subject: [PATCH 126/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=87=BA20230103?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PersonnelResumeServiceImpl.java | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 66a47132..2f78250d 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -179,21 +179,27 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu // 初始化数据map Map dataMap = new HashMap<>(); - - // 录入采购基本数据 - dataMap.put("data1", "XX公司"); - dataMap.put("data2", "XX项目"); - dataMap.put("data3", "2022.01.01"); - dataMap.put("data4", "采购部"); - dataMap.put("data5", "张三"); - dataMap.put("data6", "189XXXXXXX"); - dataMap.put("data7", "李四"); - dataMap.put("data8", "张主任"); - dataMap.put("data9", "王总"); - dataMap.put("data10", "王某"); - dataMap.put("data11", "王某"); - dataMap.put("data12", "张三"); - + dataMap = getResumeList(23); + +// Object tables = dataMap.get("tables"); +// System.out.println(tables); + if (dataMap.containsKey("tables")){ + List tables = (List) dataMap.get("tables"); + + for (int t=0;t0){ + List> datas = personnelResumeTable.getDatas(); + if (datas.size()>0){ + List dataList = datas.get(0); + for (int i=0;i Date: Wed, 4 Jan 2023 16:50:59 +0800 Subject: [PATCH 127/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91=E3=80=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/searchtree/SearchTreeParams.java | 39 +++++++ .../mapper/resource/HrmResourceMapper.java | 1 + .../mapper/resource/HrmResourceMapper.xml | 30 ++++++ .../service/PersonnelResumeService.java | 4 + .../impl/PersonnelResumeServiceImpl.java | 102 +++++++++++++++--- .../util/OrganizationFormItemUtil.java | 10 ++ .../organization/util/detach/DetachUtil.java | 7 ++ .../web/PersonnelResumeController.java | 21 ++++ .../wrapper/PersonnelResumeWrapper.java | 6 ++ 9 files changed, 207 insertions(+), 13 deletions(-) diff --git a/src/com/engine/organization/entity/searchtree/SearchTreeParams.java b/src/com/engine/organization/entity/searchtree/SearchTreeParams.java index bc1b08f2..34018fbe 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTreeParams.java +++ b/src/com/engine/organization/entity/searchtree/SearchTreeParams.java @@ -1,6 +1,12 @@ package com.engine.organization.entity.searchtree; import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; /** * @description: @@ -26,5 +32,38 @@ public class SearchTreeParams { private String virtualCompanyid; private String isLoadSubDepartment; + // 人员筛选,添加分部、部门、岗位、人员搜索条件 + private String subcompanyid1; + private String departmentid; + private String jobId; + private String resourceId; + private boolean personnelScreening; + + public List getSubcompanyid1() { + if (StringUtils.isBlank(subcompanyid1)) { + return new ArrayList<>(); + } + return Arrays.stream(subcompanyid1.split(",")).map(Integer::parseInt).collect(Collectors.toList()); + } + + public List getDepartmentid() { + if (StringUtils.isBlank(departmentid)) { + return new ArrayList<>(); + } + return Arrays.stream(departmentid.split(",")).map(Integer::parseInt).collect(Collectors.toList()); + } + + public List getJobId() { + if (StringUtils.isBlank(jobId)) { + return new ArrayList<>(); + } + return Arrays.stream(jobId.split(",")).map(Long::parseLong).collect(Collectors.toList()); + } + public List getResourceId() { + if (StringUtils.isBlank(resourceId)) { + return new ArrayList<>(); + } + return Arrays.stream(resourceId.split(",")).map(Long::parseLong).collect(Collectors.toList()); + } } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index e303bd30..43a1dca0 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -23,4 +23,5 @@ public interface HrmResourceMapper { List getHrmFamilyInfoByUser(@Param("resourceId") Integer resourceId); + List getPersonnelScreening(@Param("subCompanyIds") List subcompanyid1, @Param("departmentIds") List departmentid, @Param("jobIds") List jobId, @Param("resourceIds") List resourceId); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 8dae95f3..f67c7f09 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -56,6 +56,36 @@ from HrmFamilyInfo where resourceid = #{resourceId} + diff --git a/src/com/engine/organization/service/PersonnelResumeService.java b/src/com/engine/organization/service/PersonnelResumeService.java index 28b83ab2..cebc220e 100644 --- a/src/com/engine/organization/service/PersonnelResumeService.java +++ b/src/com/engine/organization/service/PersonnelResumeService.java @@ -1,7 +1,9 @@ package com.engine.organization.service; +import com.api.browser.bean.SearchConditionItem; import com.engine.organization.entity.searchtree.SearchTreeParams; +import java.util.List; import java.util.Map; /** @@ -32,4 +34,6 @@ public interface PersonnelResumeService { * @return */ Map hasRight(); + + List personnelScreening(); } diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 50e55f5a..c62e4d42 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -1,5 +1,6 @@ package com.engine.organization.service.impl; +import com.api.browser.bean.SearchConditionItem; import com.engine.core.impl.Service; import com.engine.organization.entity.DeleteParam; import com.engine.organization.entity.company.bo.CompBO; @@ -24,6 +25,7 @@ import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.service.PersonnelResumeService; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.PageUtil; @@ -61,11 +63,16 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu @Override public Map getSearchTree(SearchTreeParams params) { - String keyword = params.getKeyword(); - String id = params.getId(); - String type = Util.null2String(params.getType()); - List treeList = getFilterDatas(id, type, keyword); - return SearchTreeUtil.getSearchTree(type, treeList); + // 查询所有满足条件的人员ID、根据人员向上查找对应的组织架构 + List resourcePOList = null; + if (CollectionUtils.isNotEmpty(params.getSubcompanyid1()) || CollectionUtils.isNotEmpty(params.getDepartmentid()) || CollectionUtils.isNotEmpty(params.getJobId()) || CollectionUtils.isNotEmpty(params.getResourceId())) { + params.setPersonnelScreening(true); + // 人员筛选 + resourcePOList = getHrmResourceMapper().getPersonnelScreening(params.getSubcompanyid1(), params.getDepartmentid(), params.getJobId(), params.getResourceId()); + resourcePOList.removeIf(item->!item.getLastName().contains(params.getKeyword())); + } + List treeList = getFilterDatas(params, resourcePOList); + return SearchTreeUtil.getSearchTree(Util.null2String(params.getType()), treeList); } @Override @@ -165,29 +172,66 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu return resultMap; } - public List getFilterDatas(String id, String type, String keyword) { + @Override + public List personnelScreening() { + List items = new ArrayList<>(); + // 所属分部 + SearchConditionItem companyItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "分部", "194", "subcompanyid1", ""); + // 所属部门 + SearchConditionItem departmentItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "部门", "57", "departmentid", ""); + + SearchConditionItem jobItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "岗位", "666", "jobId", ""); + + SearchConditionItem resourceItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "人员", "17", "resourceId", ""); + items.add(companyItem); + items.add(departmentItem); + items.add(jobItem); + items.add(resourceItem); + return items; + } + + public List getFilterDatas(SearchTreeParams params, List resourcePOList) { + String keyword = params.getKeyword(); + String id = params.getId(); + String type = Util.null2String(params.getType()); + List searchTree = new ArrayList<>(); // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || ModuleTypeEnum.subcompanyfielddefined.getValue().toString().equals(type)) { Integer subCompanyId1 = StringUtil.isEmpty(id) ? null : Integer.parseInt(id); + if (params.isPersonnelScreening()) { + new DetachUtil(user).filterResourceList(resourcePOList); + if (null != subCompanyId1) { + resourcePOList.removeIf(item -> !subCompanyId1.equals(item.getSubcompanyid1())); + } + } DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).subCompanyId1(subCompanyId1).canceled(0).build(); CompPO compBuild = CompPO.builder().subCompanyName(keyword).supSubComId(subCompanyId1).canceled(0).build(); // 所属分部下的岗位 JobPO jobBuild = JobPO.builder().jobTitleName(keyword).ecCompany(subCompanyId1).forbiddenTag(0).build(); ResourcePO resourcePO = ResourcePO.builder().lastName(keyword).subcompanyid1(subCompanyId1).build(); - searchTree = buildTreeByCompAndDept(departmentBuild, compBuild, jobBuild, resourcePO); + searchTree = buildTreeByCompAndDept(params, resourcePOList, departmentBuild, compBuild, jobBuild, resourcePO); } else if (ModuleTypeEnum.departmentfielddefined.getValue().toString().equals(type)) { Integer departmentId = Integer.parseInt(id); + if (null != resourcePOList) { + new DetachUtil(user).filterResourceList(resourcePOList); + resourcePOList.removeIf(item -> !departmentId.equals(item.getDepartmentid())); + } DepartmentPO departmentBuild = DepartmentPO.builder().departmentName(keyword).supDepId(departmentId).canceled(0).build(); // 所属分部下的岗位 JobPO jobBuild = JobPO.builder().jobTitleName(keyword).ecDepartment(departmentId).forbiddenTag(0).build(); ResourcePO resourcePO = ResourcePO.builder().lastName(keyword).departmentid(departmentId).build(); - searchTree = buildTreeByDeptAndJob(departmentBuild, jobBuild, resourcePO); + searchTree = buildTreeByDeptAndJob(params, resourcePOList, departmentBuild, jobBuild, resourcePO); } else if (ModuleTypeEnum.jobfielddefined.getValue().toString().equals(type)) { Long jobId = Long.parseLong(id); JobPO jobById = getJobMapper().getJobById(jobId); + if (null != resourcePOList) { + new DetachUtil(user).filterResourceList(resourcePOList); + resourcePOList.removeIf(item -> !(jobById.getEcCompany().equals(item.getSubcompanyid1()) && jobById.getEcDepartment().equals(item.getDepartmentid())) && jobById.getEcJobTitle().equals(item.getJobtitle())); + return SearchTreeUtil.builderTreeMode(ResourceBO.buildSetToSearchTree(resourcePOList)); + } ResourcePO resourcePO = ResourcePO.builder().lastName(keyword).subcompanyid1(jobById.getEcCompany()).departmentid(jobById.getEcDepartment()).jobtitle(jobById.getEcJobTitle()).build(); List resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); searchTree = SearchTreeUtil.builderTreeMode(ResourceBO.buildSetToSearchTree(resourcePOS)); @@ -203,9 +247,14 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu * @param jobBuild * @return */ - private List buildTreeByCompAndDept(DepartmentPO departmentBuild, CompPO compBuild, JobPO jobBuild, ResourcePO resourcePO) { + private List buildTreeByCompAndDept(SearchTreeParams params, List resourcePOList, DepartmentPO departmentBuild, CompPO compBuild, JobPO jobBuild, ResourcePO resourcePO) { // 查询人员数据 - List resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + List resourcePOS; + if (params.isPersonnelScreening()) { + resourcePOS = resourcePOList; + } else { + resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + } Set builderJobs = new HashSet<>(); // 补充人员所有岗位,关联人员及聚才林岗位 @@ -220,8 +269,15 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu List jobPOS = getJobMapper().listPOsByFilter(jobBuild); + if (params.isPersonnelScreening()) { + jobPOS.removeIf(item -> !params.getJobId().contains(item.getId())); + } + new DetachUtil(user).filterJobList(jobPOS); List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); + if (params.isPersonnelScreening()) { + filterDeparts.removeIf(item -> !params.getDepartmentid().contains(item.getId())); + } new DetachUtil(user).filterDepartmentList(filterDeparts); // 添加父级岗位 builderJobs.addAll(jobPOS); @@ -242,12 +298,17 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu } if (CollectionUtils.isNotEmpty(departmentsByIds)) { + departmentsByIds.removeIf(item -> item.getCanceled() != null && item.getCanceled() != 0); filterDeparts.addAll(departmentsByIds); } } // 查询分部信息 List filterComps = getCompMapper().listByFilter(compBuild, "showorder"); + if (params.isPersonnelScreening()) { + filterComps.removeIf(item -> !params.getSubcompanyid1().contains(item.getId())); + } + new DetachUtil(user).filterCompanyList(filterComps); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { @@ -274,9 +335,14 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), searchTrees); } - private List buildTreeByDeptAndJob(DepartmentPO departmentBuild, JobPO jobBuild, ResourcePO resourcePO) { + private List buildTreeByDeptAndJob(SearchTreeParams params, List resourcePOList, DepartmentPO departmentBuild, JobPO jobBuild, ResourcePO resourcePO) { // 查询人员数据 - List resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + List resourcePOS; + if (params.isPersonnelScreening()) { + resourcePOS = resourcePOList; + } else { + resourcePOS = getHrmResourceMapper().listByFilter(resourcePO); + } Set builderJobs = new HashSet<>(); // 补充人员所有岗位,关联人员及聚才林岗位 @@ -290,7 +356,14 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu List resourceTrees = SearchTreeUtil.builderTreeMode(ResourceBO.buildSetToSearchTree(resourcePOS)); List jobPOS = getJobMapper().listPOsByFilter(jobBuild); + if (params.isPersonnelScreening()) { + jobPOS.removeIf(item -> !params.getJobId().contains(item.getId())); + } + List filterDeparts = getDepartmentMapper().listByFilter(departmentBuild, "showorder"); + if (params.isPersonnelScreening()) { + filterDeparts.removeIf(item -> !params.getDepartmentid().contains(item.getId())); + } // 添加父级岗位 builderJobs.addAll(jobPOS); // 添加岗位的上级部门或分部 @@ -309,6 +382,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu } if (CollectionUtils.isNotEmpty(departmentsByIds)) { + departmentsByIds.removeIf(item -> item.getCanceled() != null && item.getCanceled() != 0); filterDeparts.addAll(departmentsByIds); } } @@ -321,7 +395,6 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu return SearchTreeUtil.builderTreeMode(DepartmentBO.buildSetToSearchTree(builderDeparts), jobTrees); } - /** * 添加查询元素的父级元素 * @@ -346,6 +419,9 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu * @param builderComps */ private void buildParentComps(CompPO compPO, Set builderComps, Map allMaps) { + if (null != compPO.getCanceled() && 0 != compPO.getCanceled()) { + return; + } builderComps.add(compPO); CompPO parentComp = allMaps.get(compPO.getSupSubComId()); if (null != parentComp) { diff --git a/src/com/engine/organization/util/OrganizationFormItemUtil.java b/src/com/engine/organization/util/OrganizationFormItemUtil.java index 7f7daa2a..91697ee1 100644 --- a/src/com/engine/organization/util/OrganizationFormItemUtil.java +++ b/src/com/engine/organization/util/OrganizationFormItemUtil.java @@ -1,10 +1,12 @@ package com.engine.organization.util; +import com.alibaba.fastjson.JSONObject; import com.api.browser.bean.BrowserBean; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionFactory; import com.api.browser.util.ConditionType; +import com.engine.organization.entity.browser.po.CustomBrowserBean; import weaver.hrm.User; import java.util.ArrayList; @@ -182,6 +184,14 @@ public class OrganizationFormItemUtil { browser.setOtherParams(otherMap); } } + if ("666".equals(type)) { + BrowserBean browserBean = browser.getBrowserConditionParam(); + String s = JSONObject.toJSONString(browserBean); + CustomBrowserBean customBrowserBean = JSONObject.parseObject(s, CustomBrowserBean.class); + customBrowserBean.setHasLeftTree(true); + customBrowserBean.setLeftToSearchKey("treeKey"); + browser.setBrowserConditionParam(customBrowserBean); + } return browser; } diff --git a/src/com/engine/organization/util/detach/DetachUtil.java b/src/com/engine/organization/util/detach/DetachUtil.java index d27ca2bb..12f269ef 100644 --- a/src/com/engine/organization/util/detach/DetachUtil.java +++ b/src/com/engine/organization/util/detach/DetachUtil.java @@ -2,6 +2,7 @@ package com.engine.organization.util.detach; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.job.dto.JobListDTO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.service.impl.ManagerDetachServiceImpl; @@ -70,6 +71,12 @@ public class DetachUtil { } } + public void filterResourceList(List resourcePOS) { + if (DETACH && CollectionUtils.isNotEmpty(resourcePOS)) { + resourcePOS.removeIf(item -> !jclRoleLevels.contains(item.getSubcompanyid1())); + } + } + public String getJclRoleLevels() { return StringUtils.join(jclRoleLevels, ","); } diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java index f09053b3..89700da1 100644 --- a/src/com/engine/organization/web/PersonnelResumeController.java +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -2,6 +2,7 @@ package com.engine.organization.web; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.searchtree.SearchTreeParams; @@ -18,6 +19,9 @@ 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.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -75,4 +79,21 @@ public class PersonnelResumeController { } + @GET + @Path("/personnelScreening") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult personnelScreening(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map returnMap = new HashMap<>(); + List addGroups = new ArrayList<>(); + addGroups.add(new SearchConditionGroup("高级搜索条件", true, getPersonnelResumeWrapper(user).personnelScreening())); + returnMap.put("conditions",addGroups); + return ReturnResult.successed(returnMap); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + + } + } diff --git a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java index 460b3fc2..64c0f2fb 100644 --- a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java +++ b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java @@ -1,5 +1,6 @@ package com.engine.organization.wrapper; +import com.api.browser.bean.SearchConditionItem; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.service.PersonnelResumeService; @@ -7,6 +8,7 @@ import com.engine.organization.service.impl.PersonnelResumeServiceImpl; import com.engine.organization.util.OrganizationWrapper; import weaver.hrm.User; +import java.util.List; import java.util.Map; /** @@ -30,4 +32,8 @@ public class PersonnelResumeWrapper extends OrganizationWrapper { public Map getResumeList(Integer uId) { return getPersonnelResumeService(user).getResumeList(uId); } + + public List personnelScreening() { + return getPersonnelResumeService(user).personnelScreening(); + } } From 5450b99e377d67b9cf42cecda7c6873f51482ce6 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 5 Jan 2023 13:57:52 +0800 Subject: [PATCH 128/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=B8=8B=E8=BD=BD=EF=BC=8820230105=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/PersonnelResumeService.java | 6 +- .../impl/PersonnelResumeServiceImpl.java | 277 +++++++++++++++--- .../engine/organization/util/WordUtil.java | 84 ------ .../util/word/CustomXWPFDocument.java | 144 +++++++++ .../organization/util/word/WordUtil.java | 276 +++++++++++++++++ .../web/PersonnelResumeController.java | 26 +- .../wrapper/PersonnelResumeWrapper.java | 5 +- 7 files changed, 678 insertions(+), 140 deletions(-) delete mode 100644 src/com/engine/organization/util/WordUtil.java create mode 100644 src/com/engine/organization/util/word/CustomXWPFDocument.java create mode 100644 src/com/engine/organization/util/word/WordUtil.java diff --git a/src/com/engine/organization/service/PersonnelResumeService.java b/src/com/engine/organization/service/PersonnelResumeService.java index 7eebbcd8..deddbf74 100644 --- a/src/com/engine/organization/service/PersonnelResumeService.java +++ b/src/com/engine/organization/service/PersonnelResumeService.java @@ -2,6 +2,7 @@ package com.engine.organization.service; import com.engine.organization.entity.searchtree.SearchTreeParams; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -36,9 +37,10 @@ public interface PersonnelResumeService { /** * 人员简历下载 - * @param params + * @param type + * @param response * @return */ - Map downloadPerResume(SearchTreeParams params); + String downloadPerResume(Integer type, HttpServletResponse response) throws Exception; } diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index e6d81579..d62ca475 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -24,17 +24,28 @@ import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.service.PersonnelResumeService; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; -import com.engine.organization.util.WordUtil; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; +import com.engine.organization.util.word.CustomXWPFDocument; +import com.engine.organization.util.word.WordUtil; import org.apache.commons.collections.CollectionUtils; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; +import org.apache.xmlbeans.XmlOptions; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody; +import weaver.general.GCONST; import weaver.general.StringUtil; import weaver.general.Util; + +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; /** * @author:dxfeng @@ -167,67 +178,237 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu } @Override - public Map downloadPerResume(SearchTreeParams params) { - // 调用word文档帮助类 - WordUtil wordUtil = new WordUtil(); - - // 模板文件存放的目录 - wordUtil.setBaseDir("E:/ww"); - - // 模板文件名称 - wordUtil.setTemplateFile("template.ftl"); - - // word生成的输出目录 - wordUtil.setOutputDir("E:/image/"); - - // 初始化数据map - Map dataMap = new HashMap<>(); - dataMap = getResumeList(23); - -// Object tables = dataMap.get("tables"); -// System.out.println(tables); - if (dataMap.containsKey("tables")){ - List tables = (List) dataMap.get("tables"); - - for (int t=0;t0){ - List> datas = personnelResumeTable.getDatas(); - if (datas.size()>0){ - List dataList = datas.get(0); - for (int i=0;i xwpfDocuments = new ArrayList<>(); + //模板地址 + String outPutPath = GCONST.getRootPath() + "hrm" + File.separator + "import" + File.separator + "template" + File.separator; + String filePath = outPutPath + "template0104.docx"; + //创建压缩包位置 + File fileZip = new File(outPutPath + "wordZip"); + if (!fileZip.exists()) { + fileZip.mkdirs(); + } + // 处理赋值的数据 + Map dataMap = new HashMap<>(); + Map resMap = getResumeList(22); + Map resMap2 = getResumeList(29); + + List> dataMapList = new ArrayList<>(); + dataMapList.add(resMap); + dataMapList.add(resMap2); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); + String filesPath = outPutPath + "wordZip" + File.separator + simpleDateFormat.format(new Date()); + String fileAllWordPath = outPutPath + "wordZip"; + String wordName = "全体人员简历合并导出"; + //处理所有数据 + for (int count = 0; count < dataMapList.size(); count++) { + //处理单人数据 + Map paramMap = new HashMap<>(); + for (Map.Entry entry : dataMapList.get(count).entrySet()) { + System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); + paramMap.put("${" + entry.getKey() + "}", entry.getValue()); + } + if (dataMapList.get(count).containsKey("tables")) { + List tables = (List) dataMapList.get(count).get("tables"); + for (int t = 0; t < tables.size(); t++) { + PersonnelResumeTable personnelResumeTable = tables.get(t); + int length = personnelResumeTable.getColumns().size(); + if (personnelResumeTable.getDatas().size() > 0) { + List> datas = personnelResumeTable.getDatas(); + if (datas.size() > 0) { + List dataList = datas.get(0); + for (int i = 0; i < length; i++) { + paramMap.put("${col" + t + i + "}", Util.null2String(dataList.get(i).getValue())); + } } } } } + paramMap.put("${@image}", "1198"); + WordUtil wordUtil = new WordUtil(); + //返回一个新的xwpfDocument对象 + File file = new File(filePath); + CustomXWPFDocument doc = null; + InputStream is = new FileInputStream(file); + + doc = new CustomXWPFDocument(is); + wordUtil.replaceInPara(doc, paramMap); + wordUtil.replaceInTable(doc, paramMap); + xwpfDocuments.add(doc); + is.close(); + + File files = new File(filesPath); + if (!files.exists()) { + files.mkdirs(); + } else { + delFolder(files.getPath()); + files.mkdirs(); + } + String fileName = paramMap.get("${lastName}") + ".docx"; + System.out.println(fileName); + FileOutputStream os = null; + os = new FileOutputStream(filesPath + File.separator + new File(fileName)); + doc.write(os); } - // 录入表格数据(3条数据循环三次) - for (int i = 1; i <= 3; i++) { - dataMap.put("dataName"+i, "笔记本电脑"+i); - dataMap.put("dataBand"+i, "金山牌"+i); - dataMap.put("model"+i, "JHHJ6"+i); - dataMap.put("price"+i, 5000+i); - dataMap.put("quantity"+i, 3+i); - dataMap.put("total"+i, 15000+i); + if (xwpfDocuments.size() > 0) { + //这样第一步将所有word内容替换之后生成多个 xwpfDocument + //现在将多个xwpfDocument 进行合并 追加 生成word文件 + CustomXWPFDocument xwpfDocument = xwpfDocuments.get(0); + for (int i = 0; i < xwpfDocuments.size(); i++) { + //每次的追加为了避免样式和格式混乱 加上分页符 + //当是只有一条数据的时候 直接输出 + if (i == 0) { + xwpfDocument = xwpfDocuments.get(0); + xwpfDocument.write(new FileOutputStream(fileAllWordPath + File.separator + new File(wordName + ".docx"))); + continue; + } else { + //当存在多条时候 + xwpfDocument = mergeWord(xwpfDocument, xwpfDocuments.get(i)); + xwpfDocument.write(new FileOutputStream(fileAllWordPath + File.separator + new File(wordName + ".docx"))); + } + } + } + String resPath = fileAllWordPath + File.separator + new File(wordName + ".docx"); + if (type == 1) { + compressFileToZip(filesPath); + resPath = filesPath + ".zip"; } + return resPath; + } - //处理定价方式复选框 - dataMap.put("select", "☑境内采购" + "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" + "□境外采购"); + //两个对象进行追加 + public CustomXWPFDocument mergeWord(CustomXWPFDocument document, CustomXWPFDocument doucDocument2) throws Exception { + CustomXWPFDocument src1Document = document; + XWPFParagraph p = src1Document.createParagraph(); + //设置分页符 + p.setPageBreak(true); + CTBody src1Body = src1Document.getDocument().getBody(); + CustomXWPFDocument src2Document = doucDocument2; + CTBody src2Body = src2Document.getDocument().getBody(); + XWPFParagraph p2 = src2Document.createParagraph(); + XmlOptions optionsOuter = new XmlOptions(); + optionsOuter.setSaveOuter(); + String appendString = src2Body.xmlText(optionsOuter); + String srcString = src1Body.xmlText(); + String prefix = srcString.substring(0, srcString.indexOf(">") + 1); + String mainPart = srcString.substring(srcString.indexOf(">") + 1, srcString.lastIndexOf("<")); + String sufix = srcString.substring(srcString.lastIndexOf("<")); + String addPart = appendString.substring(appendString.indexOf(">") + 1, appendString.lastIndexOf("<")); + CTBody makeBody = CTBody.Factory.parse(prefix + mainPart + addPart + sufix); + src1Body.set(makeBody); + return src1Document; + } - String oldPath = wordUtil.createWord(dataMap); + public static boolean compressFileToZip(String compresspath) { + boolean bool = false; + try { + ZipOutputStream zipOutput = null; + File file = new File(compresspath); + if (file.isDirectory()) { + zipOutput = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(compresspath + ".zip"))); + compressZip(zipOutput, file, ""); + } else { + zipOutput = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(compresspath.substring(0, compresspath.lastIndexOf(".")) + ".zip"))); + } + zipOutput.closeEntry(); + zipOutput.close(); + bool = true; + } catch (Exception e) { + e.printStackTrace(); + } + return bool; + } - if (oldPath.equals("操作失败")){ - System.out.println("操作失败"); + private static void compressZip(ZipOutputStream zipOutput, File file, String suffixpath) { + File[] listFiles = file.listFiles();// 列出所有的文件 + for (File fi : listFiles) { + if (fi.isDirectory()) { + if (suffixpath.equals("")) { + compressZip(zipOutput, fi, fi.getName()); + } else { + compressZip(zipOutput, fi, suffixpath + File.separator + fi.getName()); + } + } else { + zip(zipOutput, fi, suffixpath); + } } + } - //输出生成后的文件路径 - System.out.println(oldPath); - return null; + public static void zip(ZipOutputStream zipOutput, File file, String suffixpath) { + try { + ZipEntry zEntry = null; + if (suffixpath.equals("")) { + zEntry = new ZipEntry(file.getName()); + } else { + zEntry = new ZipEntry(suffixpath + File.separator + file.getName()); + } + zipOutput.putNextEntry(zEntry); + BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); + byte[] buffer = new byte[1024]; + int read = 0; + while ((read = bis.read(buffer)) != -1) { + zipOutput.write(buffer, 0, read); + } + bis.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /*** + * 删除文件夹 + * + * @param folderPath 文件夹完整绝对路径 + */ + public static void delFolder(String folderPath) { + try { + delAllFile(folderPath); // 删除完里面所有内容 + String filePath = folderPath; + filePath = filePath.toString(); + java.io.File myFilePath = new java.io.File(filePath); + myFilePath.delete(); // 删除空文件夹 + } catch (Exception e) { + e.printStackTrace(); + } } + /*** + * 删除指定文件夹下所有文件 + * + * @param path 文件夹完整绝对路径 + * @return + */ + public static boolean delAllFile(String path) { + boolean flag = false; + File file = new File(path); + if (!file.exists()) { + return flag; + } + if (!file.isDirectory()) { + return flag; + } + String[] tempList = file.list(); + File temp = null; + for (int i = 0; i < tempList.length; i++) { + if (path.endsWith(File.separator)) { + temp = new File(path + tempList[i]); + } else { + temp = new File(path + File.separator + tempList[i]); + } + if (temp.isFile()) { + temp.delete(); + } + if (temp.isDirectory()) { + delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件 + delFolder(path + "/" + tempList[i]);// 再删除空文件夹 + flag = true; + } + } + return flag; + } public List getFilterDatas(String id, String type, String keyword) { List searchTree = new ArrayList<>(); // 通过分部、公司 组装数据 diff --git a/src/com/engine/organization/util/WordUtil.java b/src/com/engine/organization/util/WordUtil.java deleted file mode 100644 index 717ec6a2..00000000 --- a/src/com/engine/organization/util/WordUtil.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.engine.organization.util; -import freemarker.template.Configuration; -import freemarker.template.Template; -import freemarker.template.TemplateException; -import lombok.Data; - -import java.io.*; -import java.util.Map; - -/** - * @author - * @date - * @apiNote 生成动态文档帮助类 - */ -@Data -public class WordUtil { - private Configuration configuration = null; - - /* - * 模板文件存放的目录 - */ - private String baseDir; - - /* - * 模板文件名称 - */ - private String templateFile; - - /* - * word生成的输出目录 - */ - private String outputDir; - - public WordUtil(){ - configuration = new Configuration(); - configuration.setDefaultEncoding("utf-8"); - - } - - /* - *

转换成word
- */ - public String createWord(Map dataMap){ - - configuration.setClassForTemplateLoading(this.getClass(), "");//模板文件所在路径 - - Template t = null; - - try { - //得到模板文件 - configuration.setDirectoryForTemplateLoading(new File(baseDir)); - } catch (IOException e) { - e.printStackTrace(); - } - try { - t = configuration.getTemplate(templateFile,"utf-8"); - } catch (IOException e) { - e.printStackTrace(); - } - - // GwUtil.getFileNo(""); 调用生成随机数的方法 - File outFile = new File(outputDir + "222.doc"); //导出文件 - - Writer out = null; - try { - try { - out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"utf-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } - try { - t.process(dataMap, out); //将填充数据填入模板文件并输出到目标文件 - return outFile.getPath(); - } catch (TemplateException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return "文档生成失败"; - } -} diff --git a/src/com/engine/organization/util/word/CustomXWPFDocument.java b/src/com/engine/organization/util/word/CustomXWPFDocument.java new file mode 100644 index 00000000..9c889cba --- /dev/null +++ b/src/com/engine/organization/util/word/CustomXWPFDocument.java @@ -0,0 +1,144 @@ +package com.engine.organization.util.word; + +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; +import org.apache.xmlbeans.XmlException; +import org.apache.xmlbeans.XmlToken; +import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; +import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; +import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; + +import java.io.IOException; +import java.io.InputStream; + +public class CustomXWPFDocument extends XWPFDocument { + + public CustomXWPFDocument(InputStream in) throws IOException { + super(in); + } + + public CustomXWPFDocument() { + super(); + } + + public CustomXWPFDocument(OPCPackage pkg) throws IOException { + super(pkg); + } + + /** + * @param id + * @param width 宽 + * @param height 高 + * @param paragraph 段落 + */ + public void createPicture(String blipId,int id, int width, int height, XWPFParagraph paragraph, CustomXWPFDocument doc) { + final int EMU = 9525; + width *= EMU; + height *= EMU; + CTInline inline = paragraph.createRun().getCTR().addNewDrawing().addNewInline(); + String picXml = "" + + "" + + " " + + " " + + " " + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + ""; + + inline.addNewGraphic().addNewGraphicData(); + XmlToken xmlToken = null; + try { + xmlToken = XmlToken.Factory.parse(picXml); + } catch (XmlException xe) { + xe.printStackTrace(); + } + inline.set(xmlToken); + + CTPositiveSize2D extent = inline.addNewExtent(); + extent.setCx(width); + extent.setCy(height); + + CTNonVisualDrawingProps docPr = inline.addNewDocPr(); + docPr.setId(id); + docPr.setName("图片" + blipId); + docPr.setDescr("头像"); + } + + public void createPicture(String blipId, int id, int width, int height, XWPFParagraph paragraph) { + final int EMU = 9525; + width *= EMU; + height *= EMU; + //String blipId = getAllPictures().get(id).getPackageRelationship().getId(); + CTInline inline = paragraph.createRun().getCTR().addNewDrawing().addNewInline(); + + String picXml = "" + + "" + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + + ""; + + inline.addNewGraphic().addNewGraphicData(); + XmlToken xmlToken = null; + try { + xmlToken = XmlToken.Factory.parse(picXml); + } catch (XmlException xe) { + xe.printStackTrace(); + } + inline.set(xmlToken); + + CTPositiveSize2D extent = inline.addNewExtent(); + extent.setCx(width); + extent.setCy(height); + + CTNonVisualDrawingProps docPr = inline.addNewDocPr(); + docPr.setId(id); + docPr.setName("图片" + id); + docPr.setDescr("头像"); + } +} \ No newline at end of file diff --git a/src/com/engine/organization/util/word/WordUtil.java b/src/com/engine/organization/util/word/WordUtil.java new file mode 100644 index 00000000..485d24c1 --- /dev/null +++ b/src/com/engine/organization/util/word/WordUtil.java @@ -0,0 +1,276 @@ +package com.engine.organization.util.word; +import org.apache.poi.ooxml.POIXMLDocument; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.xwpf.usermodel.*; +import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; +import org.springframework.beans.BeanUtils; +import weaver.file.ImageFileManager; +import weaver.general.Util; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class WordUtil { + + /** + * 替换段落里面的变量 + * + * @param doc 要替换的文档 + * @param params 参数 + * @throws FileNotFoundException + * @throws InvalidFormatException + */ + public void replaceInPara(CustomXWPFDocument doc, Map params) throws InvalidFormatException, FileNotFoundException { + Iterator iterator = doc.getParagraphsIterator(); + XWPFParagraph para; + while (iterator.hasNext()) { + para = iterator.next(); + this.replaceInPara(para, params,doc); + } + } + + /** + * 替换段落里面的变量 + * + * @param para 要替换的段落 + * @param params 参数 + * @throws FileNotFoundException + * @throws InvalidFormatException + */ + public void replaceInPara(XWPFParagraph para, Map params, CustomXWPFDocument doc) throws InvalidFormatException, FileNotFoundException { + List runs; + Matcher matcher; + if (this.matcher(para.getParagraphText()).find()) { + runs = para.getRuns(); + + int start = -1; + int end = -1; + String str = ""; + String text= ""; + for (int i = 0; i < runs.size(); i++) { + text += runs.get(i).toString(); + } + for (int i = 0; i < runs.size(); i++) { + XWPFRun run = runs.get(i); + System.out.println("------>>>>>>>>>" + text); + if (text.contains("$")) { + start = text.indexOf("$"); + } + if ((start != -1)) { + str += text.substring(text.indexOf("$"), text.length()).trim(); + String paraList=runs.toString(); + System.out.println("未删除前"+paraList); + Object[] runArr = runs.toArray(); + int size=runs.size(); + int $Index=0; + for (int j = 0; j < runArr.length; j++) { + if (runArr[j].toString().contains("$")) { + $Index=j; + break; + } + } + int startIn=$Index; + while (startIn"+start); + System.out.println("end--->"+end); + System.out.println("str---->>>" + str); + + for (String key : params.keySet()) { + if (str.equals(key)) { + if(str.indexOf("@")==-1){ + String value= params.get(key).toString(); + para.createRun().setText(value); + break; + }else{ + String value= params.get(key).toString(); + int length = para.getRuns().size(); + if (length > 0) { + for (int i = (length - 1); i >= 0; i--) { + para.removeRun(i); + } + } + //网络图片取文件数据 + ImageFileManager manager = new ImageFileManager(); + manager.getImageFileInfoById(Util.getIntValue(value)); + InputStream inputStream = manager.getInputStream(); + + byte[] buff = new byte[8000]; + int bytesRead = 0; + ByteArrayOutputStream bao = new ByteArrayOutputStream(); + while(true) { + try { + if (!((bytesRead = inputStream.read(buff)) != -1)) break; + } catch (IOException e) { + e.printStackTrace(); + } + bao.write(buff, 0, bytesRead); + } + byte[] data = bao.toByteArray(); + ByteArrayInputStream byteInputStream = new ByteArrayInputStream(data); + + String blipId = doc.addPictureData(byteInputStream, CustomXWPFDocument.PICTURE_TYPE_PNG); + doc.createPicture(blipId,doc.getNextPicNameNumber(CustomXWPFDocument.PICTURE_TYPE_PNG), 120, 180,para); + break; + } + } + } + + + } + } + + /** + * 替换表格里面的变量 + * + * @param doc 要替换的文档 + * @param params 参数 + * @throws FileNotFoundException + * @throws InvalidFormatException + */ + public void replaceInTable(CustomXWPFDocument doc, Map params) throws InvalidFormatException, FileNotFoundException { + Iterator iterator = doc.getTablesIterator(); + XWPFTable table; + List rows; + List cells; + List paras; + while (iterator.hasNext()) { + table = iterator.next(); + rows = table.getRows(); + for (XWPFTableRow row : rows) { + cells = row.getTableCells(); + for (XWPFTableCell cell : cells) { + paras = cell.getParagraphs(); + for (XWPFParagraph para : paras) { + this.replaceInPara(para, params,doc); + } + } + } + } + } + + /** + * 正则匹配字符串 + * + * @param str + * @return + */ + private Matcher matcher(String str) { + Pattern pattern = Pattern.compile("\\$\\{(.+?)\\}", Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(str); + return matcher; + } + + /** + * 关闭输入流 + * + * @param is + */ + public void close(InputStream is) { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + /** + * 关闭输出流 + * + * @param os + */ + public void close(OutputStream os) { + if (os != null) { + try { + os.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + /** + * 功能描述:读取线上图片文件流 + * + * @param strUrl + * @return + * @see [相关类/方法](可选) + * @since [产品/模块版本](可选) + */ + public static byte[] getImageData(String strUrl) { + InputStream inStream = null; + try { + // new一个URL对象 + URL url = new URL(strUrl); + // 打开链接 + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + // 设置请求方式为"GET" + conn.setRequestMethod("GET"); + // 超时响应时间为5秒 + conn.setConnectTimeout(10 * 1000); + // 通过输入流获取图片数据 + inStream = conn.getInputStream(); + byte[] data = readInputStream(inStream); + return data; + } catch (Exception e) { + return null; + } finally { + if (inStream != null) { + try { + inStream.close(); + } catch (Exception e2) { + System.out.println("关闭流失败"); + } + } + } + + } + + /** + * 功能描述:读取文件流 + * + * @param inStream + * @return + * @throws Exception + * @see [相关类/方法](可选) + * @since [产品/模块版本](可选) + */ + public static byte[] readInputStream(InputStream inStream) throws Exception { + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + // 创建一个Buffer字符串 + byte[] buffer = new byte[1024]; + // 每次读取的字符串长度,如果为-1,代表全部读取完毕 + int len = 0; + // 使用一个输入流从buffer里把数据读取出来 + while ((len = inStream.read(buffer)) != -1) { + // 用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度 + outStream.write(buffer, 0, len); + } + // 关闭输入流 + inStream.close(); + // 把outStream里的数据写入内存 + return outStream.toByteArray(); + } +} \ No newline at end of file diff --git a/src/com/engine/organization/web/PersonnelResumeController.java b/src/com/engine/organization/web/PersonnelResumeController.java index e10ff503..55618633 100644 --- a/src/com/engine/organization/web/PersonnelResumeController.java +++ b/src/com/engine/organization/web/PersonnelResumeController.java @@ -11,6 +11,7 @@ import weaver.general.Util; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.GET; @@ -18,6 +19,11 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; 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.*; +import java.net.URLEncoder; +import java.time.LocalDate; import java.util.Map; /** @@ -84,11 +90,23 @@ public class PersonnelResumeController { */ @GET @Path("/downloadPerResume") - @Produces(MediaType.APPLICATION_JSON) - public Map downloadPerResume(@Context HttpServletRequest request, @Context HttpServletResponse response){ + @Produces(MediaType.APPLICATION_OCTET_STREAM) + public Response downloadPerResume(@Context HttpServletRequest request, @Context HttpServletResponse response) throws Exception { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - SearchTreeParams params = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), SearchTreeParams.class); - return getPersonnelResumeWrapper(user).downloadPerResume(params); + // type: 0:合并 1:不合并 + Integer type = Integer.parseInt(Util.null2String(map.get("type"))); + + String realPath = getPersonnelResumeWrapper(user).downloadPerResume(type,response); + File file = new File(realPath); + // 如果文件不存在,提示404 + if (!file.exists()) { + return Response.status(Response.Status.NOT_FOUND).build(); + } + String fileName = URLEncoder.encode(file.getName(), "UTF-8"); + return Response + .ok(file) + .header("Content-disposition", "attachment;filename=" + fileName) + .header("Cache-Control", "no-cache").build(); } } diff --git a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java index f4718af9..4ce1df04 100644 --- a/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java +++ b/src/com/engine/organization/wrapper/PersonnelResumeWrapper.java @@ -8,6 +8,7 @@ import com.engine.organization.util.OrganizationWrapper; import tebie.applib.api.O; import weaver.hrm.User; +import javax.servlet.http.HttpServletResponse; import java.util.Map; /** @@ -32,7 +33,7 @@ public class PersonnelResumeWrapper extends OrganizationWrapper { return getPersonnelResumeService(user).getResumeList(uId); } - public Map downloadPerResume(SearchTreeParams params) { - return getPersonnelResumeService(user).downloadPerResume(params); + public String downloadPerResume(Integer type, HttpServletResponse response) throws Exception { + return getPersonnelResumeService(user).downloadPerResume(type, response); } } From b2500cfbd088ed4033a59c32dd168c3c3db6c913 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 5 Jan 2023 14:05:31 +0800 Subject: [PATCH 129/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AD=9B=E9=80=89?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91=E3=80=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/PersonnelResumeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index c62e4d42..68882fc0 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -371,7 +371,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu String parentDeptS = jobTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentDeptS)) { // 兼容SQLServer每次最多in,2100条数据 - List ids = (List) DeleteParam.builder().ids(parentDeptS).build().getIds(); + List ids = DeleteParam.builder().ids(parentDeptS).build().getIds(); int ceilCount = (int) Math.ceil((double) ids.size() / 1000); List departmentsByIds = new ArrayList<>(); for (int i = 0; i < ceilCount - 1; i++) { From b515fdb78f2578114dd8ec364ea9197216b87bf8 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 5 Jan 2023 14:55:31 +0800 Subject: [PATCH 130/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E3=80=81=E5=8E=8B=E7=BC=A9=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=EF=BC=8820230105=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/resume/po/PersonnelResumePO.java | 2 + .../mapper/resource/HrmResourceMapper.java | 2 + .../mapper/resource/HrmResourceMapper.xml | 23 +++ .../impl/PersonnelResumeServiceImpl.java | 171 ++++++++++-------- .../organization/util/word/WordUtil.java | 9 +- 5 files changed, 126 insertions(+), 81 deletions(-) diff --git a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java index 1206bf87..392a4e7b 100644 --- a/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java +++ b/src/com/engine/organization/entity/resume/po/PersonnelResumePO.java @@ -19,11 +19,13 @@ import java.util.Base64; */ @Data public class PersonnelResumePO { + private Integer id; private String lastName; private String sex; private String birthday; // resourceImageId; private String image; + private String imageId; private String nativePlace; // policy; private String politics; diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 43a1dca0..60bc11b4 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -21,6 +21,8 @@ public interface HrmResourceMapper { PersonnelResumePO getPersonnelResumeById(@Param("id") Integer id); + List getPersonnelResumeList(); + List getHrmFamilyInfoByUser(@Param("resourceId") Integer resourceId); List getPersonnelScreening(@Param("subCompanyIds") List subcompanyid1, @Param("departmentIds") List departmentid, @Param("jobIds") List jobId, @Param("resourceIds") List resourceId); diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index f67c7f09..63550cfe 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -51,6 +51,29 @@ inner join hrmjobtitles b on b.id = h.jobtitle where h.id = #{id} + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 43a1dca0..e62aeec8 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -1,6 +1,8 @@ package com.engine.organization.mapper.resource; import com.engine.organization.entity.hrmresource.po.ResourcePO; +import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; +import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.resume.po.HrmFamilyInfoPO; import com.engine.organization.entity.resume.po.PersonnelResumePO; import org.apache.ibatis.annotations.Param; @@ -23,5 +25,26 @@ public interface HrmResourceMapper { List getHrmFamilyInfoByUser(@Param("resourceId") Integer resourceId); + /** + * 获取人员过滤后的人员信息 + * + * @param subcompanyid1 + * @param departmentid + * @param jobId + * @param resourceId + * @return + */ List getPersonnelScreening(@Param("subCompanyIds") List subcompanyid1, @Param("departmentIds") List departmentid, @Param("jobIds") List jobId, @Param("resourceIds") List resourceId); + + /** + * 根据用户ID获取查询模板 + * + * @param userId + * @return + */ + List getSearchTemplatesByUser(@Param("userId") Integer userId); + + SearchTemplatePO getSearchTemplateById(@Param("id") String id); + + Integer insertSearchTemplate(SearchTemplatePO templatePO); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index f67c7f09..decd84ea 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -9,6 +9,11 @@ + + + + + + + + + + INSERT INTO JCL_ORG_SEARCH_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index f7a3ddc8..d9d75416 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -1,9 +1,12 @@ package com.engine.organization.service; +import com.api.browser.bean.SearchConditionGroup; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; +import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; +import java.util.List; import java.util.Map; /** @@ -95,4 +98,20 @@ public interface HrmResourceService { * @return */ long updateTabForm(HrmRelationSaveParam params); + + /** + * 获取当前人员搜索模板信息 + * + * @return + */ + List getSearchTemplate(); + + /** + * 获取所有搜索条件字段 + * + * @return + */ + List getAllConditions(); + + void saveSearchTemplate(SearchTemplateParam params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index ef98101e..13e8293c 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -1,52 +1,41 @@ package com.engine.organization.service.impl; -import com.alibaba.fastjson.JSONObject; -import com.api.browser.bean.BrowserBean; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; +import com.api.hrm.bean.HrmFieldBean; +import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.cloudstore.eccom.result.WeaResultMsg; -import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; -import com.engine.hrm.entity.RuleCodeType; import com.engine.hrm.util.face.HrmFaceCheckManager; import com.engine.organization.component.OrganizationWeaTable; import com.engine.organization.entity.DeleteParam; -import com.engine.organization.entity.browser.po.CustomBrowserBean; -import com.engine.organization.entity.codesetting.po.CodeRulePO; -import com.engine.organization.entity.commom.RecordInfo; import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; -import com.engine.organization.entity.extend.po.ExtendTitlePO; +import com.engine.organization.entity.fieldset.param.TransferDataParam; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; +import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.HrmRelationPO; -import com.engine.organization.entity.hrmresource.po.HrmResourcePO; +import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; +import com.engine.organization.entity.jclimport.po.CusFormFieldPO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; -import com.engine.organization.enums.LogModuleNameEnum; -import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.mapper.codesetting.CodeRuleMapper; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.extend.ExtendTitleMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; -import com.engine.organization.mapper.resource.ResourceMapper; -import com.engine.organization.service.ExtService; +import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.service.HrmResourceService; -import com.engine.organization.thread.OrganizationSyncEc; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; -import com.engine.organization.util.OrganizationFormItemUtil; -import com.engine.organization.util.coderule.CodeRuleUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; @@ -54,10 +43,13 @@ import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.json.JSONException; +import org.json.JSONObject; import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; -import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldManager; +import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.stream.Collectors; @@ -80,33 +72,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private static final String TYPE_DEPT = "2"; private static final String TYPE_JOB = "3"; - private static final Long GROUP_ID = 4L; - - /** - * 分组类型 - * 1:分部 - * 2:部门 - * 3:岗位 - * 4:人员 - */ - private static final String EXTEND_TYPE = "4"; - - /** - * 主表表名 - */ - private static final String JCL_ORG_HRM = "JCL_ORG_HRMRESOURCE"; - /** - * 主表拓展表 - */ - private static final String JCL_ORG_HRMEXT = "JCL_ORG_HRMRESOURCEEXT"; - /** - * 明细表拓展表 - */ - private static final String JCL_ORG_HRMEXT_DT1 = "JCL_ORG_HRMRESOURCEEXT_DT1"; - - private static final String HRM_RESOURCE = "hrmresource"; - - private static final String RIGHT_NAME = "Roster:All"; private HrmRelationMapper getHrmRelationMapper() { @@ -125,22 +90,14 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(JobMapper.class); } - private static ResourceMapper getResourceMapper() { - return MapperProxyFactory.getProxy(ResourceMapper.class); - } - - private ExtendTitleMapper getExtendTitleMapper() { - return MapperProxyFactory.getProxy(ExtendTitleMapper.class); + private HrmResourceMapper getHrmResourceMapper() { + return MapperProxyFactory.getProxy(HrmResourceMapper.class); } private SystemDataMapper getSystemDataMapper() { return MapperProxyFactory.getProxy(SystemDataMapper.class); } - private ExtService getExtService(User user) { - return ServiceUtil.getService(ExtServiceImpl.class, user); - } - @Override public Map getSearchTree(SearchTreeParams params) { @@ -166,146 +123,231 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Map getSaveForm() { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); - List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); - if (CollectionUtils.isNotEmpty(extendTitles)) { - for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_HRM, 2, extendTitle.getId().toString(), null, null, null); - if (CollectionUtils.isNotEmpty(items)) { - addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - } - } - } + //List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); + //if (CollectionUtils.isNotEmpty(extendTitles)) { + // for (ExtendTitlePO extendTitle : extendTitles) { + // List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_HRM, 2, extendTitle.getId().toString(), null, null, null); + // if (CollectionUtils.isNotEmpty(items)) { + // addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); + // } + // } + //} apiDatas.put("condition", addGroups); return apiDatas; } @Override public Long saveBaseForm(Map params) { - HasRightUtil.hasRight(user, RIGHT_NAME, false); - String workCode = (String) params.get("work_code"); - // 判断是否开启自动编号 - workCode = repeatDetermine(workCode); - params.put("work_code", workCode); - // 完善新增参数 - completeParams(params); - - // 新增EC人员,新增成功后,新增到聚才林人员表 - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.ADD, params).sync(); - String ecResourceId = Util.null2String(syncMap.get("id")); - OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); - // 获取人员UUID - RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId); - params.put("uuid", recordInfo.getUuid()); - Long resourceId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", null); + //HasRightUtil.hasRight(user, RIGHT_NAME, false); + //String workCode = (String) params.get("work_code"); + //// 判断是否开启自动编号 + //workCode = repeatDetermine(workCode); + //params.put("work_code", workCode); + //// 完善新增参数 + //completeParams(params); + // + //// 新增EC人员,新增成功后,新增到聚才林人员表 + //Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.ADD, params).sync(); + //String ecResourceId = Util.null2String(syncMap.get("id")); + //OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); + //// 获取人员UUID + //RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId); + //params.put("uuid", recordInfo.getUuid()); + //Long resourceId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", null); // TODO new HrmResourceTriggerRunnable(resourceId).run(); - return resourceId; + //return resourceId; + return 0L; } @Override public Map getBaseForm(Map params) { - OrganizationAssert.notNull(params.get("viewAttr"), "请标识操作类型"); - // 2编辑 1查看 - int viewAttr = Integer.parseInt((String) params.get("viewAttr")); - long id = Long.parseLong((String) params.get("id")); - String groupId = (String) params.get("viewCondition"); + //OrganizationAssert.notNull(params.get("viewAttr"), "请标识操作类型"); + //// 2编辑 1查看 + //int viewAttr = Integer.parseInt((String) params.get("viewAttr")); + //long id = Long.parseLong((String) params.get("id")); + //String groupId = (String) params.get("viewCondition"); + // + //HashMap buttonsMap = new HashMap<>(); + //buttonsMap.put("hasEdit", true); + //buttonsMap.put("hasSave", true); + // + //List addGroups = new ArrayList<>(); + //if ("0".equals(groupId)) { + // groupId = GROUP_ID.toString(); + //} + //List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId), "1"); + // + //if (CollectionUtils.isNotEmpty(extendTitles)) { + // for (ExtendTitlePO extendTitle : extendTitles) { + // List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_HRM : JCL_ORG_HRMEXT, viewAttr, id, extendTitle.getId() + "", ""); + // if (CollectionUtils.isNotEmpty(items)) { + // addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); + // } + // } + //} + // + //HashMap resultMap = new HashMap<>(); + //resultMap.put("buttons", buttonsMap); + //resultMap.put("conditions", addGroups); + //resultMap.put("id", id); + //// 拓展页面分组 + //resultMap.put("tabInfo", getExtService(user).getTabInfo(EXTEND_TYPE, JCL_ORG_HRMEXT)); + //// 处理明细表 + //resultMap.put("tables", getExtService(user).getExtendTables(user, EXTEND_TYPE, Long.parseLong(groupId), JCL_ORG_HRMEXT_DT1, id, viewAttr, false)); + //Map apiDatas = new HashMap<>(); + // + //apiDatas.put("result", resultMap); + // + //return apiDatas; + return new HashMap<>(); + } + + @Override + public int updateForm(Map params) { + //Long id = Long.parseLong((String) params.get("id")); + //String groupId = (String) params.get("viewCondition"); + //int updateCount = 0; + //if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { + // // 判断编号是否重复 + // String workCode = Util.null2String(params.get("work_code")); + // HrmResourcePO resourceById = getResourceMapper().getResourceById(id.toString()); + // if (!workCode.equals(resourceById.getWorkCode())) { + // workCode = repeatDetermine(workCode); + // params.put("work_code", workCode); + // } + // + // // 完善更新参数 + // completeParams(params); + // + // // 更新EC人员,更新成功后,更新聚才林人员表 + // Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, params).sync(); + // String ecResourceId = Util.null2String(syncMap.get("id")); + // OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); + // + // // 更新主表数据 + // updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", id); + // + // // TODO new HrmResourceTriggerRunnable(id).run(); + //} else { + // // 更新主表拓展表 + // getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRMEXT, params, "", id); + //} + ////更新明细表 + //getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_HRMEXT_DT1, params, id); + // + //return updateCount; + return 0; + } - HashMap buttonsMap = new HashMap<>(); - buttonsMap.put("hasEdit", true); - buttonsMap.put("hasSave", true); + @Override + public List getSearchTemplate() { + int userUID = user.getUID(); + // 根据ID查询所存储的模板 + List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); + templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showName("默认模板").build()); + return templates; + } + @Override + public List getAllConditions() { + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); List addGroups = new ArrayList<>(); - if ("0".equals(groupId)) { - groupId = GROUP_ID.toString(); - } - List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId), "1"); + List basicConditionItems = new ArrayList<>(); + List personalConditionItems = new ArrayList<>(); + List workConditionItems = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(extendTitles)) { - for (ExtendTitlePO extendTitle : extendTitles) { - List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_HRM : JCL_ORG_HRMEXT, viewAttr, id, extendTitle.getId() + "", ""); - if (CollectionUtils.isNotEmpty(items)) { - addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - } - } + // 基本信息:-1 + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); + if (CollectionUtils.isNotEmpty(basicConditionItems)) { + addGroups.add(new SearchConditionGroup("基本信息", true, basicConditionItems)); } - HashMap resultMap = new HashMap<>(); - resultMap.put("buttons", buttonsMap); - resultMap.put("conditions", addGroups); - resultMap.put("id", id); - // 拓展页面分组 - resultMap.put("tabInfo", getExtService(user).getTabInfo(EXTEND_TYPE, JCL_ORG_HRMEXT)); - // 处理明细表 - resultMap.put("tables", getExtService(user).getExtendTables(user, EXTEND_TYPE, Long.parseLong(groupId), JCL_ORG_HRMEXT_DT1, id, viewAttr, false)); - Map apiDatas = new HashMap<>(); - - apiDatas.put("result", resultMap); + // 个人信息:1 + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, personalConditionItems); + if (CollectionUtils.isNotEmpty(personalConditionItems)) { + addGroups.add(new SearchConditionGroup("个人信息", true, personalConditionItems)); + } - return apiDatas; + // 工作信息:3 + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, workConditionItems); + if (CollectionUtils.isNotEmpty(workConditionItems)) { + addGroups.add(new SearchConditionGroup("工作信息", true, workConditionItems)); + } + return addGroups; } @Override - public int updateForm(Map params) { - Long id = Long.parseLong((String) params.get("id")); - String groupId = (String) params.get("viewCondition"); - int updateCount = 0; - if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { - // 判断编号是否重复 - String workCode = Util.null2String(params.get("work_code")); - HrmResourcePO resourceById = getResourceMapper().getResourceById(id.toString()); - if (!workCode.equals(resourceById.getWorkCode())) { - workCode = repeatDetermine(workCode); - params.put("work_code", workCode); + public void saveSearchTemplate(SearchTemplateParam params) { + String[] split = params.getFields().split(","); + if (split.length > 0) { + List basicFieldsBuilder = new ArrayList<>(); + List personalFieldsBuilder = new ArrayList<>(); + List workFieldsBuilder = new ArrayList<>(); + for (String fieldName : split) { + if (fieldName.startsWith("-1")) { + basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } else if (fieldName.startsWith("1")) { + personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } else if (fieldName.startsWith("3")) { + workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } } - - // 完善更新参数 - completeParams(params); - - // 更新EC人员,更新成功后,更新聚才林人员表 - Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, params).sync(); - String ecResourceId = Util.null2String(syncMap.get("id")); - OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); - - // 更新主表数据 - updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", id); - - // TODO new HrmResourceTriggerRunnable(id).run(); - } else { - // 更新主表拓展表 - getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRMEXT, params, "", id); + SearchTemplatePO searchTemplatePO = SearchTemplatePO.builder().name(params.getShowName()).basicFields(StringUtils.join(basicFieldsBuilder, ",")).personalFields(StringUtils.join(personalFieldsBuilder, ",")).workFields(StringUtils.join(workFieldsBuilder, ",")).creator(user.getUID()).createTime(new Date()).updateTime(new Date()).build(); + getHrmResourceMapper().insertSearchTemplate(searchTemplatePO); + // 保存模板 } - //更新明细表 - getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_HRMEXT_DT1, params, id); - - return updateCount; } @Override public Map getSearchCondition(Map params) { + String templateId = Util.null2String(params.get("templateId")); + if (StringUtils.isBlank(templateId)) { + templateId = "-1"; + } Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); - List conditionItems = new ArrayList<>(); - SearchConditionItem lastNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "姓名", "lastName"); - SearchConditionItem jobTitleItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "岗位", "666", "jobTitle", ""); - BrowserBean browserBean = jobTitleItem.getBrowserConditionParam(); - String s = JSONObject.toJSONString(browserBean); - CustomBrowserBean customBrowserBean = JSONObject.parseObject(s, CustomBrowserBean.class); - customBrowserBean.setHasLeftTree(true); - customBrowserBean.setLeftToSearchKey("treeKey"); - jobTitleItem.setBrowserConditionParam(customBrowserBean); - SearchConditionItem companyIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "分部", "164", "ecCompany", ""); - SearchConditionItem departmentIdItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "部门", "4", "ecDepartment", ""); - SearchConditionItem telephoneItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "办公电话", "telephone"); - SearchConditionItem mobileItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 2, 50, "移动电话", "mobile"); - - conditionItems.add(lastNameItem); - conditionItems.add(jobTitleItem); - conditionItems.add(companyIdItem); - conditionItems.add(departmentIdItem); - conditionItems.add(telephoneItem); - conditionItems.add(mobileItem); - - addGroups.add(new SearchConditionGroup("高级搜索条件", true, conditionItems)); - apiDatas.put("conditions", addGroups); + List allConditions = getAllConditions(); + // 穿梭框ID,展示所选字段信息 + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + if ("-1".equals(templateId)) { + // 未选择模板展示默认模板搜索条件 + List searchConditionItems = new ArrayList<>(); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, searchConditionItems); + if (CollectionUtils.isNotEmpty(searchConditionItems)) { + addGroups.add(new SearchConditionGroup("基本信息", true, searchConditionItems)); + } + } else { + // 选择模板则遍历所选模板所选字段 + SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); + String[] basicFields = Util.null2String(searchTemplateById.getBasicFields()).split(","); + if (basicFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); + } + + String[] personalFields = Util.null2String(searchTemplateById.getPersonalFields()).split(","); + if (personalFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); + } + String[] workFields = Util.null2String(searchTemplateById.getWorkFields()).split(","); + if (workFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); + } + + } + apiDatas.put("defaultcondition", addGroups); + apiDatas.put("conditions", allConditions); + List searchTemplate = getSearchTemplate(); + String finalTemplateId = templateId; + searchTemplate.forEach(item -> { + if (finalTemplateId.equals(item.getKey())) { + item.setSelected(true); + } + }); + apiDatas.put("templates", searchTemplate); return apiDatas; } @@ -657,63 +699,131 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } } - private void completeParams(Map params) { - String jobId = Util.null2String(params.get("job_title")); - if (StringUtils.isNotBlank(jobId)) { - JobPO jobById = getJobMapper().getJobById(Long.parseLong(jobId)); - params.put("department_id", jobById.getEcDepartment()); - params.put("company_id", jobById.getEcCompany()); - params.put("ec_department", jobById.getEcDepartment()); - params.put("ec_company", jobById.getEcCompany()); - // 等级方案、岗位序列、职等、职级 - params.put("scheme_id", jobById.getSchemeId()); - params.put("sequence_id", jobById.getSequenceId()); - params.put("job_level", jobById.getLevelId()); - params.put("job_grade", jobById.getGradeId()); - String showOrder = Util.null2String(params.get("show_order")); - // 初始化排序字段 - if (StringUtils.isBlank(showOrder)) { - Long orderNum = getResourceMapper().getMaxShowOrder(); - params.put("show_order", null == orderNum ? 1 : orderNum + 1); - } - - // 人员状态 - String status = Util.null2String(params.get("status")); - if (StringUtils.isBlank(status)) { - params.put("status", "0"); - } - } - } + //private void completeParams(Map params) { + // String jobId = Util.null2String(params.get("job_title")); + // if (StringUtils.isNotBlank(jobId)) { + // JobPO jobById = getJobMapper().getJobById(Long.parseLong(jobId)); + // params.put("department_id", jobById.getEcDepartment()); + // params.put("company_id", jobById.getEcCompany()); + // params.put("ec_department", jobById.getEcDepartment()); + // params.put("ec_company", jobById.getEcCompany()); + // // 等级方案、岗位序列、职等、职级 + // params.put("scheme_id", jobById.getSchemeId()); + // params.put("sequence_id", jobById.getSequenceId()); + // params.put("job_level", jobById.getLevelId()); + // params.put("job_grade", jobById.getGradeId()); + // String showOrder = Util.null2String(params.get("show_order")); + // // 初始化排序字段 + // if (StringUtils.isBlank(showOrder)) { + // Long orderNum = getResourceMapper().getMaxShowOrder(); + // params.put("show_order", null == orderNum ? 1 : orderNum + 1); + // } + // + // // 人员状态 + // String status = Util.null2String(params.get("status")); + // if (StringUtils.isBlank(status)) { + // params.put("status", "0"); + // } + // } + //} /** * 判断编号是否重复 * * @return */ - public static String repeatDetermine(String workCode) { - CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.USER.getValue()); - if (StringUtils.isNotBlank(workCode)) { - workCode = CodeRuleUtil.generateCode(RuleCodeType.USER, workCode); - List list = getResourceMapper().listByNo(Util.null2String(workCode)); - OrganizationAssert.isEmpty(list, "编号不允许重复"); - } else { - OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); - workCode = autoCreateWorkCode(); - } - return workCode; - } + //public static String repeatDetermine(String workCode) { + // CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.USER.getValue()); + // if (StringUtils.isNotBlank(workCode)) { + // workCode = CodeRuleUtil.generateCode(RuleCodeType.USER, workCode); + // List list = getResourceMapper().listByNo(Util.null2String(workCode)); + // OrganizationAssert.isEmpty(list, "编号不允许重复"); + // } else { + // OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); + // workCode = autoCreateWorkCode(); + // } + // return workCode; + //} /** * 自动编号处理 * * @return */ - private static String autoCreateWorkCode() { - String generateCode = CodeRuleUtil.generateCode(RuleCodeType.USER, ""); - List list = getResourceMapper().listByNo(Util.null2String(generateCode)); - if (CollectionUtils.isNotEmpty(list)) { - generateCode = autoCreateWorkCode(); + //private static String autoCreateWorkCode() { + // String generateCode = CodeRuleUtil.generateCode(RuleCodeType.USER, ""); + // List list = getResourceMapper().listByNo(Util.null2String(generateCode)); + // if (CollectionUtils.isNotEmpty(list)) { + // generateCode = autoCreateWorkCode(); + // } + // return generateCode; + //} + + + /** + * 构建查询条件Item + * + * @param hrmFieldSearchConditionComInfo + * @param formFields + * @param conditionItems + */ + private void createConditionItems(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List formFields, List conditionItems) { + for (CusFormFieldPO cusFormFieldPO : formFields) { + HrmFieldBean hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(Util.null2String(cusFormFieldPO.getFieldId())); + hrmFieldBean.setFieldname(cusFormFieldPO.getScopeId() + "_" + cusFormFieldPO.getTableName() + "_" + cusFormFieldPO.getFieldName()); + hrmFieldBean.setFieldlabel(cusFormFieldPO.getFieldLabel()); + hrmFieldBean.setFieldhtmltype(Util.null2String(cusFormFieldPO.getFieldHtmlType())); + hrmFieldBean.setType(cusFormFieldPO.getType()); + hrmFieldBean.setIsQuickSearch(false); + hrmFieldBean.setIsScope(false); + hrmFieldBean.setDmlurl(cusFormFieldPO.getDmlUrl()); + conditionItems.add(hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user)); + } + } + + /** + * 构建穿梭框字段 + * + * @param formFields + * @param dataParamList + * @param title + */ + private void createTransferData(List formFields, List dataParamList, String title) { + for (CusFormFieldPO cusFormFieldPO : formFields) { + String id = cusFormFieldPO.getTableName() + "_" + cusFormFieldPO.getScopeId() + "_" + cusFormFieldPO.getFieldId(); + String label = Util.toScreen(SystemEnv.getHtmlLabelName(Integer.parseInt(cusFormFieldPO.getFieldLabel()), user.getLanguage()), user.getLanguage()); + dataParamList.add(TransferDataParam.builder().id(id).label(label).title(title).build()); + } + } + + private void getTemplateItems(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List addGroups, String title, Integer scopeid, String[] fieldNames) { + try { + + HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid); + List conditionItems = new ArrayList<>(); + for (String fieldName : fieldNames) { + JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); + if (null == hrmFieldConf) { + continue; + } + boolean baseField = hfm.isBaseField(fieldName); + HrmFieldBean hrmFieldBean = new HrmFieldBean(); + hrmFieldBean.setFieldid(Util.null2String(hrmFieldConf.getString("id"))); + hrmFieldBean.setFieldname(scopeid + "_" + (baseField ? "hrm" : "cus") + "_" + fieldName); + hrmFieldBean.setFieldlabel(hrmFieldConf.getString("fieldlabel")); + hrmFieldBean.setFieldhtmltype(hrmFieldConf.getString("fieldhtmltype")); + hrmFieldBean.setType(hrmFieldConf.getString("type")); + hrmFieldBean.setDmlurl(hrmFieldConf.getString("dmlurl")); + hrmFieldBean.setIsQuickSearch(false); + hrmFieldBean.setIsScope(false); + conditionItems.add(hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user)); + } + if (CollectionUtils.isNotEmpty(conditionItems)) { + addGroups.add(new SearchConditionGroup(title, true, conditionItems)); + } + } catch (JSONException e) { + throw new RuntimeException(e); } - return generateCode; } } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index b807eba1..25cf632f 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -581,7 +581,7 @@ public class JobServiceImpl extends Service implements JobService { //2.数据过滤 //3.数据插入 resourcePOS.forEach(resourcePO -> { - if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle()) { + if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && 0 != resourcePO.getJobtitle()) { int count = getJobMapper().selectByConditions(resourcePO); if (count == 0) { JobPO jobPO = JobPO.builder() diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index c9d101fd..784b16ff 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -6,6 +6,7 @@ import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; +import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.HrmResourceWrapper; @@ -170,6 +171,57 @@ public class HrmResourceController { } } + /** + * 搜索模板 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSearchTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getHrmResourceWrapper(user).getSearchTemplate()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + /** + * 获取所有可选择的查询条件 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getAllConditions") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getAllConditions(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getHrmResourceWrapper(user).getAllConditions()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/saveSearchTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { + try { + User user = HrmUserVarify.getUser(request, response); + getHrmResourceWrapper(user).saveSearchTemplate(params); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + /** * 列表页顶部按钮 * diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 93cbbb9f..6d4257fb 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -1,10 +1,12 @@ package com.engine.organization.wrapper; import com.alibaba.fastjson.JSON; +import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; +import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; @@ -13,6 +15,7 @@ import com.engine.organization.service.impl.HrmResourceServiceImpl; import com.engine.organization.util.OrganizationWrapper; import weaver.hrm.User; +import java.util.List; import java.util.Map; /** @@ -59,6 +62,18 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getSearchCondition(params); } + public List getSearchTemplate() { + return getHrmResourceService(user).getSearchTemplate(); + } + + public List getAllConditions() { + return getHrmResourceService(user).getAllConditions(); + } + + public void saveSearchTemplate(SearchTemplateParam params) { + getHrmResourceService(user).saveSearchTemplate(params); + } + public Map getHasRight() { return getHrmResourceService(user).getHasRight(); } From 2f505e8ca706337188509a7a9456686802c4fd3e Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 6 Jan 2023 15:49:58 +0800 Subject: [PATCH 136/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AD=97=E6=AE=B5=E5=B1=95=E7=A4=BA20230106?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HrmResourceServiceImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index ef98101e..2b042f6b 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.api.browser.bean.BrowserBean; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; +import com.cloudstore.eccom.constant.WeaAlignAttr; +import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; @@ -153,7 +155,18 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Map listPage(HrmResourceSearchParam params) { + + OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); + WeaTableColumn weaTableColumn = new WeaTableColumn(); + weaTableColumn.setAlign(WeaAlignAttr.LEFT); + weaTableColumn.setDataalign(WeaAlignAttr.LEFT); + weaTableColumn.setWidth("25%"); + weaTableColumn.setText("测试"); + + List list = new ArrayList<>(); + list.add(weaTableColumn); +// table.setColumns(list); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); From 3e0d3a1b2e501a95f61c57d68854190e7b8a05d0 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 6 Jan 2023 17:20:29 +0800 Subject: [PATCH 137/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SearchTemplateParam.java | 2 +- .../mapper/resource/HrmResourceMapper.java | 2 + .../mapper/resource/HrmResourceMapper.xml | 7 + .../service/HrmResourceService.java | 19 +- .../service/impl/HrmResourceServiceImpl.java | 338 ++++++------------ .../impl/PersonnelResumeServiceImpl.java | 9 +- .../web/HrmResourceController.java | 41 +-- .../wrapper/HrmResourceWrapper.java | 14 +- 8 files changed, 136 insertions(+), 296 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java index 26a4b724..90434e99 100644 --- a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java @@ -17,6 +17,6 @@ import lombok.NoArgsConstructor; public class SearchTemplateParam { private String key; private boolean selected; - private String showName; + private String showname; private String fields; } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index cc93932c..1c2bec80 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -49,4 +49,6 @@ public interface HrmResourceMapper { SearchTemplatePO getSearchTemplateById(@Param("id") String id); Integer insertSearchTemplate(SearchTemplatePO templatePO); + + Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index ee84b7a3..567ee6b6 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -179,6 +179,13 @@ + + delete + from jcl_org_search_template + where id = #{id} + and creator = #{userId} + + AND t.lastname like CONCAT('%',#{resourcePO.lastName},'%') diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index d9d75416..255d52b4 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -1,12 +1,11 @@ package com.engine.organization.service; -import com.api.browser.bean.SearchConditionGroup; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; +import org.apache.ibatis.annotations.Param; -import java.util.List; import java.util.Map; /** @@ -99,19 +98,7 @@ public interface HrmResourceService { */ long updateTabForm(HrmRelationSaveParam params); - /** - * 获取当前人员搜索模板信息 - * - * @return - */ - List getSearchTemplate(); - - /** - * 获取所有搜索条件字段 - * - * @return - */ - List getAllConditions(); - void saveSearchTemplate(SearchTemplateParam params); + + void deleteSearchTemplate(@Param("id") Integer id); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 13e8293c..13513603 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -111,7 +111,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Map listPage(HrmResourceSearchParam params) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); - String sqlWhere = buildSqlWhere(params); + Map searchParams = new HashMap<>(); + String sqlWhere = buildSqlWhere(searchParams); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -123,162 +124,25 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Map getSaveForm() { Map apiDatas = new HashMap<>(); List addGroups = new ArrayList<>(); - //List extendTitles = getExtendTitleMapper().getTitlesByGroupID(GROUP_ID, "1"); - //if (CollectionUtils.isNotEmpty(extendTitles)) { - // for (ExtendTitlePO extendTitle : extendTitles) { - // List items = getExtService(user).getExtSaveForm(user, EXTEND_TYPE + "", JCL_ORG_HRM, 2, extendTitle.getId().toString(), null, null, null); - // if (CollectionUtils.isNotEmpty(items)) { - // addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - // } - // } - //} apiDatas.put("condition", addGroups); return apiDatas; } @Override public Long saveBaseForm(Map params) { - //HasRightUtil.hasRight(user, RIGHT_NAME, false); - //String workCode = (String) params.get("work_code"); - //// 判断是否开启自动编号 - //workCode = repeatDetermine(workCode); - //params.put("work_code", workCode); - //// 完善新增参数 - //completeParams(params); - // - //// 新增EC人员,新增成功后,新增到聚才林人员表 - //Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.ADD, params).sync(); - //String ecResourceId = Util.null2String(syncMap.get("id")); - //OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); - //// 获取人员UUID - //RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId); - //params.put("uuid", recordInfo.getUuid()); - //Long resourceId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", null); - // TODO new HrmResourceTriggerRunnable(resourceId).run(); - //return resourceId; return 0L; } @Override public Map getBaseForm(Map params) { - //OrganizationAssert.notNull(params.get("viewAttr"), "请标识操作类型"); - //// 2编辑 1查看 - //int viewAttr = Integer.parseInt((String) params.get("viewAttr")); - //long id = Long.parseLong((String) params.get("id")); - //String groupId = (String) params.get("viewCondition"); - // - //HashMap buttonsMap = new HashMap<>(); - //buttonsMap.put("hasEdit", true); - //buttonsMap.put("hasSave", true); - // - //List addGroups = new ArrayList<>(); - //if ("0".equals(groupId)) { - // groupId = GROUP_ID.toString(); - //} - //List extendTitles = getExtendTitleMapper().getTitlesByGroupID(Long.parseLong(groupId), "1"); - // - //if (CollectionUtils.isNotEmpty(extendTitles)) { - // for (ExtendTitlePO extendTitle : extendTitles) { - // List items = getExtService(user).getExtForm(user, EXTEND_TYPE + "", GROUP_ID.equals(Long.parseLong(groupId)) ? JCL_ORG_HRM : JCL_ORG_HRMEXT, viewAttr, id, extendTitle.getId() + "", ""); - // if (CollectionUtils.isNotEmpty(items)) { - // addGroups.add(new SearchConditionGroup(extendTitle.getTitle(), true, items)); - // } - // } - //} - // - //HashMap resultMap = new HashMap<>(); - //resultMap.put("buttons", buttonsMap); - //resultMap.put("conditions", addGroups); - //resultMap.put("id", id); - //// 拓展页面分组 - //resultMap.put("tabInfo", getExtService(user).getTabInfo(EXTEND_TYPE, JCL_ORG_HRMEXT)); - //// 处理明细表 - //resultMap.put("tables", getExtService(user).getExtendTables(user, EXTEND_TYPE, Long.parseLong(groupId), JCL_ORG_HRMEXT_DT1, id, viewAttr, false)); - //Map apiDatas = new HashMap<>(); - // - //apiDatas.put("result", resultMap); - // - //return apiDatas; return new HashMap<>(); } @Override public int updateForm(Map params) { - //Long id = Long.parseLong((String) params.get("id")); - //String groupId = (String) params.get("viewCondition"); - //int updateCount = 0; - //if ("0".equals(groupId) || GROUP_ID.toString().equals(groupId)) { - // // 判断编号是否重复 - // String workCode = Util.null2String(params.get("work_code")); - // HrmResourcePO resourceById = getResourceMapper().getResourceById(id.toString()); - // if (!workCode.equals(resourceById.getWorkCode())) { - // workCode = repeatDetermine(workCode); - // params.put("work_code", workCode); - // } - // - // // 完善更新参数 - // completeParams(params); - // - // // 更新EC人员,更新成功后,更新聚才林人员表 - // Map syncMap = new OrganizationSyncEc(user, LogModuleNameEnum.RESOURCE, OperateTypeEnum.UPDATE, params).sync(); - // String ecResourceId = Util.null2String(syncMap.get("id")); - // OrganizationAssert.isTrue(StringUtils.isNotBlank(ecResourceId), Util.null2String(syncMap.get("message"))); - // - // // 更新主表数据 - // updateCount += getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", id); - // - // // TODO new HrmResourceTriggerRunnable(id).run(); - //} else { - // // 更新主表拓展表 - // getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRMEXT, params, "", id); - //} - ////更新明细表 - //getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_HRMEXT_DT1, params, id); - // - //return updateCount; return 0; } - @Override - public List getSearchTemplate() { - int userUID = user.getUID(); - // 根据ID查询所存储的模板 - List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); - templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showName("默认模板").build()); - return templates; - } - - @Override - public List getAllConditions() { - HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); - List addGroups = new ArrayList<>(); - List basicConditionItems = new ArrayList<>(); - List personalConditionItems = new ArrayList<>(); - List workConditionItems = new ArrayList<>(); - - // 基本信息:-1 - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); - createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); - if (CollectionUtils.isNotEmpty(basicConditionItems)) { - addGroups.add(new SearchConditionGroup("基本信息", true, basicConditionItems)); - } - - // 个人信息:1 - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); - createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, personalConditionItems); - if (CollectionUtils.isNotEmpty(personalConditionItems)) { - addGroups.add(new SearchConditionGroup("个人信息", true, personalConditionItems)); - } - - // 工作信息:3 - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); - createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, workConditionItems); - if (CollectionUtils.isNotEmpty(workConditionItems)) { - addGroups.add(new SearchConditionGroup("工作信息", true, workConditionItems)); - } - return addGroups; - } - @Override public void saveSearchTemplate(SearchTemplateParam params) { String[] split = params.getFields().split(","); @@ -295,12 +159,17 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } - SearchTemplatePO searchTemplatePO = SearchTemplatePO.builder().name(params.getShowName()).basicFields(StringUtils.join(basicFieldsBuilder, ",")).personalFields(StringUtils.join(personalFieldsBuilder, ",")).workFields(StringUtils.join(workFieldsBuilder, ",")).creator(user.getUID()).createTime(new Date()).updateTime(new Date()).build(); + SearchTemplatePO searchTemplatePO = SearchTemplatePO.builder().name(params.getShowname()).basicFields(StringUtils.join(basicFieldsBuilder, ",")).personalFields(StringUtils.join(personalFieldsBuilder, ",")).workFields(StringUtils.join(workFieldsBuilder, ",")).creator(user.getUID()).createTime(new Date()).updateTime(new Date()).build(); getHrmResourceMapper().insertSearchTemplate(searchTemplatePO); // 保存模板 } } + @Override + public void deleteSearchTemplate(Integer id) { + getHrmResourceMapper().deleteSearchTemplate(id, user.getUID()); + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); @@ -471,49 +340,54 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @param params * @return */ - private String buildSqlWhere(HrmResourceSearchParam params) { + private String buildSqlWhere(Map params) { DBType dbType = DBType.get(new RecordSet().getDBType()); String sqlWhere = " where 1=1 "; - String lastName = params.getLastName(); - if (StringUtils.isNotBlank(lastName)) { - sqlWhere += " AND t.lastname " + dbType.like(lastName); - } - Long companyId = params.getCompanyId(); - if (null != companyId) { - sqlWhere += " AND t.subcompanyid1 = '" + companyId + "'"; - } - Long departmentId = params.getDepartmentId(); - if (null != departmentId) { - sqlWhere += " AND t.departmentid = '" + departmentId + "'"; - } - Long ecCompany = params.getEcCompany(); - if (null != ecCompany) { - sqlWhere += " AND t.subcompanyid1 = '" + ecCompany + "'"; - } - Long ecDepartment = params.getEcDepartment(); - if (null != ecDepartment) { - sqlWhere += " AND t.departmentid = '" + ecDepartment + "'"; - } - String telephone = params.getTelephone(); - if (StringUtils.isNotBlank(telephone)) { - sqlWhere += " AND t.telephone " + dbType.like(telephone); - } - String mobile = params.getMobile(); - if (StringUtils.isNotBlank(mobile)) { - sqlWhere += " AND t.mobile " + dbType.like(mobile); - } - Long jobTitle = params.getJobTitle(); - if (null != jobTitle) { - JobPO ecJobTitleByJobId = JobBO.getEcJobTitleByJobId(jobTitle); - if (null != ecJobTitleByJobId) { - sqlWhere += " AND t.subcompanyid1 = '" + ecJobTitleByJobId.getEcCompany() + "'"; - sqlWhere += " AND t.departmentid = '" + ecJobTitleByJobId.getEcDepartment() + "'"; - sqlWhere += " AND t.jobtitle = '" + ecJobTitleByJobId.getEcJobTitle() + "'"; - } else { - sqlWhere = " where 1 = 2 "; - } + for (Map.Entry entry : params.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); } + //String lastName = params.getLastName(); + //if (StringUtils.isNotBlank(lastName)) { + // sqlWhere += " AND t.lastname " + dbType.like(lastName); + //} + //Long companyId = params.getCompanyId(); + //if (null != companyId) { + // sqlWhere += " AND t.subcompanyid1 = '" + companyId + "'"; + //} + //Long departmentId = params.getDepartmentId(); + //if (null != departmentId) { + // sqlWhere += " AND t.departmentid = '" + departmentId + "'"; + //} + //Long ecCompany = params.getEcCompany(); + //if (null != ecCompany) { + // sqlWhere += " AND t.subcompanyid1 = '" + ecCompany + "'"; + //} + //Long ecDepartment = params.getEcDepartment(); + //if (null != ecDepartment) { + // sqlWhere += " AND t.departmentid = '" + ecDepartment + "'"; + //} + //String telephone = params.getTelephone(); + //if (StringUtils.isNotBlank(telephone)) { + // sqlWhere += " AND t.telephone " + dbType.like(telephone); + //} + //String mobile = params.getMobile(); + //if (StringUtils.isNotBlank(mobile)) { + // sqlWhere += " AND t.mobile " + dbType.like(mobile); + //} + //Long jobTitle = params.getJobTitle(); + //if (null != jobTitle) { + // JobPO ecJobTitleByJobId = JobBO.getEcJobTitleByJobId(jobTitle); + // if (null != ecJobTitleByJobId) { + // sqlWhere += " AND t.subcompanyid1 = '" + ecJobTitleByJobId.getEcCompany() + "'"; + // sqlWhere += " AND t.departmentid = '" + ecJobTitleByJobId.getEcDepartment() + "'"; + // sqlWhere += " AND t.jobtitle = '" + ecJobTitleByJobId.getEcJobTitle() + "'"; + // } else { + // sqlWhere = " where 1 = 2 "; + // } + //} + // 分权查询 DetachUtil detachUtil = new DetachUtil(user); String parentCompanyIds = detachUtil.getJclRoleLevels(); @@ -699,66 +573,49 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } } - //private void completeParams(Map params) { - // String jobId = Util.null2String(params.get("job_title")); - // if (StringUtils.isNotBlank(jobId)) { - // JobPO jobById = getJobMapper().getJobById(Long.parseLong(jobId)); - // params.put("department_id", jobById.getEcDepartment()); - // params.put("company_id", jobById.getEcCompany()); - // params.put("ec_department", jobById.getEcDepartment()); - // params.put("ec_company", jobById.getEcCompany()); - // // 等级方案、岗位序列、职等、职级 - // params.put("scheme_id", jobById.getSchemeId()); - // params.put("sequence_id", jobById.getSequenceId()); - // params.put("job_level", jobById.getLevelId()); - // params.put("job_grade", jobById.getGradeId()); - // String showOrder = Util.null2String(params.get("show_order")); - // // 初始化排序字段 - // if (StringUtils.isBlank(showOrder)) { - // Long orderNum = getResourceMapper().getMaxShowOrder(); - // params.put("show_order", null == orderNum ? 1 : orderNum + 1); - // } - // - // // 人员状态 - // String status = Util.null2String(params.get("status")); - // if (StringUtils.isBlank(status)) { - // params.put("status", "0"); - // } - // } - //} /** - * 判断编号是否重复 + * 获取当前人员所有的模板信息 * * @return */ - //public static String repeatDetermine(String workCode) { - // CodeRulePO codeRuleByType = MapperProxyFactory.getProxy(CodeRuleMapper.class).getCodeRuleByType(RuleCodeType.USER.getValue()); - // if (StringUtils.isNotBlank(workCode)) { - // workCode = CodeRuleUtil.generateCode(RuleCodeType.USER, workCode); - // List list = getResourceMapper().listByNo(Util.null2String(workCode)); - // OrganizationAssert.isEmpty(list, "编号不允许重复"); - // } else { - // OrganizationAssert.isTrue(null != codeRuleByType && "1".equals(codeRuleByType.getSerialEnable()), "编号不允许为空"); - // workCode = autoCreateWorkCode(); - // } - // return workCode; - //} + public List getSearchTemplate() { + int userUID = user.getUID(); + // 根据ID查询所存储的模板 + List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); + templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); + return templates; + } - /** - * 自动编号处理 - * - * @return - */ - //private static String autoCreateWorkCode() { - // String generateCode = CodeRuleUtil.generateCode(RuleCodeType.USER, ""); - // List list = getResourceMapper().listByNo(Util.null2String(generateCode)); - // if (CollectionUtils.isNotEmpty(list)) { - // generateCode = autoCreateWorkCode(); - // } - // return generateCode; - //} + public List getAllConditions() { + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + List addGroups = new ArrayList<>(); + List basicConditionItems = new ArrayList<>(); + List personalConditionItems = new ArrayList<>(); + List workConditionItems = new ArrayList<>(); + // 基本信息:-1 + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); + if (CollectionUtils.isNotEmpty(basicConditionItems)) { + addGroups.add(new SearchConditionGroup("基本信息", true, basicConditionItems)); + } + + // 个人信息:1 + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, personalConditionItems); + if (CollectionUtils.isNotEmpty(personalConditionItems)) { + addGroups.add(new SearchConditionGroup("个人信息", true, personalConditionItems)); + } + + // 工作信息:3 + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, workConditionItems); + if (CollectionUtils.isNotEmpty(workConditionItems)) { + addGroups.add(new SearchConditionGroup("工作信息", true, workConditionItems)); + } + return addGroups; + } /** * 构建查询条件Item @@ -778,7 +635,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsQuickSearch(false); hrmFieldBean.setIsScope(false); hrmFieldBean.setDmlurl(cusFormFieldPO.getDmlUrl()); - conditionItems.add(hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user)); + hrmFieldBean.setIssystem("hrm".equals(cusFormFieldPO.getTableName()) ? "1" : "0"); + hrmFieldBean.setIsFormField(true); + SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + conditionItems.add(searchConditionItem); } } @@ -797,6 +657,15 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } } + /** + * 获取模板中的字段,构建搜索条件 + * + * @param hrmFieldSearchConditionComInfo + * @param addGroups + * @param title + * @param scopeid + * @param fieldNames + */ private void getTemplateItems(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List addGroups, String title, Integer scopeid, String[] fieldNames) { try { @@ -815,9 +684,12 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setFieldhtmltype(hrmFieldConf.getString("fieldhtmltype")); hrmFieldBean.setType(hrmFieldConf.getString("type")); hrmFieldBean.setDmlurl(hrmFieldConf.getString("dmlurl")); + hrmFieldBean.setIssystem(baseField ? "1" : "0"); + hrmFieldBean.setIsFormField(true); hrmFieldBean.setIsQuickSearch(false); hrmFieldBean.setIsScope(false); - conditionItems.add(hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user)); + SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); + conditionItems.add(searchConditionItem); } if (CollectionUtils.isNotEmpty(conditionItems)) { addGroups.add(new SearchConditionGroup(title, true, conditionItems)); diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 0097c1fb..35a5d7ff 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -127,15 +127,15 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu // 新增 topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("screening").menuIcon("icon-coms-man").menuName("人员筛选").type("BTN_Screening").build()); topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("currentExport").menuIcon("icon-coms-export").menuName("导出当前").type("BTN_CurrentExport").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("MergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); - topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("AllExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("mergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("allExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); resultMap.put("topMenu", topMenuList); // 新增 rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("screening").menuIcon("icon-coms-man").menuName("人员筛选").type("BTN_Screening").build()); rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("currentExport").menuIcon("icon-coms-export").menuName("导出当前").type("BTN_CurrentExport").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("MergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("AllExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("mergeExport").menuIcon("icon-coms02-coms2-Batch-export").menuName("全部导出(合并)").type("BTN_MergeExport").build()); + rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("allExport").menuIcon("icon-coms02-coms2-export").menuName("全部导出").type("BTN_AllExport").build()); resultMap.put("rightMenu", rightMenuList); return resultMap; @@ -605,6 +605,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu } if (CollectionUtils.isNotEmpty(departmentsByIds)) { + departmentsByIds.removeIf(item -> item.getCanceled() != null && item.getCanceled() != 0); filterDeparts.addAll(departmentsByIds); } } diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 784b16ff..b7045aec 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -7,6 +7,7 @@ import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; +import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.HrmResourceWrapper; @@ -171,51 +172,27 @@ public class HrmResourceController { } } - /** - * 搜索模板 - * - * @param request - * @param response - * @return - */ - @GET - @Path("/getSearchTemplate") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { - try { - User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getHrmResourceWrapper(user).getSearchTemplate()); - } catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - /** - * 获取所有可选择的查询条件 - * - * @param request - * @param response - * @return - */ - @GET - @Path("/getAllConditions") + @POST + @Path("/saveSearchTemplate") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult getAllConditions(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getHrmResourceWrapper(user).getAllConditions()); + getHrmResourceWrapper(user).saveSearchTemplate(params); + return ReturnResult.successed(); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } } @POST - @Path("/saveSearchTemplate") + @Path("/deleteSearchTemplate") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { + public ReturnResult deleteSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplatePO params) { try { User user = HrmUserVarify.getUser(request, response); - getHrmResourceWrapper(user).saveSearchTemplate(params); + getHrmResourceWrapper(user).deleteSearchTemplate(params.getId()); return ReturnResult.successed(); } catch (Exception e) { return ReturnResult.exceptionHandle(e); diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 6d4257fb..553e8fa1 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -1,7 +1,6 @@ package com.engine.organization.wrapper; import com.alibaba.fastjson.JSON; -import com.api.browser.bean.SearchConditionGroup; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; @@ -15,7 +14,6 @@ import com.engine.organization.service.impl.HrmResourceServiceImpl; import com.engine.organization.util.OrganizationWrapper; import weaver.hrm.User; -import java.util.List; import java.util.Map; /** @@ -62,18 +60,14 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getSearchCondition(params); } - public List getSearchTemplate() { - return getHrmResourceService(user).getSearchTemplate(); - } - - public List getAllConditions() { - return getHrmResourceService(user).getAllConditions(); - } - public void saveSearchTemplate(SearchTemplateParam params) { getHrmResourceService(user).saveSearchTemplate(params); } + public void deleteSearchTemplate(Integer id) { + getHrmResourceService(user).deleteSearchTemplate(id); + } + public Map getHasRight() { return getHrmResourceService(user).getHasRight(); } From d1612a151a7d5c1756137f67c6678c5bc9f7defe Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 6 Jan 2023 17:27:02 +0800 Subject: [PATCH 138/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AD=97=E6=AE=B5=E5=B1=95=E7=A4=BA20230106?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmresource/vo/HrmResourceJclVO.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java new file mode 100644 index 00000000..916ee84b --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceJclVO.java @@ -0,0 +1,47 @@ +package com.engine.organization.entity.hrmresource.vo; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:ml + * @createTime: 2023/01/06 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "c0583f20-f10c-11ec-9947-00e04c680716", + fields = "t.id," + + "t.lastname," + + "t.departmentid," + + "t.subcompanyid1," + + "t.jobtitle," + + "t.mobile," + + "t.telephone," + + "t.managerid, " + + "t.dsporder ", + fromSql = "FROM hrmresource t ", + orderby = " dsporder ", + sortway = " asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(text = "查看"), + @OrganizationTableOperate(index = "1", text = "另存为版本") + }, + tableType = WeaTableType.CHECKBOX +) +public class HrmResourceJclVO { + /** + * 主键 + */ + @OrganizationTableColumn(column = "id", display = false) + private Long id; +} From 503697dd55770a1f0527cf0b690f057e29c06482 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 6 Jan 2023 17:40:23 +0800 Subject: [PATCH 139/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/mapper/resource/HrmResourceMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 567ee6b6..6caf907d 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -11,7 +11,7 @@ - + From 01c042ebbc6f8964c2cd09eceeb00ebe303123a5 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 9 Jan 2023 10:27:30 +0800 Subject: [PATCH 140/203] =?UTF-8?q?=E9=AB=98=E7=BA=A7=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fieldset/param/TransferDataParam.java | 21 ---- .../service/impl/HrmResourceServiceImpl.java | 118 ++++++++++++------ .../web/HrmResourceController.java | 2 +- 3 files changed, 82 insertions(+), 59 deletions(-) delete mode 100644 src/com/engine/organization/entity/fieldset/param/TransferDataParam.java diff --git a/src/com/engine/organization/entity/fieldset/param/TransferDataParam.java b/src/com/engine/organization/entity/fieldset/param/TransferDataParam.java deleted file mode 100644 index 7eb80085..00000000 --- a/src/com/engine/organization/entity/fieldset/param/TransferDataParam.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.engine.organization.entity.fieldset.param; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author:dxfeng - * @createTime: 2023/01/05 - * @version: 1.0 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class TransferDataParam { - private String id; - private String label; - private String title; -} diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 13513603..9dec59d7 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -13,7 +13,6 @@ import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; -import com.engine.organization.entity.fieldset.param.TransferDataParam; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; @@ -49,7 +48,6 @@ import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; -import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.stream.Collectors; @@ -173,6 +171,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); + String selectKeys = Util.null2String(params.get("selectKeys")); if (StringUtils.isBlank(templateId)) { templateId = "-1"; } @@ -182,30 +181,19 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 穿梭框ID,展示所选字段信息 HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); if ("-1".equals(templateId)) { - // 未选择模板展示默认模板搜索条件 - List searchConditionItems = new ArrayList<>(); - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); - createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, searchConditionItems); - if (CollectionUtils.isNotEmpty(searchConditionItems)) { - addGroups.add(new SearchConditionGroup("基本信息", true, searchConditionItems)); + if (StringUtils.isNotBlank(selectKeys)) { + SearchTemplatePO templatePO = buildSearchTemplateByFields(selectKeys); + buildSearchConditionGroup(templatePO, hrmFieldSearchConditionComInfo, addGroups); + } else { + // 未选择模板展示默认模板搜索条件 + if (CollectionUtils.isNotEmpty(allConditions)) { + addGroups.add(allConditions.get(0)); + } } } else { // 选择模板则遍历所选模板所选字段 SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); - String[] basicFields = Util.null2String(searchTemplateById.getBasicFields()).split(","); - if (basicFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); - } - - String[] personalFields = Util.null2String(searchTemplateById.getPersonalFields()).split(","); - if (personalFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); - } - String[] workFields = Util.null2String(searchTemplateById.getWorkFields()).split(","); - if (workFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); - } - + buildSearchConditionGroup(searchTemplateById, hrmFieldSearchConditionComInfo, addGroups); } apiDatas.put("defaultcondition", addGroups); apiDatas.put("conditions", allConditions); @@ -341,10 +329,24 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @return */ private String buildSqlWhere(Map params) { + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + List conditionItems = new ArrayList<>(); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); + Map allFieldsMap = conditionItems.stream().collect(Collectors.toMap(item -> item.getDomkey()[0], item -> item, (k1, k2) -> k1)); + + DBType dbType = DBType.get(new RecordSet().getDBType()); String sqlWhere = " where 1=1 "; for (Map.Entry entry : params.entrySet()) { String key = entry.getKey(); + SearchConditionItem searchConditionItem = allFieldsMap.get(key); + + // 根据不同的类型,不同的查询方式 Object value = entry.getValue(); } @@ -587,6 +589,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return templates; } + /** + * 获取所有搜索字段信息构建的高级搜索表单 + * + * @return + */ public List getAllConditions() { HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); List addGroups = new ArrayList<>(); @@ -642,21 +649,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } } - /** - * 构建穿梭框字段 - * - * @param formFields - * @param dataParamList - * @param title - */ - private void createTransferData(List formFields, List dataParamList, String title) { - for (CusFormFieldPO cusFormFieldPO : formFields) { - String id = cusFormFieldPO.getTableName() + "_" + cusFormFieldPO.getScopeId() + "_" + cusFormFieldPO.getFieldId(); - String label = Util.toScreen(SystemEnv.getHtmlLabelName(Integer.parseInt(cusFormFieldPO.getFieldLabel()), user.getLanguage()), user.getLanguage()); - dataParamList.add(TransferDataParam.builder().id(id).label(label).title(title).build()); - } - } - /** * 获取模板中的字段,构建搜索条件 * @@ -698,4 +690,56 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic throw new RuntimeException(e); } } + + /** + * 根据所选字段信息,构建搜素模板对象 + * + * @param fields + * @return + */ + private SearchTemplatePO buildSearchTemplateByFields(String fields) { + SearchTemplatePO templatePO = new SearchTemplatePO(); + String[] split = fields.split(","); + if (split.length > 0) { + List basicFieldsBuilder = new ArrayList<>(); + List personalFieldsBuilder = new ArrayList<>(); + List workFieldsBuilder = new ArrayList<>(); + for (String fieldName : split) { + if (fieldName.startsWith("-1")) { + basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } else if (fieldName.startsWith("1")) { + personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } else if (fieldName.startsWith("3")) { + workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } + } + templatePO.setBasicFields(basicFieldsBuilder.toString()); + templatePO.setPersonalFields(personalFieldsBuilder.toString()); + templatePO.setWorkFields(workFieldsBuilder.toString()); + } + return templatePO; + } + + /** + * 根据搜索模板对象,构建搜索条件表单 + * + * @param templatePO + * @param hrmFieldSearchConditionComInfo + * @param addGroups + */ + private void buildSearchConditionGroup(SearchTemplatePO templatePO, HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List addGroups) { + String[] basicFields = Util.null2String(templatePO.getBasicFields()).split(","); + if (basicFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); + } + + String[] personalFields = Util.null2String(templatePO.getPersonalFields()).split(","); + if (personalFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); + } + String[] workFields = Util.null2String(templatePO.getWorkFields()).split(","); + if (workFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); + } + } } diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index b7045aec..eac0cd50 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -166,7 +166,7 @@ public class HrmResourceController { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getHrmResourceWrapper(user).getSearchCondition(map)); + return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getSearchCondition(map))); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } From 07786bc2a6e7aecc97e90022ef614fbdfc91fe20 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 9 Jan 2023 14:59:26 +0800 Subject: [PATCH 141/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/service/impl/HrmResourceServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 13513603..7fd72381 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -227,6 +227,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic ArrayList topMenuList = new ArrayList<>(); ArrayList rightMenuList = new ArrayList<>(); topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build()); + topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("customization").menuIcon("icon-coms-task-list").menuName("列定制").type("BTN_COLUMN").build()); btnDatas.put("topMenu", topMenuList); rightMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build()); rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type("BTN_COLUMN").build()); From cfe08ddf4ce8f2e0305033253dc9914d6ab0b728 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 9 Jan 2023 18:06:57 +0800 Subject: [PATCH 142/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E6=9F=A5=E8=AF=A2SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/vo/HrmResourceVO.java | 4 +- .../organization/enums/HrmGroupEnum.java | 2 +- .../service/HrmResourceService.java | 3 +- .../service/impl/HrmResourceServiceImpl.java | 199 ++++++++++++------ .../service/impl/JobServiceImpl.java | 2 +- .../util/db/DBOperateAdapter.java | 2 + .../engine/organization/util/db/DBType.java | 17 +- .../web/HrmResourceController.java | 4 +- .../wrapper/HrmResourceWrapper.java | 3 +- 9 files changed, 160 insertions(+), 76 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java index 2a51e8e2..84443890 100644 --- a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java @@ -26,8 +26,8 @@ import lombok.NoArgsConstructor; "t.telephone," + "t.managerid, " + "t.dsporder ", - fromSql = "FROM hrmresource t ", - orderby = " dsporder ", + fromSql = "FROM hrmresource t left join cus_fielddata t0 on t.id = t0.id and t0.scopeid ='-1' left join cus_fielddata t1 on t.id = t1.id and t1.scopeid ='1' left join cus_fielddata t2 on t.id = t2.id and t2.scopeid ='3' ", + orderby = " t.dsporder ", sortway = " asc", primarykey = "id", operates = { diff --git a/src/com/engine/organization/enums/HrmGroupEnum.java b/src/com/engine/organization/enums/HrmGroupEnum.java index 75a1b6ed..f4280465 100644 --- a/src/com/engine/organization/enums/HrmGroupEnum.java +++ b/src/com/engine/organization/enums/HrmGroupEnum.java @@ -6,7 +6,7 @@ package com.engine.organization.enums; * @version: 1.0 */ public enum HrmGroupEnum { - COMPANY(4), DEPARTMENT(5); + HRM_BASIC(-1), HRM_PERSONAL(1), HRM_WORK(3), COMPANY(4), DEPARTMENT(5); HrmGroupEnum(Integer groupType) { this.groupType = groupType; diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 255d52b4..98cf1cd5 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -1,7 +1,6 @@ package com.engine.organization.service; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import org.apache.ibatis.annotations.Param; @@ -29,7 +28,7 @@ public interface HrmResourceService { * @param params * @return */ - Map listPage(HrmResourceSearchParam params); + Map listPage(Map params); /** * 获取新增表单 diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 9dec59d7..df140af1 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -2,6 +2,8 @@ package com.engine.organization.service.impl; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.api.browser.util.ConditionType; import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.cloudstore.eccom.result.WeaResultMsg; @@ -15,7 +17,6 @@ import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.HrmRelationPO; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; @@ -25,6 +26,7 @@ import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.enums.HrmGroupEnum; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; @@ -107,10 +109,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } @Override - public Map listPage(HrmResourceSearchParam params) { + public Map listPage(Map params) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); - Map searchParams = new HashMap<>(); - String sqlWhere = buildSqlWhere(searchParams); + String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -149,11 +150,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List personalFieldsBuilder = new ArrayList<>(); List workFieldsBuilder = new ArrayList<>(); for (String fieldName : split) { - if (fieldName.startsWith("-1")) { + if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("1")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("3")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } @@ -331,73 +332,37 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private String buildSqlWhere(Map params) { HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); List conditionItems = new ArrayList<>(); - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_WORK.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); Map allFieldsMap = conditionItems.stream().collect(Collectors.toMap(item -> item.getDomkey()[0], item -> item, (k1, k2) -> k1)); DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where 1=1 "; + //String sqlWhere = ""; + StringBuilder sb = new StringBuilder(" where 1=1 "); for (Map.Entry entry : params.entrySet()) { + String value = Util.null2String(entry.getValue()); + if (StringUtils.isBlank(value)) { + continue; + } String key = entry.getKey(); SearchConditionItem searchConditionItem = allFieldsMap.get(key); - + buildDynamicSql(searchConditionItem, key, value, sb, dbType); // 根据不同的类型,不同的查询方式 - Object value = entry.getValue(); } - //String lastName = params.getLastName(); - //if (StringUtils.isNotBlank(lastName)) { - // sqlWhere += " AND t.lastname " + dbType.like(lastName); - //} - //Long companyId = params.getCompanyId(); - //if (null != companyId) { - // sqlWhere += " AND t.subcompanyid1 = '" + companyId + "'"; - //} - //Long departmentId = params.getDepartmentId(); - //if (null != departmentId) { - // sqlWhere += " AND t.departmentid = '" + departmentId + "'"; - //} - //Long ecCompany = params.getEcCompany(); - //if (null != ecCompany) { - // sqlWhere += " AND t.subcompanyid1 = '" + ecCompany + "'"; - //} - //Long ecDepartment = params.getEcDepartment(); - //if (null != ecDepartment) { - // sqlWhere += " AND t.departmentid = '" + ecDepartment + "'"; - //} - //String telephone = params.getTelephone(); - //if (StringUtils.isNotBlank(telephone)) { - // sqlWhere += " AND t.telephone " + dbType.like(telephone); - //} - //String mobile = params.getMobile(); - //if (StringUtils.isNotBlank(mobile)) { - // sqlWhere += " AND t.mobile " + dbType.like(mobile); - //} - //Long jobTitle = params.getJobTitle(); - //if (null != jobTitle) { - // JobPO ecJobTitleByJobId = JobBO.getEcJobTitleByJobId(jobTitle); - // if (null != ecJobTitleByJobId) { - // sqlWhere += " AND t.subcompanyid1 = '" + ecJobTitleByJobId.getEcCompany() + "'"; - // sqlWhere += " AND t.departmentid = '" + ecJobTitleByJobId.getEcDepartment() + "'"; - // sqlWhere += " AND t.jobtitle = '" + ecJobTitleByJobId.getEcJobTitle() + "'"; - // } else { - // sqlWhere = " where 1 = 2 "; - // } - //} - // 分权查询 DetachUtil detachUtil = new DetachUtil(user); String parentCompanyIds = detachUtil.getJclRoleLevels(); if (detachUtil.isDETACH()) { - sqlWhere += " And t.subcompanyid1 in(" + parentCompanyIds + ")"; + sb.append(" And t.subcompanyid1 in(").append(parentCompanyIds).append(")"); } - return sqlWhere; + return sb.toString(); } public List getFilterCompany(String id, String type, String keyword) { @@ -602,21 +567,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List workConditionItems = new ArrayList<>(); // 基本信息:-1 - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); if (CollectionUtils.isNotEmpty(basicConditionItems)) { addGroups.add(new SearchConditionGroup("基本信息", true, basicConditionItems)); } // 个人信息:1 - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, personalConditionItems); if (CollectionUtils.isNotEmpty(personalConditionItems)) { addGroups.add(new SearchConditionGroup("个人信息", true, personalConditionItems)); } // 工作信息:3 - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_WORK.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, workConditionItems); if (CollectionUtils.isNotEmpty(workConditionItems)) { addGroups.add(new SearchConditionGroup("工作信息", true, workConditionItems)); @@ -646,6 +611,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsFormField(true); SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); conditionItems.add(searchConditionItem); + // 如果为下拉框,添加一条空选项 + if (searchConditionItem.getConditionType().equals(ConditionType.SELECT)) { + addEmptyForSelect(searchConditionItem); + } + } } @@ -682,6 +652,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsScope(false); SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); conditionItems.add(searchConditionItem); + // 如果为下拉框,添加一条空选项 + if (searchConditionItem.getConditionType().equals(ConditionType.SELECT)) { + addEmptyForSelect(searchConditionItem); + } } if (CollectionUtils.isNotEmpty(conditionItems)) { addGroups.add(new SearchConditionGroup(title, true, conditionItems)); @@ -705,11 +679,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List personalFieldsBuilder = new ArrayList<>(); List workFieldsBuilder = new ArrayList<>(); for (String fieldName : split) { - if (fieldName.startsWith("-1")) { + if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("1")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("3")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } @@ -730,16 +704,113 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private void buildSearchConditionGroup(SearchTemplatePO templatePO, HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List addGroups) { String[] basicFields = Util.null2String(templatePO.getBasicFields()).split(","); if (basicFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", HrmGroupEnum.HRM_BASIC.getGroupType(), basicFields); } String[] personalFields = Util.null2String(templatePO.getPersonalFields()).split(","); if (personalFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", HrmGroupEnum.HRM_PERSONAL.getGroupType(), personalFields); } String[] workFields = Util.null2String(templatePO.getWorkFields()).split(","); if (workFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", HrmGroupEnum.HRM_WORK.getGroupType(), workFields); + } + } + + /** + * 根据字段信息,动态拼接where条件SQL + * + * @param conditionItem + * @param key + * @param value + * @param sb + * @param dbType + */ + private void buildDynamicSql(SearchConditionItem conditionItem, String key, String value, StringBuilder sb, DBType dbType) { + if (null == conditionItem) { + return; } + if (key.endsWith("workyear") || key.endsWith("companyworkyear")) { + conditionItem.setConditionType(ConditionType.INPUTNUMBER); + } + String tableSql = buildTableSql(key); + if (StringUtils.isBlank(tableSql)) { + return; + } + switch (conditionItem.getConditionType()) { + case INPUT:// 单行文本框 + case TEXTAREA:// 多行文本框 + sb.append(" and ").append(tableSql).append(dbType.like(value)); + // 模糊搜索 + break; + + case INPUTNUMBER:// 数字 + case SELECT://选择框 + case BROWSER://浏览按钮 + case CHECKBOX: + case SWITCH: + sb.append(" and ").append(dbType.ifNull(tableSql, "0")).append(" = '").append(value).append("' "); + break; + case DATE: + case DATEPICKER: + case TIMEPICKER: + case RANGEPICKER: + // 精准搜索 + sb.append(" and ").append(tableSql).append(" = '").append(value).append("' "); + break; + default: + break; + } + } + + /** + * 处理当前字段所在表关系 + * + * @param key + * @return + */ + private String buildTableSql(String key) { + StringBuilder sb = new StringBuilder(); + String[] s = key.split("_"); + if (s.length < 3) { + return ""; + } + String scopeId = s[0]; + String tableName = s[1]; + String fieldName = s[2]; + if ("hrm".equals(tableName)) { + sb.append("t.").append(fieldName); + } else { + switch (scopeId) { + case "-1": + sb.append("t0.").append(fieldName); + break; + case "1": + sb.append("t1.").append(fieldName); + break; + case "3": + sb.append("t2.").append(fieldName); + break; + default: + return ""; + + } + } + + + return sb.toString(); + } + + private void addEmptyForSelect(SearchConditionItem searchConditionItem) { + searchConditionItem.setValue(""); + List options = searchConditionItem.getOptions(); + options.forEach(item -> { + item.setSelected(false); + }); + SearchConditionOption searchConditionOption = new SearchConditionOption(); + searchConditionOption.setSelected(true); + searchConditionOption.setKey(""); + options.add(0, searchConditionOption); + } } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 25cf632f..3268828b 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -581,7 +581,7 @@ public class JobServiceImpl extends Service implements JobService { //2.数据过滤 //3.数据插入 resourcePOS.forEach(resourcePO -> { - if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && 0 != resourcePO.getJobtitle()) { + if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && resourcePO.getJobtitle() > 0) { int count = getJobMapper().selectByConditions(resourcePO); if (count == 0) { JobPO jobPO = JobPO.builder() diff --git a/src/com/engine/organization/util/db/DBOperateAdapter.java b/src/com/engine/organization/util/db/DBOperateAdapter.java index 50d2dda6..e9caa997 100644 --- a/src/com/engine/organization/util/db/DBOperateAdapter.java +++ b/src/com/engine/organization/util/db/DBOperateAdapter.java @@ -6,4 +6,6 @@ public interface DBOperateAdapter { String concat(String some); String currentDate(); + + String ifNull(String some, String defaultValue); } diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java index 6581acab..d929560d 100644 --- a/src/com/engine/organization/util/db/DBType.java +++ b/src/com/engine/organization/util/db/DBType.java @@ -20,6 +20,11 @@ public enum DBType implements DBOperateAdapter { public String currentDate() { return "now()"; } + + @Override + public String ifNull(String some, String defaultValue) { + return " ifnull(" + some + ",'" + defaultValue + "')"; + } }, SQLSERVER("sqlserver") { @Override @@ -36,11 +41,16 @@ public enum DBType implements DBOperateAdapter { public String currentDate() { return "GETDATE()"; } + + @Override + public String ifNull(String some, String defaultValue) { + return " isnull(" + some + ",'" + defaultValue + "')"; + } }, ORACLE("oracle") { @Override public String like(String some) { - return " like '%'||" + some + "||'%' "; + return " like '%" + some + "%' "; } @Override @@ -52,6 +62,11 @@ public enum DBType implements DBOperateAdapter { public String currentDate() { return "SYSDATE"; } + + @Override + public String ifNull(String some, String defaultValue) { + return " NVL(" + some + ",'" + defaultValue + "')"; + } }; private String dbtype; diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index eac0cd50..33800701 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.searchtree.SearchTreeParams; @@ -67,8 +66,7 @@ public class HrmResourceController { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - HrmResourceSearchParam param = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), HrmResourceSearchParam.class); - return ReturnResult.successed(getHrmResourceWrapper(user).listPage(param)); + return ReturnResult.successed(getHrmResourceWrapper(user).listPage(map)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 553e8fa1..71f4a379 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; @@ -31,7 +30,7 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getSearchTree(params); } - public Map listPage(HrmResourceSearchParam params) { + public Map listPage(Map params) { return getHrmResourceService(user).listPage(params); } From 4ba6d5c21e53508a4cfe2b7530a374cb6e85c1c7 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 11:37:28 +0800 Subject: [PATCH 143/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../personnelcard/PersonnelCardMapper.xml | 2 +- .../mapper/resource/HrmResourceMapper.xml | 58 ++++++++++++++++++- .../service/HrmResourceService.java | 2 +- .../service/impl/HrmResourceServiceImpl.java | 51 +++++++--------- .../web/HrmResourceController.java | 3 +- .../wrapper/HrmResourceWrapper.java | 4 +- 6 files changed, 83 insertions(+), 37 deletions(-) diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml index cc7ed5b9..3b45911f 100644 --- a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml @@ -8,7 +8,7 @@ - + diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 6caf907d..226c6e67 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -129,7 +129,63 @@ where id = #{id} - + + INSERT INTO JCL_ORG_SEARCH_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + + + + + select JCL_ORG_SEARCH_TEMPLATE_ID.currval from dual + INSERT INTO JCL_ORG_SEARCH_TEMPLATE diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 98cf1cd5..6b891e28 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -97,7 +97,7 @@ public interface HrmResourceService { */ long updateTabForm(HrmRelationSaveParam params); - void saveSearchTemplate(SearchTemplateParam params); + Integer saveSearchTemplate(SearchTemplateParam params); void deleteSearchTemplate(@Param("id") Integer id); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 4ab476f3..48f825ce 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -143,25 +143,17 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } @Override - public void saveSearchTemplate(SearchTemplateParam params) { - String[] split = params.getFields().split(","); - if (split.length > 0) { - List basicFieldsBuilder = new ArrayList<>(); - List personalFieldsBuilder = new ArrayList<>(); - List workFieldsBuilder = new ArrayList<>(); - for (String fieldName : split) { - if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { - basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { - personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { - workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } - } - SearchTemplatePO searchTemplatePO = SearchTemplatePO.builder().name(params.getShowname()).basicFields(StringUtils.join(basicFieldsBuilder, ",")).personalFields(StringUtils.join(personalFieldsBuilder, ",")).workFields(StringUtils.join(workFieldsBuilder, ",")).creator(user.getUID()).createTime(new Date()).updateTime(new Date()).build(); - getHrmResourceMapper().insertSearchTemplate(searchTemplatePO); - // 保存模板 + public Integer saveSearchTemplate(SearchTemplateParam params) { + SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); + if (null == templatePO) { + return -1; } + templatePO.setName(params.getShowname()); + templatePO.setCreator(user.getUID()); + templatePO.setCreateTime(new Date()); + templatePO.setUpdateTime(new Date()); + getHrmResourceMapper().insertSearchTemplate(templatePO); + return templatePO.getId(); } @Override @@ -184,7 +176,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if ("-1".equals(templateId)) { if (StringUtils.isNotBlank(selectKeys)) { SearchTemplatePO templatePO = buildSearchTemplateByFields(selectKeys); - buildSearchConditionGroup(templatePO, hrmFieldSearchConditionComInfo, addGroups); + if (null != templatePO) { + buildSearchConditionGroup(templatePO, hrmFieldSearchConditionComInfo, addGroups); + } } else { // 未选择模板展示默认模板搜索条件 if (CollectionUtils.isNotEmpty(allConditions)) { @@ -673,26 +667,23 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @return */ private SearchTemplatePO buildSearchTemplateByFields(String fields) { - SearchTemplatePO templatePO = new SearchTemplatePO(); String[] split = fields.split(","); if (split.length > 0) { - List basicFieldsBuilder = new ArrayList<>(); - List personalFieldsBuilder = new ArrayList<>(); - List workFieldsBuilder = new ArrayList<>(); + List basicFields = new ArrayList<>(); + List personalFields = new ArrayList<>(); + List workFields = new ArrayList<>(); for (String fieldName : split) { if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { - basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + basicFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { - personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + personalFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { - workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + workFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } - templatePO.setBasicFields(basicFieldsBuilder.toString()); - templatePO.setPersonalFields(personalFieldsBuilder.toString()); - templatePO.setWorkFields(workFieldsBuilder.toString()); + return SearchTemplatePO.builder().basicFields(StringUtils.join(basicFields, ",")).personalFields(StringUtils.join(personalFields, ",")).workFields(StringUtils.join(workFields, ",")).build(); } - return templatePO; + return null; } /** diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 33800701..81370e3e 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -177,8 +177,7 @@ public class HrmResourceController { public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { try { User user = HrmUserVarify.getUser(request, response); - getHrmResourceWrapper(user).saveSearchTemplate(params); - return ReturnResult.successed(); + return ReturnResult.successed(getHrmResourceWrapper(user).saveSearchTemplate(params)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 71f4a379..89b6f9cd 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -59,8 +59,8 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getSearchCondition(params); } - public void saveSearchTemplate(SearchTemplateParam params) { - getHrmResourceService(user).saveSearchTemplate(params); + public Integer saveSearchTemplate(SearchTemplateParam params) { + return getHrmResourceService(user).saveSearchTemplate(params); } public void deleteSearchTemplate(Integer id) { From 9dbce1e8c537417b7917033ebe58ba8e2086a1c8 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 14:08:41 +0800 Subject: [PATCH 144/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HrmResourceServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 48f825ce..d70245ea 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -628,7 +628,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid); List conditionItems = new ArrayList<>(); - for (String fieldName : fieldNames) { + for (String field : fieldNames) { + String fieldName = field.substring(field.lastIndexOf("_") + 1); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); if (null == hrmFieldConf) { continue; @@ -674,11 +675,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List workFields = new ArrayList<>(); for (String fieldName : split) { if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { - basicFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + basicFields.add(fieldName); } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { - personalFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + personalFields.add(fieldName); } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { - workFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + workFields.add(fieldName); } } return SearchTemplatePO.builder().basicFields(StringUtils.join(basicFields, ",")).personalFields(StringUtils.join(personalFields, ",")).workFields(StringUtils.join(workFields, ",")).build(); From f7ce6b028a4f98ba0145eb25a49c64d342ae6894 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 15:13:33 +0800 Subject: [PATCH 145/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SearchTemplateParam.java | 4 ++- .../service/HrmResourceService.java | 22 ++++++++++++-- .../service/impl/HrmResourceServiceImpl.java | 29 ++++++++++++++++++- .../web/HrmResourceController.java | 13 +++++++++ .../wrapper/HrmResourceWrapper.java | 4 +++ 5 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java index 90434e99..0e01ccba 100644 --- a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java @@ -5,6 +5,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + /** * @author:dxfeng * @createTime: 2023/01/05 @@ -18,5 +20,5 @@ public class SearchTemplateParam { private String key; private boolean selected; private String showname; - private String fields; + private List fields; } diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 6b891e28..deed1f83 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -3,7 +3,6 @@ package com.engine.organization.service; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; -import org.apache.ibatis.annotations.Param; import java.util.Map; @@ -97,7 +96,26 @@ public interface HrmResourceService { */ long updateTabForm(HrmRelationSaveParam params); + /** + * 保存搜索条件模板 + * + * @param params + * @return + */ Integer saveSearchTemplate(SearchTemplateParam params); - void deleteSearchTemplate(@Param("id") Integer id); + /** + * 删除搜索条件模板 + * + * @param id + */ + void deleteSearchTemplate(Integer id); + + /** + * 获取模板所选择的列 + * + * @param params + * @return + */ + String getTemplateSelectKeys(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index d70245ea..1ac80d5e 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -144,7 +144,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Integer saveSearchTemplate(SearchTemplateParam params) { - SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); + SearchTemplatePO templatePO = buildSearchTemplateByFields(StringUtils.join(params.getFields(), ",")); if (null == templatePO) { return -1; } @@ -161,6 +161,33 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic getHrmResourceMapper().deleteSearchTemplate(id, user.getUID()); } + @Override + public String getTemplateSelectKeys(Map params) { + String templateId = Util.null2String(params.get("templateId")); + String column = Util.null2String(params.get("column")); + OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), "数据有误,未找到对应数据"); + // 判断是否为搜索模板 + if (StringUtils.isBlank(column)) { + SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); + String basicFields = searchTemplateById.getBasicFields(); + String personalFields = searchTemplateById.getPersonalFields(); + String workflowFields = searchTemplateById.getWorkFields(); + List selectKeys = new ArrayList<>(); + if (StringUtils.isNotBlank(basicFields)) { + selectKeys.addAll(Arrays.asList(basicFields.split(","))); + } + if (StringUtils.isNotBlank(personalFields)) { + selectKeys.addAll(Arrays.asList(personalFields.split(","))); + } + if (StringUtils.isNotBlank(workflowFields)) { + selectKeys.addAll(Arrays.asList(workflowFields.split(","))); + } + return StringUtils.join(selectKeys, ","); + } + return ""; + + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 81370e3e..75f21677 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -196,6 +196,19 @@ public class HrmResourceController { } } + @GET + @Path("/getTemplateSelectKeys") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTemplateSelectKeys(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getTemplateSelectKeys(map))); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + /** * 列表页顶部按钮 * diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 89b6f9cd..ad0f93b1 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -67,6 +67,10 @@ public class HrmResourceWrapper extends OrganizationWrapper { getHrmResourceService(user).deleteSearchTemplate(id); } + public String getTemplateSelectKeys(Map params) { + return getHrmResourceService(user).getTemplateSelectKeys(params); + } + public Map getHasRight() { return getHrmResourceService(user).getHasRight(); } From 832fb2b9c44153bf0dc2af6a09d5482f53bb0c7f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 16:52:40 +0800 Subject: [PATCH 146/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SearchTemplateParam.java | 4 +- .../service/HrmResourceService.java | 9 ++++ .../service/impl/HrmResourceServiceImpl.java | 49 ++++++++++--------- .../web/HrmResourceController.java | 13 +++++ .../wrapper/HrmResourceWrapper.java | 4 ++ 5 files changed, 54 insertions(+), 25 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java index 0e01ccba..90434e99 100644 --- a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java @@ -5,8 +5,6 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - /** * @author:dxfeng * @createTime: 2023/01/05 @@ -20,5 +18,5 @@ public class SearchTemplateParam { private String key; private boolean selected; private String showname; - private List fields; + private String fields; } diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index deed1f83..dc14af4d 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -4,6 +4,7 @@ import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; +import java.util.List; import java.util.Map; /** @@ -118,4 +119,12 @@ public interface HrmResourceService { * @return */ String getTemplateSelectKeys(Map params); + + /** + * 展示所有搜索模板 + * + * @param params + * @return + */ + List getSearchTemplate(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 1ac80d5e..2926d163 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -144,7 +144,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Integer saveSearchTemplate(SearchTemplateParam params) { - SearchTemplatePO templatePO = buildSearchTemplateByFields(StringUtils.join(params.getFields(), ",")); + SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; } @@ -188,6 +188,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } + @Override + public List getSearchTemplate(Map params) { + String templateId = StringUtils.isNotBlank(Util.null2String(params.get("templateId"))) ? Util.null2String(params.get("templateId")) : "-1"; + int userUID = user.getUID(); + // 根据ID查询所存储的模板 + List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); + templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); + templates.forEach(item -> { + if (templateId.equals(item.getKey())) { + item.setSelected(true); + } + }); + return templates; + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); @@ -219,14 +234,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } apiDatas.put("defaultcondition", addGroups); apiDatas.put("conditions", allConditions); - List searchTemplate = getSearchTemplate(); - String finalTemplateId = templateId; - searchTemplate.forEach(item -> { - if (finalTemplateId.equals(item.getKey())) { - item.setSelected(true); - } - }); - apiDatas.put("templates", searchTemplate); return apiDatas; } @@ -563,19 +570,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } - /** - * 获取当前人员所有的模板信息 - * - * @return - */ - public List getSearchTemplate() { - int userUID = user.getUID(); - // 根据ID查询所存储的模板 - List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); - templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); - return templates; - } - /** * 获取所有搜索字段信息构建的高级搜索表单 * @@ -620,6 +614,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic */ private void createConditionItems(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List formFields, List conditionItems) { for (CusFormFieldPO cusFormFieldPO : formFields) { + if ("jobactivity".equals(cusFormFieldPO.getFieldName())) { + // 职务:282 + cusFormFieldPO.setType("282"); + } HrmFieldBean hrmFieldBean = new HrmFieldBean(); hrmFieldBean.setFieldid(Util.null2String(cusFormFieldPO.getFieldId())); hrmFieldBean.setFieldname(cusFormFieldPO.getScopeId() + "_" + cusFormFieldPO.getTableName() + "_" + cusFormFieldPO.getFieldName()); @@ -673,6 +671,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsFormField(true); hrmFieldBean.setIsQuickSearch(false); hrmFieldBean.setIsScope(false); + if ("jobactivity".equals(fieldName)) { + // 职务:282 + hrmFieldBean.setType("282"); + } SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); conditionItems.add(searchConditionItem); // 如果为下拉框,添加一条空选项 @@ -798,6 +800,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String scopeId = s[0]; String tableName = s[1]; String fieldName = s[2]; + if ("jobactivity".equals(fieldName)) { + fieldName = "jobactivitydesc"; + } if ("hrm".equals(tableName)) { sb.append("t.").append(fieldName); } else { diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 75f21677..6671b7d9 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -209,6 +209,19 @@ public class HrmResourceController { } } + @GET + @Path("/getSearchTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getSearchTemplate(map))); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + /** * 列表页顶部按钮 * diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index ad0f93b1..6139b17f 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -13,6 +13,7 @@ import com.engine.organization.service.impl.HrmResourceServiceImpl; import com.engine.organization.util.OrganizationWrapper; import weaver.hrm.User; +import java.util.List; import java.util.Map; /** @@ -87,4 +88,7 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).updateTabForm(params); } + public List getSearchTemplate(Map params) { + return getHrmResourceService(user).getSearchTemplate(params); + } } From 1d053a04379948ee14321d1d69525be76272bf16 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 17:31:22 +0800 Subject: [PATCH 147/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/web/HrmResourceController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 6671b7d9..a3638a5a 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -11,6 +11,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.HrmResourceWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.general.Util; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -177,7 +178,8 @@ public class HrmResourceController { public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getHrmResourceWrapper(user).saveSearchTemplate(params)); + Integer templateId = getHrmResourceWrapper(user).saveSearchTemplate(params); + return ReturnResult.successed(Util.null2String(templateId)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } From 6e1f70ef82ffd0dea75fc31a3d2bbc4dffee7b3b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 18:25:53 +0800 Subject: [PATCH 148/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.java | 4 + .../mapper/resource/HrmResourceMapper.xml | 112 ++++++++++++++++++ .../service/HrmResourceService.java | 15 +++ .../service/impl/HrmResourceServiceImpl.java | 37 +++++- .../web/HrmResourceController.java | 26 ++++ .../wrapper/HrmResourceWrapper.java | 8 ++ 6 files changed, 199 insertions(+), 3 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 1c2bec80..aaa7f84e 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -51,4 +51,8 @@ public interface HrmResourceMapper { Integer insertSearchTemplate(SearchTemplatePO templatePO); Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); + + Integer insertCustomTemplate(SearchTemplatePO templatePO); + + Integer deleteCustomTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 226c6e67..793d042a 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -234,6 +234,111 @@ + + INSERT INTO JCL_ORG_CUSTOM_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + + + + + select JCL_ORG_CUSTOM_TEMPLATE_ID.currval from dual + + INSERT INTO JCL_ORG_CUSTOM_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + delete @@ -242,6 +347,13 @@ and creator = #{userId} + + delete + from jcl_org_custom_template + where id = #{id} + and creator = #{userId} + + AND t.lastname like CONCAT('%',#{resourcePO.lastName},'%') diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index dc14af4d..a794f2b0 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -127,4 +127,19 @@ public interface HrmResourceService { * @return */ List getSearchTemplate(Map params); + + /** + * 保存定制列模板 + * + * @param params + * @return + */ + Integer saveCustomTemplate(SearchTemplateParam params); + + /** + * 删除定制列模板 + * + * @param id + */ + void deleteCustomTemplate(Integer id); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 2926d163..557e5526 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -98,6 +98,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(SystemDataMapper.class); } + // 所有满足条件的岗位ID + private List jobTitleList = new ArrayList<>(); + // 是否 + boolean searchJobTitle = false; + @Override public Map getSearchTree(SearchTreeParams params) { @@ -203,6 +208,25 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return templates; } + @Override + public Integer saveCustomTemplate(SearchTemplateParam params) { + SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); + if (null == templatePO) { + return -1; + } + templatePO.setName(params.getShowname()); + templatePO.setCreator(user.getUID()); + templatePO.setCreateTime(new Date()); + templatePO.setUpdateTime(new Date()); + getHrmResourceMapper().insertCustomTemplate(templatePO); + return templatePO.getId(); + } + + @Override + public void deleteCustomTemplate(Integer id) { + getHrmResourceMapper().deleteCustomTemplate(id, user.getUID()); + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); @@ -755,6 +779,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if (key.endsWith("workyear") || key.endsWith("companyworkyear")) { conditionItem.setConditionType(ConditionType.INPUTNUMBER); } + // + if (key.endsWith("jobactivity")) { + searchJobTitle = true; + } + if (key.endsWith("jobGroupId")) { + searchJobTitle = true; + } + if (key.endsWith("jobtitle")) { + searchJobTitle = true; + } String tableSql = buildTableSql(key); if (StringUtils.isBlank(tableSql)) { return; @@ -800,9 +834,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String scopeId = s[0]; String tableName = s[1]; String fieldName = s[2]; - if ("jobactivity".equals(fieldName)) { - fieldName = "jobactivitydesc"; - } if ("hrm".equals(tableName)) { sb.append("t.").append(fieldName); } else { diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index a3638a5a..7813c5f0 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -279,4 +279,30 @@ public class HrmResourceController { return ReturnResult.exceptionHandle(e); } } + + @POST + @Path("/saveCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { + try { + User user = HrmUserVarify.getUser(request, response); + Integer templateId = getHrmResourceWrapper(user).saveCustomTemplate(params); + return ReturnResult.successed(Util.null2String(templateId)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/deleteCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplatePO params) { + try { + User user = HrmUserVarify.getUser(request, response); + getHrmResourceWrapper(user).deleteCustomTemplate(params.getId()); + return ReturnResult.successed(); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 6139b17f..8e1e183d 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -91,4 +91,12 @@ public class HrmResourceWrapper extends OrganizationWrapper { public List getSearchTemplate(Map params) { return getHrmResourceService(user).getSearchTemplate(params); } + + public Integer saveCustomTemplate(SearchTemplateParam params) { + return getHrmResourceService(user).saveCustomTemplate(params); + } + + public void deleteCustomTemplate(Integer id) { + getHrmResourceService(user).deleteCustomTemplate(id); + } } From 4076a755f18e9ec2d4a6d80ce9a06c6289d866f1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 Jan 2023 14:26:13 +0800 Subject: [PATCH 149/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/hrmresource/SystemDataMapper.java | 1 + .../mapper/hrmresource/SystemDataMapper.xml | 15 +++++ .../impl/HrmPersonnelCardServiceImpl.java | 18 +++++- .../service/impl/HrmResourceServiceImpl.java | 62 +++++++++++++------ 4 files changed, 74 insertions(+), 22 deletions(-) diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java index aeb9eb0d..ca16794d 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java @@ -63,4 +63,5 @@ public interface SystemDataMapper { List getHrmFieldsByScopeId(@Param("scopeId") String scopeId); + List getJobTitleIds(@Param("jobActivityId") String jobActivityId, @Param("jobGroupId") String jobGroupId); } diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml index 9d5d0833..496434fe 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml @@ -203,6 +203,21 @@ WHERE FIELDHTMLTYPE != '6' and groupid IN (SELECT id FROM hrm_fieldgroup WHERE grouptype = #{scopeId}) ORDER BY hrmallfield.groupid, hrmallfield.fieldorder + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index 404ffc05..7b857b6b 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -173,6 +173,7 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel */ private FormItem getFormItem(CusTreeFormPO cusTreeFormPO, Long uId) throws Exception { FormItem formItem = new FormItem(); + RecordSet recordSet = new RecordSet(); formItem.setId(cusTreeFormPO.getId().toString()); formItem.setTitle(cusTreeFormPO.getFormLabel()); List itemList = new ArrayList<>(); @@ -188,9 +189,22 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel } String hrmData = ""; if (hfm.isBaseField(fieldName)) { - hrmData = hfm.getHrmData(fieldName); + if ("jobactivity".equals(fieldName)) { + recordSet.execute("SELECT h1.ID AS jobactivity FROM HRMJOBTITLES h INNER JOIN HRMJOBACTIVITIES h1 ON h.JOBACTIVITYID = h1.ID WHERE h.ID = '" + hfm.getHrmData("jobtitle") + "'"); + if (recordSet.next()) { + hrmData = recordSet.getString(fieldName); + // 职务浏览按钮:282 + hrmFieldConf.put("type", 282); + } + } else if ("jobGroupId".equals(fieldName)) { + recordSet.execute("SELECT h2.ID AS jobGroupId FROM HRMJOBTITLES h INNER JOIN HRMJOBACTIVITIES h1 ON h.JOBACTIVITYID = h1.ID INNER JOIN HRMJOBGROUPS h2 ON h1.JOBGROUPID = h2.ID WHERE h.ID = '" + hfm.getHrmData("jobtitle") + "'"); + if (recordSet.next()) { + hrmData = recordSet.getString(fieldName); + } + } else { + hrmData = hfm.getHrmData(fieldName); + } } else { - RecordSet recordSet = new RecordSet(); recordSet.execute("select " + fieldName + " from cus_fielddata where SCOPE = '" + cusTreeFormPO.getScope() + "' and SCOPEID =" + cusTreeFormPO.getId() + " and id = " + uId); if (recordSet.next()) { hrmData = recordSet.getString(fieldName); diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 557e5526..a978e911 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -99,7 +99,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } // 所有满足条件的岗位ID - private List jobTitleList = new ArrayList<>(); + private List jobTitleList = null; // 是否 boolean searchJobTitle = false; @@ -407,12 +407,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic buildDynamicSql(searchConditionItem, key, value, sb, dbType); // 根据不同的类型,不同的查询方式 } + if (searchJobTitle) { + String jobTitleIds = StringUtils.join(jobTitleList, ","); + sb.append(" and t.jobtitle in (").append(StringUtils.isNotBlank(jobTitleIds) ? jobTitleIds : "''").append(") "); + } // 分权查询 DetachUtil detachUtil = new DetachUtil(user); String parentCompanyIds = detachUtil.getJclRoleLevels(); if (detachUtil.isDETACH()) { - sb.append(" And t.subcompanyid1 in(").append(parentCompanyIds).append(")"); + sb.append(" and t.subcompanyid1 in(").append(parentCompanyIds).append(")"); } return sb.toString(); @@ -779,15 +783,34 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if (key.endsWith("workyear") || key.endsWith("companyworkyear")) { conditionItem.setConditionType(ConditionType.INPUTNUMBER); } - // + // 职务 if (key.endsWith("jobactivity")) { searchJobTitle = true; + List jobTitleIds = getSystemDataMapper().getJobTitleIds(value, null); + if (null == jobTitleList) { + jobTitleList = jobTitleIds; + } else { + jobTitleList.retainAll(jobTitleIds); + } + return; } + // 职务类别 if (key.endsWith("jobGroupId")) { searchJobTitle = true; + List jobTitleIds = getSystemDataMapper().getJobTitleIds(null, value); + if (null == jobTitleList) { + jobTitleList = jobTitleIds; + } else { + jobTitleList.retainAll(jobTitleIds); + } + return; } + // 岗位 if (key.endsWith("jobtitle")) { searchJobTitle = true; + jobTitleList = new ArrayList<>(); + jobTitleList.add(Integer.parseInt(value)); + return; } String tableSql = buildTableSql(key); if (StringUtils.isBlank(tableSql)) { @@ -831,29 +854,28 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if (s.length < 3) { return ""; } + String scopeId = s[0]; String tableName = s[1]; String fieldName = s[2]; - if ("hrm".equals(tableName)) { - sb.append("t.").append(fieldName); - } else { - switch (scopeId) { - case "-1": - sb.append("t0.").append(fieldName); - break; - case "1": - sb.append("t1.").append(fieldName); - break; - case "3": - sb.append("t2.").append(fieldName); - break; - default: - return ""; - } + if ("hrm".equals(tableName)) { + return sb.append("t.").append(fieldName).toString(); } - + switch (scopeId) { + case "-1": + sb.append("t0.").append(fieldName); + break; + case "1": + sb.append("t1.").append(fieldName); + break; + case "3": + sb.append("t2.").append(fieldName); + break; + default: + return ""; + } return sb.toString(); } From 71c427d1ec983d87d5e80fdde6b6156225086376 Mon Sep 17 00:00:00 2001 From: Mlin Date: Wed, 11 Jan 2023 14:48:24 +0800 Subject: [PATCH 150/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AD=97=E6=AE=B5=E5=B1=95=E7=A4=BA20230111?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.java | 5 +++ .../mapper/resource/HrmResourceMapper.xml | 33 +++++++++++++++++++ .../service/impl/HrmResourceServiceImpl.java | 32 ++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index aaa7f84e..84d05129 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -1,5 +1,6 @@ package com.engine.organization.mapper.resource; +import com.alibaba.fastjson.JSONObject; import com.engine.organization.entity.hrmresource.po.ResourcePO; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; @@ -55,4 +56,8 @@ public interface HrmResourceMapper { Integer insertCustomTemplate(SearchTemplatePO templatePO); Integer deleteCustomTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); + + List queryAllResColumns(@Param("level") String level,@Param("grade") String grade); + + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 793d042a..7f1135d7 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -370,5 +370,38 @@ + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 557e5526..67993340 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -6,6 +6,8 @@ import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionType; import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.util.HrmFieldSearchConditionComInfo; +import com.cloudstore.eccom.constant.WeaBoolAttr; +import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; import com.engine.hrm.util.face.HrmFaceCheckManager; @@ -40,6 +42,7 @@ import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; +import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections.CollectionUtils; @@ -74,6 +77,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private static final String RIGHT_NAME = "Roster:All"; + private static final String level = getFieldName("职等"); + private static final String grade = getFieldName("职级"); + private HrmRelationMapper getHrmRelationMapper() { return MapperProxyFactory.getProxy(HrmRelationMapper.class); } @@ -118,6 +124,22 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); + + List weaTableColumnList = new ArrayList<>(); + WeaTableColumn weaTableColumn = new WeaTableColumn(); + + + List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); +// for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ +// System.out.println(jsonObject.getString("level_name")); +// weaTableColumn.setText("职等"); +// weaTableColumn.setDisplay(WeaBoolAttr.TRUE); +// weaTableColumn.setColumn("levelName"); +// weaTableColumnList.add(weaTableColumn); +// } +// table.setColumns(weaTableColumnList); + +// weaTableColumnList = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); @@ -869,4 +891,14 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic options.add(0, searchConditionOption); } + + private static String getFieldName(String fieldabel) { + RecordSet recordSet = new RecordSet(); + String fieldname = null; + recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel+"'"); + if (recordSet.next()) { + fieldname = recordSet.getString("fieldname"); + } + return fieldname; + } } From d5ca665f2fd91c88218f790f155f19de0429fa99 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 Jan 2023 15:42:41 +0800 Subject: [PATCH 151/203] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=88=97=E7=A9=BF=E6=A2=AD=E6=A1=86=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/po/TransferDataPO.java | 22 +++++ .../mapper/resource/HrmResourceMapper.java | 2 + .../mapper/resource/HrmResourceMapper.xml | 7 ++ .../service/HrmResourceService.java | 8 ++ .../service/impl/HrmResourceServiceImpl.java | 86 +++++++++++++++---- .../web/HrmResourceController.java | 13 +++ .../wrapper/HrmResourceWrapper.java | 4 + 7 files changed, 125 insertions(+), 17 deletions(-) create mode 100644 src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java diff --git a/src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java b/src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java new file mode 100644 index 00000000..c0de5cba --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/po/TransferDataPO.java @@ -0,0 +1,22 @@ +package com.engine.organization.entity.hrmresource.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2023/01/11 + * @version: 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class TransferDataPO { + private String id; + private String label; + private String title; + private String idx; +} diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index aaa7f84e..164252fb 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -48,6 +48,8 @@ public interface HrmResourceMapper { SearchTemplatePO getSearchTemplateById(@Param("id") String id); + SearchTemplatePO getCustomTemplateById(@Param("id") String id); + Integer insertSearchTemplate(SearchTemplatePO templatePO); Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 793d042a..ff59d0b7 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -129,6 +129,13 @@ where id = #{id} + + diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index a794f2b0..dee1bbee 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -142,4 +142,12 @@ public interface HrmResourceService { * @param id */ void deleteCustomTemplate(Integer id); + + /** + * 获取列定制穿梭框数据 + * + * @param params + * @return + */ + Map getCustomTransferData(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index a978e911..0f68bbfc 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -20,6 +20,7 @@ import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.HrmRelationPO; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; +import com.engine.organization.entity.hrmresource.po.TransferDataPO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; import com.engine.organization.entity.jclimport.po.CusFormFieldPO; import com.engine.organization.entity.job.bo.JobBO; @@ -52,6 +53,7 @@ import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -168,29 +170,19 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public String getTemplateSelectKeys(Map params) { + // TODO String templateId = Util.null2String(params.get("templateId")); String column = Util.null2String(params.get("column")); OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), "数据有误,未找到对应数据"); // 判断是否为搜索模板 + SearchTemplatePO searchTemplateById = null; if (StringUtils.isBlank(column)) { - SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); - String basicFields = searchTemplateById.getBasicFields(); - String personalFields = searchTemplateById.getPersonalFields(); - String workflowFields = searchTemplateById.getWorkFields(); - List selectKeys = new ArrayList<>(); - if (StringUtils.isNotBlank(basicFields)) { - selectKeys.addAll(Arrays.asList(basicFields.split(","))); - } - if (StringUtils.isNotBlank(personalFields)) { - selectKeys.addAll(Arrays.asList(personalFields.split(","))); - } - if (StringUtils.isNotBlank(workflowFields)) { - selectKeys.addAll(Arrays.asList(workflowFields.split(","))); - } - return StringUtils.join(selectKeys, ","); + searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); + } else { + searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); } - return ""; - + List selectKeys = getSelectKeys(searchTemplateById); + return StringUtils.join(selectKeys, ","); } @Override @@ -227,6 +219,38 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic getHrmResourceMapper().deleteCustomTemplate(id, user.getUID()); } + @Override + public Map getCustomTransferData(Map params) { + Map resultMap = new HashMap<>(); + String templateId = StringUtils.isNotBlank(Util.null2String(params.get("templateId"))) ? Util.null2String(params.get("templateId")) : "-1"; + List transferDatas = new ArrayList<>(); + List transferKeys = new ArrayList<>(); + List transferOptions = new ArrayList<>(); + List allConditions = getAllConditions(); + AtomicInteger idx = new AtomicInteger(0); + for (SearchConditionGroup allCondition : allConditions) { + List items = allCondition.getItems(); + List collect = items.stream().map(item -> TransferDataPO.builder().id(item.getDomkey()[0]).label(item.getLabel()).title(allCondition.getTitle()).idx(Integer.toString(idx.get())).build()).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(collect)) { + transferDatas.addAll(collect); + } + transferOptions.add(SearchTemplateParam.builder().key(Integer.toString(idx.getAndIncrement())).showname(allCondition.getTitle()).build()); + } + if ("-1".equals(templateId)) { + List items = allConditions.get(0).getItems(); + transferKeys = items.stream().map(item -> item.getDomkey()[0]).collect(Collectors.toList()); + } else { + SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); + transferKeys = getSelectKeys(searchTemplateById); + } + + resultMap.put("transferDatas", transferDatas); + resultMap.put("transferKeys", transferKeys); + resultMap.put("transferOptions", transferOptions); + + return resultMap; + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); @@ -879,6 +903,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return sb.toString(); } + /** + * 为下拉框搜索条件、添加空选项 + * + * @param searchConditionItem + */ private void addEmptyForSelect(SearchConditionItem searchConditionItem) { searchConditionItem.setValue(""); List options = searchConditionItem.getOptions(); @@ -891,4 +920,27 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic options.add(0, searchConditionOption); } + + /** + * 根据模板示例,组装所有selectKeys + * + * @param searchTemplatePO + * @return + */ + private List getSelectKeys(SearchTemplatePO searchTemplatePO) { + List selectKeys = new ArrayList<>(); + String basicFields = searchTemplatePO.getBasicFields(); + String personalFields = searchTemplatePO.getPersonalFields(); + String workflowFields = searchTemplatePO.getWorkFields(); + if (StringUtils.isNotBlank(basicFields)) { + selectKeys.addAll(Arrays.asList(basicFields.split(","))); + } + if (StringUtils.isNotBlank(personalFields)) { + selectKeys.addAll(Arrays.asList(personalFields.split(","))); + } + if (StringUtils.isNotBlank(workflowFields)) { + selectKeys.addAll(Arrays.asList(workflowFields.split(","))); + } + return selectKeys; + } } diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 7813c5f0..6f1b49ea 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -305,4 +305,17 @@ public class HrmResourceController { return ReturnResult.exceptionHandle(e); } } + + @GET + @Path("/getCustomTransferData") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getCustomTransferData(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getCustomTransferData(map))); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 8e1e183d..2588586d 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -99,4 +99,8 @@ public class HrmResourceWrapper extends OrganizationWrapper { public void deleteCustomTemplate(Integer id) { getHrmResourceService(user).deleteCustomTemplate(id); } + + public Map getCustomTransferData(Map params) { + return getHrmResourceService(user).getCustomTransferData(params); + } } From 0f73f6e3acfccebdb7c935fb2f4b1be3c34aed41 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 11 Jan 2023 16:28:19 +0800 Subject: [PATCH 152/203] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=88=97=E7=A9=BF=E6=A2=AD=E6=A1=86=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/personnelcard/vo/CardAccessVO.java | 2 +- .../mapper/resource/HrmResourceMapper.java | 8 ++++ .../mapper/resource/HrmResourceMapper.xml | 8 ++++ .../service/impl/HrmResourceServiceImpl.java | 43 ++++++++++++------- 4 files changed, 44 insertions(+), 17 deletions(-) diff --git a/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java b/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java index 934ebbeb..cdefeff7 100644 --- a/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java +++ b/src/com/engine/organization/entity/personnelcard/vo/CardAccessVO.java @@ -55,7 +55,7 @@ public class CardAccessVO { @OrganizationTableColumn(text = "所有上级可见", width = "15%", column = "all_superior") private Integer allSuperior; - @OrganizationTableColumn(text = "查看自定义", width = "15%", column = "custom",transmethod = "com.engine.organization.transmethod.SystemTransMethod.getRoleName") + @OrganizationTableColumn(text = "查看自定义", width = "30%", column = "custom",transmethod = "com.engine.organization.transmethod.SystemTransMethod.getRoleName") private String custom; } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 164252fb..d0f3f33d 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -46,6 +46,14 @@ public interface HrmResourceMapper { */ List getSearchTemplatesByUser(@Param("userId") Integer userId); + /** + * 根据用户ID获取列定制模板 + * + * @param userId + * @return + */ + List getCustomTemplatesByUser(@Param("userId") Integer userId); + SearchTemplatePO getSearchTemplateById(@Param("id") String id); SearchTemplatePO getCustomTemplateById(@Param("id") String id); diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index ff59d0b7..17c13dd5 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -135,6 +135,14 @@ from jcl_org_custom_template where id = #{id} + params) { - // TODO String templateId = Util.null2String(params.get("templateId")); - String column = Util.null2String(params.get("column")); + templateId = StringUtils.isBlank(templateId) ? "-1" : templateId; + String type = Util.null2String(params.get("type")); OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), "数据有误,未找到对应数据"); // 判断是否为搜索模板 - SearchTemplatePO searchTemplateById = null; - if (StringUtils.isBlank(column)) { - searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); + SearchTemplatePO searchTemplateById; + List selectKeys; + if ("custom".equals(type)) { + if ("-1".equals(templateId)) { + selectKeys = Arrays.asList("-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid".split(",")); + } else { + searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); + selectKeys = getSelectKeys(searchTemplateById); + } } else { - searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); + if ("-1".equals(templateId)) { + selectKeys = getAllConditions().get(0).getItems().stream().map(item -> item.getDomkey()[0]).collect(Collectors.toList()); + } else { + searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); + selectKeys = getSelectKeys(searchTemplateById); + } } - List selectKeys = getSelectKeys(searchTemplateById); + return StringUtils.join(selectKeys, ","); } @Override public List getSearchTemplate(Map params) { - String templateId = StringUtils.isNotBlank(Util.null2String(params.get("templateId"))) ? Util.null2String(params.get("templateId")) : "-1"; + String type = Util.null2String(params.get("type")); int userUID = user.getUID(); // 根据ID查询所存储的模板 - List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); + List templates; + if ("custom".equals(type)) { + templates = getHrmResourceMapper().getCustomTemplatesByUser(userUID); + } else { + templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); + } templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); - templates.forEach(item -> { - if (templateId.equals(item.getKey())) { - item.setSelected(true); - } - }); return templates; } @@ -237,8 +248,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic transferOptions.add(SearchTemplateParam.builder().key(Integer.toString(idx.getAndIncrement())).showname(allCondition.getTitle()).build()); } if ("-1".equals(templateId)) { - List items = allConditions.get(0).getItems(); - transferKeys = items.stream().map(item -> item.getDomkey()[0]).collect(Collectors.toList()); + String selectKeys = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid"; + transferKeys = Arrays.asList(selectKeys.split(",")); } else { SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); transferKeys = getSelectKeys(searchTemplateById); From 09d4dbddd5a53b7e306f75d50f3cc9e1959030c4 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 12 Jan 2023 09:41:58 +0800 Subject: [PATCH 153/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E5=88=97?= =?UTF-8?q?=E5=AE=9A=E5=88=B6=E6=A8=A1=E6=9D=BF=E6=9F=A5=E8=AF=A220230112?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/JclOrgCustomTemplatePO.java | 37 ++++++++++ .../vo/JclOrgCustomTemplateVO.java | 67 +++++++++++++++++++ .../mapper/resource/JclOrgCustomTemplate.xml | 29 ++++++++ .../service/HrmResourceService.java | 8 +++ .../service/impl/HrmResourceServiceImpl.java | 49 ++++++++++++++ .../web/HrmResourceController.java | 13 ++++ .../wrapper/HrmResourceWrapper.java | 4 ++ 7 files changed, 207 insertions(+) create mode 100644 src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java create mode 100644 src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java create mode 100644 src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml diff --git a/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java b/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java new file mode 100644 index 00000000..c1af333f --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java @@ -0,0 +1,37 @@ +package com.engine.organization.entity.hrmresource.po; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class JclOrgCustomTemplatePO { + + private Integer id; + + private String name; + + private String basicFields; + + private String personalFields; + + private String workFields; + + private Integer isused; + + private Integer creator; + + private Date createTime; + + private Date updateTime; +} diff --git a/src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java b/src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java new file mode 100644 index 00000000..f5bbbd1c --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/vo/JclOrgCustomTemplateVO.java @@ -0,0 +1,67 @@ +package com.engine.organization.entity.hrmresource.vo; + +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import com.engine.organization.annotation.OrganizationTableOperate; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "8df45b09-0cda-4f57-a93a-ca9f96a4c111", + fields = "t.id," + + "t.name," + + "t.basic_fields," + + "t.personal_fields," + + "t.work_fields," + + "t.isused," + + "t.creator," + + "t.create_time," + + "t.update_time", + fromSql = "FROM jcl_org_custom_template t ", + orderby = "id", + sortway = "asc", + primarykey = "id", + operates = { + @OrganizationTableOperate(index = "0", text = "编辑"), + @OrganizationTableOperate(index = "1", text = "另存为"), + @OrganizationTableOperate(index = "2", text = "删除") + }, + tableType = WeaTableType.CHECKBOX +) +public class JclOrgCustomTemplateVO { + + @OrganizationTableColumn(column = "id", display = false) + private Integer id; + + @OrganizationTableColumn(text = "模板名称", width = "30%", column = "name") + private String name; + + @OrganizationTableColumn(column = "basic_fields", display = false) + private String basicFields; + + @OrganizationTableColumn(column = "personal_fields", display = false) + private String personalFields; + + @OrganizationTableColumn(column = "work_fields", display = false) + private String workFields; + + @OrganizationTableColumn(column = "isused", display = false) + private Integer isUsed; + + @OrganizationTableColumn(column = "creator", display = false) + private Integer creator; + + @OrganizationTableColumn(text = "创建时间",column = "create_time", width = "30%") + private Date createTime; + + @OrganizationTableColumn(text = "更新时间",column = "update_time", display = false) + private Date updateTime; +} diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml new file mode 100644 index 00000000..65ef3455 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + t.id, + t.name, + t.basic_fields, + t.personal_fields, + t.work_fields text, + t.isused, + t.creator, + t.create_time, + t.update_time + + + + + \ No newline at end of file diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index a794f2b0..247a7d07 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -142,4 +142,12 @@ public interface HrmResourceService { * @param id */ void deleteCustomTemplate(Integer id); + + + /** + * 展示所有模板 + * @param params + * @return + */ + Map getCustomTemplate(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 5de8cbff..cc20fc6b 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -17,12 +17,16 @@ import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; +import com.engine.organization.entity.extend.bo.ExtendInfoBO; +import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.HrmRelationPO; +import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; +import com.engine.organization.entity.hrmresource.vo.JclOrgCustomTemplateVO; import com.engine.organization.entity.jclimport.po.CusFormFieldPO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; @@ -35,7 +39,9 @@ import com.engine.organization.mapper.hrmresource.HrmRelationMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.HrmResourceMapper; +import com.engine.organization.mapper.resource.JclOrgCustomTemplateMapper; import com.engine.organization.service.HrmResourceService; +import com.engine.organization.transmethod.SystemTransMethod; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; @@ -55,6 +61,7 @@ import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -398,6 +405,48 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return hrmRelationPO.getId(); } + @Override + public Map getCustomTemplate(Map params) { + List infoPOList = new ArrayList<>(); + infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("name").fieldNameDesc("模板名称").fieldType("varchar(255)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build()); + infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("createTime").fieldNameDesc("创建时间").fieldType("date").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(2).isrequired(0).isSystemDefault(0).build()); + Map tabInfoMap = new HashMap<>(); + tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false, true)); + List jclOrgCustomTemplatePOS = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).listAll(); + List isUsed = new ArrayList<>(); + AtomicInteger index = new AtomicInteger(0); + List> collect = jclOrgCustomTemplatePOS.stream().map(item -> { + Map resultMap = new HashMap<>(); + resultMap.put("id", item.getId()); + resultMap.put("name", item.getName()); + resultMap.put("createTime", item.getCreateTime()); + + if (1 == item.getIsused()) { + isUsed.add(index.get()); + } + index.getAndIncrement(); + + return resultMap; + }).collect(Collectors.toList()); + + tabInfoMap.put("datas", collect); + tabInfoMap.put("api_status", true); + Map> isUsedMap = new HashMap<>(); + isUsedMap.put("status", isUsed); + tabInfoMap.put("selectedData", isUsedMap); + tabInfoMap.put("isModalEdit", false); + return tabInfoMap; + + +// OrganizationWeaTable table = new OrganizationWeaTable<>(user, JclOrgCustomTemplateVO.class); +// String sqlWhere = buildSqlWhere(params); +// table.setSqlwhere(sqlWhere); +// WeaResultMsg result = new WeaResultMsg(false); +// result.putAll(table.makeDataResult()); +// result.success(); +// return new HashMap<>(result.getResultMap()); + } + /** * 查询条件 * diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 7813c5f0..212c739e 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -305,4 +305,17 @@ public class HrmResourceController { return ReturnResult.exceptionHandle(e); } } + + @GET + @Path("/getCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map params = request.getParameterMap(); + return ReturnResult.successed(getHrmResourceWrapper(user).getCustomTemplate(params)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 8e1e183d..5167f83e 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -99,4 +99,8 @@ public class HrmResourceWrapper extends OrganizationWrapper { public void deleteCustomTemplate(Integer id) { getHrmResourceService(user).deleteCustomTemplate(id); } + + public Map getCustomTemplate(Map params){ + return getHrmResourceService(user).getCustomTemplate(params); + } } From 8750850dfacd1eb61595272a1a1954cac1b4291f Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 12 Jan 2023 11:30:25 +0800 Subject: [PATCH 154/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E5=88=97?= =?UTF-8?q?=E5=AE=9A=E5=88=B6=E6=A8=A1=E6=9D=BF=E6=9F=A5=E8=AF=A220230112?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../po/JclOrgCustomTemplatePO.java | 46 +++++-- .../mapper/resource/JclOrgCustomTemplate.xml | 29 ----- .../resource/JclOrgCustomTemplateMapper.java | 29 +++++ .../resource/JclOrgCustomTemplateMapper.xml | 120 ++++++++++++++++++ .../service/impl/HrmResourceServiceImpl.java | 4 - .../web/HrmResourceController.java | 2 + 6 files changed, 189 insertions(+), 41 deletions(-) delete mode 100644 src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml create mode 100644 src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java create mode 100644 src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml diff --git a/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java b/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java index c1af333f..03ccf830 100644 --- a/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java +++ b/src/com/engine/organization/entity/hrmresource/po/JclOrgCustomTemplatePO.java @@ -1,37 +1,67 @@ package com.engine.organization.entity.hrmresource.po; -import com.cloudstore.eccom.pc.table.WeaTableType; -import com.engine.organization.annotation.OrganizationTable; -import com.engine.organization.annotation.OrganizationTableColumn; -import com.engine.organization.annotation.OrganizationTableOperate; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.io.Serializable; import java.util.Date; +/** + * + * @TableName jcl_org_custom_template + */ @Data @Builder -@NoArgsConstructor @AllArgsConstructor -public class JclOrgCustomTemplatePO { - +@NoArgsConstructor +public class JclOrgCustomTemplatePO implements Serializable { + /** + * + */ private Integer id; + /** + * + */ private String name; + /** + * + */ private String basicFields; + /** + * + */ private String personalFields; + /** + * + */ private String workFields; + /** + * + */ private Integer isused; + /** + * + */ private Integer creator; + /** + * + */ private Date createTime; + /** + * + */ private Date updateTime; -} + + private static final long serialVersionUID = 1L; + +} \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml deleted file mode 100644 index 65ef3455..00000000 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplate.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - t.id, - t.name, - t.basic_fields, - t.personal_fields, - t.work_fields text, - t.isused, - t.creator, - t.create_time, - t.update_time - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java new file mode 100644 index 00000000..09e48c14 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java @@ -0,0 +1,29 @@ +package com.engine.organization.mapper.resource; + +import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO; + +import java.util.List; + +/** +* @author Mlin +* @description 针对表【jcl_org_custom_template】的数据库操作Mapper +* @createDate 2023-01-12 10:28:52 +* @Entity com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplate +*/ +public interface JclOrgCustomTemplateMapper { + + int deleteByPrimaryKey(Long id); + + int insert(JclOrgCustomTemplatePO record); + + int insertSelective(JclOrgCustomTemplatePO record); + + JclOrgCustomTemplatePO selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(JclOrgCustomTemplatePO record); + + int updateByPrimaryKey(JclOrgCustomTemplatePO record); + + List listAll(); + +} diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml new file mode 100644 index 00000000..01b27d41 --- /dev/null +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + id,name,basic_fields, + personal_fields,work_fields,isused, + creator,create_time,update_time + + + + + + + delete from jcl_org_custom_template + where id = #{id,jdbcType=INTEGER} + + + insert into jcl_org_custom_template + ( id,name,basic_fields + ,personal_fields,work_fields,isused + ,creator,create_time,update_time + ) + values (#{id,jdbcType=INTEGER},#{name,jdbcType=VARCHAR},#{basicFields,jdbcType=VARCHAR} + ,#{personalFields,jdbcType=VARCHAR},#{workFields,jdbcType=VARCHAR},#{isused,jdbcType=INTEGER} + ,#{creator,jdbcType=INTEGER},#{createTime,jdbcType=DATE},#{updateTime,jdbcType=DATE} + ) + + + insert into jcl_org_custom_template + + id, + name, + basic_fields, + personal_fields, + work_fields, + isused, + creator, + create_time, + update_time, + + + #{id,jdbcType=INTEGER}, + #{name,jdbcType=VARCHAR}, + #{basicFields,jdbcType=VARCHAR}, + #{personalFields,jdbcType=VARCHAR}, + #{workFields,jdbcType=VARCHAR}, + #{isused,jdbcType=INTEGER}, + #{creator,jdbcType=INTEGER}, + #{createTime,jdbcType=DATE}, + #{updateTime,jdbcType=DATE}, + + + + update jcl_org_custom_template + + + name = #{name,jdbcType=VARCHAR}, + + + basic_fields = #{basicFields,jdbcType=VARCHAR}, + + + personal_fields = #{personalFields,jdbcType=VARCHAR}, + + + work_fields = #{workFields,jdbcType=VARCHAR}, + + + isused = #{isused,jdbcType=INTEGER}, + + + creator = #{creator,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=DATE}, + + + update_time = #{updateTime,jdbcType=DATE}, + + + where id = #{id,jdbcType=INTEGER} + + + update jcl_org_custom_template + set + name = #{name,jdbcType=VARCHAR}, + basic_fields = #{basicFields,jdbcType=VARCHAR}, + personal_fields = #{personalFields,jdbcType=VARCHAR}, + work_fields = #{workFields,jdbcType=VARCHAR}, + isused = #{isused,jdbcType=INTEGER}, + creator = #{creator,jdbcType=INTEGER}, + create_time = #{createTime,jdbcType=DATE}, + update_time = #{updateTime,jdbcType=DATE} + where id = #{id,jdbcType=INTEGER} + + diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index cc20fc6b..d658d0fc 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -6,7 +6,6 @@ import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionType; import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.util.HrmFieldSearchConditionComInfo; -import com.cloudstore.eccom.constant.WeaBoolAttr; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; @@ -26,7 +25,6 @@ import com.engine.organization.entity.hrmresource.po.HrmRelationPO; import com.engine.organization.entity.hrmresource.po.JclOrgCustomTemplatePO; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.hrmresource.vo.HrmResourceVO; -import com.engine.organization.entity.hrmresource.vo.JclOrgCustomTemplateVO; import com.engine.organization.entity.jclimport.po.CusFormFieldPO; import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; @@ -41,14 +39,12 @@ import com.engine.organization.mapper.job.JobMapper; import com.engine.organization.mapper.resource.HrmResourceMapper; import com.engine.organization.mapper.resource.JclOrgCustomTemplateMapper; import com.engine.organization.service.HrmResourceService; -import com.engine.organization.transmethod.SystemTransMethod; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; -import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageUtil; import com.engine.organization.util.tree.SearchTreeUtil; import org.apache.commons.collections.CollectionUtils; diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 212c739e..9e3b515d 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -318,4 +318,6 @@ public class HrmResourceController { return ReturnResult.exceptionHandle(e); } } + + } From a7b1f33e1a3b6ec79194dec4f8f1861b41274d52 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 Jan 2023 14:08:51 +0800 Subject: [PATCH 155/203] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=88=97=E7=A9=BF=E6=A2=AD=E6=A1=86=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.xml | 2 +- .../service/impl/HrmResourceServiceImpl.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 17c13dd5..47b2b266 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -136,7 +136,7 @@ where id = #{id} + select t.id from jcl_org_custom_template t + + + + delete from jcl_org_custom_template where id in + + #{id} + + + diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index b337219f..edd0e739 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -136,6 +136,14 @@ public interface HrmResourceService { */ Integer saveCustomTemplate(SearchTemplateParam params); + /** + * 批量修改保存定制列模板 + * + * @param params + * @return + */ + Integer updateCustomTemplate(Map params); + /** * 删除定制列模板 * diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index e66c0972..c3dcd10f 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -17,6 +17,7 @@ import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.bo.ExtendInfoBO; +import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; @@ -34,6 +35,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.HrmGroupEnum; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; +import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -43,6 +45,7 @@ import com.engine.organization.service.HrmResourceService; import com.engine.organization.util.HasRightUtil; import com.engine.organization.util.MenuBtn; import com.engine.organization.util.OrganizationAssert; +import com.engine.organization.util.OrganizationDateUtil; import com.engine.organization.util.db.DBType; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.detach.DetachUtil; @@ -57,6 +60,7 @@ import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; +import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -249,6 +253,40 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return templatePO.getId(); } + @Override + public Integer updateCustomTemplate(Map params) { + int rowNum = Util.getIntValue((String) params.get("rownum")); + int count = 0; + List allIds = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).listAllId(); + String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + for (int i = 0; i < rowNum; i++) { + String recordIndex = "_" + i; + String id = Util.null2String(params.get("id" + recordIndex)); + String name = Util.null2String(params.get("name" + recordIndex)); + JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO(); + if (StringUtils.isNotBlank(id)) { + // 更新 + long jclId = Long.parseLong(id); + jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).selectByPrimaryKey(jclId); + jclOrgCustomTemplatePO.setName(name); + jclOrgCustomTemplatePO.setUpdateTime(new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + count += MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateByPrimaryKey(jclOrgCustomTemplatePO); + allIds.remove(jclId); + } else { + //插入 + jclOrgCustomTemplatePO.setName(name); + jclOrgCustomTemplatePO.setCreator(user.getUID()); + jclOrgCustomTemplatePO.setCreateTime(new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + jclOrgCustomTemplatePO.setUpdateTime(new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); + count += MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).insert(jclOrgCustomTemplatePO); + } + } + if (CollectionUtils.isNotEmpty(allIds)) { + count += MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).deleteByIds(allIds); + } + return count; + } + @Override public void deleteCustomTemplate(Integer id) { getHrmResourceMapper().deleteCustomTemplate(id, user.getUID()); @@ -451,10 +489,13 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic resultMap.put("name", item.getName()); resultMap.put("createTime", item.getCreateTime()); - if (1 == item.getIsused()) { - isUsed.add(index.get()); + if(item.getIsused()!=null){ + + if (1 == item.getIsused()) { + isUsed.add(index.get()); + } + index.getAndIncrement(); } - index.getAndIncrement(); return resultMap; }).collect(Collectors.toList()); diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index c59f267d..e8ea8c7e 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -332,5 +332,17 @@ public class HrmResourceController { } } + @Path("/updateCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult updateCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + Integer templateId = getHrmResourceWrapper(user).updateCustomTemplate(map); + return ReturnResult.successed(Util.null2String(templateId)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 091de226..f2e4bfe4 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -96,6 +96,10 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).saveCustomTemplate(params); } + public Integer updateCustomTemplate(Map params) { + return getHrmResourceService(user).updateCustomTemplate(params); + } + public void deleteCustomTemplate(Integer id) { getHrmResourceService(user).deleteCustomTemplate(id); } From 15b14cf4b1c78daebe37760534978c72c7e0a124 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 Jan 2023 15:45:43 +0800 Subject: [PATCH 158/203] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=88=97=E7=A9=BF=E6=A2=AD=E6=A1=86=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/param/SearchTemplateParam.java | 2 +- .../organization/mapper/resource/HrmResourceMapper.xml | 8 +++----- .../organization/service/impl/HrmResourceServiceImpl.java | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java index 90434e99..cd05eeff 100644 --- a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java @@ -16,7 +16,7 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class SearchTemplateParam { private String key; - private boolean selected; + //private boolean selected; private String showname; private String fields; } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index e478265e..4a206cc3 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -12,7 +12,7 @@ - + @@ -117,8 +117,7 @@ @@ -138,8 +137,7 @@ diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 40278dcd..66a5d83f 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -231,7 +231,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } else { templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); } - templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); + templates.add(0, SearchTemplateParam.builder().key("-1").showname("默认模板").build()); return templates; } From f79ad8681f7b61b554200798527a3783628804a4 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 Jan 2023 16:49:54 +0800 Subject: [PATCH 159/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/extend/bo/ExtendInfoBO.java | 30 +++++++++++++++++++ .../entity/extend/po/ExtendInfoPO.java | 2 ++ .../service/impl/HrmResourceServiceImpl.java | 18 +++++------ .../web/HrmResourceController.java | 1 + 4 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java index 71166d97..c033a73a 100644 --- a/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java +++ b/src/com/engine/organization/entity/extend/bo/ExtendInfoBO.java @@ -81,6 +81,36 @@ public class ExtendInfoBO { } + /** + * 渲染列表时,根据每一列的viewAttr渲染 + * @param user + * @param infoPOList + * @param showLabel + * @param checkBox + * @return + */ + public static List> convertInfoListToTable(User user, List infoPOList, boolean showLabel, boolean checkBox) { + List> lsCol = new ArrayList<>(); + Map col; + + int width = 100 / infoPOList.size(); + for (ExtendInfoPO extendInfoPO : infoPOList) { + String tmpkey = extendInfoPO.getFieldName(); + col = new HashMap<>(); + col.put("title", extendInfoPO.getFieldNameDesc()); + col.put("key", tmpkey); + col.put("dataIndex", tmpkey); + col.put("com", getFieldDetailInfo(user, extendInfoPO, extendInfoPO.getViewAttr(), showLabel, width)); + col.put("width", width + "%"); + if (checkBox && Integer.valueOf(7).equals(extendInfoPO.getControlType())) { + col.put("checkType", "checkbox"); + } + lsCol.add(col); + } + return lsCol; + + } + public static List> convertInfoListToTable(User user, List infoPOList, int viewAttr, boolean showLabel) { return convertInfoListToTable(user, infoPOList, viewAttr, showLabel, false); } diff --git a/src/com/engine/organization/entity/extend/po/ExtendInfoPO.java b/src/com/engine/organization/entity/extend/po/ExtendInfoPO.java index da0033b1..57f48249 100644 --- a/src/com/engine/organization/entity/extend/po/ExtendInfoPO.java +++ b/src/com/engine/organization/entity/extend/po/ExtendInfoPO.java @@ -131,4 +131,6 @@ public class ExtendInfoPO { private int deleteType; private Date createTime; private Date updateTime; + + private Integer viewAttr; } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 098b5516..78189090 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -17,7 +17,6 @@ import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.extend.bo.ExtendInfoBO; -import com.engine.organization.entity.extend.param.ExtendInfoParams; import com.engine.organization.entity.extend.po.ExtendInfoPO; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; @@ -35,7 +34,6 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.HrmGroupEnum; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; -import com.engine.organization.mapper.extend.ExtMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.mapper.job.JobMapper; @@ -55,12 +53,12 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.json.JSONException; import org.json.JSONObject; +import weaver.common.DateUtil; import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; -import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -137,7 +135,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic WeaTableColumn weaTableColumn = new WeaTableColumn(); - List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); + //List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level, grade); // for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ // System.out.println(jsonObject.getString("level_name")); // weaTableColumn.setText("职等"); @@ -476,10 +474,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Map getCustomTemplate(Map params) { List infoPOList = new ArrayList<>(); - infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("name").fieldNameDesc("模板名称").fieldType("varchar(255)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build()); - infoPOList.add(ExtendInfoPO.builder().id(null).fieldName("createTime").fieldNameDesc("创建时间").fieldType("date").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(2).isrequired(0).isSystemDefault(0).build()); + infoPOList.add(ExtendInfoPO.builder().viewAttr(2).id(null).fieldName("name").fieldNameDesc("模板名称").fieldType("varchar(255)").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(1).isrequired(0).isSystemDefault(0).build()); + infoPOList.add(ExtendInfoPO.builder().viewAttr(1).id(null).fieldName("createTime").fieldNameDesc("创建时间").fieldType("date").controlType(1).browserType("1").customValue("[\"input\",\"text\",\"50\"]").showOrder(2).isrequired(0).isSystemDefault(0).build()); Map tabInfoMap = new HashMap<>(); - tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, 2, false, true)); + tabInfoMap.put("columns", ExtendInfoBO.convertInfoListToTable(user, infoPOList, false, true)); List jclOrgCustomTemplatePOS = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).listAll(); List isUsed = new ArrayList<>(); AtomicInteger index = new AtomicInteger(0); @@ -487,9 +485,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic Map resultMap = new HashMap<>(); resultMap.put("id", item.getId()); resultMap.put("name", item.getName()); - resultMap.put("createTime", item.getCreateTime()); + resultMap.put("createTime", DateUtil.getDate(item.getCreateTime())); - if(item.getIsused()!=null){ + if (item.getIsused() != null) { if (1 == item.getIsused()) { isUsed.add(index.get()); @@ -1067,7 +1065,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private static String getFieldName(String fieldabel) { RecordSet recordSet = new RecordSet(); String fieldname = null; - recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel+"'"); + recordSet.executeQuery("select fieldname from jcl_org_field where fieldlabel='" + fieldabel + "'"); if (recordSet.next()) { fieldname = recordSet.getString("fieldname"); } diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index e8ea8c7e..dee144f0 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -332,6 +332,7 @@ public class HrmResourceController { } } + @POST @Path("/updateCustomTemplate") @Produces(MediaType.APPLICATION_JSON) public ReturnResult updateCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { From ebb4e88d0d7601be40e7a2b030d4e5e2b6c0b557 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 12 Jan 2023 18:18:44 +0800 Subject: [PATCH 160/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.java | 4 + .../mapper/resource/HrmResourceMapper.xml | 76 +++++++++++-------- .../service/impl/HrmResourceServiceImpl.java | 11 ++- 3 files changed, 58 insertions(+), 33 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index d30faa75..e95578cd 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -57,8 +57,12 @@ public interface HrmResourceMapper { SearchTemplatePO getSearchTemplateById(@Param("id") String id); + SearchTemplatePO getSearchTemplateByName(@Param("userId") Integer userId, @Param("name") String name); + SearchTemplatePO getCustomTemplateById(@Param("id") String id); + SearchTemplatePO getCustomTemplateByName(@Param("userId") Integer userId, @Param("name") String name); + Integer insertSearchTemplate(SearchTemplatePO templatePO); Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 4a206cc3..558001f3 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -12,7 +12,7 @@ - + @@ -384,37 +384,49 @@ + + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 78189090..e720c98c 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -177,6 +177,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Integer saveSearchTemplate(SearchTemplateParam params) { + // 重复名称校验 + SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getSearchTemplateByName(user.getUID(), params.getShowname()); + OrganizationAssert.isNull(searchTemplateByName, "改模板名称已存在"); SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; @@ -239,6 +242,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Integer saveCustomTemplate(SearchTemplateParam params) { + // 重复名称校验 + SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getCustomTemplateByName(user.getUID(), params.getShowname()); + OrganizationAssert.isNull(searchTemplateByName, "改模板名称已存在"); SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; @@ -485,7 +491,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic Map resultMap = new HashMap<>(); resultMap.put("id", item.getId()); resultMap.put("name", item.getName()); - resultMap.put("createTime", DateUtil.getDate(item.getCreateTime())); + resultMap.put("createTime", DateUtil.getDate(item.getCreateTime(), DateUtil.FORMAT_FULL)); if (item.getIsused() != null) { @@ -543,6 +549,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic continue; } String key = entry.getKey(); + if ("lastName".equals(key)) { + sb.append(" and t.lastname ").append(dbType.like(value)); + } SearchConditionItem searchConditionItem = allFieldsMap.get(key); buildDynamicSql(searchConditionItem, key, value, sb, dbType); // 根据不同的类型,不同的查询方式 From e3a78a05c74c141241b25abe265b4dd3f9735df6 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 08:50:27 +0800 Subject: [PATCH 161/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E5=AE=9A=E5=88=B620230113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.xml | 34 ++---------- .../resource/JclOrgCustomTemplateMapper.java | 2 + .../resource/JclOrgCustomTemplateMapper.xml | 12 +++++ .../service/impl/HrmResourceServiceImpl.java | 54 ++++++++++++++----- .../transmethod/HrmResourceTransMethod.java | 20 +++++++ 5 files changed, 77 insertions(+), 45 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index e478265e..16a6fea4 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -386,37 +386,9 @@ \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java index 51a566f8..e57e72e7 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java @@ -32,4 +32,6 @@ public interface JclOrgCustomTemplateMapper { int deleteByIds(@Param("ids") Collection ids); + int updateUsed(@Param("isused")String isused,@Param("id") String id,@Param("creator") String creator); + } diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml index 13b9acd4..9b4388c7 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml @@ -129,4 +129,16 @@ + + update JCL_ORG_CUSTOM_TEMPLATE set isused = #{isused} + + + id = #{id} + + + and creator = #{creator} + + + + diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index f73f15e0..341692c8 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -6,6 +6,7 @@ import com.api.browser.bean.SearchConditionOption; import com.api.browser.util.ConditionType; import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.util.HrmFieldSearchConditionComInfo; +import com.cloudstore.eccom.constant.WeaBoolAttr; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; @@ -132,22 +133,47 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); - + String[] str={"lastname","departmentid","subcompanyid1","jobtitle","mobile","telephone","managerid","dsporder"} ; + String columns = (String) params.get("columns"); + if (StringUtils.isNotBlank(columns)){ + String[] tmp = columns.split(","); + str = new String[tmp.length]; + for (int i=0;i weaTableColumnList = new ArrayList<>(); - WeaTableColumn weaTableColumn = new WeaTableColumn(); - - List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); -// for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ -// System.out.println(jsonObject.getString("level_name")); -// weaTableColumn.setText("职等"); -// weaTableColumn.setDisplay(WeaBoolAttr.TRUE); -// weaTableColumn.setColumn("levelName"); -// weaTableColumnList.add(weaTableColumn); -// } -// table.setColumns(weaTableColumnList); - -// weaTableColumnList = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); + for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ + WeaTableColumn weaTableColumn = new WeaTableColumn(); + weaTableColumn.setText(jsonObject.getString("labelname")); + weaTableColumn.setColumn(jsonObject.getString("fieldname")); + weaTableColumn.setDisplay(WeaBoolAttr.FALSE); + if(Arrays.asList(str).contains(jsonObject.getString("fieldname"))){ + weaTableColumn.setDisplay(WeaBoolAttr.TRUE); + } + weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); + String param = "-1_hrm_"+jsonObject.getString("fieldname")+"_"+user.getUID(); + weaTableColumn.setOtherpara(param); + weaTableColumnList.add(weaTableColumn); + } + // 增加id字段 + WeaTableColumn weaTableColumn = new WeaTableColumn(); + weaTableColumn.setText("id"); + weaTableColumn.setColumn("id"); + weaTableColumn.setDisplay(WeaBoolAttr.FALSE); + weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); + String param = "-1_hrm_id_"+user.getUID(); + weaTableColumn.setOtherpara(param); + weaTableColumnList.add(weaTableColumn); + + table.setColumns(weaTableColumnList); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index fc52ea13..3a48ba05 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -5,7 +5,10 @@ import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.util.db.MapperProxyFactory; +import org.json.JSONObject; +import weaver.conn.RecordSet; import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldManager; /** * @author:dxfeng @@ -14,6 +17,23 @@ import weaver.hrm.User; */ public class HrmResourceTransMethod { + public static String getFieldTrueValue(String id, String para) { +// type = "-1_hrm_lastname"; + HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); + hfm.getCustomFields(); + + String fieldName = hfm.getFieldname(); + JSONObject hrmFieldConf = hfm.getHrmFieldConf(para.split("_")[2]); + String hrmData = id; + User user = new User(); + user.setUid(Integer.parseInt(para.split("_")[3])); + try { + return hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); + } catch (Exception e) { + return ""; + } + } + public static String getDepartmentName(String departmentId) { return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(Integer.parseInt(departmentId)); } From 1c9dce7c0ba0027cfa3df3ac90a9a8f7accf9ae3 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 Jan 2023 09:46:37 +0800 Subject: [PATCH 162/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/company/dto/CompListDTO.java | 2 +- .../organization/entity/department/dto/DepartmentListDTO.java | 2 +- .../organization/service/impl/HrmResourceServiceImpl.java | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/entity/company/dto/CompListDTO.java b/src/com/engine/organization/entity/company/dto/CompListDTO.java index f7a925aa..6b017273 100644 --- a/src/com/engine/organization/entity/company/dto/CompListDTO.java +++ b/src/com/engine/organization/entity/company/dto/CompListDTO.java @@ -61,7 +61,7 @@ public class CompListDTO { /** * 禁用标记 */ - @TableTitle(title = "封存", dataIndex = "canceled", key = "canceled") + @TableTitle(title = "启用", dataIndex = "canceled", key = "canceled") private Integer canceled; /** diff --git a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java index a6ed69df..ea3da8b4 100644 --- a/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java +++ b/src/com/engine/organization/entity/department/dto/DepartmentListDTO.java @@ -79,7 +79,7 @@ public class DepartmentListDTO { /** * 禁用标记 */ - @TableTitle(title = "封存", dataIndex = "canceled", key = "canceled") + @TableTitle(title = "启用", dataIndex = "canceled", key = "canceled") private int canceled; /** * 操作列 diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index e720c98c..2983cf38 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -541,7 +541,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic DBType dbType = DBType.get(new RecordSet().getDBType()); - //String sqlWhere = ""; StringBuilder sb = new StringBuilder(" where 1=1 "); for (Map.Entry entry : params.entrySet()) { String value = Util.null2String(entry.getValue()); @@ -553,8 +552,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic sb.append(" and t.lastname ").append(dbType.like(value)); } SearchConditionItem searchConditionItem = allFieldsMap.get(key); - buildDynamicSql(searchConditionItem, key, value, sb, dbType); // 根据不同的类型,不同的查询方式 + buildDynamicSql(searchConditionItem, key, value, sb, dbType); } if (searchJobTitle) { String jobTitleIds = StringUtils.join(jobTitleList, ","); From 5c44a11ff338963178a859b72286574471afe492 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 13:44:05 +0800 Subject: [PATCH 163/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E5=AE=9A=E5=88=B6=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=9620230113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmresource/po/SearchTemplatePO.java | 1 + .../mapper/resource/HrmResourceMapper.java | 2 + .../mapper/resource/HrmResourceMapper.xml | 23 ++++++ .../resource/JclOrgCustomTemplateMapper.java | 2 + .../resource/JclOrgCustomTemplateMapper.xml | 6 ++ .../service/HrmResourceService.java | 2 + .../service/impl/HrmResourceServiceImpl.java | 82 +++++++++++++------ .../transmethod/HrmResourceTransMethod.java | 5 +- .../web/HrmResourceController.java | 28 +++++++ .../wrapper/HrmResourceWrapper.java | 4 + 10 files changed, 125 insertions(+), 30 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/po/SearchTemplatePO.java b/src/com/engine/organization/entity/hrmresource/po/SearchTemplatePO.java index 859a7e21..4393a206 100644 --- a/src/com/engine/organization/entity/hrmresource/po/SearchTemplatePO.java +++ b/src/com/engine/organization/entity/hrmresource/po/SearchTemplatePO.java @@ -22,6 +22,7 @@ public class SearchTemplatePO { private String basicFields; private String personalFields; private String workFields; + private String isused; private Integer creator; private Date createTime; private Date updateTime; diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index e95578cd..274d2ece 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -73,5 +73,7 @@ public interface HrmResourceMapper { List queryAllResColumns(@Param("level") String level,@Param("grade") String grade); + String queryLabelName(@Param("fieldName") String fieldName); + } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 161af435..a74ab988 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -273,6 +273,9 @@ work_fields, + + isused, + @@ -296,6 +299,9 @@ #{workFields}, + + #{isused}, + @@ -327,6 +333,9 @@ work_fields, + + isused, + @@ -350,6 +359,9 @@ #{workFields}, + + #{isused}, + @@ -403,4 +415,15 @@ and name = #{name} + + \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java index e57e72e7..f2a095d5 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java @@ -34,4 +34,6 @@ public interface JclOrgCustomTemplateMapper { int updateUsed(@Param("isused")String isused,@Param("id") String id,@Param("creator") String creator); + JclOrgCustomTemplatePO queryIsusedTemp(@Param("isused")String isused,@Param("creator") String creator); + } diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml index 9b4388c7..737e5029 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml @@ -141,4 +141,10 @@ + + diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index edd0e739..1ee014e8 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -166,4 +166,6 @@ public interface HrmResourceService { * @return */ Map getCustomTransferData(Map params); + + Integer saveColumnsCustomTemplate(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 71e7fa87..3334b0cb 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -111,6 +111,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(SystemDataMapper.class); } + private JclOrgCustomTemplateMapper getJclOrgCustomTemplateMapper() { + return MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class); + } + // 所有满足条件的岗位ID private List jobTitleList = null; // 是否 @@ -131,43 +135,43 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); - String[] str={"lastname","departmentid","subcompanyid1","jobtitle","mobile","telephone","managerid","dsporder"} ; - String columns = (String) params.get("columns"); - if (StringUtils.isNotBlank(columns)){ - String[] tmp = columns.split(","); - str = new String[tmp.length]; - for (int i=0;i weaTableColumnList = new ArrayList<>(); + JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID())); + String columns = null; + if (jclOrgCustomTemplatePO != null) { + columns = jclOrgCustomTemplatePO.getBasicFields(); + if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) { + columns = "," + jclOrgCustomTemplatePO.getPersonalFields(); } + if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getWorkFields())) { + columns = "," + jclOrgCustomTemplatePO.getWorkFields(); + } + } else { + //初次使用,无模板初始值 + columns = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_subcompanyid1,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid,-1_hrm_sporder"; } - String templateId = (String) params.get("templateId"); - if (StringUtils.isNotBlank(templateId)){ - MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateUsed("0",null, String.valueOf(user.getUID())); - MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).updateUsed("1",templateId, String.valueOf(user.getUID())); - } - // 默认显示列 - List weaTableColumnList = new ArrayList<>(); - List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); - for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ - WeaTableColumn weaTableColumn = new WeaTableColumn(); - weaTableColumn.setText(jsonObject.getString("labelname")); - weaTableColumn.setColumn(jsonObject.getString("fieldname")); - weaTableColumn.setDisplay(WeaBoolAttr.FALSE); - if(Arrays.asList(str).contains(jsonObject.getString("fieldname"))){ + + if (StringUtils.isNotBlank(columns)) { + String[] tmp = columns.split(","); + for (int i = 0; i < tmp.length; i++) { + String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); + WeaTableColumn weaTableColumn = new WeaTableColumn(); + weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName)); + weaTableColumn.setColumn(fieldName); weaTableColumn.setDisplay(WeaBoolAttr.TRUE); + weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); + String param = tmp[i]; + weaTableColumn.setOtherpara(param); + weaTableColumnList.add(weaTableColumn); } - weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); - String param = "-1_hrm_"+jsonObject.getString("fieldname")+"_"+user.getUID(); - weaTableColumn.setOtherpara(param); - weaTableColumnList.add(weaTableColumn); } - // 增加id字段 + // 增加id字段,跳转人员卡片 WeaTableColumn weaTableColumn = new WeaTableColumn(); weaTableColumn.setText("id"); weaTableColumn.setColumn("id"); weaTableColumn.setDisplay(WeaBoolAttr.FALSE); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); - String param = "-1_hrm_id_"+user.getUID(); + String param = "-1_hrm_id_" + user.getUID(); weaTableColumn.setOtherpara(param); weaTableColumnList.add(weaTableColumn); @@ -277,6 +281,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } templatePO.setName(params.getShowname()); templatePO.setCreator(user.getUID()); + templatePO.setIsused("0"); templatePO.setCreateTime(new Date()); templatePO.setUpdateTime(new Date()); getHrmResourceMapper().insertCustomTemplate(templatePO); @@ -354,6 +359,29 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return resultMap; } + @Override + public Integer saveColumnsCustomTemplate(Map params) { + String columns = Util.null2String(params.get("columns")); + String templateId = Util.null2String(params.get("templateId")); + SearchTemplatePO templatePO = buildSearchTemplateByFields(columns); + JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO(); + if (StringUtils.isNotBlank(templateId)){ + jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); + if (jclOrgCustomTemplatePO!=null){ + jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); + jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); + jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); + jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); + jclOrgCustomTemplatePO.setIsused(1); + //取消已启用模板 + getJclOrgCustomTemplateMapper().updateUsed("0",templateId,String.valueOf(user.getUID())); + //启用当前模板 + getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); + } + } + return jclOrgCustomTemplatePO.getId(); + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index 3a48ba05..db9c0f91 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -18,15 +18,14 @@ import weaver.hrm.definedfield.HrmFieldManager; public class HrmResourceTransMethod { public static String getFieldTrueValue(String id, String para) { -// type = "-1_hrm_lastname"; HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); hfm.getCustomFields(); String fieldName = hfm.getFieldname(); - JSONObject hrmFieldConf = hfm.getHrmFieldConf(para.split("_")[2]); + JSONObject hrmFieldConf = hfm.getHrmFieldConf(para.substring(para.lastIndexOf("_") + 1)); String hrmData = id; User user = new User(); - user.setUid(Integer.parseInt(para.split("_")[3])); + user.setUid(1); try { return hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); } catch (Exception e) { diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index dee144f0..22ce95ae 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -319,6 +319,12 @@ public class HrmResourceController { } } + /** + * 列定制模板管理模板查询 + * @param request + * @param response + * @return + */ @GET @Path("/getCustomTemplate") @Produces(MediaType.APPLICATION_JSON) @@ -332,6 +338,12 @@ public class HrmResourceController { } } + /** + * 列定制模板管理模板保存 + * @param request + * @param response + * @return + */ @POST @Path("/updateCustomTemplate") @Produces(MediaType.APPLICATION_JSON) @@ -346,4 +358,20 @@ public class HrmResourceController { } } + /** + * 列定制保存 + */ + @POST + @Path("/saveColumnsCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveColumnsCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getHrmResourceWrapper(user).saveColumnsCustomTemplate(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + } diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index f2e4bfe4..c4760bee 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -111,4 +111,8 @@ public class HrmResourceWrapper extends OrganizationWrapper { public Map getCustomTransferData(Map params) { return getHrmResourceService(user).getCustomTransferData(params); } + + public Integer saveColumnsCustomTemplate(Map params) { + return getHrmResourceService(user).saveColumnsCustomTemplate(params); + } } From 58d5bccddc8d7a018dd1f4957224206966d15bfc Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 14:07:33 +0800 Subject: [PATCH 164/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E5=AE=9A=E5=88=B6=E5=88=97=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BC=98=E5=8C=9620230113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/mapper/resource/HrmResourceMapper.java | 2 +- .../engine/organization/mapper/resource/HrmResourceMapper.xml | 1 + .../organization/service/impl/HrmResourceServiceImpl.java | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 274d2ece..2a05da47 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -73,7 +73,7 @@ public interface HrmResourceMapper { List queryAllResColumns(@Param("level") String level,@Param("grade") String grade); - String queryLabelName(@Param("fieldName") String fieldName); + String queryLabelName(@Param("fieldName") String fieldName,@Param("scopeId") String scopeId); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index a74ab988..87a46f04 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -423,6 +423,7 @@ cus_formdict t2 WHERE t1.fieldid = t2.id AND t1.scope = 'HrmCustomFieldByInfoType' + and t1.SCOPEID = #{scopeId} and t2.fieldname = #{fieldName} diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index a74f8d41..a7d32c2f 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -154,9 +154,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if (StringUtils.isNotBlank(columns)) { String[] tmp = columns.split(","); for (int i = 0; i < tmp.length; i++) { + String scopeId = tmp[i].split("_")[0]; String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); WeaTableColumn weaTableColumn = new WeaTableColumn(); - weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName)); + weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId)); weaTableColumn.setColumn(fieldName); weaTableColumn.setDisplay(WeaBoolAttr.TRUE); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); From 78682a47c7df2e33fbf0837468c3de5f031d32c9 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 16:35:34 +0800 Subject: [PATCH 165/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E5=AE=9A=E5=88=B6=E4=BC=98=E5=8C=9620230113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/vo/HrmResourceVO.java | 2 +- .../service/impl/HrmResourceServiceImpl.java | 66 +++++++++++++------ 2 files changed, 48 insertions(+), 20 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java index 84443890..aa6869e7 100644 --- a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java @@ -26,7 +26,7 @@ import lombok.NoArgsConstructor; "t.telephone," + "t.managerid, " + "t.dsporder ", - fromSql = "FROM hrmresource t left join cus_fielddata t0 on t.id = t0.id and t0.scopeid ='-1' left join cus_fielddata t1 on t.id = t1.id and t1.scopeid ='1' left join cus_fielddata t2 on t.id = t2.id and t2.scopeid ='3' ", + fromSql = "FROM hrmresource t left join cus_fielddata t0 on t.id = t0.id and t0.scopeid ='-1' left join cus_fielddata t1 on t.id = t1.id and t1.scopeid ='1' left join cus_fielddata t2 on t.id = t2.id and t2.scopeid ='3' left join HRMJOBTITLES t3 on t.JOBTITLE=t3.id left join HRMJOBACTIVITIES t4 on t3.JOBACTIVITYID=t4.ID left join HRMJOBGROUPS t5 on t4.JOBGROUPID=t5.ID ", orderby = " t.dsporder ", sortway = " asc", primarykey = "id", diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index a7d32c2f..bd3feab3 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -138,44 +138,65 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List weaTableColumnList = new ArrayList<>(); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID())); String columns = null; + List fields = new ArrayList<>(); + List allConditions = getAllConditions(); + if (jclOrgCustomTemplatePO != null) { columns = jclOrgCustomTemplatePO.getBasicFields(); if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) { - columns = "," + jclOrgCustomTemplatePO.getPersonalFields(); + columns = columns + "," + jclOrgCustomTemplatePO.getPersonalFields(); } if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getWorkFields())) { - columns = "," + jclOrgCustomTemplatePO.getWorkFields(); + columns = columns + "," + jclOrgCustomTemplatePO.getWorkFields(); } } else { //初次使用,无模板初始值 columns = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_subcompanyid1,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid,-1_hrm_sporder"; } - if (StringUtils.isNotBlank(columns)) { - String[] tmp = columns.split(","); - for (int i = 0; i < tmp.length; i++) { - String scopeId = tmp[i].split("_")[0]; - String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); + List columnList = Arrays.asList(columns.split(",")); + for (SearchConditionGroup allCondition : allConditions) { + List items = allCondition.getItems(); + for (SearchConditionItem item : items) { + String columnName = item.getDomkey()[0]; + fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_")); + + String scopeId = columnName.split("_")[0]; + String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1); WeaTableColumn weaTableColumn = new WeaTableColumn(); weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId)); - weaTableColumn.setColumn(fieldName); - weaTableColumn.setDisplay(WeaBoolAttr.TRUE); + weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_")); + + weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); - String param = tmp[i]; - weaTableColumn.setOtherpara(param); + weaTableColumn.setOtherpara(columnName); weaTableColumnList.add(weaTableColumn); } } +// if (StringUtils.isNotBlank(columns)) { +// String[] tmp = columns.split(","); +// for (int i = 0; i < tmp.length; i++) { +// String scopeId = tmp[i].split("_")[0]; +// String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); +// WeaTableColumn weaTableColumn = new WeaTableColumn(); +// weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId)); +// weaTableColumn.setColumn(buildTableSql(tmp[i]).replace(".", "_")); +// weaTableColumn.setDisplay(WeaBoolAttr.TRUE); +// weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); +// String param = tmp[i]; +// weaTableColumn.setOtherpara(param); +// weaTableColumnList.add(weaTableColumn); +// } +// } // 增加id字段,跳转人员卡片 WeaTableColumn weaTableColumn = new WeaTableColumn(); - weaTableColumn.setText("id"); +// weaTableColumn.setText("id"); weaTableColumn.setColumn("id"); weaTableColumn.setDisplay(WeaBoolAttr.FALSE); - weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); - String param = "-1_hrm_id_" + user.getUID(); - weaTableColumn.setOtherpara(param); - weaTableColumnList.add(weaTableColumn); + weaTableColumnList.add(weaTableColumn); + fields.add("t.id"); + table.setBackfields(StringUtils.join(fields, ",")); table.setColumns(weaTableColumnList); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -366,16 +387,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String templateId = Util.null2String(params.get("templateId")); SearchTemplatePO templatePO = buildSearchTemplateByFields(columns); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO(); - if (StringUtils.isNotBlank(templateId)){ + if (StringUtils.isNotBlank(templateId)) { jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); - if (jclOrgCustomTemplatePO!=null){ + if (jclOrgCustomTemplatePO != null) { jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); jclOrgCustomTemplatePO.setIsused(1); //取消已启用模板 - getJclOrgCustomTemplateMapper().updateUsed("0",templateId,String.valueOf(user.getUID())); + getJclOrgCustomTemplateMapper().updateUsed("0", templateId, String.valueOf(user.getUID())); //启用当前模板 getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); } @@ -1066,6 +1087,13 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String tableName = s[1]; String fieldName = s[2]; + if ("jobactivity".equalsIgnoreCase(fieldName)) { + return "t4.id"; + } + if ("jobGroupId".equalsIgnoreCase(fieldName)) { + return "t5.id"; + } + if ("hrm".equals(tableName)) { return sb.append("t.").append(fieldName).toString(); } From 547264d755a0d7f4fbb94588014b66d7442d63a7 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 16:37:11 +0800 Subject: [PATCH 166/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E5=AE=9A=E5=88=B6=E4=BC=98=E5=8C=9620230113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index bd3feab3..bf7f66b0 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -231,7 +231,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Integer saveSearchTemplate(SearchTemplateParam params) { // 重复名称校验 SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getSearchTemplateByName(user.getUID(), params.getShowname()); - OrganizationAssert.isNull(searchTemplateByName, "改模板名称已存在"); + OrganizationAssert.isNull(searchTemplateByName, "该模板名称已存在"); SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; @@ -296,7 +296,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Integer saveCustomTemplate(SearchTemplateParam params) { // 重复名称校验 SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getCustomTemplateByName(user.getUID(), params.getShowname()); - OrganizationAssert.isNull(searchTemplateByName, "改模板名称已存在"); + OrganizationAssert.isNull(searchTemplateByName, "该模板名称已存在"); SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; From 6d8aaf063b617c6bc0750c335b47e871d668ce0d Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 Jan 2023 16:50:54 +0800 Subject: [PATCH 167/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index bf7f66b0..3dae96c0 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -231,7 +231,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Integer saveSearchTemplate(SearchTemplateParam params) { // 重复名称校验 SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getSearchTemplateByName(user.getUID(), params.getShowname()); - OrganizationAssert.isNull(searchTemplateByName, "该模板名称已存在"); + OrganizationAssert.isFalse("默认模板".equals(params.getShowname()) || null != searchTemplateByName, "该模板名称已存在"); SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; @@ -296,7 +296,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Integer saveCustomTemplate(SearchTemplateParam params) { // 重复名称校验 SearchTemplatePO searchTemplateByName = getHrmResourceMapper().getCustomTemplateByName(user.getUID(), params.getShowname()); - OrganizationAssert.isNull(searchTemplateByName, "该模板名称已存在"); + OrganizationAssert.isFalse("默认模板".equals(params.getShowname()) || null != searchTemplateByName, "该模板名称已存在"); SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; @@ -1093,6 +1093,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if ("jobGroupId".equalsIgnoreCase(fieldName)) { return "t5.id"; } + // 姓名点击事件 + if ("lastname".equalsIgnoreCase(fieldName)) { + return "lastname"; + } if ("hrm".equals(tableName)) { return sb.append("t.").append(fieldName).toString(); From ec55baf5fe8a3529ea4443e8b429660b8647531b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 Jan 2023 17:39:52 +0800 Subject: [PATCH 168/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 3dae96c0..9583feff 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -448,7 +448,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("customization").menuIcon("icon-coms-task-list").menuName("列定制").type("BTN_COLUMN").build()); btnDatas.put("topMenu", topMenuList); rightMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build()); - rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type("BTN_COLUMN").build()); + //rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type("BTN_COLUMN").build()); rightMenuList.add(MenuBtn.rightMenu_btnLog()); btnDatas.put("rightMenu", rightMenuList); } @@ -617,7 +617,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic DBType dbType = DBType.get(new RecordSet().getDBType()); - StringBuilder sb = new StringBuilder(" where 1=1 "); + StringBuilder sb = new StringBuilder(" where 1=1 and t.status <4 "); for (Map.Entry entry : params.entrySet()) { String value = Util.null2String(entry.getValue()); if (StringUtils.isBlank(value)) { From 0aac4a0c57b97988b5c4980d44b65d39afa57f0f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 Jan 2023 18:01:17 +0800 Subject: [PATCH 169/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 9583feff..6a997aee 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -373,7 +373,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); transferKeys = getSelectKeys(searchTemplateById); } - + transferOptions.add(0, SearchTemplateParam.builder().key("").showname("").build()); resultMap.put("transferDatas", transferDatas); resultMap.put("transferKeys", transferKeys); resultMap.put("transferOptions", transferOptions); From 9d36b42da69872927b69d070bf08d8f1c4324593 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 18:03:19 +0800 Subject: [PATCH 170/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=AE=A1=E7=90=86=E6=97=A5=E6=9C=9F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HrmResourceServiceImpl.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index bf7f66b0..f1fb7013 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -142,7 +142,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List allConditions = getAllConditions(); if (jclOrgCustomTemplatePO != null) { - columns = jclOrgCustomTemplatePO.getBasicFields(); + if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getBasicFields())) { + columns = jclOrgCustomTemplatePO.getBasicFields(); + } if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) { columns = columns + "," + jclOrgCustomTemplatePO.getPersonalFields(); } @@ -388,17 +390,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic SearchTemplatePO templatePO = buildSearchTemplateByFields(columns); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO(); if (StringUtils.isNotBlank(templateId)) { - jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); - if (jclOrgCustomTemplatePO != null) { - jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); - jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); - jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); - jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); - jclOrgCustomTemplatePO.setIsused(1); - //取消已启用模板 - getJclOrgCustomTemplateMapper().updateUsed("0", templateId, String.valueOf(user.getUID())); - //启用当前模板 - getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); + if (templateId.equals("-1")) { + getJclOrgCustomTemplateMapper().updateUsed("0", null, String.valueOf(user.getUID())); + } else { + jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); + if (jclOrgCustomTemplatePO != null) { + jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); + jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); + jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); + jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); + jclOrgCustomTemplatePO.setIsused(1); + //取消已启用模板 + getJclOrgCustomTemplateMapper().updateUsed("0", null, String.valueOf(user.getUID())); + //启用当前模板 + getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); + } } } return jclOrgCustomTemplatePO.getId(); @@ -567,7 +573,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic Map resultMap = new HashMap<>(); resultMap.put("id", item.getId()); resultMap.put("name", item.getName()); - resultMap.put("createTime", DateUtil.getDate(item.getCreateTime(), DateUtil.FORMAT_FULL)); + resultMap.put("createTime", DateUtil.getDate(item.getCreateTime(), "yyyy-MM-dd")); if (item.getIsused() != null) { From ba2909bac953a376eafdd12ce713ed0c06f96f9f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 13 Jan 2023 18:10:57 +0800 Subject: [PATCH 171/203] =?UTF-8?q?BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 6a997aee..50da029d 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -60,6 +60,8 @@ import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -155,6 +157,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } List columnList = Arrays.asList(columns.split(",")); + BigDecimal decimal = new BigDecimal(100 / columnList.size()); for (SearchConditionGroup allCondition : allConditions) { List items = allCondition.getItems(); for (SearchConditionItem item : items) { @@ -170,6 +173,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); weaTableColumn.setOtherpara(columnName); + weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); weaTableColumnList.add(weaTableColumn); } } From 2b5acfeb32107cd4f11663931fe3fd1042b9ce55 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 18:40:34 +0800 Subject: [PATCH 172/203] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=AE=A1=E7=90=86bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/HrmResourceServiceImpl.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index ef8f8b52..471e54cf 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -316,8 +316,18 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic public Integer updateCustomTemplate(Map params) { int rowNum = Util.getIntValue((String) params.get("rownum")); int count = 0; - List allIds = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).listAllId(); + List allIds = getJclOrgCustomTemplateMapper().listAllId(); String currentDate = OrganizationDateUtil.getFormatLocalDate(new java.util.Date()); + List nameList = new ArrayList<>(); + for (int i = 0; i < rowNum; i++) { + String recordIndex = "_" + i; + String name = Util.null2String(params.get("name" + recordIndex)); + if (StringUtils.isNotBlank(name)) { + nameList.add(name); + } + } + + OrganizationAssert.isFalse(new HashSet<>(nameList).size() < nameList.size(), "模板名称不能重复"); for (int i = 0; i < rowNum; i++) { String recordIndex = "_" + i; String id = Util.null2String(params.get("id" + recordIndex)); @@ -333,6 +343,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic allIds.remove(jclId); } else { //插入 + OrganizationAssert.isFalse("".equals(name), "模板名称不能为空"); jclOrgCustomTemplatePO.setName(name); jclOrgCustomTemplatePO.setCreator(user.getUID()); jclOrgCustomTemplatePO.setCreateTime(new java.sql.Date(OrganizationDateUtil.stringToDate(currentDate).getTime())); From 5e40c18df1719d9cb7635a4a8dfc5a8b4380d950 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 16 Jan 2023 15:08:22 +0800 Subject: [PATCH 173/203] =?UTF-8?q?=E5=88=97=E5=AE=9A=E5=88=B6BUG=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.java | 6 ++++-- .../mapper/resource/HrmResourceMapper.xml | 19 +++++++++++++++---- .../service/impl/HrmResourceServiceImpl.java | 12 ++++++++++-- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 2a05da47..1556a3d8 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -63,6 +63,8 @@ public interface HrmResourceMapper { SearchTemplatePO getCustomTemplateByName(@Param("userId") Integer userId, @Param("name") String name); + SearchTemplatePO getUsedCustomTemplateByUser(@Param("userId") Integer userId); + Integer insertSearchTemplate(SearchTemplatePO templatePO); Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); @@ -71,9 +73,9 @@ public interface HrmResourceMapper { Integer deleteCustomTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); - List queryAllResColumns(@Param("level") String level,@Param("grade") String grade); + List queryAllResColumns(@Param("level") String level, @Param("grade") String grade); - String queryLabelName(@Param("fieldName") String fieldName,@Param("scopeId") String scopeId); + String queryLabelName(@Param("fieldName") String fieldName, @Param("scopeId") String scopeId); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 87a46f04..36930d7b 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -397,8 +397,8 @@ + \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index dc334a94..09aaed3a 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -384,8 +384,15 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic transferOptions.add(SearchTemplateParam.builder().key(Integer.toString(idx.getAndIncrement())).showname(allCondition.getTitle()).build()); } if ("-1".equals(templateId)) { - String selectKeys = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid"; - transferKeys = Arrays.asList(selectKeys.split(",")); + // 查询当前使用的模板,没有使用的,则展示默认模板 + SearchTemplatePO usedCustomTemplate = getHrmResourceMapper().getUsedCustomTemplateByUser(user.getUID()); + if (null == usedCustomTemplate) { + String selectKeys = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid"; + transferKeys = Arrays.asList(selectKeys.split(",")); + } else { + transferKeys = getSelectKeys(usedCustomTemplate); + templateId = usedCustomTemplate.getId().toString(); + } } else { SearchTemplatePO searchTemplateById = getHrmResourceMapper().getCustomTemplateById(templateId); transferKeys = getSelectKeys(searchTemplateById); @@ -394,6 +401,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic resultMap.put("transferDatas", transferDatas); resultMap.put("transferKeys", transferKeys); resultMap.put("transferOptions", transferOptions); + resultMap.put("templateId", templateId); return resultMap; } From 8947e6da3a1715947c35af34da667be17ccca475 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 16 Jan 2023 17:19:59 +0800 Subject: [PATCH 174/203] =?UTF-8?q?=E5=88=97=E5=AE=9A=E5=88=B6BUG=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/HrmResourceService.java | 3 +-- .../service/impl/HrmResourceServiceImpl.java | 12 ++++++++++-- .../organization/wrapper/HrmResourceWrapper.java | 3 +-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 1ee014e8..f5487042 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -4,7 +4,6 @@ import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; -import java.util.List; import java.util.Map; /** @@ -126,7 +125,7 @@ public interface HrmResourceService { * @param params * @return */ - List getSearchTemplate(Map params); + Map getSearchTemplate(Map params); /** * 保存定制列模板 diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 09aaed3a..eeb5cfd8 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -284,18 +284,26 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } @Override - public List getSearchTemplate(Map params) { + public Map getSearchTemplate(Map params) { + Map returnMap = new HashMap<>(); String type = Util.null2String(params.get("type")); int userUID = user.getUID(); // 根据ID查询所存储的模板 List templates; if ("custom".equals(type)) { templates = getHrmResourceMapper().getCustomTemplatesByUser(userUID); + SearchTemplatePO usedCustomTemplate = getHrmResourceMapper().getUsedCustomTemplateByUser(user.getUID()); + if (null != usedCustomTemplate) { + returnMap.put("templateId", usedCustomTemplate.getId()); + } else { + returnMap.put("templateId", "-1"); + } } else { templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); } templates.add(0, SearchTemplateParam.builder().key("-1").showname("默认模板").build()); - return templates; + returnMap.put("templates", templates); + return returnMap; } @Override diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index c4760bee..37f8200b 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -13,7 +13,6 @@ import com.engine.organization.service.impl.HrmResourceServiceImpl; import com.engine.organization.util.OrganizationWrapper; import weaver.hrm.User; -import java.util.List; import java.util.Map; /** @@ -88,7 +87,7 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).updateTabForm(params); } - public List getSearchTemplate(Map params) { + public Map getSearchTemplate(Map params) { return getHrmResourceService(user).getSearchTemplate(params); } From 37ded0a19b6d5023d4f4eb96129e5e44f477436c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 17 Jan 2023 09:30:51 +0800 Subject: [PATCH 175/203] =?UTF-8?q?=E5=88=97=E5=AE=9A=E5=88=B6BUG=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index eeb5cfd8..d96881b1 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -294,7 +294,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic templates = getHrmResourceMapper().getCustomTemplatesByUser(userUID); SearchTemplatePO usedCustomTemplate = getHrmResourceMapper().getUsedCustomTemplateByUser(user.getUID()); if (null != usedCustomTemplate) { - returnMap.put("templateId", usedCustomTemplate.getId()); + returnMap.put("templateId", usedCustomTemplate.getId().toString()); } else { returnMap.put("templateId", "-1"); } From ec7ff0561614088cc1debbf5deac0bca163f9fc0 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 17 Jan 2023 14:52:45 +0800 Subject: [PATCH 176/203] =?UTF-8?q?=E5=88=97=E5=AE=9A=E5=88=B6BUG=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/mapper/resource/HrmResourceMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 36930d7b..4b683853 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -18,7 +18,7 @@ select distinct supDepId from hrmdepartment - where canceled = 0 + where 1=1 + - select id - from HrmSubCompany - where uuid = #{uuid} - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.java b/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.java deleted file mode 100644 index 482e1da6..00000000 --- a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface DepartmentTriggerMapper { - Integer getEcDepartmentIdByUuid(@Param("uuid") String uuid); - - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin, @Param("departmentId") Integer departmentId); - - - Integer countHrmResource(@Param("departmentid") Integer departmentid); -} diff --git a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.xml deleted file mode 100644 index 6e74a7b6..00000000 --- a/src/com/engine/organization/mapper/trigger/DepartmentTriggerMapper.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java deleted file mode 100644 index ef14a4ce..00000000 --- a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface GroupTriggerMapper { - - Integer getInfoValue(@Param("id") Integer id); - - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin); - - Integer countHrmResource(); - - int deleteMap(@Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin); - - int updateMap(@Param("fobjid") Integer fobjid, @Param("fdatebegin") Date fdatebegin, @Param("fdate") Date fdate); -} diff --git a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml deleted file mode 100644 index 41087495..00000000 --- a/src/com/engine/organization/mapper/trigger/GroupTriggerMapper.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - update jcl_org_map - set fdateend=#{fdate} - where fobjid = #{fobjid} - and fdateend > #{fdatebegin} - - - delete - from jcl_org_map - where fobjid = 0 - and fdatebegin = #{fdatebegin} - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java deleted file mode 100644 index 2fb269fe..00000000 --- a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.engine.organization.mapper.trigger; - -import org.apache.ibatis.annotations.Param; -import weaver.hrm.passwordprotection.domain.HrmResource; - -import java.sql.Date; -import java.util.List; - -/** - * @author:dxfeng - * @createTime: 2022/09/01 - * @version: 1.0 - */ -public interface HrmResourceTriggerMapper { - HrmResource getHrmResource(@Param("id") Long id); - - List getFidsByFleader(@Param("fLeader") String fLeader, @Param("currentDate") Date currentDate); - - int updateLeaders(@Param("currentDate") Date currentDate,@Param("fLeader") String fLeader, @Param("fLeaderImg") String fLeaderImg, @Param("fLeaderName") String fLeaderName, @Param("fLeaderJobId") Integer fLeaderJobId, @Param("fLeaderJob") String fLeaderJob, @Param("fLeaderLv") String fLeaderLv, @Param("fLeaderSt") String fLeaderSt); - -} diff --git a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml deleted file mode 100644 index cd09e5ac..00000000 --- a/src/com/engine/organization/mapper/trigger/HrmResourceTriggerMapper.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - update jcl_org_map - - fleaderimg = #{fLeaderImg}, - fleadername = #{fLeaderName}, - fleaderjobid = #{fLeaderJobId}, - fleaderjob = #{fLeaderJob}, - fleaderlv = #{fLeaderLv}, - fleaderst = #{fLeaderSt}, - - where fleader = #{fLeader} AND fdatebegin <= #{currentDate} - AND fdateend >= #{currentDate} - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.java b/src/com/engine/organization/mapper/trigger/JobTriggerMapper.java deleted file mode 100644 index 54fcc02a..00000000 --- a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.engine.organization.mapper.trigger; - - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @Author dxfeng - * @Date 2022/8/30 - * @Version V1.0 - **/ -public interface JobTriggerMapper { - Integer sumStaffNum(@Param("fdatebegin") Date fdatebegin, @Param("jobId") Integer jobId); -} diff --git a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/JobTriggerMapper.xml deleted file mode 100644 index 7beb0f61..00000000 --- a/src/com/engine/organization/mapper/trigger/JobTriggerMapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.java b/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.java deleted file mode 100644 index 3b27ad8d..00000000 --- a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.engine.organization.mapper.trigger; - -import org.apache.ibatis.annotations.Param; - -import java.sql.Date; - -/** - * @author:dxfeng - * @createTime: 2022/09/21 - * @version: 1.0 - */ -public interface StaffTriggerMapper { - //Integer countCompanyUsers(@Param("ecCompanyId") String ecCompanyId); - - //Integer countDepartmentUsers(@Param("ecDepartmentId") String ecDepartmentId); - - //Integer countJobUsers(@Param("jobTitle") String jobTitle); - - Integer countOnJobByJObId(@Param("jobId") String jobId); - - //Integer countAllUsers(); - - Integer countCompanyStaffNum(@Param("currentDate") Date currentDate, @Param("companyId") String companyId); - - Integer countDepartmentStaffNum(@Param("currentDate") Date currentDate, @Param("departmentId") String departmentId); - - Integer countJobStaffNum(@Param("currentDate") Date currentDate, @Param("jobId") String jobId); - - Integer updateOrgStaffs(@Param("currentDate") Date currentDate, @Param("fType") String fType, @Param("fObjId") String fObjId, @Param("fPlan") Integer fPlan, @Param("fOnJob") Integer fOnJob); - - String getIdByObjIdAndType(@Param("currentDate") Date currentDate, @Param("fObjId") String fObjId, @Param("fType") String fType); - - Integer sumPlanByParentId(@Param("currentDate") Date currentDate, @Param("parentId") String parentId); - - Integer sumOnJobByParentId(@Param("currentDate") Date currentDate, @Param("parentId") String parentId); -} diff --git a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml b/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml deleted file mode 100644 index a74be740..00000000 --- a/src/com/engine/organization/mapper/trigger/StaffTriggerMapper.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - update jcl_org_map - - FPLAN = #{fPlan}, - FONJOB = #{fOnJob}, - - where FTYPE =#{fType} and FOBJID=#{fObjId} - AND FDATEBEGIN <= #{currentDate} - AND FDATEEND >= #{currentDate} - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java index e9dfa751..762dd1af 100644 --- a/src/com/engine/organization/service/impl/OrgChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/OrgChartServiceImpl.java @@ -99,11 +99,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { String whereSql = " where 1 = 1 "; if (DBType.isOracle()) { whereSql += " and ((fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and fdateend >= to_date('" + date + "','yyyy-MM-DD')) or (fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and fdateend is null )) "; - } - else if (DBType.isPG()) { - whereSql += " and ((TO_DATE(to_char(fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and TO_DATE(to_char(fdateend,'yyyy-MM-dd'),'yyyy-MM-dd') >= '" + date + "') or (TO_DATE(to_char(fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and fdateend is null )) "; - } - else { + }else { whereSql += " and ((fdatebegin <= '" + date + "' and fdateend >= '" + date + "') or (fdatebegin <= '" + date + "' and fdateend is null )) "; } whereSql += " and fclass = " + fclass + " "; @@ -230,9 +226,7 @@ public class OrgChartServiceImpl extends Service implements OrgChartService { String whereSql = " where 1 = 1 "; if (DBType.isOracle()) { whereSql += " and ((t.fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and t.fdateend >= to_date('" + date + "','yyyy-MM-DD')) or (t.fdatebegin <= to_date('" + date + "','yyyy-MM-DD') and t.fdateend is null )) "; - }else if(DBType.isPG()){ - whereSql += " and ((TO_DATE(to_char(t.fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and TO_DATE(to_char(t.fdateend,'yyyy-MM-dd'),'yyyy-MM-dd') >= '" + date + "') or (TO_DATE(to_char(t.fdatebegin,'yyyy-MM-dd'),'yyyy-MM-dd') <= '" + date + "' and t.fdateend is null )) "; - } else { + }else { whereSql += " and ((t.fdatebegin <= '" + date + "' and t.fdateend >= '" + date + "') or (t.fdatebegin <= '" + date + "' and t.fdateend is null )) "; } whereSql += " and t.fclass = " + fclass + " "; diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java index 5b388a54..35fe3346 100644 --- a/src/com/engine/organization/util/db/DBType.java +++ b/src/com/engine/organization/util/db/DBType.java @@ -109,9 +109,5 @@ public enum DBType implements DBOperateAdapter { return DBType.get(new RecordSet().getDBType()).equals(DBType.ORACLE); } - public static boolean isPG() { - return DBType.get(new RecordSet().getDBType()).equals(DBType.POSTGRESQL); - } - } From 3a8aa2449af424733fc131d32366443839debe9a Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 29 May 2023 11:35:45 +0800 Subject: [PATCH 192/203] =?UTF-8?q?=E5=85=BC=E5=AE=B9PostgreSQL,=E7=AE=80?= =?UTF-8?q?=E5=8E=86=E6=8C=89=E9=92=AEBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/personnelcard/CardAccessMapper.xml | 51 +++++++++++++++++-- .../resource/JclOrgCustomTemplateMapper.xml | 4 +- .../impl/HrmPersonnelCardServiceImpl.java | 2 +- 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml b/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml index a87b3fc8..8ddf3310 100644 --- a/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/CardAccessMapper.xml @@ -106,8 +106,9 @@ - - + + select JCL_ORG_CARDACCESS_ID.currval from dual INSERT INTO jcl_org_cardaccess @@ -218,7 +219,7 @@ - when id=#{item.id} then #{item.custom} + when id=#{item.id} then #{item.custom} @@ -235,6 +236,50 @@ + + update jcl_org_cardaccess + + + + + when id=#{item.id} then #{item.status} + + + + + + + when id=#{item.id} then #{item.allPeople} + + + + + + + when id=#{item.id} then #{item.superior} + + + + + + + when id=#{item.id} then #{item.allSuperior} + + + + + + when id=#{item.id} then #{item.custom} + + + update_time=now(), + + where + + id=#{item.id} + + + UPDATE jcl_org_cardaccess SET delete_type = 1 diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml index 737e5029..3343baf8 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml @@ -40,11 +40,11 @@ insert into jcl_org_custom_template - ( id,name,basic_fields + (name,basic_fields ,personal_fields,work_fields,isused ,creator,create_time,update_time ) - values (#{id,jdbcType=INTEGER},#{name,jdbcType=VARCHAR},#{basicFields,jdbcType=VARCHAR} + values (#{name,jdbcType=VARCHAR},#{basicFields,jdbcType=VARCHAR} ,#{personalFields,jdbcType=VARCHAR},#{workFields,jdbcType=VARCHAR},#{isused,jdbcType=INTEGER} ,#{creator,jdbcType=INTEGER},#{createTime,jdbcType=DATE},#{updateTime,jdbcType=DATE} ) diff --git a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java index c36c1d84..bb319272 100644 --- a/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmPersonnelCardServiceImpl.java @@ -285,10 +285,10 @@ public class HrmPersonnelCardServiceImpl extends Service implements HrmPersonnel List cardButtonPOS = getCardButtonMapper().listEnableButton(); List buttonList = new ArrayList<>(); HrmCommonService hrmCommonService = new HrmCommonServiceImpl(); - List roleIds = new ArrayList<>(Arrays.asList(hrmCommonService.getRoleIds(user.getUID()).split(","))); for (CardButtonPO cardButton : cardButtonPOS) { + List roleIds = new ArrayList<>(Arrays.asList(hrmCommonService.getRoleIds(user.getUID()).split(","))); List accessRoleIds = new ArrayList<>(Arrays.asList(Util.null2String(cardButton.getRoles()).split(","))); roleIds.retainAll(accessRoleIds); if (isAdmin || (isMySelf && "0".equals(cardButton.getSysDefault())) || CollectionUtils.isNotEmpty(roleIds)) { From 6cea2706df7d46766d51dbbf4debeb09a751a178 Mon Sep 17 00:00:00 2001 From: Mlin Date: Thu, 1 Jun 2023 09:00:55 +0800 Subject: [PATCH 193/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=8A=A8=E6=80=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PersonnelResumeServiceImpl.java | 39 ++++++++++++--- .../organization/util/word/WordUtil.java | 49 +++++++++++++++++++ 2 files changed, 80 insertions(+), 8 deletions(-) diff --git a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java index 35a5d7ff..4a271a4e 100644 --- a/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java +++ b/src/com/engine/organization/service/impl/PersonnelResumeServiceImpl.java @@ -156,7 +156,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu } // 处理赋值的数据 List> dataMapList = getAllResumeList(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); +// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); String filesPath = outPutPath + "wordZip" + File.separator + "全部简历"; String fileAllWordPath = outPutPath + "wordZip"; String wordName = "全体人员简历(合并)"; @@ -170,8 +170,7 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu //处理所有数据 for (int count = 0; count < dataMapList.size(); count++) { //处理单人数据 - Map paramMap = new HashMap<>(); - paramMap = dataMapList.get(count); + Map paramMap = dataMapList.get(count); WordUtil wordUtil = new WordUtil(); //返回一个新的xwpfDocument对象 File file = new File(filePath); @@ -217,13 +216,14 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu return resPath; } - // 简历相关表格,待拓展 + // 简历相关表格,待拓展(数据先写死) public List getPersonnelResumeTable(Integer uId){ List tables = new ArrayList<>(); List insurancesTitles = new ArrayList<>(); List familyInfoTitles = new ArrayList<>(); List insuranceDatas = new ArrayList<>(); + List> datas = new ArrayList<>(); insurancesTitles.add(PersonnelResumeColumn.builder().name("首次参保时间").colspans(2).rowspans(1).build()); insurancesTitles.add(PersonnelResumeColumn.builder().name("养老保险").colspans(1).rowspans(1).build()); insurancesTitles.add(PersonnelResumeColumn.builder().name("医疗保险").colspans(1).rowspans(1).build()); @@ -237,7 +237,24 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu insuranceDatas.add(PersonnelResumeColumn.builder().value("360").colspans(1).rowspans(1).build()); insuranceDatas.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); insuranceDatas.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); - tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(Collections.singletonList(insuranceDatas)).build()); + datas.add(insuranceDatas); + insuranceDatas = new ArrayList<>(); + insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-11-02").colspans(2).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("90").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("46").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("361").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("181").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("20001").colspans(1).rowspans(1).build()); + datas.add(insuranceDatas); + insuranceDatas = new ArrayList<>(); + insuranceDatas.add(PersonnelResumeColumn.builder().value("2022-12-02").colspans(2).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("100").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("56").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("362").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("180").colspans(1).rowspans(1).build()); + insuranceDatas.add(PersonnelResumeColumn.builder().value("20000").colspans(1).rowspans(1).build()); + datas.add(insuranceDatas); + tables.add(PersonnelResumeTable.builder().title("二、社会保险及住房公积金缴纳情况(单位/元)").columns(insurancesTitles).datas(datas).build()); // 家庭情况 familyInfoTitles.add(PersonnelResumeColumn.builder().name("关系").colspans(1).rowspans(1).build()); @@ -294,13 +311,19 @@ public class PersonnelResumeServiceImpl extends Service implements PersonnelResu if (personnelResumeTable.getDatas().size() > 0) { List> datas = personnelResumeTable.getDatas(); if (datas.size() > 0) { - List dataList = datas.get(0); - for (int i = 0; i < length; i++) { - resultMap.put("${col" + t + i + "}", Util.null2String(dataList.get(i).getValue())); + for (int d = 0;d dataList = datas.get(d); + for (int i = 0; i < length; i++) {//i表示列 + //社保9行开始,家庭成员10行开始 + int row = 100 + i + d; + resultMap.put("${c" + t + i + row + "}", Util.null2String(dataList.get(i).getValue())); + } } } } } + resultMap.put("sbDataCounts",tables.get(0).getDatas().size()); + resultMap.put("jtDataCounts",tables.get(1).getDatas().size()); dataMapList.add(resultMap); } diff --git a/src/com/engine/organization/util/word/WordUtil.java b/src/com/engine/organization/util/word/WordUtil.java index 745dbf91..d7e25eec 100644 --- a/src/com/engine/organization/util/word/WordUtil.java +++ b/src/com/engine/organization/util/word/WordUtil.java @@ -154,6 +154,15 @@ public class WordUtil { List paras; while (iterator.hasNext()) { table = iterator.next(); + // 根据数据量从10行开始新增 + int sbLengths = (int) params.get("sbDataCounts"); + int jtLengths = (int) params.get("jtDataCounts"); + for (int i = 1; i < sbLengths;i++){ + insertRow(table,9,9+i,i); + } + for (int i = 1; i < jtLengths;i++){ + insertRow(table,12+sbLengths-1,12+sbLengths-1+i,i); + } rows = table.getRows(); for (XWPFTableRow row : rows) { cells = row.getTableCells(); @@ -167,6 +176,46 @@ public class WordUtil { } } + /** + * insertRow 在word表格中指定位置插入一行,并将某一行的样式复制到新增行 + * @param copyrowIndex 需要复制的行位置 + * @param newrowIndex 需要新增一行的位置 + * @param jgIndex 间隔行 + * */ + public static void insertRow(XWPFTable table, int copyrowIndex, int newrowIndex, int jgIndex) { + // 在表格中指定的位置新增一行 + XWPFTableRow targetRow = table.insertNewTableRow(newrowIndex); + // 获取需要复制行对象 + XWPFTableRow copyRow = table.getRow(copyrowIndex); + //复制行对象 + targetRow.getCtRow().setTrPr(copyRow.getCtRow().getTrPr()); + //或许需要复制的行的列 + List copyCells = copyRow.getTableCells(); + //复制列对象 + XWPFTableCell targetCell = null; + for (int i = 0; i < copyCells.size(); i++) { + XWPFTableCell copyCell = copyCells.get(i); + targetCell = targetRow.addNewTableCell(); + targetCell.getCTTc().setTcPr(copyCell.getCTTc().getTcPr()); + if (copyCell.getParagraphs() != null && copyCell.getParagraphs().size() > 0) { + XWPFParagraph targetParagraph = (XWPFParagraph)targetCell.getParagraphs().get(0); + XWPFParagraph copyParagraph = (XWPFParagraph)copyCell.getParagraphs().get(0); + targetParagraph.getCTP().setPPr(copyParagraph.getCTP().getPPr()); + if (copyParagraph.getRuns() != null && copyParagraph.getRuns().size() > 0) { + XWPFRun cellR = targetParagraph.createRun(); + String copyText = copyParagraph.getText(); + //截取到${c后两位,第一位:0表示社保表,1表示家庭成员表,第二位表示列 + String lastText = copyText.substring(copyText.length()-4,copyText.length()-1); + int num = Util.getIntValue(lastText)+ jgIndex; + String newText = copyText.substring(0,5) + num + "}"; + cellR.setText(newText); + cellR.setBold(((XWPFRun)copyParagraph.getRuns().get(0)).isBold()); + } + } + } + + } + /** * 正则匹配字符串 * From 2ec00b7bb386c14232f808c0e42848b94ed5dcb6 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 1 Jun 2023 14:12:12 +0800 Subject: [PATCH 194/203] =?UTF-8?q?=E8=81=9A=E6=89=8D=E6=9E=97=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/JobServiceImpl.java | 26 +++++++++++-------- .../organization/wrapper/JobWrapper.java | 5 ++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 3268828b..0a7b5b4c 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -196,10 +196,12 @@ public class JobServiceImpl extends Service implements JobService { // 批量删除 topMenuList.add(MenuBtn.topMenu_batchDelete()); topMenuList.add(MenuBtn.builder().isBatch("0").isTop("1").menuFun("refresh").menuIcon("icon-coms-Refresh").menuName("刷新").type("BTN_REFRESH").build()); + topMenuList.add(MenuBtn.topMenu_addNew()); btnDatas.put("topMenu", topMenuList); // 日志 rightMenuList.add(MenuBtn.rightMenu_btnLog()); rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("refresh").menuIcon("icon-coms-Refresh").menuName("刷新").type("BTN_REFRESH").build()); + rightMenuList.add(MenuBtn.rightMenu_addNew()); btnDatas.put("rightMenu", rightMenuList); return btnDatas; } @@ -340,10 +342,10 @@ public class JobServiceImpl extends Service implements JobService { public Long saveBaseForm(Map params) { HasRightUtil.hasRight(user, RIGHT_NAME, false); JobSearchParam searchParam = JSONObject.parseObject(JSONObject.toJSONString(params), JobSearchParam.class); - String jobNo = (String) params.get("job_no"); - // 判断是否开启自动编号 - jobNo = repeatDetermine(jobNo); - params.put("job_no", jobNo); + //String jobNo = (String) params.get("job_no"); + //// 判断是否开启自动编号 + //jobNo = repeatDetermine(jobNo); + //params.put("job_no", jobNo); params.put("is_key", null == searchParam.getIsKey() ? 0 : searchParam.getIsKey()); if (null != searchParam.getParentJob()) { JobPO parentJob = getJobMapper().getJobById(searchParam.getParentJob()); @@ -363,6 +365,15 @@ public class JobServiceImpl extends Service implements JobService { } params.put("show_order", maxShowOrder + 1); } + // 判断岗位是否重复 + ResourcePO build = ResourcePO.builder().subcompanyid1(Integer.parseInt(Util.null2String(params.get("ec_company")))).departmentid(Integer.parseInt(Util.null2String(params.get("ec_department")))).jobtitle(Integer.parseInt(Util.null2String(params.get("ec_jobTitle")))).build(); + int count = getJobMapper().selectByConditions(build); + OrganizationAssert.isTrue(count <= 0, "已存在相同维度岗位,请勿重复添加"); + + String jobNo = (String) params.get("job_no"); + // 判断是否开启自动编号 + jobNo = repeatDetermine(jobNo); + params.put("job_no", jobNo); //params.put("jobactivityid", JOB_ACTIVITY_ID); //new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.ADD, params).sync(); return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", null); @@ -400,14 +411,7 @@ public class JobServiceImpl extends Service implements JobService { params.put("ec_department", jclDepartment.getId()); params.put("ec_company", jclDepartment.getSubCompanyId1()); } - //params.put("jobactivityid", JOB_ACTIVITY_ID); - //new OrganizationSyncEc(user, LogModuleNameEnum.JOB, OperateTypeEnum.UPDATE, params, oldJobPO).sync(); getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOB, params, "", searchParam.getId()); - - JobPO jobById = getJobMapper().getJobById(searchParam.getId()); - //TODO new JobTriggerRunnable(oldJobPO, jobById).run(); - // 更新人员关联字段 - // updateResourceJob(jobById); } // 更新主表拓展表 getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_JOBEXT, params, "", searchParam.getId()); diff --git a/src/com/engine/organization/wrapper/JobWrapper.java b/src/com/engine/organization/wrapper/JobWrapper.java index 826fea4c..718ca48d 100644 --- a/src/com/engine/organization/wrapper/JobWrapper.java +++ b/src/com/engine/organization/wrapper/JobWrapper.java @@ -110,10 +110,9 @@ public class JobWrapper extends OrganizationWrapper { @Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.JOB, operateDesc = "新增岗位") public Long saveBaseForm(Map params) { Long jobId = getJobService(user).saveBaseForm(params); + JobPO jobPO = getJobMapper().getJobById(jobId); writeOperateLog(new Object() { - }.getClass(), params.get("job_name").toString(), JSON.toJSONString(params), "新增岗位"); - // 更新组织架构图 - //TODO new Thread(new JobTriggerRunnable(jobId)).start(); + }.getClass(), jobPO.getJobTitleName(), JSON.toJSONString(params), "新增岗位"); return jobId; } From cdd2e6384ef7c1a0e5c1144aa3ebb5281c2b72ba Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 8 Jun 2023 15:56:06 +0800 Subject: [PATCH 195/203] =?UTF-8?q?=E4=BA=BA=E5=91=98=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=20BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImportCommonServiceImpl.java | 60 ++++++++++--------- .../util/saveimport/ResourceImport.java | 3 + 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java index 4d054d55..8390babb 100644 --- a/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java +++ b/src/com/engine/organization/service/impl/ImportCommonServiceImpl.java @@ -796,35 +796,37 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ departmentColumn = column; iterator.remove(); } - if ("方案编号".equals(column)) { - schemeList.add(column); - levelList.add(column); - gradeList.add(column); - } - if ("方案名称".equals(column)) { - schemeList.add(column); - } - if ("方案说明".equals(column)) { - schemeList.add(column); - } - if ("职等编号".equals(column)) { - levelList.add(0, column); - gradeList.add(column); - } - if ("职等名称".equals(column)) { - levelList.add(1, column); - } - if ("职等说明".equals(column)) { - levelList.add(column); - } - if ("职级编号".equals(column)) { - gradeList.add(0, column); - } - if ("职级名称".equals(column)) { - gradeList.add(1, column); - } - if ("职级说明".equals(column)) { - gradeList.add(column); + if ("joblevel".equals(importType)) { + if ("方案编号".equals(column)) { + schemeList.add(column); + levelList.add(column); + gradeList.add(column); + } + if ("方案名称".equals(column)) { + schemeList.add(column); + } + if ("方案说明".equals(column)) { + schemeList.add(column); + } + if ("职等编号".equals(column)) { + levelList.add(0, column); + gradeList.add(column); + } + if ("职等名称".equals(column)) { + levelList.add(1, column); + } + if ("职等说明".equals(column)) { + levelList.add(column); + } + if ("职级编号".equals(column)) { + gradeList.add(0, column); + } + if ("职级名称".equals(column)) { + gradeList.add(1, column); + } + if ("职级说明".equals(column)) { + gradeList.add(column); + } } } if (StringUtils.isNotBlank(departmentColumn.toString())) { diff --git a/src/com/engine/organization/util/saveimport/ResourceImport.java b/src/com/engine/organization/util/saveimport/ResourceImport.java index be8adda4..cf61ed38 100644 --- a/src/com/engine/organization/util/saveimport/ResourceImport.java +++ b/src/com/engine/organization/util/saveimport/ResourceImport.java @@ -57,6 +57,9 @@ public class ResourceImport { hfm.getCustomFields(); while (hfm.next()) { String fieldName = hfm.getFieldname(); + if (-1 != cusTreeForm.getId()) { + fieldName = cusTreeForm.getId() + fieldName; + } String fieldLabel = SystemEnv.getHtmlLabelNames(hfm.getLable(), user.getLanguage()); importFields.add(HrmFormFieldPO.builder().fieldName(fieldName).labelName(fieldLabel).build()); } From a1dd6126b0f874eee4ae7078d082b4088c2e7bd0 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 9 Jun 2023 14:19:32 +0800 Subject: [PATCH 196/203] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E6=96=B0=E5=A2=9EBUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/organization/service/impl/JobServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 0a7b5b4c..5fb5b489 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -354,8 +354,8 @@ public class JobServiceImpl extends Service implements JobService { } else { Integer ecDepartment = searchParam.getEcDepartment(); DepartmentPO jclDepartment = getDepartmentMapper().getDeptById(ecDepartment); - params.put("ec_company", jclDepartment.getId()); - params.put("ec_department", jclDepartment.getSubCompanyId1()); + params.put("ec_department", jclDepartment.getId()); + params.put("ec_company", jclDepartment.getSubCompanyId1()); } if (StringUtils.isBlank(params.get("show_order").toString())) { From 13c39d5fd0c103261efd5f7e45721287be9fd08e Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 21 Jun 2023 11:42:21 +0800 Subject: [PATCH 197/203] =?UTF-8?q?Resin=E7=BC=96=E8=AF=91=20=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E3=80=81=E8=AD=A6=E5=91=8A=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/browser/po/CustomBrowserBean.java | 6 +- .../entity/company/param/CompParam.java | 6 +- .../department/param/DeptSearchParam.java | 6 +- .../param/QuerySingleDeptListParam.java | 6 +- .../param/HrmResourceSearchParam.java | 6 +- .../entity/job/param/JobSearchParam.java | 6 +- .../entity/searchtree/SearchTree.java | 66 ++++++++++++++++++- .../mapper/department/DepartmentMapper.xml | 2 +- .../service/impl/ExportCommonServiceImpl.java | 5 +- .../organization/util/page/PageInfo.java | 2 + .../util/response/ReturnResult.java | 66 ------------------- .../web/HrmResourceController.java | 2 +- 12 files changed, 83 insertions(+), 96 deletions(-) diff --git a/src/com/engine/organization/entity/browser/po/CustomBrowserBean.java b/src/com/engine/organization/entity/browser/po/CustomBrowserBean.java index 7885d1de..b34ac32d 100644 --- a/src/com/engine/organization/entity/browser/po/CustomBrowserBean.java +++ b/src/com/engine/organization/entity/browser/po/CustomBrowserBean.java @@ -1,10 +1,7 @@ package com.engine.organization.entity.browser.po; import com.api.browser.bean.BrowserBean; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; import java.util.Map; @@ -17,6 +14,7 @@ import java.util.Map; @Builder @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper=false) public class CustomBrowserBean extends BrowserBean { diff --git a/src/com/engine/organization/entity/company/param/CompParam.java b/src/com/engine/organization/entity/company/param/CompParam.java index 1b409c23..37f40917 100644 --- a/src/com/engine/organization/entity/company/param/CompParam.java +++ b/src/com/engine/organization/entity/company/param/CompParam.java @@ -1,10 +1,7 @@ package com.engine.organization.entity.company.param; import com.engine.organization.common.BaseQueryParam; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; /** * @author:dxfeng @@ -15,6 +12,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper=false) public class CompParam extends BaseQueryParam { private Integer Id; private String subCompanyName; diff --git a/src/com/engine/organization/entity/department/param/DeptSearchParam.java b/src/com/engine/organization/entity/department/param/DeptSearchParam.java index 93b53094..099edd5a 100644 --- a/src/com/engine/organization/entity/department/param/DeptSearchParam.java +++ b/src/com/engine/organization/entity/department/param/DeptSearchParam.java @@ -1,10 +1,7 @@ package com.engine.organization.entity.department.param; import com.engine.organization.common.BaseQueryParam; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; /** * @description: @@ -16,6 +13,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper=false) public class DeptSearchParam extends BaseQueryParam { private Integer id; private String departmentMark; diff --git a/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java b/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java index 9972fa6c..b0b25607 100644 --- a/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java +++ b/src/com/engine/organization/entity/department/param/QuerySingleDeptListParam.java @@ -1,10 +1,7 @@ package com.engine.organization.entity.department.param; import com.engine.organization.common.BaseQueryParam; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; /** * @Author weaver_cl @@ -16,6 +13,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper=false) public class QuerySingleDeptListParam extends BaseQueryParam { private Integer parentComp; diff --git a/src/com/engine/organization/entity/hrmresource/param/HrmResourceSearchParam.java b/src/com/engine/organization/entity/hrmresource/param/HrmResourceSearchParam.java index b3cb3006..8a549ea9 100644 --- a/src/com/engine/organization/entity/hrmresource/param/HrmResourceSearchParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/HrmResourceSearchParam.java @@ -1,10 +1,7 @@ package com.engine.organization.entity.hrmresource.param; import com.engine.organization.common.BaseQueryParam; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; /** * @author:dxfeng @@ -15,6 +12,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper=false) public class HrmResourceSearchParam extends BaseQueryParam { /** * 姓名 diff --git a/src/com/engine/organization/entity/job/param/JobSearchParam.java b/src/com/engine/organization/entity/job/param/JobSearchParam.java index 77ebc80f..fd1871f4 100644 --- a/src/com/engine/organization/entity/job/param/JobSearchParam.java +++ b/src/com/engine/organization/entity/job/param/JobSearchParam.java @@ -1,10 +1,7 @@ package com.engine.organization.entity.job.param; import com.engine.organization.common.BaseQueryParam; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; +import lombok.*; /** * @description: @@ -16,6 +13,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper=false) public class JobSearchParam extends BaseQueryParam { /** * 主键 diff --git a/src/com/engine/organization/entity/searchtree/SearchTree.java b/src/com/engine/organization/entity/searchtree/SearchTree.java index ddb769e6..849670cf 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTree.java +++ b/src/com/engine/organization/entity/searchtree/SearchTree.java @@ -1,7 +1,6 @@ package com.engine.organization.entity.searchtree; import com.api.hrm.bean.TreeNode; -import lombok.Data; import java.util.Objects; @@ -11,7 +10,6 @@ import java.util.Objects; * @createTime: 2022/05/26 * @version: 1.0 */ -@Data public class SearchTree extends TreeNode { private String companyid; private String isVirtual; @@ -22,6 +20,70 @@ public class SearchTree extends TreeNode { private String parentComp; private Integer orderNum; + public String getCompanyid() { + return companyid; + } + + public void setCompanyid(String companyid) { + this.companyid = companyid; + } + + public String getIsVirtual() { + return isVirtual; + } + + public void setIsVirtual(String isVirtual) { + this.isVirtual = isVirtual; + } + + public String getPsubcompanyid() { + return psubcompanyid; + } + + public void setPsubcompanyid(String psubcompanyid) { + this.psubcompanyid = psubcompanyid; + } + + public String getDisplayType() { + return displayType; + } + + public void setDisplayType(String displayType) { + this.displayType = displayType; + } + + public boolean isCanceled() { + return isCanceled; + } + + public void setCanceled(boolean canceled) { + isCanceled = canceled; + } + + public String getRequestParams() { + return requestParams; + } + + public void setRequestParams(String requestParams) { + this.requestParams = requestParams; + } + + public String getParentComp() { + return parentComp; + } + + public void setParentComp(String parentComp) { + this.parentComp = parentComp; + } + + public Integer getOrderNum() { + return orderNum; + } + + public void setOrderNum(Integer orderNum) { + this.orderNum = orderNum; + } + @Override public boolean equals(Object o) { if (this == o) { diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index fda56e2a..a21e4c44 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -145,7 +145,7 @@ from jcl_org_job where forbidden_tag = 0 and delete_type = 0 - and parent_dept = = #{supDepId} + and parent_dept = #{supDepId}