From f7415f2393aeaca96db9c4086fab89602c6a9a6e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 22 十二月 2023 15:38:44 +0800
Subject: [PATCH] 海康接口对接开发

---
 server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java                                 |    6 ++++--
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java |   31 ++++++++++++++++++++-----------
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java          |    9 ++++++---
 3 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index c57b877..8d5026f 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -177,13 +177,15 @@
                     //濡傛灉宸插垹闄わ紝鍔犲叆鍒犻櫎闆嗗悎涓�
                     delIds.add(company.getId());
                     continue;
+                }else{
+                    company.setIsdeleted(Constants.ZERO);
                 }
                 updateList.add(addUpdateCompanyModel(respone,company,date));
             }
         }
         if(allList!=null && allList.size()>0){
             for(Company  c : allList){
-                if(isCompanyDeleted(c,list)){
+                if(!isCompanyDeleted(c,list)){
                     delIds.add(c.getId());
                 }
             }
@@ -340,9 +342,8 @@
         }
         if(allList!=null && allList.size()>0){
             for(Member  c : allList){
-                if(isUserDeleted(c,list)){
+                if(!Constants.equalsInteger(c.getIsdeleted(),Constants.ONE) &&  !isUserDeleted(c,list)){
                     delList.add(c);
-//                    delIds.add(c.getId());
                 }
             }
         }
@@ -357,6 +358,7 @@
         member.setErpDate(new Date());
         member.setErpId(param.getId());
         member.setFsStatus(Constants.ZERO);
+        member.setStatus(param.getStatus());
         member.setType(Constants.memberType.internal);
         String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
         member.setIdcardNo(encryptIdNo);
@@ -375,6 +377,7 @@
         member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
         member.setErpOrgId(param.getOrgId());
         member.setEditDate(new Date());
+        member.setStatus(param.getStatus());
         member.setErpDate(new Date());
         member.setHkStatus(Constants.ZERO);
         member.setRoleIds(param.getRoleIds());
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 3ebd189..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));
@@ -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())){
diff --git a/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java b/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
index 4266fda..433c418 100644
--- a/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
+++ b/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
@@ -50,6 +50,7 @@
             r.setCreateDate(new Date());
             r.setCode(ids[i]);
             r.setStatus(Constants.ZERO);
+            r.setIsdeleted(Constants.ZERO);
             r.setName(names[i]);
             list.add(r);
         }
@@ -63,7 +64,7 @@
     @PostMapping("/user/list")
     public ERPApiResponse<PageData<ErpUserListResponse>> userList (@RequestBody PageWrap<UserListRequest> pageWrap) {
         List<ErpUserListResponse> list = new ArrayList<>();
-        String[] ids = new String[]{"","1001","1002","1003"};
+        String[] ids = new String[]{"","DM1004","DM1005","DM1006"};
         String[] names = new String[]{"","浜哄憳1","浜哄憳2","浜哄憳3"};
         String[] orgs = new String[]{"","001","002","003"};
         for(int i=1;i<4;i++){
@@ -73,7 +74,8 @@
             r.setName(names[i-1]);
             r.setCode( ids[i]);
             r.setIdNo("34112219880427042"+i);
-            r.setIsdeleted(Constants.ONE);
+            r.setPhone("1534569000"+i);
+            r.setStatus(Constants.ZERO);
             r.setName(names[i]);
             r.setFaceImg("/20223402/"+r.getId()+".png");
             list.add(r);

--
Gitblit v1.9.3