diff --git a/yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/EmployeeXProjectVO.java b/yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/EmployeeXProjectVO.java index edd526a15d104ac6c3b907230340aeaecf421870..9ba420b41ba8eceda00cc44de7c2485d3fb36558 100644 --- a/yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/EmployeeXProjectVO.java +++ b/yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/EmployeeXProjectVO.java @@ -80,5 +80,5 @@ public class EmployeeXProjectVO extends RowIndex implements Serializable { @ExcelProperty(value ="是å¦åŒæ¥å‡æ¡£") @NotNull(message = "是å¦åŒæ¥å‡æ¡£ä¸èƒ½ä¸ºç©º") @ExcelAttribute(name = "是å¦åŒæ¥å‡æ¡£",isNotEmpty = true, errorInfo = "是å¦åŒæ¥å‡æ¡£ä¸èƒ½ä¸ºç©º",maxLength = 1) - private Integer isLeaveEmployee; + private String isLeaveEmployee; } diff --git a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeProjectServiceImpl.java b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeProjectServiceImpl.java index 1be5c46de7a2879867e5d436a826599794ec7d4e..0a393a6186d9f48da76ea196527eb7ff56f37c93 100644 --- a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeProjectServiceImpl.java +++ b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeeProjectServiceImpl.java @@ -90,6 +90,15 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap .eq(TEmployeeInfo::getEmpIdcard, tEmployeeProject.getEmpIdcard()) .eq(TEmployeeInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL)); + //项目编ç æ ¡éªŒ + TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda() + .eq(TSettleDomain::getDepartNo, tEmployeeProject.getDeptNo()) + .eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING) + .eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING)); + if (Common.isEmpty(tSettleDomain)) { + return R.failed("æœªæ‰¾åˆ°å¯¹åº”çš„é¡¹ç›®ï¼Œè¯·æ ¸å®ž"); + } + //项目下已有身份è¯ä¿¡æ¯ TEmployeeProject employeeProject = this.getOne(Wrappers.<TEmployeeProject>query().lambda() .eq(TEmployeeProject::getEmpIdcard, tEmployeeProject.getEmpIdcard()) @@ -103,14 +112,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap return R.failed("姓å和身份è¯ä¸ä¸€è‡´ï¼Œè¯·ç¡®è®¤åŽå†æ¬¡æ–°å¢ž"); } } - //项目编ç æ ¡éªŒ - TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda() - .eq(TSettleDomain::getDepartNo, tEmployeeProject.getDeptNo()) - .eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING) - .eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING)); - if (Common.isEmpty(tSettleDomain)) { - return R.failed("æœªæ‰¾åˆ°å¯¹åº”çš„é¡¹ç›®ï¼Œè¯·æ ¸å®ž"); - } //项目状æ€ä¸ºå·²å‡é¡¹ if (CommonConstants.dingleDigitIntArray[1] == employeeProject.getProjectStatus()) { @@ -259,19 +260,39 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap TEmployeeProject tEmployeeProjectOld = this.getById(tEmployeeProject.getId()); String code = ""; if (Common.isNotNull(tEmployeeProject)) { + tEmployeeProject.setProjectStatus(CommonConstants.dingleDigitIntArray[1]); + this.updateById(tEmployeeProject); + TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectById(tEmployeeProject.getEmpId()); + + //查询该人员其他的项目档案 + List<TEmployeeProject> list = this.list(Wrappers.<TEmployeeProject>query().lambda() + .eq(TEmployeeProject::getEmpIdcard, tEmployeeProject.getEmpIdcard()) + .eq(TEmployeeProject::getDeleteFlag, CommonConstants.STATUS_NORMAL) + .eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT)); + if (tEmployeeProject.getIsLeaveEmployee() == CommonConstants.dingleDigitIntArray[1]) { - tEmployeeInfo.setFileStatus(CommonConstants.dingleDigitIntArray[1]); + if (Common.isNotNull(list)) { + return R.failed("å˜åœ¨è‰ç¨¿/å·²å®¡æ ¸çš„çŠ¶æ€çš„项目,ä¸å…许åŒæ¥å‡æ¡£"); + } code = CommonConstants.ONE_STRING; } //从剩下的项目档案ä¸æŸ¥æ‰¾å‘˜å·¥ç±»åž‹å¹¶æ›´æ–° - setEmpNature(tEmployeeProject.getEmpIdcard(),tEmployeeInfo); - + if (Common.isNotNull(list)) { + for (TEmployeeProject t : list) { + if (CommonConstants.ZERO_STRING.equals(t.getEmpNatrue())) { + tEmployeeInfo.setEmpNatrue(CommonConstants.ZERO_STRING); + break; + } + if (CommonConstants.ONE_STRING.equals(t.getEmpNatrue()) && !CommonConstants.ONE_STRING.equals(tEmployeeInfo.getEmpNatrue())) { + tEmployeeInfo.setEmpNatrue(CommonConstants.ONE_STRING); + break; + } + } + } tEmployeeInfoMapper.updateById(tEmployeeInfo); - tEmployeeProject.setProjectStatus(CommonConstants.dingleDigitIntArray[1]); - this.updateById(tEmployeeProject); tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], tEmployeeInfo.getId(), "", tEmployeeProjectOld, tEmployeeInfo); tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", tEmployeeProject.getId(), tEmployeeInfoOld, tEmployeeProject); if (CommonConstants.ONE_STRING.equals(code)) { @@ -301,28 +322,43 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap TEmployeeInfo tEmployeeInfoOld = tEmployeeInfoMapper.selectById(tEmployeeProject.getEmpId()); TEmployeeProject tEmployeeProjectOld = this.getById(tEmployeeProject.getId()); if (Common.isNotNull(tEmployeeProject)) { - TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectById(tEmployeeProject.getEmpId()); - if (excel.getIsLeaveEmployee() == CommonConstants.dingleDigitIntArray[1]) { - Long count = this.count(Wrappers.<TEmployeeProject>query().lambda() - .eq(TEmployeeProject::getEmpId, tEmployeeProject.getEmpId()) - .eq(TEmployeeProject::getProjectStatus, CommonConstants.dingleDigitIntArray[0])); - if (count.compareTo(CommonConstants.DEPT_TREE_ROOT_ID) > 0) { - errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_CHANGE_NOT_EXIST))); + if (tEmployeeProject.getInsuranceStatus() != CommonConstants.dingleDigitIntArray[0] || tEmployeeProject.getSocialStatus() != CommonConstants.dingleDigitIntArray[0] || + tEmployeeProject.getFundStatus() != CommonConstants.dingleDigitIntArray[0]) { + errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.ARCHIVES_PROJECT_CHANGE_NOT_EXIST))); + } else { + TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectById(tEmployeeProject.getEmpId()); + if (CommonConstants.ONE_STRING.equals(excel.getIsLeaveEmployee())) { + + //查询该人员其他的项目档案 + List<TEmployeeProject> list = this.list(Wrappers.<TEmployeeProject>query().lambda() + .ne(TEmployeeProject::getDeptNo, tEmployeeProject.getDeptNo()) + .eq(TEmployeeProject::getEmpIdcard, tEmployeeProject.getEmpIdcard()) + .eq(TEmployeeProject::getDeleteFlag, CommonConstants.STATUS_NORMAL) + .eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT)); + + if (tEmployeeProject.getIsLeaveEmployee() == CommonConstants.dingleDigitIntArray[1]) { + if (Common.isNotNull(list)) { + errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.QT_PROJECT_CHANGE_NOT_EXIST))); + }else { + tEmployeeInfo.setFileStatus(CommonConstants.dingleDigitIntArray[1]); + tEmployeeInfo.setLeaveReason(excel.getLeaveReason()); + tEmployeeInfo.setLeaveRemark(excel.getLeaveRemark()); + tEmployeeInfo.setLeaveTime(LocalDateTime.now()); + } + } } - tEmployeeInfo.setFileStatus(CommonConstants.dingleDigitIntArray[1]); - tEmployeeInfo.setLeaveReason(excel.getLeaveReason()); - tEmployeeInfo.setLeaveRemark(excel.getLeaveRemark()); + tEmployeeProject.setProjectStatus(CommonConstants.dingleDigitIntArray[1]); + tEmployeeProject.setLeaveReason(excel.getLeaveReason()); + tEmployeeProject.setLeaveRemark(excel.getLeaveRemark()); + tEmployeeProject.setLeaveTime(LocalDateTime.now()); + this.updateById(tEmployeeProject); + + //从剩下的项目档案ä¸æŸ¥æ‰¾å‘˜å·¥ç±»åž‹å¹¶æ›´æ–° + setEmpNature(tEmployeeProject.getEmpIdcard(), tEmployeeInfo); + tEmployeeInfoMapper.updateById(tEmployeeInfo); + tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], tEmployeeInfo.getId(), "", tEmployeeProjectOld, tEmployeeInfo); + tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", tEmployeeProject.getId(), tEmployeeInfoOld, tEmployeeProject); } - tEmployeeProject.setProjectStatus(CommonConstants.dingleDigitIntArray[1]); - tEmployeeProject.setLeaveReason(excel.getLeaveReason()); - tEmployeeProject.setLeaveRemark(excel.getLeaveRemark()); - this.updateById(tEmployeeProject); - - //从剩下的项目档案ä¸æŸ¥æ‰¾å‘˜å·¥ç±»åž‹å¹¶æ›´æ–° - setEmpNature(tEmployeeProject.getEmpIdcard(),tEmployeeInfo); - tEmployeeInfoMapper.updateById(tEmployeeInfo); - tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0], tEmployeeInfo.getId(), "", tEmployeeProjectOld, tEmployeeInfo); - tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[1], "", tEmployeeProject.getId(), tEmployeeInfoOld, tEmployeeProject); } } if (errorMessageList.size() > CommonConstants.ZERO_INT) { @@ -391,7 +427,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap /** * 新增档案æ“作记录 - * * @param excelVOList * @param errorMessageList * @param @@ -435,6 +470,15 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap idCardMap.put(idCard.concat(deptNo), i + 2); } + //项目编ç æ ¡éªŒ + TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda() + .eq(TSettleDomain::getDepartNo, excel.getDeptNo()) + .eq(TSettleDomain::getStopFlag, CommonConstants.ZERO_STRING) + .eq(TSettleDomain::getDeleteFlag, CommonConstants.ZERO_STRING)); + if (Common.isEmpty(tSettleDomain)) { + errorMessageList.add(new ErrorMessage(excel.getRowIndex(), MsgUtils.getMessage(ErrorCodes.PROJECT_SEARCH_NOT_EXIST))); + } + //æ ¹æ®èº«ä»½è¯èŽ·å–人员档案 TEmployeeInfo tEmployeeInfo = tEmployeeInfoMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda() .eq(TEmployeeInfo::getEmpIdcard, excel.getEmpIdcard()) @@ -662,7 +706,6 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap insTEmployeePro.setDeptName(tSettleDomain.getDepartName()); TCustomerInfo tCustomerInfo = tCustomerInfoMapper.selectById(tSettleDomain.getCustomerId()); if (Common.isNotNull(tCustomerInfo)) { - ; insTEmployeePro.setUnitId(tCustomerInfo.getId()); insTEmployeePro.setUnitNo(tCustomerInfo.getCustomerCode()); insTEmployeePro.setUnitName(tCustomerInfo.getCustomerName()); diff --git a/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TElecEmployeeInfoMapper.xml b/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TElecEmployeeInfoMapper.xml index 9cd48aafe88af657178d07720acb6adb09ec064e..48579511ed361781efcd3a459cf9879240fa7dc0 100644 --- a/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TElecEmployeeInfoMapper.xml +++ b/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TElecEmployeeInfoMapper.xml @@ -48,7 +48,7 @@ a.EMP_IDCARD, b.EMP_NO, b.UNIT_NAME, - b.deptNo, + b.DEPT_NO, b.DEPT_NAME, a.DATA_TYPE, a.ATTA_INFO, @@ -72,9 +72,6 @@ <if test="tElecEmployeeInfo.empIdcard != null and tElecEmployeeInfo.empIdcard.trim() != ''"> AND a.EMP_IDCARD = #{tElecEmployeeInfo.empIdcard} </if> - <if test="tElecEmployeeInfo.empCode != null and tElecEmployeeInfo.empCode.trim() != ''"> - AND b.EMP_CODE = #{tElecEmployeeInfo.empCode} - </if> <if test="tElecEmployeeInfo.unitName != null and tElecEmployeeInfo.unitName.trim() != ''"> AND b.UNIT_NAME like concat('%',#{tElecEmployeeInfo.unitName},'%') </if> diff --git a/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TEmployeeProjectMapper.xml b/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TEmployeeProjectMapper.xml index 2e5e8601e9900dd47bb63d4cd9e1e3499172f31f..4839e881870f5c5eed274881b7fd62cc27af61da 100644 --- a/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TEmployeeProjectMapper.xml +++ b/yifu-archives/yifu-archives-biz/src/main/resources/mapper/TEmployeeProjectMapper.xml @@ -595,12 +595,11 @@ ID=#{i.id} </foreach> </update> - <insert id="insertExcelEmpProject" parameterType="java.util.List"> insert into t_employee_project - (ID,EMP_ID,EMP_NATRUE,EMP_NAME,EMP_IDCARD,STATUS,PROJECT_STATUS,EMP_CODE,DEPT_NO,CONTRACT_TYPE,POST,EMP_NO, - TRY_PERIOD,ENJOIN_DATE,BANK_NAME,BANK_NO,BANK_SUB_NAME,DELETE_FLAG,CREATE_BY,CREATE_NAME,CREATE_TIME,INSURANCE_STATUS - ,SOCIAL_STATUS,FUND_STATUS) + (ID,EMP_ID,EMP_NATRUE,EMP_NAME,EMP_IDCARD,STATUS,PROJECT_STATUS,EMP_CODE,DEPT_NO,CONTRACT_TYPE,POST, + DEPT_ID,DEPT_NAME,UNIT_ID,UNIT_NAME,UNIT_NO,EMP_NO,TRY_PERIOD,ENJOIN_DATE,BANK_NAME,BANK_NO,BANK_SUB_NAME, + DELETE_FLAG,CREATE_BY,CREATE_NAME,CREATE_TIME,INSURANCE_STATUS,SOCIAL_STATUS,FUND_STATUS) VALUES <foreach collection="list" item="item" index="index" separator=","> ( @@ -615,6 +614,11 @@ #{item.deptNo,jdbcType=VARCHAR}, #{item.contractType,jdbcType=VARCHAR}, #{item.post,jdbcType=VARCHAR}, + #{item.deptId,jdbcType=VARCHAR}, + #{item.deptName,jdbcType=VARCHAR}, + #{item.unitId,jdbcType=VARCHAR}, + #{item.unitName,jdbcType=VARCHAR}, + #{item.unitNo,jdbcType=VARCHAR}, #{item.empNo,jdbcType=VARCHAR}, #{item.tryPeriod,jdbcType=VARCHAR}, #{item.enjoinDate,jdbcType=DATE}, diff --git a/yifu-auth/src/main/resources/application-test.yml b/yifu-auth/src/main/resources/application-test.yml index a2c446e3a3ccdb17d679601b3f2485d94cb39db2..d231b273a5c1c30c67f658c85a0c27616794972b 100644 --- a/yifu-auth/src/main/resources/application-test.yml +++ b/yifu-auth/src/main/resources/application-test.yml @@ -8,8 +8,7 @@ spring: pathmatch: matching-strategy: ant_path_matcher redis: - host: 192.168.1.65 - port: 22379 + host: 127.0.0.1 password: '@yf_2017' cloud: sentinel: diff --git a/yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/exception/ErrorCodes.java b/yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/exception/ErrorCodes.java index 7e733b7474aeab4d2023973a96cb1fade4bd66f9..a2691d9ad0bdf5279648acb1fc68b987a7a9facd 100644 --- a/yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/exception/ErrorCodes.java +++ b/yifu-common/yifu-common-core/src/main/java/com/yifu.cloud.plus.v1/yifu/common/core/exception/ErrorCodes.java @@ -295,6 +295,14 @@ public interface ErrorCodes { * 人员在该项目下å˜åœ¨è¿›è¡Œä¸/未完结的æœåŠ¡ */ String ARCHIVES_PROJECT_CHANGE_NOT_EXIST = "archives.project.change.not.exist"; + /** + * å˜åœ¨å…¶ä»–è‰ç¨¿/å·²å®¡æ ¸çš„çŠ¶æ€çš„项目,ä¸å…许åŒæ¥å‡æ¡£ + */ + String QT_PROJECT_CHANGE_NOT_EXIST = "qt.project.change.not.exist"; + /** + * æœªæ‰¾åˆ°å¯¹åº”çš„é¡¹ç›®ï¼Œè¯·æ ¸å®ž + */ + String PROJECT_SEARCH_NOT_EXIST = "project.search.not.exist"; /** * ä¸è‰¯è®°å½•è´¹ç”¨æŸå¤±å’Œå…¶ä»–æŸå¤±ä¸å¯åŒæ—¶ä¸ºç©º */ diff --git a/yifu-common/yifu-common-core/src/main/resources/i18n/messages_zh_CN.properties b/yifu-common/yifu-common-core/src/main/resources/i18n/messages_zh_CN.properties index 5ca5f35017b02a5f30851193dfebe3dc742dcf23..6c75f944dad341e7149be0e0b6fcda66b3de91b6 100644 --- a/yifu-common/yifu-common-core/src/main/resources/i18n/messages_zh_CN.properties +++ b/yifu-common/yifu-common-core/src/main/resources/i18n/messages_zh_CN.properties @@ -98,6 +98,9 @@ archives.project.change.not.exist=\u4EBA\u5458\u5728\u8BE5\u9879\u76EE\u4E0B\u5B archives.project.emp.lose.fee.not.empty=\u4E0D\u826F\u8BB0\u5F55\u8D39\u7528\u635F\u5931\u548C\u5176\u4ED6\u635F\u5931\u4E0D\u53EF\u540C\u65F6\u4E3A\u7A7A +qt.project.change.not.exist=\u5B58\u5728\u5176\u4ED6\u8349\u7A3F/\u5DF2\u5BA1\u6838\u7684\u72B6\u6001\u7684\u9879\u76EE\uFF0C\u4E0D\u5141\u8BB8\u540C\u6B65\u51CF\u6863 +project.search.not.exist=\u672A\u627E\u5230\u5BF9\u5E94\u7684\u9879\u76EE\uFF0C\u8BF7\u6838\u5B9E +