From 70577a6d6cf2bded29e71dcad11a0c2605193d20 Mon Sep 17 00:00:00 2001 From: lishuai <260038442@qq.com> Date: 星期二, 26 十二月 2023 10:32:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java | 125 +++++++++++++++++++++++++++++------------ 1 files changed, 88 insertions(+), 37 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java index 03fafb7..8a22813 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java @@ -14,10 +14,12 @@ import com.doumee.core.haikang.model.param.respose.*; import com.doumee.core.haikang.service.HKService; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.ImageBase64Util; import com.doumee.dao.business.*; import com.doumee.dao.business.join.CompanyJoinMapper; +import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.ERPSyncService; import com.github.yulichang.query.MPJQueryWrapper; @@ -49,7 +51,7 @@ @Autowired private EmpowerMapper empowerMapper; @Autowired - private MemberMapper memberMapper; + private MemberJoinMapper memberMapper; @Autowired private ERPSyncService erpSyncService; @Autowired @@ -70,7 +72,7 @@ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁 String rootOrgId = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_ROOTORG_CODE).getCode(); List<Company> list = companyMapper.selectList(new QueryWrapper<Company>() - .select("*,(select b.hk_id from company b where company.erp_parent_id = b.id limit 1) as hkParentId") + .select("*,(select b.hk_id from company b where company.erp_parent_id = b.erp_id limit 1) as hkParentId") .lambda() .eq(Company::getHkStatus,Constants.ZERO) .orderByAsc(Company::getErpDate)); @@ -78,6 +80,7 @@ return; } Date date = new Date(); + List<OrgEditRequest> editHkList = new ArrayList<>(); List<OrgAddRequest> addList = new ArrayList<>(); List<Company> updateList = new ArrayList<>(); List<Integer> delIds = new ArrayList<>(); @@ -104,20 +107,21 @@ c.setHkId(m.getOrgIndexCode()); updateList.add(c); }else{ - //鍒犻櫎鐨勬暟鎹紝杩涜鍒犻櫎 - delIds.add(c.getId()); - delHKIds.add(c.getHkId()); - //鍒犻櫎娴峰悍鍘熸湁鐨勬暟鎹紝鍐嶆柊澧炵粍缁� - OrgAddRequest m = getOrgAddModel(c,rootOrgId); - addList.add(m); - c.setHkId(m.getOrgIndexCode()); + if(Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){ + //鍒犻櫎鐨勬暟鎹紝杩涜鍒犻櫎 + delIds.add(c.getId()); + delHKIds.add(c.getHkId()); + }else{ + //濡傛灉鏇存柊 + editHkList.add(getOrgHkEditModel(c,rootOrgId)); + } updateList.add(c); } } //澶勭悊鍒犻櫎鏁版嵁 doHkDeleteOrg(delIds,delHKIds,date); //澶勭悊鏂板鏁版嵁 - doHkAddOrg(updateList,addList); + doHkAddOrg(updateList,addList,editHkList); }catch (Exception e){ e.printStackTrace(); }finally { @@ -131,24 +135,51 @@ * @param updateList * @param addList */ - private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList) { + private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList, List<OrgEditRequest> editHkList) { Date date = new Date(); - - BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); - if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ - OrgOrUserAddResponse data = result.getData(); - if(data.getSuccesses()!=null && data.getSuccesses().size()>0){ - //澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵�� - for(OrgOrUserAddSuccessResponse r :data.getSuccesses()){ - Integer index = getCompanyId(updateList,r.getOrgIndexCode()); - if(index!=null){ - companyMapper.update(null,new UpdateWrapper<Company>().lambda() - .set(Company::getHkStatus,Constants.ONE) - .set(Company::getHkDate,date) - .set(Company::getHkId,r.getOrgIndexCode()) - .eq(Company::getId, index) ); - } - } + if(addList!=null &&addList.size()>0){ + //澶勭悊鏂板 + BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); + if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ + OrgOrUserAddResponse data = result.getData(); + if(data.getSuccesses()!=null && data.getSuccesses().size()>0){ + //澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵�� + for(OrgOrUserAddSuccessResponse r :data.getSuccesses()){ + Integer index = getCompanyId(updateList,r.getOrgIndexCode()); + if(index!=null){ + companyMapper.update(null,new UpdateWrapper<Company>().lambda() + .set(Company::getHkStatus,Constants.ONE) + .set(Company::getHkDate,date) + .set(Company::getHkId,r.getOrgIndexCode()) + .eq(Company::getId, index) ); + } + } + } + } + } + if(editHkList!=null){ + //鎵ц鏇存柊鎿嶄綔 + List<String> success = new ArrayList<>(); + List<String> error = new ArrayList<>(); + for(OrgEditRequest param : editHkList){ + BaseResponse result = HKService.editOrg(param); + if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ + success.add(param.getOrgIndexCode()); + }else{ + error.add(param.getOrgIndexCode()); + } + } + if(success.size()>0){ + companyMapper.update(null,new UpdateWrapper<Company>().lambda() + .set(Company::getHkStatus,Constants.ONE) + .set(Company::getHkDate,date) + .in(Company::getHkId, success) ); + } + if(error.size()>0){ + companyMapper.update(null,new UpdateWrapper<Company>().lambda() + .set(Company::getHkStatus,Constants.TWO) + .set(Company::getHkDate,date) + .in(Company::getHkId, error) ); } } } @@ -173,6 +204,13 @@ return model; } + private OrgEditRequest getOrgHkEditModel(Company c,String rootOrgId) { + OrgEditRequest model = new OrgEditRequest(); + model.setOrgIndexCode(c.getHkId()); + model.setOrgName(c.getName()); + return model; + + } /** * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭� @@ -190,7 +228,7 @@ List<String> fIds = new ArrayList<>(); if(result.getData()!=null){ for(OrgUpdateFailureResponse r : result.getData()){ - if(!r.getCode().equals("0x00072001")){ + if(!r.getCode().equals("0x00052102")){ //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛 fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚� } @@ -200,8 +238,14 @@ companyMapper.update(null,new UpdateWrapper<Company>().lambda() .set(Company::getHkStatus,Constants.ONE) .set(Company::getHkDate,date) + .set(Company::getHkId,null ) .in(Company::getId, delIds) .notIn(fIds.size()>0,Company::getHkId, fIds)); + companyMapper.update(null,new UpdateWrapper<Company>().lambda() + .set(Company::getHkStatus,Constants.TWO) + .set(Company::getHkDate,date) + .in(Company::getId, delIds) + .in(fIds.size()>0,Company::getHkId, fIds)); } } @@ -217,8 +261,10 @@ Constants.DEALING_HK_USER =true; try { //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁 - List<Member> list = memberMapper.selectList(new QueryWrapper<Member>() - .lambda() + List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() + .selectAll(Member.class ) + .selectAs(Company::getHkId,Member::getCompanyHkId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) .eq(Member::getHkStatus,Constants.ZERO) .orderByAsc(Member::getErpDate)); if(list ==null || list.size()==0){ @@ -271,22 +317,22 @@ UserAddRequest addHkModel = getUserAddModel(c,path,1);//淇敼 //澶勭悊鏂板鏁版嵁 BaseResponse result = HKService.editUser(addHkModel); - if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ + if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){ if(StringUtils.isNotBlank(c.getFaceImg())){ //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾 String faceid = dealMemberFace(c,path); if(StringUtils.isBlank(faceid)){ noticeErpFail(c,Constants.ZERO,"浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒"); c.setHkStatus(Constants.TWO); - c.setRemark("浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒锛�"); + c.setRemark("浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒锛�"+result.getMsg()); }else{ c.setFaceId(faceid); } } }else{ - noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg()); + noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"); c.setHkStatus(Constants.TWO); - c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"); + c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"+(result!=null?result.getCode()+result.getMsg():"")); } } @@ -306,6 +352,8 @@ //鍒犻櫎鐨勭粍缁囷紝涓嶅仛澶勭悊,娴峰悍鐘舵�佹洿鏂颁负涓嶅鐞嗭紝涓嬫涓嶅啀澶勭悊杩欎釜璁板綍 c.setHkStatus(Constants.TWO); c.setRemark("鏈悓姝ユ暟鎹紝鐩存帴鍒犻櫎"); + c.setEditDate(date); + c.setErpId(c.getErpOrgId()+"_"+UUID.randomUUID().toString()); memberMapper.updateById(c); return false; } @@ -320,7 +368,7 @@ } //澶勭悊鏂板鏁版嵁 BaseResponse<UserAddResponse> result = HKService.addUser(addHkModel); - if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ + if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){ c.setFaceId(result.getData().getFaceId()); c.setHkStatus(Constants.ONE); c.setHkId(addHkModel.getPersonId()); @@ -329,7 +377,7 @@ }else{ noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg()); c.setHkStatus(Constants.TWO); - c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"); + c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+(result!=null?result.getMsg():"")); memberMapper.updateById(c); return false; } @@ -423,7 +471,10 @@ private UserAddRequest getUserAddModel(Member c,String path,int type) { UserAddRequest model = new UserAddRequest(); model.setOrgIndexCode(c.getCompanyHkId()); - model.setPersonId(type == 0 ?HKConstants.RES_USER_INDEX+UUID.randomUUID().toString().replace("-", ""):c.getHkId()); + model.setJobNo(c.getCode()); + model.setCertificateNo(DESUtil.decrypt(Constants.EDS_PWD, c.getIdcardNo())); + model.setCertificateType(HKConstants.CertificateType.SHENFENZHENG.getKey()+""); + model.setPersonId(type == 0 ?UUID.randomUUID().toString().replace("-", ""):c.getHkId()); model.setGender(Constants.formatIntegerNum(c.getSex())+""); model.setPersonName(c.getName()); if(type== 0 && StringUtils.isNotBlank(c.getFaceImg())){ -- Gitblit v1.9.3