From b0982f7d7f30cfc642e15773432a66fbed27ad1a Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 22 Mar 2022 19:44:35 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E5=8F=B0=E8=B4=A6getSear?= =?UTF-8?q?ch=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/salary/enums/{UserStatus.java => UserStatusEnum.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/com/engine/salary/enums/{UserStatus.java => UserStatusEnum.java} (100%) diff --git a/src/com/engine/salary/enums/UserStatus.java b/src/com/engine/salary/enums/UserStatusEnum.java similarity index 100% rename from src/com/engine/salary/enums/UserStatus.java rename to src/com/engine/salary/enums/UserStatusEnum.java From 56036bf9cb73dfe0a5dfea4947b5600614f62946 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Tue, 22 Mar 2022 19:47:46 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=96=B9=E6=A1=88getSear?= =?UTF-8?q?chCondition=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 112 +++++++++++++++--- src/com/engine/salary/biz/SICategoryBiz.java | 3 +- .../cmd/siarchives/SIArchivesTipsCmd.java | 4 +- .../cmd/sicategory/SICategoryGetFormCmd.java | 10 +- .../po/InsuranceArchivesEmployeePO.java | 4 +- .../engine/salary/enums/UserStatusEnum.java | 4 +- .../mapper/siarchives/SocialSchemeMapper.java | 7 +- .../mapper/siarchives/SocialSchemeMapper.xml | 10 ++ .../salary/service/SIArchivesService.java | 2 + .../service/impl/SIArchivesServiceImpl.java | 8 ++ .../salary/util/SalaryFormItemUtil.java | 88 ++++++++++++-- .../salary/web/SIArchivesController.java | 23 ++++ 12 files changed, 241 insertions(+), 34 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 8949c1fa2..00e8c9ffc 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -7,7 +7,10 @@ import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.api.browser.bean.SearchConditionOption; +import com.cloudstore.eccom.pc.table.WeaTable; +import com.cloudstore.eccom.pc.table.WeaTableCheckboxpopedom; import com.cloudstore.eccom.pc.table.WeaTableColumn; +import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.siarchives.bo.InsuranceArchivesBO; @@ -24,6 +27,7 @@ import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemePO; import com.engine.salary.entity.taxrate.TaxAgent; +import com.engine.salary.enums.UserStatusEnum; import com.engine.salary.enums.sicategory.*; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.TaxAgentMapper; @@ -81,7 +85,7 @@ public class SIArchivesBiz { .dimissionDate(SalaryDateUtil.getFormatLocalDate(item.getDissmissdate())) .build(); -// if (item.getStatus() == UserStatus.unavailable) { +// if (item.getStatus() == UserStatusEnum.unavailable) { // InsuranceArchivesListParam insuranceArchivesListParam = new InsuranceArchivesListParam(); // insuranceArchivesListParam.setEmployeeIds(Collections.singletonList(employeeId)); // List insuranceArchivesEmployeePOS = siArchivesSocialMapper.queryEmployeeList(insuranceArchivesListParam, tenantKey); @@ -114,9 +118,9 @@ public class SIArchivesBiz { socialList.forEach(social -> { socialOptions.add(new SearchConditionOption(Util.null2String(social.getId()),social.getSchemeName())); }); - SearchConditionItem socialName = SalaryFormItemUtil.selectItem(user,socialOptions, 2, 12, 6, false, "社保方案名称"); - SearchConditionItem organizationName = SalaryFormItemUtil.selectItem(user, paymentOptions, 2, 12, 6, false, "社保缴纳组织"); - SearchConditionItem underTakeName = SalaryFormItemUtil.selectItem(user, underTakeOptions, 2, 12, 6, false, "社保个人实际承担方"); + SearchConditionItem socialName = SalaryFormItemUtil.selectItem(user,socialOptions, 2, 12, 6, false, "社保方案名称","socialName"); + SearchConditionItem organizationName = SalaryFormItemUtil.selectItem(user, paymentOptions, 2, 12, 6, false, "社保缴纳组织","paymentOrganization"); + SearchConditionItem underTakeName = SalaryFormItemUtil.selectItem(user, underTakeOptions, 2, 12, 6, false, "社保个人实际承担方","underTake"); selectItems.add(socialName); selectItems.add(organizationName); @@ -133,9 +137,9 @@ public class SIArchivesBiz { fundList.forEach(social -> { fundOptions.add(new SearchConditionOption(Util.null2String(social.getId()),social.getSchemeName())); }); - SearchConditionItem fundName = SalaryFormItemUtil.selectItem(user,fundOptions, 2, 12, 6, false, "公积金方案名称"); - SearchConditionItem organizationFundName = SalaryFormItemUtil.selectItem(user, paymentOptions, 2, 12, 6, false, "公积金缴纳组织"); - SearchConditionItem underTakeFundName = SalaryFormItemUtil.selectItem(user, underTakeOptions, 2, 12, 6, false, "公积金个人实际承担方"); + SearchConditionItem fundName = SalaryFormItemUtil.selectItem(user,fundOptions, 2, 12, 6, false, "公积金方案名称","fundName"); + SearchConditionItem organizationFundName = SalaryFormItemUtil.selectItem(user, paymentOptions, 2, 12, 6, false, "公积金缴纳组织","paymentOrganization"); + SearchConditionItem underTakeFundName = SalaryFormItemUtil.selectItem(user, underTakeOptions, 2, 12, 6, false, "公积金个人实际承担方","underTake"); selectItems.add(fundName); selectItems.add(organizationFundName); @@ -151,9 +155,9 @@ public class SIArchivesBiz { otherList.forEach(social -> { otherOptions.add(new SearchConditionOption(Util.null2String(social.getId()),social.getSchemeName())); }); - SearchConditionItem otherName = SalaryFormItemUtil.selectItem(user,otherOptions, 2, 12, 6, false, "其它福利名称"); - SearchConditionItem organizationOtherName = SalaryFormItemUtil.selectItem(user, paymentOptions, 2, 12, 6, false, "其它福利缴纳组织"); - SearchConditionItem underTakeOtherName = SalaryFormItemUtil.selectItem(user, underTakeOptions, 2, 12, 6, false, "其它福利个人实际承担方"); + SearchConditionItem otherName = SalaryFormItemUtil.selectItem(user,otherOptions, 2, 12, 6, false, "其它福利名称","otherName"); + SearchConditionItem organizationOtherName = SalaryFormItemUtil.selectItem(user, paymentOptions, 2, 12, 6, false, "其它福利缴纳组织","paymentOrganization"); + SearchConditionItem underTakeOtherName = SalaryFormItemUtil.selectItem(user, underTakeOptions, 2, 12, 6, false, "其它福利个人实际承担方","underTake"); selectItems.add(otherName); selectItems.add(organizationOtherName); @@ -276,7 +280,7 @@ public class SIArchivesBiz { list.forEach(insuranceSchemeDetail-> { ICategoryPO iCategoryPO = siCategoryBiz.getByID(insuranceSchemeDetail.getInsuranceId()); if (iCategoryPO != null) { - inputItems.add(SalaryFormItemUtil.inputNumberItem(user,"precision:2",String.valueOf(insuranceSchemeDetail.getInsuranceId()),2,12,2,iCategoryPO.getInsuranceName())); + inputItems.add(SalaryFormItemUtil.inputNumberItem(user,"precision:2",2,12,2,iCategoryPO.getInsuranceName(),String.valueOf(insuranceSchemeDetail.getInsuranceId()))); } }); return inputItems; @@ -602,13 +606,31 @@ public class SIArchivesBiz { Map datas = new HashMap<>(16); try { SocialSchemeMapper socialSchemeMapper = sqlSession.getMapper(SocialSchemeMapper.class); - PageUtil.start(param.getCurrent().intValue(), param.getPageSize().intValue()); + PageUtil.start(param.getCurrent(), param.getPageSize()); List page = socialSchemeMapper.listPageEmployeePOS(param); PageInfo pageInfo = new PageInfo<>(page, InsuranceArchivesEmployeePO.class); List> records = buildTableData(param, page); + List columns = buildWeaTableColumns(page, operateId); + + WeaTable table = new WeaTable(); + table.setColumns(columns); + //设置check是否可用 + List checkboxpopedomList = new ArrayList<>(); + WeaTableCheckboxpopedom checkboxpopedom = new WeaTableCheckboxpopedom(); + checkboxpopedom.setPopedompara("column:system_type"); + checkboxpopedom.setShowmethod("com.engine.salary.transmethod.TaxRateTransMethod.getCheckBoxPopedom"); + checkboxpopedomList.add(checkboxpopedom); + table.setCheckboxList(checkboxpopedomList); + table.setCheckboxpopedom(null); + + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + datas.put("pageInfo", pageInfo); datas.put("datas",records); - datas.put("columns",buildWeaTableColumns(page, operateId)); + datas.put("columns",columns); + datas.put("dataKey",result.getResultMap()); return datas; }finally { @@ -781,7 +803,7 @@ public class SIArchivesBiz { map.put("departmentId", item.getDepartmentId()); map.put("jobNum", item.getJobNum()); map.put("mobile", item.getTelephone()); - map.put("status", item.getUserStatus() == null ? "" : item.getUserStatus().getDescription()); + map.put("status", item.getUserStatusEnum() == null ? "" : item.getUserStatusEnum().getDescription()); if (socialItem != null) { map.put("socialName", insuranceSchemeMapper.querySchemeName(socialItem.getSocialSchemeId())); Map socialJson = JSON.parseObject(socialItem.getSocialPaymentBaseString(), new TypeReference>() { @@ -824,4 +846,66 @@ public class SIArchivesBiz { sqlSession.close(); } } + + /** + * 获取信息提示 + */ + public void tips() { + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + SocialSchemeMapper socialSchemeMapper = sqlSession.getMapper(SocialSchemeMapper.class); + List employeeIds = socialSchemeMapper.tips(); + SalaryAssert.isEmpty(employeeIds, "当前有离职人员档案存在福利缴纳起始月,未维护福利最后缴纳月,请尽快处理"); + + }finally { + sqlSession.close(); + } + } + + /** + * 高级搜索 + * @return + */ + public Map getSearchCondition(User user) { + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + Map dataMap = new HashMap<>(); + try { + List addGroups = new ArrayList<>(); + List searchItems = new LinkedList<>(); + List userStatusOptions = Arrays.stream(UserStatusEnum.values()).map(e -> new SearchConditionOption(String.valueOf(e.getValue()), e.getDescription())).collect(Collectors.toList()); + List list = new SISchemeBiz().listAll(); + + List schemeOption = list.stream().filter(item -> Objects.equals(item.getWelfareType(), WelfareTypeEnum.SOCIAL_SECURITY.getValue())) + .collect(Collectors.toList()) + .stream().map(item -> new SearchConditionOption(item.getId().toString(), item.getSchemeName())).collect(Collectors.toList()); + + List fundOption = list.stream().filter(item -> Objects.equals(item.getWelfareType(), WelfareTypeEnum.ACCUMULATION_FUND.getValue())) + .collect(Collectors.toList()) + .stream().map(item -> new SearchConditionOption(item.getId().toString(), item.getSchemeName())).collect(Collectors.toList()); + + List otherOption = list.stream().filter(item -> Objects.equals(item.getWelfareType(), WelfareTypeEnum.OTHER.getValue())) + .collect(Collectors.toList()) + .stream().map(item -> new SearchConditionOption(item.getId().toString(), item.getSchemeName())).collect(Collectors.toList()); + + searchItems.add(SalaryFormItemUtil.inputItem(user, "require", 2, 6, 3, 10, "姓名", "userName")); + searchItems.add(SalaryFormItemUtil.inputItem(user, "require", 2, 6, 3, 10, "工号", "jobNum")); + searchItems.add(SalaryFormItemUtil.browserItem(user,2,6,3,false,"部门","require","57","departmentIds")); + searchItems.add(SalaryFormItemUtil.selectItem(user,userStatusOptions, 2, 6, 6, false, "状态","statuses")); + searchItems.add(SalaryFormItemUtil.browserItem(user,2,6,3,false,"岗位","require","278","positions")); + searchItems.add(SalaryFormItemUtil.rangeDateItem(user,2,6,3,"入职日期","require","","")); + + searchItems.add(SalaryFormItemUtil.selectItem(user,schemeOption, 2, 6, 6, false, "社保方案","siSchemeId")); + searchItems.add(SalaryFormItemUtil.selectItem(user,fundOption, 2, 6, 6, false, "公积金方案","fundSchemeId")); + searchItems.add(SalaryFormItemUtil.selectItem(user,otherOption, 2, 6, 6, false, "其它福利方案","otherSchemeId")); + + + addGroups.add(new SearchConditionGroup("常用条件",true,searchItems)); + dataMap.put("items",addGroups); + + }finally { + sqlSession.close(); + } + + return dataMap; + } } diff --git a/src/com/engine/salary/biz/SICategoryBiz.java b/src/com/engine/salary/biz/SICategoryBiz.java index 32a89eaed..f50240ea8 100644 --- a/src/com/engine/salary/biz/SICategoryBiz.java +++ b/src/com/engine/salary/biz/SICategoryBiz.java @@ -5,6 +5,7 @@ import com.engine.salary.entity.sicategory.dto.ICategoryFormDTO; import com.engine.salary.entity.sicategory.po.ICategoryPO; import com.engine.salary.entity.sischeme.po.InsuranceSchemeDetailPO; import com.engine.salary.enums.sicategory.IsPaymentEnum; +import com.engine.salary.enums.sicategory.WelfareTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.mapper.sicategory.ICategoryMapper; import com.engine.salary.util.SalaryEnumUtil; @@ -43,7 +44,7 @@ public class SICategoryBiz { return iCategoryFormDTO; } - return ICategoryFormDTO.builder().build(); + return ICategoryFormDTO.builder().welfareType(WelfareTypeEnum.SOCIAL_SECURITY).build(); } diff --git a/src/com/engine/salary/cmd/siarchives/SIArchivesTipsCmd.java b/src/com/engine/salary/cmd/siarchives/SIArchivesTipsCmd.java index 4998f1788..a7421ccf0 100644 --- a/src/com/engine/salary/cmd/siarchives/SIArchivesTipsCmd.java +++ b/src/com/engine/salary/cmd/siarchives/SIArchivesTipsCmd.java @@ -3,6 +3,7 @@ package com.engine.salary.cmd.siarchives; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; +import com.engine.salary.biz.SIArchivesBiz; import weaver.hrm.User; import java.util.Map; @@ -27,7 +28,8 @@ public class SIArchivesTipsCmd extends AbstractCommonCommand @Override public Map execute(CommandContext commandContext) { - + SIArchivesBiz siArchivesBiz = new SIArchivesBiz(); + siArchivesBiz.tips(); return null; } } diff --git a/src/com/engine/salary/cmd/sicategory/SICategoryGetFormCmd.java b/src/com/engine/salary/cmd/sicategory/SICategoryGetFormCmd.java index 67b1b0ccf..5739e5d75 100644 --- a/src/com/engine/salary/cmd/sicategory/SICategoryGetFormCmd.java +++ b/src/com/engine/salary/cmd/sicategory/SICategoryGetFormCmd.java @@ -41,17 +41,17 @@ public class SICategoryGetFormCmd extends AbstractCommonCommand items = new HashMap<>(); - SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT,502327, "input"); + SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT,502327, "insuranceName"); input.setColSpan(2);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行 input.setFieldcol(12); //条件输入框所占宽度,默认值18 input.setViewAttr(3); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2 input.setLength(10); // 设置输入长度 input.setLabel("福利名称"); //设置文本值 这个将覆盖多语言标签的值 input.setRules("required"); //设置字段填入规则 - input.setValue(Objects.isNull(id) ? "" : form.getInsuranceName() ); //这里设置数据的默认值,开发可以通过从数据库取出数据传入 + items.put("insuranceName",input); - SearchConditionItem radio = conditionFactory.createCondition(ConditionType.RADIO,502327,"radio"); + SearchConditionItem radio = conditionFactory.createCondition(ConditionType.RADIO,502327,"welfareType"); List radioOptions = new ArrayList <>(); radioOptions.add(new SearchConditionOption("SOCIAL_SECURITY","社保",true)); radioOptions.add(new SearchConditionOption("ACCUMULATION_FUND","公积金")); @@ -66,10 +66,10 @@ public class SICategoryGetFormCmd extends AbstractCommonCommand checkOptions = new ArrayList <>(); checkOptions.add(new SearchConditionOption("SCOPE_COMPANY","公司")); - checkOptions.add(new SearchConditionOption("SCOPE_PERSON","个人",true)); + checkOptions.add(new SearchConditionOption("SCOPE_PERSON","个人")); checkbox.setColSpan(2); checkbox.setFieldcol(12); checkbox.setLabelcol(6); diff --git a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java index b8897a814..a69102c8c 100644 --- a/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java +++ b/src/com/engine/salary/entity/siarchives/po/InsuranceArchivesEmployeePO.java @@ -1,6 +1,6 @@ package com.engine.salary.entity.siarchives.po; -import com.engine.salary.enums.UserStatus; +import com.engine.salary.enums.UserStatusEnum; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -34,7 +34,7 @@ public class InsuranceArchivesEmployeePO { private BigDecimal position; - private UserStatus userStatus; + private UserStatusEnum userStatusEnum; private Date hiredate; diff --git a/src/com/engine/salary/enums/UserStatusEnum.java b/src/com/engine/salary/enums/UserStatusEnum.java index 6b22f6403..1c7437142 100644 --- a/src/com/engine/salary/enums/UserStatusEnum.java +++ b/src/com/engine/salary/enums/UserStatusEnum.java @@ -14,7 +14,7 @@ package com.engine.salary.enums; * retired * invalid **/ -public enum UserStatus { +public enum UserStatusEnum { TRIAL(0,"试用"), FORMAL(1,"正式"), @@ -29,7 +29,7 @@ public enum UserStatus { private String description; - UserStatus(Integer value, String description) { + UserStatusEnum(Integer value, String description) { this.value = value; this.description = description; } diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.java b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.java index 21776becc..ff844327a 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.java +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.java @@ -42,6 +42,9 @@ public interface SocialSchemeMapper { */ List listPageEmployeePOS(@Param("param") InsuranceArchivesListParam param); - - + /** + * 信息提示 + * @return + */ + List tips(); } diff --git a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml index 8b1f6583d..82336e375 100644 --- a/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml +++ b/src/com/engine/salary/mapper/siarchives/SocialSchemeMapper.xml @@ -275,4 +275,14 @@ ORDER BY a.id asc + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/SIArchivesService.java b/src/com/engine/salary/service/SIArchivesService.java index 430e66bff..ee144f651 100644 --- a/src/com/engine/salary/service/SIArchivesService.java +++ b/src/com/engine/salary/service/SIArchivesService.java @@ -22,4 +22,6 @@ public interface SIArchivesService { String insert(InsuranceArchivesSaveParam param); Map listPage(InsuranceArchivesListParam insuranceArchivesListParam); + + Map getSearchCondition(Map stringObjectMap); } diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java index 95b3419ea..6a441c088 100644 --- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java @@ -62,5 +62,13 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService return apidatas; } + @Override + public Map getSearchCondition(Map param) { + Map apidatas = new HashMap<>(16); + SIArchivesBiz siArchivesBiz = new SIArchivesBiz(); + apidatas = siArchivesBiz.getSearchCondition(user); + return apidatas; + } + } diff --git a/src/com/engine/salary/util/SalaryFormItemUtil.java b/src/com/engine/salary/util/SalaryFormItemUtil.java index 4b8776b35..4300b91e7 100644 --- a/src/com/engine/salary/util/SalaryFormItemUtil.java +++ b/src/com/engine/salary/util/SalaryFormItemUtil.java @@ -9,6 +9,7 @@ import weaver.hrm.User; import java.util.List; + /** * @Author weaver_cl * @Description: TODO @@ -29,9 +30,9 @@ public class SalaryFormItemUtil { * @return */ public static SearchConditionItem selectItem(User user, List selectOptions, int colSpan, int fieldcol, - int labelcol, boolean isQuickSearch, String label) { + int labelcol, boolean isQuickSearch, String label,String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem select = conditionFactory.createCondition(ConditionType.SELECT,502327,"SELECT"); + SearchConditionItem select = conditionFactory.createCondition(ConditionType.SELECT,502327,name); select.setOptions(selectOptions); select.setColSpan(colSpan); select.setFieldcol(fieldcol); @@ -46,24 +47,97 @@ public class SalaryFormItemUtil { * 输入框数字 * @param user * @param rules - * @param key * @param colSpan * @param fieldcol * @param viewAttr * @param label * @return */ - public static SearchConditionItem inputNumberItem(User user,String rules,String key,int colSpan, int fieldcol, - int viewAttr, String label) { + public static SearchConditionItem inputNumberItem(User user,String rules,int colSpan, int fieldcol, + int viewAttr, String label,String name) { ConditionFactory conditionFactory = new ConditionFactory(user); - SearchConditionItem inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, "inputNumber"); + SearchConditionItem inputnumber = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, name); inputnumber.setColSpan(colSpan); inputnumber.setFieldcol(fieldcol); inputnumber.setViewAttr(viewAttr); inputnumber.setLabel(label); - inputnumber.setKey(key); inputnumber.setRules(rules); return inputnumber; } + + + /** + * 输入框文本 + * @param user + * @param rules + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param length + * @param label + * @return + */ + public static SearchConditionItem inputItem(User user,String rules,int colSpan, int fieldcol, + int viewAttr,int length, String label,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, name); + input.setColSpan(colSpan); + input.setFieldcol(fieldcol); + input.setViewAttr(viewAttr); + input.setLength(length); + input.setLabel(label); + input.setRules(rules); + return input; + } + + /** + * 浏览按钮 + * @param user + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param isQuickSearch + * @param label + * @param rules + * @param type + * @return + */ + public static SearchConditionItem browserItem(User user,int colSpan, int fieldcol, + int viewAttr,boolean isQuickSearch,String label,String rules,String type,String name) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem browser = conditionFactory.createCondition(ConditionType.BROWSER,502327,name,type); + browser.setColSpan(colSpan); + browser.setFieldcol(fieldcol); + browser.setViewAttr(viewAttr); + browser.setIsQuickSearch(isQuickSearch); + browser.setLabel(label); + browser.setRules(rules); + return browser; + } + + + /** + * 日期区间 + * @param user + * @param colSpan + * @param fieldcol + * @param viewAttr + * @param label + * @param rules + * @return + */ + public static SearchConditionItem rangeDateItem(User user,int colSpan, int fieldcol,int viewAttr + ,String label,String rules,String name1,String name2) { + ConditionFactory conditionFactory = new ConditionFactory(user); + SearchConditionItem rangeDate = conditionFactory.createCondition(ConditionType.TIMEPICKER,502327,new String[]{name1,name2}); + rangeDate.setColSpan(colSpan); + rangeDate.setFieldcol(fieldcol); + rangeDate.setViewAttr(viewAttr); + rangeDate.setLabel(label); + rangeDate.setRules(rules); + return rangeDate; + } + + } diff --git a/src/com/engine/salary/web/SIArchivesController.java b/src/com/engine/salary/web/SIArchivesController.java index dec7adc81..4ba2f1dfb 100644 --- a/src/com/engine/salary/web/SIArchivesController.java +++ b/src/com/engine/salary/web/SIArchivesController.java @@ -32,6 +32,12 @@ public class SIArchivesController { } + /** + * 提示信息 + * @param request + * @param response + * @return + */ @GET @Path("/tips") @Produces(MediaType.APPLICATION_JSON) @@ -41,6 +47,21 @@ public class SIArchivesController { } + /** + * 高级搜索 + * @param request + * @param response + * @return + */ + @POST + @Path("/getSearchCondition") + @Produces(MediaType.APPLICATION_JSON) + public String getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return ResponseResult.run(getService(user)::getSearchCondition, ParamUtil.request2Map(request)); + + } + /** @@ -111,4 +132,6 @@ public class SIArchivesController { + + } From d82e3e9e6f3f33acad3826bc37a306d6fea38100 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 23 Mar 2022 21:05:01 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=96=B9=E6=8C=89?= =?UTF-8?q?=E9=AB=98=E7=BA=A7=E6=90=9C=E7=B4=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 00e8c9ffc..862c15dab 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -892,8 +892,8 @@ public class SIArchivesBiz { searchItems.add(SalaryFormItemUtil.browserItem(user,2,6,3,false,"部门","require","57","departmentIds")); searchItems.add(SalaryFormItemUtil.selectItem(user,userStatusOptions, 2, 6, 6, false, "状态","statuses")); searchItems.add(SalaryFormItemUtil.browserItem(user,2,6,3,false,"岗位","require","278","positions")); - searchItems.add(SalaryFormItemUtil.rangeDateItem(user,2,6,3,"入职日期","require","","")); - + searchItems.add(SalaryFormItemUtil.rangeDateItem(user,2,6,3,"入职日期","require","hireDate","hireDate")); + searchItems.add(SalaryFormItemUtil.rangeDateItem(user,2,6,3,"离职日期","require","dimissionDate","dimissionDate")); searchItems.add(SalaryFormItemUtil.selectItem(user,schemeOption, 2, 6, 6, false, "社保方案","siSchemeId")); searchItems.add(SalaryFormItemUtil.selectItem(user,fundOption, 2, 6, 6, false, "公积金方案","fundSchemeId")); searchItems.add(SalaryFormItemUtil.selectItem(user,otherOption, 2, 6, 6, false, "其它福利方案","otherSchemeId")); From b10c09f0c49300e2374317e26bb8ec7c9c6c338b Mon Sep 17 00:00:00 2001 From: MustangDeng <670124965@qq.com> Date: Thu, 31 Mar 2022 13:41:40 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index d258b1082..094171f5b 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -657,18 +657,18 @@ public class SIArchivesBiz { list.add(new WeaTableColumn("150px","手机号", "mobile")); list.add(new WeaTableColumn("150px","员工状态", "status")); list.add(new WeaTableColumn("150px","社保方案名称", "socialName")); - titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn(v, k, "150px"))); + titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k))); list.add(new WeaTableColumn("150px","社保账号", "socialAccount")); list.add(new WeaTableColumn("150px","社保起始缴纳月", "socialStartTime")); list.add(new WeaTableColumn("150px","社保最后缴纳月", "socialEndTime")); list.add(new WeaTableColumn("150px","公积金方案名称", "fundName")); list.add(new WeaTableColumn("150px","公积金账号", "fundAccount")); - titleMap.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> list.add(new WeaTableColumn(v, k, "150px"))); + titleMap.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v , k))); list.add(new WeaTableColumn("150px","补充公积金账号", "supplementFundAccount" )); list.add(new WeaTableColumn("150px","公积金起始缴纳月", "fundStartTime")); list.add(new WeaTableColumn("150px","公积金最后缴纳月", "fundEndTime")); list.add(new WeaTableColumn("150px","其他福利方案名称", "otherName")); - titleMap.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> list.add(new WeaTableColumn(v, k, "150px"))); + titleMap.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k))); list.add(new WeaTableColumn("150px","其他福利起始缴纳月", "otherStartTime")); list.add(new WeaTableColumn("150px","其他福利最后缴纳月", "otherEndTime")); return list; From 13b69c76ebcaee4c8a2aaffb7f40bb19bca63c65 Mon Sep 17 00:00:00 2001 From: MustangDeng <670124965@qq.com> Date: Thu, 31 Mar 2022 14:22:42 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/engine/salary/biz/SIArchivesBiz.java | 130 +++++++++++++++--- .../salary/web/SIArchivesController.java | 2 +- 2 files changed, 110 insertions(+), 22 deletions(-) diff --git a/src/com/engine/salary/biz/SIArchivesBiz.java b/src/com/engine/salary/biz/SIArchivesBiz.java index 094171f5b..f72fca8ff 100644 --- a/src/com/engine/salary/biz/SIArchivesBiz.java +++ b/src/com/engine/salary/biz/SIArchivesBiz.java @@ -7,6 +7,8 @@ import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.api.browser.bean.SearchConditionGroup; 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.pc.table.WeaTable; import com.cloudstore.eccom.pc.table.WeaTableCheckboxpopedom; import com.cloudstore.eccom.pc.table.WeaTableColumn; @@ -47,6 +49,7 @@ import org.apache.ibatis.session.SqlSession; import weaver.conn.mybatis.MyBatisFactory; import weaver.general.Util; import weaver.hrm.User; +import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.function.Function; @@ -870,11 +873,7 @@ public class SIArchivesBiz { * @return */ public Map getSearchCondition(User user) { - SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); - Map dataMap = new HashMap<>(); - try { - List addGroups = new ArrayList<>(); - List searchItems = new LinkedList<>(); + List userStatusOptions = Arrays.stream(UserStatusEnum.values()).map(e -> new SearchConditionOption(String.valueOf(e.getValue()), e.getDescription())).collect(Collectors.toList()); List list = new SISchemeBiz().listAll(); @@ -890,25 +889,114 @@ public class SIArchivesBiz { .collect(Collectors.toList()) .stream().map(item -> new SearchConditionOption(item.getId().toString(), item.getSchemeName())).collect(Collectors.toList()); - searchItems.add(SalaryFormItemUtil.inputItem(user, "require", 2, 6, 3, 10, "姓名", "userName")); - searchItems.add(SalaryFormItemUtil.inputItem(user, "require", 2, 6, 3, 10, "工号", "jobNum")); - searchItems.add(SalaryFormItemUtil.browserItem(user,2,6,3,false,"部门","require","57","departmentIds")); - searchItems.add(SalaryFormItemUtil.selectItem(user,userStatusOptions, 2, 6, 6, false, "状态","statuses")); - searchItems.add(SalaryFormItemUtil.browserItem(user,2,6,3,false,"岗位","require","278","positions")); - searchItems.add(SalaryFormItemUtil.rangeDateItem(user,2,6,3,"入职日期","require","hireDate","hireDate")); - searchItems.add(SalaryFormItemUtil.rangeDateItem(user,2,6,3,"离职日期","require","dimissionDate","dimissionDate")); - searchItems.add(SalaryFormItemUtil.selectItem(user,schemeOption, 2, 6, 6, false, "社保方案","siSchemeId")); - searchItems.add(SalaryFormItemUtil.selectItem(user,fundOption, 2, 6, 6, false, "公积金方案","fundSchemeId")); - searchItems.add(SalaryFormItemUtil.selectItem(user,otherOption, 2, 6, 6, false, "其它福利方案","otherSchemeId")); - addGroups.add(new SearchConditionGroup("常用条件",true,searchItems)); - dataMap.put("items",addGroups); - }finally { - sqlSession.close(); - } + Map apidatas = new HashMap(); + ConditionFactory conditionFactory = new ConditionFactory(user); + + //条件组 + List addGroups = new ArrayList(); + + List conditionItems = new ArrayList(); + + //文本输入框 + SearchConditionItem username = conditionFactory.createCondition(ConditionType.INPUT,25034, "username"); + username.setColSpan(2);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行 + username.setFieldcol(16); //条件输入框所占宽度,默认值18 + username.setLabelcol(8); + username.setViewAttr(2); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2 + username.setLabel("姓名"); //设置文本值 这个将覆盖多语言标签的值 + conditionItems.add(username); + + //文本输入框 + SearchConditionItem jobNum = conditionFactory.createCondition(ConditionType.INPUT,25034, "jobNum"); + username.setColSpan(2);//定义一行显示条件数,默认值为2,当值为1时标识该条件单独占一行 + username.setFieldcol(16); //条件输入框所占宽度,默认值18 + username.setLabelcol(8); + username.setViewAttr(2); // 编辑权限 1:只读,2:可编辑, 3:必填 默认2 + username.setLabel("工号"); //设置文本值 这个将覆盖多语言标签的值 + conditionItems.add(jobNum); + + + SearchConditionItem departmentIds = conditionFactory.createCondition(ConditionType.BROWSER,502327,"departmentIds", "57"); + departmentIds.setColSpan(2); + departmentIds.setFieldcol(16); + departmentIds.setLabelcol(8); + departmentIds.setIsQuickSearch(true); + departmentIds.setLabel("部门"); + conditionItems.add(departmentIds); + + + SearchConditionItem statuses = conditionFactory.createCondition(ConditionType.SELECT,502327,"statuses"); + statuses.setOptions(userStatusOptions); + statuses.setColSpan(2); + statuses.setFieldcol(16); + statuses.setLabelcol(8); + statuses.setIsQuickSearch(true); + statuses.setLabel("状态"); + conditionItems.add(statuses); + + + + SearchConditionItem positions = conditionFactory.createCondition(ConditionType.BROWSER,502327,"positions", "278"); + positions.setColSpan(2); + positions.setFieldcol(16); + positions.setLabelcol(8); + positions.setIsQuickSearch(true); + positions.setLabel("岗位"); + conditionItems.add(positions); + + + SearchConditionItem hireDate = conditionFactory.createCondition(ConditionType.TIMEPICKER,502327,new String[]{"hireDate", "hireDate"}); + hireDate.setColSpan(2); + hireDate.setFieldcol(16); + hireDate.setViewAttr(8); + hireDate.setLabel("入职日期"); + conditionItems.add(hireDate); + + + SearchConditionItem dimissionDate = conditionFactory.createCondition(ConditionType.TIMEPICKER,502327,new String[]{"dimissionDate", "dimissionDate"}); + dimissionDate.setColSpan(2); + dimissionDate.setFieldcol(16); + dimissionDate.setViewAttr(8); + dimissionDate.setLabel("离职日期"); + conditionItems.add(dimissionDate); + + + SearchConditionItem siSchemeId = conditionFactory.createCondition(ConditionType.SELECT,502327,"siSchemeId"); + siSchemeId.setOptions(schemeOption); + siSchemeId.setColSpan(2); + siSchemeId.setFieldcol(16); + siSchemeId.setLabelcol(8); + siSchemeId.setIsQuickSearch(true); + siSchemeId.setLabel("社保方案"); + conditionItems.add(siSchemeId); + + + SearchConditionItem fundSchemeId = conditionFactory.createCondition(ConditionType.SELECT,502327,"fundSchemeId"); + fundSchemeId.setOptions(fundOption); + fundSchemeId.setColSpan(2); + fundSchemeId.setFieldcol(16); + fundSchemeId.setLabelcol(8); + fundSchemeId.setIsQuickSearch(true); + fundSchemeId.setLabel("公积金方案"); + conditionItems.add(fundSchemeId); + + SearchConditionItem otherSchemeId = conditionFactory.createCondition(ConditionType.SELECT,502327,"otherSchemeId"); + otherSchemeId.setOptions(otherOption); + otherSchemeId.setColSpan(2); + otherSchemeId.setFieldcol(16); + otherSchemeId.setLabelcol(8); + otherSchemeId.setIsQuickSearch(true); + otherSchemeId.setLabel("其它福利方案"); + conditionItems.add(otherSchemeId); + + addGroups.add(new SearchConditionGroup("常用条件",true,conditionItems)); + apidatas.put("condition",addGroups); + return apidatas; + + - return dataMap; } } diff --git a/src/com/engine/salary/web/SIArchivesController.java b/src/com/engine/salary/web/SIArchivesController.java index 4ba2f1dfb..94b7f704c 100644 --- a/src/com/engine/salary/web/SIArchivesController.java +++ b/src/com/engine/salary/web/SIArchivesController.java @@ -53,7 +53,7 @@ public class SIArchivesController { * @param response * @return */ - @POST + @GET @Path("/getSearchCondition") @Produces(MediaType.APPLICATION_JSON) public String getSearchCondition(@Context HttpServletRequest request, @Context HttpServletResponse response) { From e5100c8f444180fcbc4d377c732096cd4d8155e9 Mon Sep 17 00:00:00 2001 From: MustangDeng <670124965@qq.com> Date: Fri, 1 Apr 2022 09:20:44 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/sicategory/dto/ICategoryListDTO.java | 4 +++- .../entity/sischeme/vo/SISchemeTableVO.java | 10 ++++++---- .../salary/transmethod/SISchemeTransMethod.java | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 src/com/engine/salary/transmethod/SISchemeTransMethod.java diff --git a/src/com/engine/salary/entity/sicategory/dto/ICategoryListDTO.java b/src/com/engine/salary/entity/sicategory/dto/ICategoryListDTO.java index 9a8223429..12c3f7a28 100644 --- a/src/com/engine/salary/entity/sicategory/dto/ICategoryListDTO.java +++ b/src/com/engine/salary/entity/sicategory/dto/ICategoryListDTO.java @@ -23,7 +23,9 @@ import lombok.NoArgsConstructor; fromSql = "FROM hrsa_insurance_category", orderby = "id desc", primarykey = "id", - operates = {@SalaryTableOperate(text = "编辑")} + operates = { + @SalaryTableOperate(index = "0", text = "编辑"), + } ) public class ICategoryListDTO { diff --git a/src/com/engine/salary/entity/sischeme/vo/SISchemeTableVO.java b/src/com/engine/salary/entity/sischeme/vo/SISchemeTableVO.java index 7b4a3cd50..826161272 100644 --- a/src/com/engine/salary/entity/sischeme/vo/SISchemeTableVO.java +++ b/src/com/engine/salary/entity/sischeme/vo/SISchemeTableVO.java @@ -21,7 +21,7 @@ import lombok.NoArgsConstructor; @SalaryTable(pageId = "98acb87d-1509-4078-8061-41ff45e9573b", fields = "a.id," + "a.scheme_name," + - "a.payment_type," + + "a.payment_type as paymentType," + "GROUP_CONCAT(b.insurance_id SEPARATOR ',') insurance_id," + "GROUP_CONCAT(c.insurance_name SEPARATOR ',') insurance_name," + "a.remarks", @@ -31,8 +31,10 @@ import lombok.NoArgsConstructor; orderby = "id desc", groupby = "id", primarykey = "id", - operates = {@SalaryTableOperate(text = "编辑"), - @SalaryTableOperate(text = "复制")} + operates = { + @SalaryTableOperate(index = "0", text = "编辑"), + @SalaryTableOperate(index = "1", text = "复制") + } ) public class SISchemeTableVO { /** @@ -50,7 +52,7 @@ public class SISchemeTableVO { /** * 缴纳类型 */ - @SalaryTableColumn(column = "payment_type", width = "10%", text = "缴纳类型") + @SalaryTableColumn(column = "paymentType", width = "10%", text = "缴纳类型", transmethod = "com.engine.salary.transmethod.SISchemeTransMethod.getPaymentType") private String paymentType; diff --git a/src/com/engine/salary/transmethod/SISchemeTransMethod.java b/src/com/engine/salary/transmethod/SISchemeTransMethod.java new file mode 100644 index 000000000..634cc132a --- /dev/null +++ b/src/com/engine/salary/transmethod/SISchemeTransMethod.java @@ -0,0 +1,17 @@ +package com.engine.salary.transmethod; + +/** + * 社保福利转换 + */ +public class SISchemeTransMethod { + public static String getPaymentType(String type) { + switch (type) { + case "1": + return "城镇"; + case "2": + return "农村"; + default: + return ""; + } + } +}