lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
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));
@@ -259,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){
@@ -313,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():""));
            }
        }
@@ -348,6 +352,8 @@
            //删除的组织,不做处理,海康状态更新为不处理,下次不再处理这个记录
            c.setHkStatus(Constants.TWO);
            c.setRemark("未同步数据,直接删除");
            c.setEditDate(date);
            c.setErpId(c.getErpOrgId()+"_"+UUID.randomUUID().toString());
            memberMapper.updateById(c);
            return  false;
        }
@@ -362,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());
@@ -371,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;
        }
@@ -465,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())){