diff --git a/src/com/api/organization/web/DemoController.java b/src/com/api/organization/web/DemoController.java deleted file mode 100644 index d27f10a9..00000000 --- a/src/com/api/organization/web/DemoController.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.api.organization.web; - -import javax.ws.rs.Path; - -/** - * @Author weaver_cl - * @Description: - * @Date 2022/4/26 - * @Version V1.0 - **/ -@Path("/bs/hrmorganization/demo") -public class DemoController extends com.engine.organization.web.DemoController { - -} diff --git a/src/com/engine/organization/entity/po/Demo.java b/src/com/engine/organization/entity/po/Demo.java deleted file mode 100644 index f572caff..00000000 --- a/src/com/engine/organization/entity/po/Demo.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.engine.organization.entity.po; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Date; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/26 - * @Version V1.0 - **/ - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Demo { - - //主建,非自增 0表示集团 正数是现有分部信息ID - private Integer fid; - - //1-集团或者虚拟组织名称 2-分部级虚拟组织分部 - private Integer flevel; - - //维度: 0-行政维度 负数-虚拟组织架构id - private Integer fwd; - - //编号 - private String fnumber; - - //名称 - private String fname; - - //负责人id - private Integer fleader; - - //编制人数 - private Integer fplan; - - //在岗人数 - private Integer fonjob; - - //是否虚拟组织,0-实体组织,1-虚拟组织 - private Integer fisvitual; - - //生效时间 - private Date ftimebegin; - - //失效时间 - private Date ftimeend; -} diff --git a/src/com/engine/organization/mapper/DemoMapper.java b/src/com/engine/organization/mapper/DemoMapper.java deleted file mode 100644 index 8cbb8844..00000000 --- a/src/com/engine/organization/mapper/DemoMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.engine.organization.mapper; - - -import com.engine.organization.entity.po.Demo; - -import java.util.List; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/3/9 - * @Version V1.0 - **/ -public interface DemoMapper { - - - - /** - * 查询所有 - * @return - */ - List listAll(); - - - - -} diff --git a/src/com/engine/organization/mapper/DemoMapper.xml b/src/com/engine/organization/mapper/DemoMapper.xml deleted file mode 100644 index 69cd0258..00000000 --- a/src/com/engine/organization/mapper/DemoMapper.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - t.fid - , t.flevel - , t.fwd - , t.fnumber - , t.fname - , t.fleader - , t.fplan - , t.fonjob - , t.fisvitual - , t.ftimebegin - , t.ftimeend - - - - - - - - - \ 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 1beec466..5389c1a3 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.java @@ -72,5 +72,6 @@ public interface SystemDataMapper { int updateCusFieldData(CusFieldData cusFieldData); + Long getHrmResourceMaxId(); } diff --git a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml index f7626da1..497b989e 100644 --- a/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml +++ b/src/com/engine/organization/mapper/hrmresource/SystemDataMapper.xml @@ -32,6 +32,9 @@ update cus_fielddata + field100001=#{field100001}, + field100002=#{field100002}, + field100003=#{field100003}, field100008=#{field100008}, field100006=#{field100006}, field100007=#{field100007}, @@ -167,6 +170,10 @@ and scopeid = #{scopeId} and id = #{id} + \ No newline at end of file diff --git a/src/com/engine/organization/service/DemoService.java b/src/com/engine/organization/service/DemoService.java deleted file mode 100644 index 863f1d01..00000000 --- a/src/com/engine/organization/service/DemoService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.engine.organization.service; - -import com.engine.organization.entity.po.Demo; - -import java.util.List; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/27 - * @Version V1.0 - **/ -public interface DemoService { - - /** - * - * @param name - * @return - */ - List list(String name); - -} diff --git a/src/com/engine/organization/service/TestService.java b/src/com/engine/organization/service/TestService.java deleted file mode 100644 index 64c131c1..00000000 --- a/src/com/engine/organization/service/TestService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.engine.organization.service; - -import com.engine.organization.entity.po.Demo; - - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/28 - * @Version V1.0 - **/ -public interface TestService { - - Demo list(String name); -} diff --git a/src/com/engine/organization/service/impl/DemoServiceImpl.java b/src/com/engine/organization/service/impl/DemoServiceImpl.java deleted file mode 100644 index f1505965..00000000 --- a/src/com/engine/organization/service/impl/DemoServiceImpl.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.engine.organization.service.impl; - -import com.engine.core.impl.Service; -import com.engine.organization.entity.po.Demo; -import com.engine.organization.mapper.DemoMapper; -import com.engine.organization.service.DemoService; -import com.engine.organization.util.HrmI18nUtil; -import com.engine.organization.util.OrganizationAssert; -import com.engine.organization.util.db.MapperProxyFactory; - -import java.util.List; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/27 - * @Version V1.0 - **/ -//@WeaIocService -//@WeaIocReplaceComponent("demoService") //如不标注名称,则按类的全路径注入 -public class DemoServiceImpl extends Service implements DemoService { - - - - @Override - //@Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志") - public List list(String name) { - - OrganizationAssert.notNull(name, HrmI18nUtil.getI18nLabel(34721, "参数不能为空")); - List demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll(); - - ////操作日志记录 - //Method method = new Object() { - //}.getClass().getEnclosingMethod(); - //LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build(); - //LogAspect logAspect = new LogAspect(DemoServiceImpl.class, method, loggerContext); - //logAspect.start(); - - return demos; - } - - - - - - //这个是接口后置方法,大概的用法跟前置方法差不多,稍有差别 - //注解名称为WeaReplaceAfter - //返回类型必须为String - //参数叫WeaAfterReplaceParam,这个类前四个参数跟前置方法的那个相同,不同的是多了一个叫data的String,这个是那个接口执行完返回的报文 - //@WeaReplaceAfter(value = "/api/bs/hrmorganization/scheme/updateForbiddenTagById",order = 1) -// public void after(WeaAfterReplaceParam weaAfterReplaceParam){ -// -// String data = weaAfterReplaceParam.getData();//这个就是接口执行完的报文 -// System.out.println(data); -// //日志记录 -// } -} diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index 7a3c76c5..b798a96d 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -13,6 +13,7 @@ import com.engine.organization.entity.browser.po.CustomBrowserBean; 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.entity.staff.po.StaffsPO; import com.engine.organization.entity.staff.vo.StaffTableVO; import com.engine.organization.mapper.comp.CompMapper; @@ -87,6 +88,7 @@ public class StaffServiceImpl extends Service implements StaffService { public int saveStaff(StaffSearchParam param) { HasRightUtil.hasRight(user, RIGHT_NAME, false); StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); + checkRequired(staffPO); return getStaffMapper().insertIgnoreNull(staffPO); } @@ -95,7 +97,7 @@ public class StaffServiceImpl extends Service implements StaffService { HasRightUtil.hasRight(user, RIGHT_NAME, false); StaffPO staffByID = getStaffMapper().getStaffByID(param.getId()); StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID()); - + checkRequired(staffPO); Integer changeNum = param.getChangeNum(); if (null == changeNum) { // 插入明细表数据 @@ -228,20 +230,26 @@ public class StaffServiceImpl extends Service implements StaffService { planIdItemBean.setReplaceDatas(planIdMaps); planIdItem.setBrowserConditionParam(planIdItemBean); - BrowserBean compIdItemBean = compIdItem.getBrowserConditionParam(); - List> compIdMaps = getCompMapper().listCompsByIds(DeleteParam.builder().ids(staffPO.getCompId().toString()).build().getIds()); - compIdItemBean.setReplaceDatas(compIdMaps); - compIdItem.setBrowserConditionParam(compIdItemBean); - - BrowserBean deptIdItemBean = deptIdItem.getBrowserConditionParam(); - List> deptIdMaps = getDepartmentMapper().listDeptsByIds(DeleteParam.builder().ids(staffPO.getDeptId().toString()).build().getIds()); - deptIdItemBean.setReplaceDatas(deptIdMaps); - deptIdItem.setBrowserConditionParam(deptIdItemBean); - - BrowserBean jobIdItemBean = jobIdItem.getBrowserConditionParam(); - List> jobIdMaps = getJobMapper().listJobsByIds(DeleteParam.builder().ids(staffPO.getJobId().toString()).build().getIds()); - jobIdItemBean.setReplaceDatas(jobIdMaps); - jobIdItem.setBrowserConditionParam(jobIdItemBean); + if (null != staffPO.getCompId()) { + BrowserBean compIdItemBean = compIdItem.getBrowserConditionParam(); + List> compIdMaps = getCompMapper().listCompsByIds(DeleteParam.builder().ids(staffPO.getCompId().toString()).build().getIds()); + compIdItemBean.setReplaceDatas(compIdMaps); + compIdItem.setBrowserConditionParam(compIdItemBean); + } + + if (null != staffPO.getDeptId()) { + BrowserBean deptIdItemBean = deptIdItem.getBrowserConditionParam(); + List> deptIdMaps = getDepartmentMapper().listDeptsByIds(DeleteParam.builder().ids(staffPO.getDeptId().toString()).build().getIds()); + deptIdItemBean.setReplaceDatas(deptIdMaps); + deptIdItem.setBrowserConditionParam(deptIdItemBean); + } + + if (null != staffPO.getJobId()) { + BrowserBean jobIdItemBean = jobIdItem.getBrowserConditionParam(); + List> jobIdMaps = getJobMapper().listJobsByIds(DeleteParam.builder().ids(staffPO.getJobId().toString()).build().getIds()); + jobIdItemBean.setReplaceDatas(jobIdMaps); + jobIdItem.setBrowserConditionParam(jobIdItemBean); + } staffNumItem.setValue(staffPO.getStaffNum()); controlPolicyItem.setValue(staffPO.getControlPolicy() + ""); @@ -353,4 +361,31 @@ public class StaffServiceImpl extends Service implements StaffService { return sqlWhere; } + /** + * 校验必填字段 + * + * @param staffPO + */ + private void checkRequired(StaffPO staffPO) { + // 根据维度、校验必填字段 + StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId()); + switch (staffPlanByID.getControlDimension()) { + case "1":// 分部 + OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择分部时,分部必填!"); + break; + case "2":// 部门 + OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择部门时,分部必填!"); + OrganizationAssert.notNull(staffPO.getDeptId(), "编制维度选择部门时,部门必填!"); + break; + case "3": // 岗位 + OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择岗位时,分部必填!"); + OrganizationAssert.notNull(staffPO.getDeptId(), "编制维度选择岗位时,部门必填!"); + OrganizationAssert.notNull(staffPO.getJobId(), "编制维度选择岗位时,岗位必填!"); + break; + default: + break; + + } + } + } diff --git a/src/com/engine/organization/service/impl/TestServiceImpl.java b/src/com/engine/organization/service/impl/TestServiceImpl.java deleted file mode 100644 index c4646859..00000000 --- a/src/com/engine/organization/service/impl/TestServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.engine.organization.service.impl; - -import com.engine.organization.entity.po.Demo; -import com.engine.organization.service.TestService; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/28 - * @Version V1.0 - **/ -//@WeaIocService -public class TestServiceImpl implements TestService { - - @Override - public Demo list(String name) { - return Demo.builder().fid(1).build(); - } -} diff --git a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java index 73786857..f5615bf5 100644 --- a/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java +++ b/src/com/engine/organization/trigger/cusfielddata/CusFieldDataTrigger.java @@ -34,7 +34,11 @@ public class CusFieldDataTrigger { public static void run(Long id) { if (null == id) { - return; + // 查询人员表最新插入的ID + id = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmResourceMaxId(); + if (null == id) { + return; + } } boolean updateFlag = false; // 查询当前操作的数据 @@ -50,14 +54,12 @@ public class CusFieldDataTrigger { directionData.setScope("HrmCustomFieldByInfoType"); directionData.setScopeId(3L); directionData.setId(id); - directionData.setField100001(sourceField100001); - directionData.setField100002(sourceField100002); - directionData.setField100003(sourceField100003); MapperProxyFactory.getProxy(SystemDataMapper.class).insertCusFieldData(directionData); } // field100001更新 if (null != sourceField100001 && sourceField100001.split("_").length == 2 && !sourceField100001.equals(directionData.getField100001())) { + directionData.setField100001(sourceField100001); String[] field100001Array = sourceField100001.split("_"); // 职等 long zdId = Long.parseLong(field100001Array[1]); @@ -79,9 +81,9 @@ public class CusFieldDataTrigger { } // field100002更新 - if (null != sourceField100002 && sourceField100002.split("_").length == 2 && !sourceField100002.equals(directionData.getField100002())) { - String[] field100002Array = sourceField100002.split("_"); - Long gwId = Long.parseLong(field100002Array[1]); + if (null != sourceField100002 && !sourceField100002.equals(directionData.getField100002())) { + directionData.setField100002(sourceField100002); + Long gwId = Long.parseLong(sourceField100002); JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(gwId); JSONObject hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName()); Long ecGwId = hrmJobTitleByName.getLong("id"); @@ -94,11 +96,12 @@ public class CusFieldDataTrigger { hrmResourceMap.put("departmentid", ecBmId); // 公司 hrmResourceMap.put("subcompanyid1", ecGsId); - MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(id).tableName("").params(hrmResourceMap).build()); + MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build()); updateFlag = true; } if (null != sourceField100003 && sourceField100003.split("_").length == 2 && !sourceField100003.equals(directionData.getField100003())) { + directionData.setField100003(sourceField100003); String[] field100003Array = sourceField100003.split("_"); long zwId = Long.parseLong(field100003Array[1]); // 职务 diff --git a/src/com/engine/organization/web/DemoController.java b/src/com/engine/organization/web/DemoController.java deleted file mode 100644 index e6afc822..00000000 --- a/src/com/engine/organization/web/DemoController.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.engine.organization.web; - -import com.engine.common.util.ServiceUtil; -import com.engine.organization.entity.po.Demo; -import com.engine.organization.service.TestService; -import com.engine.organization.util.response.ReturnResult; -import com.engine.organization.wrapper.DemoWrapper; -import weaver.hrm.HrmUserVarify; -import weaver.hrm.User; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/26 - * @Version V1.0 - **/ -public class DemoController { - - public DemoWrapper getDemoWrapper(User user){ - return ServiceUtil.getService(DemoWrapper.class,user); - } - - @GET - @Path("/test") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult testDemo(@Context HttpServletRequest request, @Context HttpServletResponse response, - @QueryParam("name") String name) { - try { - User user = HrmUserVarify.getUser(request, response); - return getDemoWrapper(user).testDemo(name); - }catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - - /** - * 方案2 基于weaverboot 实现后端架构(推荐使用) - */ - //@WeaAutowired - private TestService testService; - - @GET - @Path("/get") - @Produces(MediaType.APPLICATION_JSON) - public ReturnResult testGet(@Context HttpServletRequest request, @Context HttpServletResponse response, - @QueryParam("name") String name) { - try { - Demo list = testService.list(name); - return ReturnResult.successed(list); - }catch (Exception e) { - return ReturnResult.exceptionHandle(e); - } - } - - -} diff --git a/src/com/engine/organization/wrapper/DemoWrapper.java b/src/com/engine/organization/wrapper/DemoWrapper.java deleted file mode 100644 index 02116e50..00000000 --- a/src/com/engine/organization/wrapper/DemoWrapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.engine.organization.wrapper; - -import com.engine.common.util.ServiceUtil; -import com.engine.organization.annotation.Log; -import com.engine.organization.entity.po.Demo; -import com.engine.organization.enums.OperateTypeEnum; -import com.engine.organization.service.DemoService; -import com.engine.organization.service.impl.DemoServiceImpl; -import com.engine.organization.util.OrganizationWrapper; -import com.engine.organization.util.response.ReturnResult; -import weaver.hrm.User; - -import java.util.List; - -/** - * @Author weaver_cl - * @description: - * @Date 2022/4/26 - * @Version V1.0 - **/ -public class DemoWrapper extends OrganizationWrapper { - - private DemoService getDemoService(User user) { - return ServiceUtil.getService(DemoServiceImpl.class, user); - } - - @Log(operateType = OperateTypeEnum.DELETE, operateDesc = "operateDesc") - public ReturnResult testDemo(String name) { - List list = getDemoService(user).list(name); - //writeOperateLog(new Object(){}.getClass(), "记录testDemo操作日志"); - return ReturnResult.successed(list); - } -} diff --git a/src/com/engine/organization/wrapper/JclOrgWrapper.java b/src/com/engine/organization/wrapper/JclOrgWrapper.java index b3ae6dab..1f75a4c9 100644 --- a/src/com/engine/organization/wrapper/JclOrgWrapper.java +++ b/src/com/engine/organization/wrapper/JclOrgWrapper.java @@ -55,6 +55,6 @@ public class JclOrgWrapper extends OrganizationWrapper { } public void syncCusFieldData(String id) { - new CusFieldDataTrigger().run(Long.parseLong(id)); + new CusFieldDataTrigger().run(StringUtils.isNotBlank(id) ? Long.parseLong(id) : null); } }