From 9e42a2d090285cb99583bf1c1525ce5bcae1cb5f Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 31 十月 2022 02:30:11 +0800
Subject: [PATCH] 写完排班核型逻辑

---
 service-store/src/main/java/com/java110/store/cmd/scheduleClasses/ListScheduleClassesCmd.java |   65 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/ListScheduleClassesCmd.java b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/ListScheduleClassesCmd.java
index bf569ba..4c8b739 100644
--- a/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/ListScheduleClassesCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/scheduleClasses/ListScheduleClassesCmd.java
@@ -22,6 +22,8 @@
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.scheduleClassesStaff.ScheduleClassesStaffDto;
+import com.java110.intf.store.IScheduleClassesStaffV1InnerServiceSMO;
 import com.java110.intf.store.IScheduleClassesV1InnerServiceSMO;
 import com.java110.po.scheduleClasses.ScheduleClassesPo;
 import com.java110.utils.exception.CmdException;
@@ -30,8 +32,10 @@
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.java110.dto.scheduleClasses.ScheduleClassesDto;
+
 import java.util.List;
 import java.util.ArrayList;
+
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.HttpStatus;
 import org.slf4j.Logger;
@@ -51,9 +55,12 @@
 @Java110Cmd(serviceCode = "scheduleClasses.listScheduleClasses")
 public class ListScheduleClassesCmd extends Cmd {
 
-  private static Logger logger = LoggerFactory.getLogger(ListScheduleClassesCmd.class);
+    private static Logger logger = LoggerFactory.getLogger(ListScheduleClassesCmd.class);
     @Autowired
     private IScheduleClassesV1InnerServiceSMO scheduleClassesV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IScheduleClassesStaffV1InnerServiceSMO scheduleClassesStaffV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -63,22 +70,56 @@
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
-           ScheduleClassesDto scheduleClassesDto = BeanConvertUtil.covertBean(reqJson, ScheduleClassesDto.class);
+        String storeId = cmdDataFlowContext.getReqHeaders().get("store-id");
 
-           int count = scheduleClassesV1InnerServiceSMOImpl.queryScheduleClassessCount(scheduleClassesDto);
+        ScheduleClassesDto scheduleClassesDto = BeanConvertUtil.covertBean(reqJson, ScheduleClassesDto.class);
+        scheduleClassesDto.setStoreId(storeId);
 
-           List<ScheduleClassesDto> scheduleClassesDtos = null;
+        int count = scheduleClassesV1InnerServiceSMOImpl.queryScheduleClassessCount(scheduleClassesDto);
 
-           if (count > 0) {
-               scheduleClassesDtos = scheduleClassesV1InnerServiceSMOImpl.queryScheduleClassess(scheduleClassesDto);
-           } else {
-               scheduleClassesDtos = new ArrayList<>();
-           }
+        List<ScheduleClassesDto> scheduleClassesDtos = null;
 
-           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, scheduleClassesDtos);
+        if (count > 0) {
+            scheduleClassesDtos = scheduleClassesV1InnerServiceSMOImpl.queryScheduleClassess(scheduleClassesDto);
 
-           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+            freshScheduleClassesStaff(scheduleClassesDtos);
+        } else {
+            scheduleClassesDtos = new ArrayList<>();
+        }
 
-           cmdDataFlowContext.setResponseEntity(responseEntity);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, scheduleClassesDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+
+    /**
+     * 鍒峰叆鍛樺伐鏁伴噺
+     * @param scheduleClassesDtos
+     */
+    private void freshScheduleClassesStaff(List<ScheduleClassesDto> scheduleClassesDtos) {
+        if(scheduleClassesDtos == null || scheduleClassesDtos.size()< 1){
+            return ;
+        }
+
+        List<String> scheduleIds = new ArrayList<>();
+
+        for(ScheduleClassesDto scheduleClassesDto : scheduleClassesDtos){
+            scheduleIds.add(scheduleClassesDto.getScheduleId());
+        }
+
+
+        ScheduleClassesStaffDto  scheduleClassesStaffDto = new ScheduleClassesStaffDto();
+        scheduleClassesStaffDto.setScheduleIds(scheduleIds.toArray(new String[scheduleIds.size()]));
+        List<ScheduleClassesStaffDto> scheduleClassesStaffDtos = scheduleClassesStaffV1InnerServiceSMOImpl.queryGroupScheduleClassesStaffs(scheduleClassesStaffDto);
+
+        for(ScheduleClassesDto scheduleClassesDto : scheduleClassesDtos){
+            for(ScheduleClassesStaffDto scheduleClassesStaffDto1 : scheduleClassesStaffDtos){
+                if(scheduleClassesDto.getScheduleId().equals(scheduleClassesStaffDto1.getScheduleId())){
+                    scheduleClassesDto.setStaffCount(scheduleClassesStaffDto1.getStaffCount());
+                }
+            }
+        }
     }
 }

--
Gitblit v1.8.0