server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserFailRequest.java
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -84,8 +84,8 @@ String res = HKTools.delOrg(JSONObject.toJSONString(param)); TypeReference typeReference = new TypeReference< BaseResponse >(){}; BaseResponse result = JSONObject.parseObject(res, typeReference.getType()); new TypeReference< BaseResponse<List<OrgUpdateFailureResponse>> >(){}; BaseResponse<List<OrgUpdateFailureResponse>> result = JSONObject.parseObject(res, typeReference.getType()); logResult(result,"海康删除组织"); return result; }catch (Exception e){ server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -542,8 +542,8 @@ @Override public PageData<MemberInfoDTO> findMemberInfoPage(PageWrap<MemberQuery> pageWrap) { /* //是否是数字 boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //是否是数字 /* boolean number = Validator.isNumber(pageWrap.getModel().getKeyWords()); //是否包含中文 boolean b = Validator.hasChinese(pageWrap.getModel().getKeyWords()); //是否包含英文 @@ -637,7 +637,7 @@ queryWrapper.selectAll(Member.class) .selectAs(Company::getName,MemberInfoDTO::getCompanyName) .select(" (select ua.CREATE_DATE from user_action ua where ua.MEMBER_ID=t.id and ua.ISDELETED=0 and ua.type=1 order by ua.CREATE_DATE limit 1) as userActionType1") .select(" (select su.USERNAME from user_action uac left join system_user su on su.id=uac.CREATOR where uac.MEMBER_ID=t.id and uac.ISDELETED=0 and uac.type=1 order by uac.CREATE_DATE limit 1) as creatorName") .select(" (select concat(su.USERNAME,'&&',uac.create_date) from user_action uac left join system_user su on su.id=uac.CREATOR where uac.MEMBER_ID=t.id and uac.ISDELETED=0 and uac.type=1 order by uac.CREATE_DATE limit 1) as creatorName") /* .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0) as visitsCount")*/ .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE limit 1) as visitsLastDate"); server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -110,7 +110,7 @@ public int initHkConfig(){ ErpConstants.approveUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_APPROVE_URL).getCode(); ErpConstants.orgListUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_ORGLIST_URL).getCode(); ErpConstants.userListUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_USERSTATUS_RL).getCode(); ErpConstants.userListUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_USERLIST_URL).getCode(); ErpConstants.userStatusUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_USERSTATUS_RL).getCode(); return 0; } @@ -292,10 +292,11 @@ .set(Member::getHkStatus,Constants.ZERO) .set(Member::getIsdeleted, Constants.ONE).in(Member::getId,delIds)); } return "同步数据:新增【"+addList.size()+"】条,更新【"+updateList.size()+"】条,删除【"+delIds.size()+"】条"; }else{ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "同步ERP数据为空!"); } return null; } public void dealRoleEmpower(Member member,Date startTime , Date endTime){ server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -78,6 +78,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 +105,21 @@ c.setHkId(m.getOrgIndexCode()); updateList.add(c); }else{ if(Constants.equalsInteger(c.getIsdeleted(),Constants.ONE)){ //删除的数据,进行删除 delIds.add(c.getId()); delHKIds.add(c.getHkId()); //删除海康原有的数据,再新增组织 OrgAddRequest m = getOrgAddModel(c,rootOrgId); addList.add(m); c.setHkId(m.getOrgIndexCode()); }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,9 +133,10 @@ * @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(); if(addList!=null &&addList.size()>0){ //处理新增 BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList); if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){ OrgOrUserAddResponse data = result.getData(); @@ -149,6 +152,32 @@ .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 +202,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 +226,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 +236,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)); } } server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
@@ -72,6 +72,7 @@ r.setId(ids[i]); r.setName(names[i-1]); r.setCode( ids[i]); r.setIdNo("34112219880427042"+i); r.setIsdeleted(Constants.ONE); r.setName(names[i]); r.setFaceImg("/20223402/"+r.getId()+".png");