From f83b62252df79afbfa19f4cf1be0487d9e37a123 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 05 May 2022 18:48:09 +0800
Subject: [PATCH] 20220505

---
 zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 108 insertions(+), 1 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java
index 39b0a28..35d8a16 100644
--- a/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/padApi/action/PadApiCommonAction.java
@@ -1,6 +1,11 @@
 package com.matrix.system.padApi.action;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.LogUtil;
 import com.matrix.core.tools.RSAUtils;
 import com.matrix.core.tools.UUIDUtil;
 import com.matrix.system.app.vo.UserInfoVo;
@@ -11,10 +16,23 @@
 import com.matrix.system.common.dao.SysCompanyDao;
 import com.matrix.system.common.init.LocalCache;
 import com.matrix.system.common.service.SysUsersService;
+import com.matrix.system.common.tools.DataAuthUtil;
+import com.matrix.system.constance.Dictionary;
+import com.matrix.system.hive.action.BaseController;
+import com.matrix.system.hive.action.util.QueryUtil;
+import com.matrix.system.hive.bean.SysBeauticianState;
+import com.matrix.system.hive.bean.SysBedInfo;
+import com.matrix.system.hive.bean.SysProjServices;
 import com.matrix.system.hive.bean.SysShopInfo;
+import com.matrix.system.hive.dao.SysBedInfoDao;
 import com.matrix.system.hive.dao.SysShopInfoDao;
+import com.matrix.system.hive.service.SysBedInfoService;
+import com.matrix.system.hive.service.SysOrderService;
 import com.matrix.system.hive.service.SysShopInfoService;
+import com.matrix.system.hive.service.SysWorktimeService;
+import com.matrix.system.padApi.dto.PadOrderListDto;
 import com.matrix.system.padApi.dto.WebPadLoginDto;
+import com.matrix.system.padApi.vo.PadOrderDetailVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -24,11 +42,16 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 @CrossOrigin(origins = "*")
 @Api(value = "PadApiCommonAction", tags = "pad端公共请求类(含登陆)")
 @RestController
 @RequestMapping(value = "/api/common/pad")
-public class PadApiCommonAction {
+public class PadApiCommonAction extends BaseController {
 
     @Autowired
     private SysUsersService sysUsersService;
@@ -44,6 +67,21 @@
 
     @Autowired
     private SysShopInfoService sysShopInfoService;
+
+    @Resource
+    private SysOrderService sysOrderService;
+
+    @Resource
+    private SysBedInfoService bedInfoService;
+
+    @Resource
+    private SysWorktimeService sysWorkTimeService;
+
+    @Resource
+    private SysUsersService usersService;
+
+    @Autowired
+    private SysBedInfoDao sysBedInfoDao;
 
     @Value("${login_public_key}")
     private String publicKey;
@@ -86,6 +124,75 @@
         return result;
     }
 
+    @ApiOperation(value = "首页", notes = "首页")
+    @GetMapping(value = "/frist/{suId}")
+    public AjaxResult frist(@PathVariable Long suId) {
+        SysUsers user = usersService.findById(suId);
+        LogUtil.info("首页 shopId={}", user.getShopId());
+//        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        PadOrderListDto orderListDto = new PadOrderListDto();
+        orderListDto.setPageNum(1);
+        orderListDto.setPageSize(5);
+        int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
+        int limit = orderListDto.getPageSize();
+        PaginationVO pageVo = new PaginationVO();
+        pageVo.setOffset(offset);
+        pageVo.setLimit(limit);
+        if(ObjectUtil.isNotEmpty(user.getShopId())){
+            orderListDto.setShopId(user.getShopId());
+        }
+        if (!DataAuthUtil.hasAllShopAuth()) {
+            orderListDto.setShopId(user.getShopId());
+        }
+        QueryUtil.setQueryLimitCom(orderListDto);
+        List<PadOrderDetailVo> padApiOrderListInPage = sysOrderService.findPadApiOrderListInPage(orderListDto, pageVo);
+
+        AjaxResult result = AjaxResult.buildSuccessInstance("");
+        result.putInMap("orderList",padApiOrderListInPage);
+
+        Date date = new Date();
+        List<SysUsers> mls = usersService.findByRoleName(true, Dictionary.STAFF_POST_MLS);
+        if(CollUtil.isNotEmpty(mls)){
+            SysBeauticianState sysBeauticianState = new SysBeauticianState();
+            sysBeauticianState.setBeginTime(DateUtil.getStartDate(date));
+            sysBeauticianState.setEndTime(DateUtil.getStartDate(date));
+            String panBanCodes = DateUtil.dateToString(sysBeauticianState.getBeginTime(),DateUtil.DATE_FORMAT_NO_SPLITE_DD);
+            List<SysUsers> staffs=new ArrayList<>();
+            if(sysWorkTimeService.isInWorkTime(user.getShopId(),sysBeauticianState.getBeginTime(),sysBeauticianState.getEndTime())){
+                staffs= sysUsersService.findByCodeBeaStateShop(user.getShopId(),
+                        sysBeauticianState, panBanCodes);
+                if(CollUtil.isNotEmpty(staffs)){
+                    result.putInMap("usedMls", mls.size() - staffs.size());
+                    result.putInMap("freeMls", staffs.size());
+                }else{
+                    result.putInMap("usedMls", mls.size());
+                    result.putInMap("freeMls", 0);
+                }
+            }
+        }
+
+        SysBedInfo bedInfo = new SysBedInfo();
+        bedInfo.setShopId(getMe().getShopId());
+        List<SysBedInfo> totalBed = bedInfoService.findByModel(bedInfo);
+        if(CollUtil.isNotEmpty(totalBed)){
+            SysProjServices sysProjServices = new SysProjServices();
+            sysProjServices.setShopId(getMe().getShopId());
+
+            sysProjServices.setStartTime(DateUtil.getStartDate(date));
+            sysProjServices.setEndTime(DateUtil.getStartDate(date));
+            List<SysBedInfo> freeBed = sysBedInfoDao.findFreeBed(sysProjServices);
+//            List<SysBedInfo> freeBed = bedInfoService.findFreeBed(sysProjServices);
+            if(CollUtil.isNotEmpty(freeBed)){
+                result.putInMap("usedBed", totalBed.size() - freeBed.size());
+                result.putInMap("freeBed", freeBed);
+            }else{
+                result.putInMap("usedBed", totalBed);
+                result.putInMap("freeBed", 0);
+            }
+        }
+        return result;
+    }
+
     @ApiOperation(value = "用户退出系统", notes = "用户退出系统")
     @ApiResponses({
             @ApiResponse(code = 200, message = "ok", response = AjaxResult.class)

--
Gitblit v1.9.1