Przeglądaj źródła

优化查询采购当前处理人信息

java110 6 lat temu
rodzic
commit
0da00eb2e3

+ 19 - 0
Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java

@@ -5,6 +5,8 @@ import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.smo.purchaseApply.IPurchaseApplyInnerServiceSMO;
+import com.java110.core.smo.purchaseApplyUser.IPurchaseApplyUserInnerServiceSMO;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDetailDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.event.service.api.ServiceDataFlowEvent;
@@ -33,6 +35,9 @@ public class ListPurchaseApplysListener extends AbstractServiceApiListener {
     @Autowired
     private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
 
+    @Autowired
+    private IPurchaseApplyUserInnerServiceSMO purchaseApplyUserInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodePurchaseApplyConstant.LIST_PURCHASE_APPLY;
@@ -74,6 +79,7 @@ public class ListPurchaseApplysListener extends AbstractServiceApiListener {
         List<ApiPurchaseApplyDataVo> purchaseApplys = null;
         if (count > 0) {
             List<PurchaseApplyDto> purchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyAndDetails(purchaseApplyDto);
+            purchaseApplyDtos = freshCurrentUser(purchaseApplyDtos);
             purchaseApplys = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ApiPurchaseApplyDataVo.class);
             for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){
                 List<PurchaseApplyDetailVo> applyDetailList = apiPurchaseApplyDataVo.getPurchaseApplyDetailVo();
@@ -89,7 +95,9 @@ public class ListPurchaseApplysListener extends AbstractServiceApiListener {
                     apiPurchaseApplyDataVo.setResourceNames(resNames.toString());
                     apiPurchaseApplyDataVo.setTotalPrice(totalPrice.toString());
                 }
+
             }
+
         } else {
             purchaseApplys = new ArrayList<>();
         }
@@ -105,4 +113,15 @@ public class ListPurchaseApplysListener extends AbstractServiceApiListener {
         context.setResponseEntity(responseEntity);
 
     }
+
+
+    private List<PurchaseApplyDto>  freshCurrentUser(List<PurchaseApplyDto> purchaseApplyDtos) {
+        List<PurchaseApplyDto> tmpPurchaseApplyDtos = new ArrayList<>();
+        for(PurchaseApplyDto purchaseApplyDto : purchaseApplyDtos){
+            purchaseApplyDto = purchaseApplyUserInnerServiceSMOImpl.getTaskCurrentUser(purchaseApplyDto);
+            tmpPurchaseApplyDtos.add(purchaseApplyDto);
+        }
+
+        return tmpPurchaseApplyDtos;
+    }
 }

+ 41 - 0
CommonService/src/main/java/com/java110/common/smo/impl/PurchaseApplyUserInnerServiceSMOImpl.java

@@ -5,10 +5,13 @@ import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.smo.audit.IAuditUserInnerServiceSMO;
 import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
 import com.java110.core.smo.purchaseApplyUser.IPurchaseApplyUserInnerServiceSMO;
+import com.java110.core.smo.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.auditMessage.AuditMessageDto;
 import com.java110.dto.auditUser.AuditUserDto;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
+import com.java110.dto.user.UserDto;
 import com.java110.entity.audit.AuditUser;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
@@ -48,6 +51,9 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
     @Autowired
     private TaskService taskService;
 
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
     @Autowired
     private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl;
 
@@ -277,6 +283,41 @@ public class PurchaseApplyUserInnerServiceSMOImpl extends BaseServiceSMO impleme
         return auditMessageDtos;
     }
 
+    /**
+     * 获取任务当前处理人
+     *
+     * @param purchaseApplyDto
+     * @return
+     */
+    public PurchaseApplyDto getTaskCurrentUser(@RequestBody PurchaseApplyDto purchaseApplyDto) {
+
+        TaskService taskService = processEngine.getTaskService();
+        Task task = taskService.createTaskQuery().processInstanceBusinessKey(purchaseApplyDto.getApplyOrderId()).singleResult();
+
+        if (task == null) {
+            purchaseApplyDto.setStaffId("");
+            purchaseApplyDto.setStaffName("");
+            purchaseApplyDto.setStaffTel("");
+            return purchaseApplyDto;
+        }
+
+        String userId = task.getAssignee();
+        List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(new String[]{userId});
+
+        if (users == null || users.size() == 0) {
+            purchaseApplyDto.setStaffId("");
+            purchaseApplyDto.setStaffName("");
+            purchaseApplyDto.setStaffTel("");
+            return purchaseApplyDto;
+        }
+
+        purchaseApplyDto.setCurrentUserId(userId);
+        purchaseApplyDto.setStaffName(users.get(0).getName());
+        purchaseApplyDto.setStaffTel(users.get(0).getTel());
+        return purchaseApplyDto;
+
+    }
+
 
     public ProcessEngine getProcessEngine() {
         return processEngine;

+ 3 - 0
StoreService/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java

@@ -5,6 +5,7 @@ import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.smo.purchaseApply.IPurchaseApplyInnerServiceSMO;
 import com.java110.core.smo.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDetailDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.user.UserDto;
@@ -130,6 +131,8 @@ public class PurchaseApplyInnerServiceSMOImpl extends BaseServiceSMO implements
         return purchaseApplyDetails;
     }
 
+
+
     public IPurchaseApplyServiceDao getPurchaseApplyServiceDaoImpl() {
         return purchaseApplyServiceDaoImpl;
     }

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/purchaseApply/PurchaseApplyDto.java

@@ -41,6 +41,7 @@ public class PurchaseApplyDto extends PageDto implements Serializable {
     private String auditMessage;
     private String staffId;
     private String staffName;
+    private String staffTel;
 
 
 
@@ -214,4 +215,12 @@ public class PurchaseApplyDto extends PageDto implements Serializable {
     public void setStaffName(String staffName) {
         this.staffName = staffName;
     }
+
+    public String getStaffTel() {
+        return staffTel;
+    }
+
+    public void setStaffTel(String staffTel) {
+        this.staffTel = staffTel;
+    }
 }

+ 27 - 0
java110-bean/src/main/java/com/java110/vo/api/purchaseApply/ApiPurchaseApplyDataVo.java

@@ -20,6 +20,9 @@ public class ApiPurchaseApplyDataVo implements Serializable {
     private String endUserTel;
     private List<PurchaseApplyDetailVo> purchaseApplyDetailVo;
     private String description;
+    private String staffId;
+    private String staffName;
+    private String staffTel;
 
 
     public String getApplyOrderId() {
@@ -117,4 +120,28 @@ public class ApiPurchaseApplyDataVo implements Serializable {
     public void setEndUserTel(String endUserTel) {
         this.endUserTel = endUserTel;
     }
+
+    public String getStaffId() {
+        return staffId;
+    }
+
+    public void setStaffId(String staffId) {
+        this.staffId = staffId;
+    }
+
+    public String getStaffName() {
+        return staffName;
+    }
+
+    public void setStaffName(String staffName) {
+        this.staffName = staffName;
+    }
+
+    public String getStaffTel() {
+        return staffTel;
+    }
+
+    public void setStaffTel(String staffTel) {
+        this.staffTel = staffTel;
+    }
 }

+ 2 - 0
java110-core/src/main/java/com/java110/core/smo/purchaseApply/IPurchaseApplyInnerServiceSMO.java

@@ -1,6 +1,7 @@
 package com.java110.core.smo.purchaseApply;
 
 import com.java110.core.feign.FeignConfiguration;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDetailDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -49,4 +50,5 @@ public interface IPurchaseApplyInnerServiceSMO {
     //查询采购明细表
     @RequestMapping(value = "/queryPurchaseApplyDetails", method = RequestMethod.POST)
     List<PurchaseApplyDetailDto> queryPurchaseApplyDetails(@RequestBody PurchaseApplyDetailDto purchaseApplyDetailDto);
+
 }

+ 9 - 0
java110-core/src/main/java/com/java110/core/smo/purchaseApplyUser/IPurchaseApplyUserInnerServiceSMO.java

@@ -2,6 +2,7 @@ package com.java110.core.smo.purchaseApplyUser;
 
 import com.java110.core.feign.FeignConfiguration;
 import com.java110.dto.auditMessage.AuditMessageDto;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.entity.audit.AuditUser;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -71,4 +72,12 @@ public interface IPurchaseApplyUserInnerServiceSMO {
     @RequestMapping(value = "/getAuditMessage", method = RequestMethod.POST)
     public List<AuditMessageDto> getAuditMessage(@RequestBody PurchaseApplyDto purchaseApplyDto);
 
+    /**
+     * 获取任务当前处理人
+     * @param purchaseApplyDto
+     * @return
+     */
+    @RequestMapping(value = "/getTaskCurrentUser", method = RequestMethod.POST)
+    public PurchaseApplyDto getTaskCurrentUser(@RequestBody PurchaseApplyDto purchaseApplyDto);
+
 }