Explorar o código

优化 供应链 类型的bug

Your Name %!s(int64=3) %!d(string=hai) anos
pai
achega
c0328edb2d

+ 6 - 0
java110-db/src/main/resources/mapper/community/VisitServiceDaoImplMapper.xml

@@ -189,6 +189,12 @@
         <if test="vId !=null and vId != ''">
             and t.v_id= #{vId}
         </if>
+        <if test="vIds !=null">
+            and t.v_id in
+            <foreach collection="vIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="visitTime !=null ">
             and t.visit_time= #{visitTime}
         </if>

+ 3 - 1
java110-db/src/main/resources/mapper/community/VisitV1ServiceDaoImplMapper.xml

@@ -23,8 +23,9 @@
         stateRemark,t.v_id,t.v_id vId,t.visit_time,t.visit_time visitTime,t.phone_number,t.phone_number
         phoneNumber,t.free_time,t.free_time freeTime,t.visit_case,t.visit_case
         visitCase,t.state,t.community_id,t.community_id communityId,t.entourage,t.record_state,t.record_state
-        recordState
+        recordState,t.create_time createTime,td.name stateName,t.car_num carNum
         from s_visit_info t
+        left join t_dict td on t.state = td.status_cd and td.table_name = 's_visit_info' and td.table_columns = 'state'
         where 1 =1
         <if test="departureTime !=null and departureTime != ''">
             and t.departure_time= #{departureTime}
@@ -159,6 +160,7 @@
     <select id="queryVisitsCount" parameterType="Map" resultType="Map">
         select count(1) count
         from s_visit_info t
+        left join t_dict td on t.state = td.status_cd and td.table_name = 's_visit_info' and td.table_columns = 'state'
         where 1 =1
         <if test="departureTime !=null and departureTime != ''">
             and t.departure_time= #{departureTime}

+ 12 - 0
java110-db/src/main/resources/mapper/user/OwnerV1ServiceDaoImplMapper.xml

@@ -42,6 +42,12 @@
         <if test="ownerId !=null and ownerId != ''">
             and t.owner_id= #{ownerId}
         </if>
+        <if test="ownerIds !=null">
+            and t.owner_id in
+            <foreach collection="ownerIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="userId !=null and userId != ''">
             and t.user_id= #{userId}
         </if>
@@ -141,6 +147,12 @@
         <if test="ownerId !=null and ownerId != ''">
             and t.owner_id= #{ownerId}
         </if>
+        <if test="ownerIds !=null">
+            and t.owner_id in
+            <foreach collection="ownerIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="userId !=null and userId != ''">
             and t.user_id= #{userId}
         </if>

+ 40 - 3
service-community/src/main/java/com/java110/community/cmd/visit/ListVisitsCmd.java

@@ -10,11 +10,14 @@ import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.doc.annotation.*;
 import com.java110.dto.accessControlWhite.AccessControlWhiteDto;
 import com.java110.dto.file.FileRelDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.visit.VisitDto;
 import com.java110.dto.visitSetting.VisitSettingDto;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.community.IVisitInnerServiceSMO;
 import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
+import com.java110.intf.community.IVisitV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
@@ -68,7 +71,7 @@ import java.util.Map;
 public class ListVisitsCmd extends Cmd {
 
     @Autowired
-    private IVisitInnerServiceSMO visitInnerServiceSMOImpl;
+    private IVisitV1InnerServiceSMO visitV1InnerServiceSMO;
 
     @Autowired
     private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
@@ -76,6 +79,9 @@ public class ListVisitsCmd extends Cmd {
     @Autowired
     private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
     //键
     public static final String CAR_FREE_TIME = "CAR_FREE_TIME";
 
@@ -115,10 +121,10 @@ public class ListVisitsCmd extends Cmd {
                     && "PC".equals(reqJson.getString("channel"))) {
                 visitDto.setUserId("");
             }
-            int count = visitInnerServiceSMOImpl.queryVisitsCount(visitDto);
+            int count = visitV1InnerServiceSMO.queryVisitsCount(visitDto);
             List<ApiVisitDataVo> visits = new ArrayList<>();
             if (count > 0) {
-                List<VisitDto> visitDtos = visitInnerServiceSMOImpl.queryVisits(visitDto);
+                List<VisitDto> visitDtos = visitV1InnerServiceSMO.queryVisits(visitDto);
                 for (VisitDto visit : visitDtos) {
                     ApiVisitDataVo apiVisitDataVo = BeanConvertUtil.covertBean(visit, ApiVisitDataVo.class);
                     if (!StringUtil.isEmpty(visit.getFileSaveName())) {
@@ -130,6 +136,9 @@ public class ListVisitsCmd extends Cmd {
                 visits = new ArrayList<>();
             }
 
+            //刷入流程ID
+            refreshOwners(visits, reqJson);
+
             //刷入流程ID
             refreshSetting(visits, reqJson);
 
@@ -147,6 +156,34 @@ public class ListVisitsCmd extends Cmd {
 
     }
 
+    private void refreshOwners(List<ApiVisitDataVo> visits, JSONObject reqJson) {
+
+        if(visits == null || visits.size() < 1){
+            return ;
+        }
+
+        List<String> ownerIds = new ArrayList<>();
+        for(ApiVisitDataVo apiVisitDataVo: visits){
+            ownerIds.add(apiVisitDataVo.getOwnerId());
+        }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
+        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+       List<OwnerDto> ownerDtos =  ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+
+        for(ApiVisitDataVo apiVisitDataVo: visits){
+            for(OwnerDto tmpOwnerDto : ownerDtos){
+                if(!apiVisitDataVo.getOwnerId().equals(tmpOwnerDto.getOwnerId())){
+                    continue;
+                }
+                apiVisitDataVo.setOwnerName(tmpOwnerDto.getName());
+            }
+        }
+
+    }
+
     private void refreshPhoto(List<ApiVisitDataVo> visits, JSONObject reqJson) {
 
         List<String> vIds = new ArrayList<>();

+ 37 - 0
service-community/src/main/java/com/java110/community/cmd/visit/QueryFinishVisitCmd.java

@@ -7,6 +7,7 @@ import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.itemRelease.ItemReleaseDto;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.visit.VisitDto;
 import com.java110.dto.visitSetting.VisitSettingDto;
 import com.java110.dto.workflow.WorkflowDto;
@@ -16,6 +17,7 @@ import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
 import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
 import com.java110.intf.community.IVisitV1InnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
@@ -45,6 +47,9 @@ public class QueryFinishVisitCmd extends Cmd {
     @Autowired
     private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         super.validatePageInfo(reqJson);
@@ -86,6 +91,10 @@ public class QueryFinishVisitCmd extends Cmd {
 
             // 输入flowId
             refreshSetting(datas,reqJson);
+
+            //刷新 业主
+            refreshOwners(datas, reqJson);
+
         } else {
             datas = new ArrayList<>();
         }
@@ -97,6 +106,34 @@ public class QueryFinishVisitCmd extends Cmd {
 
     }
 
+    private void refreshOwners(List<JSONObject> datas, JSONObject reqJson) {
+
+        if(datas == null || datas.size() < 1){
+            return ;
+        }
+
+        List<String> ownerIds = new ArrayList<>();
+        for(JSONObject apiVisitDataVo: datas){
+            ownerIds.add(apiVisitDataVo.getString("ownerId"));
+        }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
+        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        List<OwnerDto> ownerDtos =  ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+
+        for(JSONObject apiVisitDataVo: datas){
+            for(OwnerDto tmpOwnerDto : ownerDtos){
+                if(!apiVisitDataVo.getString("ownerId").equals(tmpOwnerDto.getOwnerId())){
+                    continue;
+                }
+                apiVisitDataVo.put("ownerName",tmpOwnerDto.getName());
+            }
+        }
+
+    }
+
     private void refreshFormData(List<JSONObject> datas, JSONObject paramIn) {
 
         List<String> ids = new ArrayList<>();

+ 37 - 0
service-community/src/main/java/com/java110/community/cmd/visit/QueryUndoVisitCmd.java

@@ -7,6 +7,7 @@ import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.itemRelease.ItemReleaseDto;
 import com.java110.dto.oaWorkflow.OaWorkflowDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.visit.VisitDto;
 import com.java110.dto.visitSetting.VisitSettingDto;
 import com.java110.dto.workflow.WorkflowDto;
@@ -16,6 +17,7 @@ import com.java110.intf.common.IOaWorkflowActivitiInnerServiceSMO;
 import com.java110.intf.community.IVisitSettingV1InnerServiceSMO;
 import com.java110.intf.community.IVisitV1InnerServiceSMO;
 import com.java110.intf.oa.IOaWorkflowInnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
@@ -47,6 +49,9 @@ public class QueryUndoVisitCmd extends Cmd {
     @Autowired
     private IVisitSettingV1InnerServiceSMO visitSettingV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
         super.validatePageInfo(reqJson);
@@ -88,6 +93,9 @@ public class QueryUndoVisitCmd extends Cmd {
 
             // 输入flowId
             refreshSetting(datas,reqJson);
+
+            //刷新 业主
+            refreshOwners(datas, reqJson);
         } else {
             datas = new ArrayList<>();
         }
@@ -99,6 +107,35 @@ public class QueryUndoVisitCmd extends Cmd {
 
     }
 
+
+    private void refreshOwners(List<JSONObject> datas, JSONObject reqJson) {
+
+        if(datas == null || datas.size() < 1){
+            return ;
+        }
+
+        List<String> ownerIds = new ArrayList<>();
+        for(JSONObject apiVisitDataVo: datas){
+            ownerIds.add(apiVisitDataVo.getString("ownerId"));
+        }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setOwnerIds(ownerIds.toArray(new String[ownerIds.size()]));
+        ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        List<OwnerDto> ownerDtos =  ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+
+        for(JSONObject apiVisitDataVo: datas){
+            for(OwnerDto tmpOwnerDto : ownerDtos){
+                if(!apiVisitDataVo.getString("ownerId").equals(tmpOwnerDto.getOwnerId())){
+                    continue;
+                }
+                apiVisitDataVo.put("ownerName",tmpOwnerDto.getName());
+            }
+        }
+
+    }
+
     private void refreshFormData(List<JSONObject> datas, JSONObject paramIn) {
 
         List<String> ids = new ArrayList<>();