Browse Source

统计修改优化

xgb 6 hours ago
parent
commit
922d34f257

+ 30 - 2
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreStatisticsScrmController.java

@@ -88,11 +88,17 @@ public class FsStoreStatisticsScrmController extends BaseController
     }
 
 
+    /**
+     * @Description: 商城订单统计 分别按员工 部门 公司进行统计
+     * @Param:
+     * @Return:
+     * @Author xgb
+     * @Date 2025/9/22 9:13
+     */
     @PreAuthorize("@ss.hasPermi('store:statistics:storeOrder')")
     @GetMapping("/storeOrderStatistics")
     public R storeOrderStatistics(FsStoreStatisticsParam param)
     {
-
         TimeUtils.TimeEntity timeEntity=TimeUtils.parseTimeTwo(param.getType()==null?null:param.getType().toString(),param.getStartTime(),param.getEndTime());
         // 判断 员工是否为空
         timeEntity.setCompanyUserId(param.getCompanyUserId());
@@ -105,6 +111,7 @@ public class FsStoreStatisticsScrmController extends BaseController
         map.put("queryType",param.getQueryType());
         map.put("amountType",param.getAmountType());
 
+
         // 公司汇总
         List<FsStoreOrderCountsVO> companyTableData = storeOrderService.selectFsStoreOrderGroupByCompanyId(map);
 
@@ -114,7 +121,28 @@ public class FsStoreStatisticsScrmController extends BaseController
         // 按员工汇总
         List<FsStoreOrderCountsVO> userTableData = storeOrderService.selectFsStoreOrderGroupByUserId(map);
 
-        return R.ok().put("companyTableData",companyTableData).put("deptTableData",deptTableData).put("userTableData",userTableData);
+        // 统计图需要
+        TimeUtils.TimeEntity timeEntityView=TimeUtils.parseTime(param.getType()==null?null:param.getType().toString(),param.getStartTime(),param.getEndTime());
+        timeEntityView.setCompanyUserId(param.getCompanyUserId());
+        timeEntityView.setCompanyId(param.getCompanyId());
+        timeEntityView.setDeptId(param.getDeptId());
+        timeEntityView.setOrderType(param.getOrderType());
+        timeEntityView.setOrderMedium(param.getOrderMedium());
+
+        Map<String,Object> mapView = timeEntity.toMap();
+        mapView.put("queryType",param.getQueryType());
+        mapView.put("amountType",param.getAmountType());
+        // 统计图返回值
+        List<JSONObject> jsonObjectList = storeOrderService.selectFsStoreOrderCountsView(mapView);
+
+
+        List<String> dates = jsonObjectList.stream().map(jsonObject -> jsonObject.getString("type")).collect(Collectors.toList());
+        List<Integer> orderCount = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("orderCount")).collect(Collectors.toList());
+        List<Integer> payPrice = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("payPrice")).collect(Collectors.toList());
+
+
+
+        return R.ok().put("dates",dates).put("orderCount",orderCount).put("payPrice",payPrice).put("companyTableData",companyTableData).put("deptTableData",deptTableData).put("userTableData",userTableData);
     }
 
     @PreAuthorize("@ss.hasPermi('store:statistics:storeProduct')")

+ 12 - 0
fs-company/src/main/java/com/fs/company/controller/company/CompanyController.java

@@ -104,6 +104,18 @@ public class CompanyController extends BaseController
         return R.ok().put("data",list);
     }
 
+
+    @GetMapping("/getCompanyListByUserId")
+    public R getCompanyListByUserId()
+    {
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        Company map=new Company();
+        map.setCompanyId(loginUser.getCompany().getCompanyId());
+        map.setIsDel(0);
+        List<Company> list = companyService.selectCompanyList(map);
+        return R.ok().put("data",list);
+    }
+
     @GetMapping("/allList")
     public TableDataInfo getHospital()
     {

+ 13 - 0
fs-company/src/main/java/com/fs/company/controller/crm/CrmCustomerController.java

@@ -453,4 +453,17 @@ public class CrmCustomerController extends BaseController
         return R.ok().put("data",list);
     }
 
+    /**
+     * @Description: 模糊查询客户姓名
+     * @Param:
+     * @Return:
+     * @Author xgb
+     * @Date 2025/9/22 16:04
+     */
+    @GetMapping("/getCustName")
+    public List<String> getCustName(CrmCustomer crmCustomer){
+        startPage();
+        return crmCustomerService.getCustName(crmCustomer);
+    }
+
 }

+ 97 - 83
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreStatisticsScrmController.java

@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSONObject;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
+import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.TimeUtils;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyUserService;
+import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.TokenService;
 import com.fs.hisStore.param.FsStoreStatisticsParam;
 import com.fs.hisStore.service.IFsStoreOrderScrmService;
@@ -36,8 +38,7 @@ import java.util.stream.Collectors;
  */
 @RestController
 @RequestMapping("/store/store/statistics")
-public class FsStoreStatisticsScrmController extends BaseController
-{
+public class FsStoreStatisticsScrmController extends BaseController {
 
     @Autowired
     private ICompanyUserService userService;
@@ -48,29 +49,28 @@ public class FsStoreStatisticsScrmController extends BaseController
     private IFsStorePaymentScrmService storePaymentService;
     @Autowired
     private TokenService tokenService;
+
     @PreAuthorize("@ss.hasPermi('store:statistics:storeOrder')")
     @GetMapping("/storeOrder")
     @Deprecated
-    public R storeOrder(FsStoreStatisticsParam param)
-    {
-        if(StringUtils.isNotEmpty(param.getUserIds())){
-            String[] userIds=param.getUserIds().split(",");
-            Long[] ids=new Long[userIds.length];
-            for(int i=0;i<ids.length; i++){
-                ids[i]=Long.parseLong(userIds[i]);
+    public R storeOrder(FsStoreStatisticsParam param) {
+        if (StringUtils.isNotEmpty(param.getUserIds())) {
+            String[] userIds = param.getUserIds().split(",");
+            Long[] ids = new Long[userIds.length];
+            for (int i = 0; i < ids.length; i++) {
+                ids[i] = Long.parseLong(userIds[i]);
             }
             param.setUsers(ids);
-        }
-        else{
+        } else {
             //获取部门下的所有用户
-            CompanyUser usermap=new CompanyUser();
+            CompanyUser usermap = new CompanyUser();
             usermap.setDeptId(param.getDeptId());
             List<CompanyUser> users = userService.getUserListByDeptId(usermap);
             List<Long> userIds = users.stream().map(element -> element.getUserId()).collect(Collectors.toList());
             param.setUsers(userIds.toArray(new Long[userIds.size()]));
         }
-        if(param.getUsers()!=null&&param.getUsers().length>0){
-            TimeUtils.TimeEntity timeEntity=TimeUtils.parseTime(param.getType()==null?null:param.getType().toString(),param.getStartTime(),param.getEndTime());
+        if (param.getUsers() != null && param.getUsers().length > 0) {
+            TimeUtils.TimeEntity timeEntity = TimeUtils.parseTime(param.getType() == null ? null : param.getType().toString(), param.getStartTime(), param.getEndTime());
             timeEntity.setUserIds(param.getUsers());
             Integer cycleNum = timeEntity.getCycleNum();
             Integer beginTime = timeEntity.getBeginTime();
@@ -80,17 +80,16 @@ public class FsStoreStatisticsScrmController extends BaseController
                 beginTime = TimeUtils.formatTime(beginTime);
             }
             Map<String, Object> map = timeEntity.toMap();
-            map.put("orderType",param.getOrderType());
-            map.put("orderMedium",param.getOrderMedium());
+            map.put("orderType", param.getOrderType());
+            map.put("orderMedium", param.getOrderMedium());
             List<JSONObject> jsonObjectList = storeOrderService.selectFsStoreOrderCounts(map);
             List<String> dates = jsonObjectList.stream().map(jsonObject -> jsonObject.getString("type")).collect(Collectors.toList());
             List<Integer> orderCount = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("orderCount")).collect(Collectors.toList());
             List<Integer> payPrice = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("payPrice")).collect(Collectors.toList());
             //表格数据
-            List<FsStoreOrderCountsVO> tableData = storeOrderService.selectFsStoreOrderCountsByDept(map,param.getDeptId());
-            return R.ok().put("dates",dates).put("orderCount",orderCount).put("payPrice",payPrice).put("tableData",tableData);
-        }
-        else {
+            List<FsStoreOrderCountsVO> tableData = storeOrderService.selectFsStoreOrderCountsByDept(map, param.getDeptId());
+            return R.ok().put("dates", dates).put("orderCount", orderCount).put("payPrice", payPrice).put("tableData", tableData);
+        } else {
             return R.ok("未查找到数据");
         }
     }
@@ -104,20 +103,24 @@ public class FsStoreStatisticsScrmController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('store:statistics:storeOrder')")
     @GetMapping("/storeOrderStatistics")
-    public R storeOrderStatistics(FsStoreStatisticsParam param)
-    {
+    public R storeOrderStatistics(FsStoreStatisticsParam param) {
 
-        TimeUtils.TimeEntity timeEntity=TimeUtils.parseTimeTwo(param.getType()==null?null:param.getType().toString(),param.getStartTime(),param.getEndTime());
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+
+
+        TimeUtils.TimeEntity timeEntity = TimeUtils.parseTimeTwo(param.getType() == null ? null : param.getType().toString(), param.getStartTime(), param.getEndTime());
         // 判断 员工是否为空
         timeEntity.setCompanyUserId(param.getCompanyUserId());
         timeEntity.setCompanyId(param.getCompanyId());
         timeEntity.setDeptId(param.getDeptId());
         timeEntity.setOrderType(param.getOrderType());
         timeEntity.setOrderMedium(param.getOrderMedium());
+        timeEntity.setCompanyId(loginUser.getCompany().getCompanyId());
+
+        Map<String, Object> map = timeEntity.toMap();
+        map.put("queryType", param.getQueryType());
+        map.put("amountType", param.getAmountType());
 
-        Map<String,Object> map = timeEntity.toMap();
-        map.put("queryType",param.getQueryType());
-        map.put("amountType",param.getAmountType());
 
         // 公司汇总
         List<FsStoreOrderCountsVO> companyTableData = storeOrderService.selectFsStoreOrderGroupByCompanyId(map);
@@ -128,32 +131,51 @@ public class FsStoreStatisticsScrmController extends BaseController
         // 按员工汇总
         List<FsStoreOrderCountsVO> userTableData = storeOrderService.selectFsStoreOrderGroupByUserId(map);
 
-        return R.ok().put("companyTableData",companyTableData).put("deptTableData",deptTableData).put("userTableData",userTableData);
+        // 统计图需要
+        TimeUtils.TimeEntity timeEntityView = TimeUtils.parseTime(param.getType() == null ? null : param.getType().toString(), param.getStartTime(), param.getEndTime());
+        timeEntityView.setCompanyUserId(param.getCompanyUserId());
+        timeEntityView.setCompanyId(param.getCompanyId());
+        timeEntityView.setDeptId(param.getDeptId());
+        timeEntityView.setOrderType(param.getOrderType());
+        timeEntityView.setOrderMedium(param.getOrderMedium());
+        timeEntityView.setCompanyId(loginUser.getCompany().getCompanyId());
+
+        Map<String, Object> mapView = timeEntity.toMap();
+        mapView.put("queryType", param.getQueryType());
+        mapView.put("amountType", param.getAmountType());
+        // 统计图返回值
+        List<JSONObject> jsonObjectList = storeOrderService.selectFsStoreOrderCountsView(mapView);
+
+
+        List<String> dates = jsonObjectList.stream().map(jsonObject -> jsonObject.getString("type")).collect(Collectors.toList());
+        List<Integer> orderCount = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("orderCount")).collect(Collectors.toList());
+        List<Integer> payPrice = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("payPrice")).collect(Collectors.toList());
+
+
+        return R.ok().put("dates", dates).put("orderCount", orderCount).put("payPrice", payPrice).put("companyTableData", companyTableData).put("deptTableData", deptTableData).put("userTableData", userTableData);
     }
 
 
     @PreAuthorize("@ss.hasPermi('store:statistics:storeProduct')")
     @GetMapping("/storeProduct")
-    public R storeProduct(FsStoreStatisticsParam param)
-    {
-        if(StringUtils.isNotEmpty(param.getUserIds())){
-            String[] userIds=param.getUserIds().split(",");
-            Long[] ids=new Long[userIds.length];
-            for(int i=0;i<ids.length; i++){
-                ids[i]=Long.parseLong(userIds[i]);
+    public R storeProduct(FsStoreStatisticsParam param) {
+        if (StringUtils.isNotEmpty(param.getUserIds())) {
+            String[] userIds = param.getUserIds().split(",");
+            Long[] ids = new Long[userIds.length];
+            for (int i = 0; i < ids.length; i++) {
+                ids[i] = Long.parseLong(userIds[i]);
             }
             param.setUsers(ids);
-        }
-        else{
+        } else {
             //获取部门下的所有用户
-            CompanyUser usermap=new CompanyUser();
+            CompanyUser usermap = new CompanyUser();
             usermap.setDeptId(param.getDeptId());
             List<CompanyUser> users = userService.getUserListByDeptId(usermap);
             List<Long> userIds = users.stream().map(element -> element.getUserId()).collect(Collectors.toList());
             param.setUsers(userIds.toArray(new Long[userIds.size()]));
         }
-        if(param.getUsers()!=null&&param.getUsers().length>0){
-            TimeUtils.TimeEntity timeEntity=TimeUtils.parseTime(param.getType()==null?null:param.getType().toString(),param.getStartTime(),param.getEndTime());
+        if (param.getUsers() != null && param.getUsers().length > 0) {
+            TimeUtils.TimeEntity timeEntity = TimeUtils.parseTime(param.getType() == null ? null : param.getType().toString(), param.getStartTime(), param.getEndTime());
             timeEntity.setUserIds(param.getUsers());
             Integer cycleNum = timeEntity.getCycleNum();
             Integer beginTime = timeEntity.getBeginTime();
@@ -167,35 +189,33 @@ public class FsStoreStatisticsScrmController extends BaseController
             List<Integer> orderCount = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("orderCount")).collect(Collectors.toList());
             List<Integer> payPrice = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("payPrice")).collect(Collectors.toList());
             //表格数据
-            List<FsStoreProductCountsVO> tableData = storeOrderService.selectFsStoreProductCountsByDept(timeEntity.toMap(),param.getDeptId());
-            return R.ok().put("dates",dates).put("orderCount",orderCount).put("payPrice",payPrice).put("tableData",tableData);
-        }
-        else {
+            List<FsStoreProductCountsVO> tableData = storeOrderService.selectFsStoreProductCountsByDept(timeEntity.toMap(), param.getDeptId());
+            return R.ok().put("dates", dates).put("orderCount", orderCount).put("payPrice", payPrice).put("tableData", tableData);
+        } else {
             return R.ok("未查找到数据");
         }
     }
+
     @PreAuthorize("@ss.hasPermi('store:statistics:exportStoreOrder')")
     @GetMapping("/exportStoreOrder")
-    public AjaxResult exportStoreOrder(FsStoreStatisticsParam param)
-    {
-        if(StringUtils.isNotEmpty(param.getUserIds())){
-            String[] userIds=param.getUserIds().split(",");
-            Long[] ids=new Long[userIds.length];
-            for(int i=0;i<ids.length; i++){
-                ids[i]=Long.parseLong(userIds[i]);
+    public AjaxResult exportStoreOrder(FsStoreStatisticsParam param) {
+        if (StringUtils.isNotEmpty(param.getUserIds())) {
+            String[] userIds = param.getUserIds().split(",");
+            Long[] ids = new Long[userIds.length];
+            for (int i = 0; i < ids.length; i++) {
+                ids[i] = Long.parseLong(userIds[i]);
             }
             param.setUsers(ids);
-        }
-        else{
+        } else {
             //获取所有员工
-            CompanyUser usermap=new CompanyUser();
+            CompanyUser usermap = new CompanyUser();
             usermap.setDeptId(param.getDeptId());
             List<CompanyUser> users = userService.getUserListByDeptId(usermap);
             List<Long> userIds = users.stream().map(element -> element.getUserId()).collect(Collectors.toList());
             param.setUsers(userIds.toArray(new Long[userIds.size()]));
         }
 
-        List<FsStoreOrderStatisticsVO> list= storeOrderService.selectFsStoreOrderStatisticsList(param);
+        List<FsStoreOrderStatisticsVO> list = storeOrderService.selectFsStoreOrderStatisticsList(param);
 
         ExcelUtil<FsStoreOrderStatisticsVO> util = new ExcelUtil<FsStoreOrderStatisticsVO>(FsStoreOrderStatisticsVO.class);
         return util.exportExcel(list, "orderLogs");
@@ -204,27 +224,25 @@ public class FsStoreStatisticsScrmController extends BaseController
 
     @PreAuthorize("@ss.hasPermi('store:statistics:storePayment')")
     @GetMapping("/storePayment")
-    public R storePayment(FsStoreStatisticsParam param)
-    {
-        if(StringUtils.isNotEmpty(param.getUserIds())){
-            String[] userIds=param.getUserIds().split(",");
-            Long[] ids=new Long[userIds.length];
-            for(int i=0;i<ids.length; i++){
-                ids[i]=Long.parseLong(userIds[i]);
+    public R storePayment(FsStoreStatisticsParam param) {
+        if (StringUtils.isNotEmpty(param.getUserIds())) {
+            String[] userIds = param.getUserIds().split(",");
+            Long[] ids = new Long[userIds.length];
+            for (int i = 0; i < ids.length; i++) {
+                ids[i] = Long.parseLong(userIds[i]);
             }
             param.setUsers(ids);
-        }
-        else{
+        } else {
             //获取部门下的所有用户
-            CompanyUser usermap=new CompanyUser();
+            CompanyUser usermap = new CompanyUser();
             usermap.setDeptId(param.getDeptId());
             List<CompanyUser> users = userService.getUserListByDeptId(usermap);
             List<Long> userIds = users.stream().map(element -> element.getUserId()).collect(Collectors.toList());
             param.setUsers(userIds.toArray(new Long[userIds.size()]));
         }
-        if(param.getUsers()!=null&&param.getUsers().length>0){
-            List<FsStorePaymentStatisticsVO> list= storePaymentService.selectFsStorePaymentStatisticsList(param);
-            TimeUtils.TimeEntity timeEntity=TimeUtils.parseTime(param.getType().toString(),param.getStartTime(),param.getEndTime());
+        if (param.getUsers() != null && param.getUsers().length > 0) {
+            List<FsStorePaymentStatisticsVO> list = storePaymentService.selectFsStorePaymentStatisticsList(param);
+            TimeUtils.TimeEntity timeEntity = TimeUtils.parseTime(param.getType().toString(), param.getStartTime(), param.getEndTime());
             timeEntity.setUserIds(param.getUsers());
             Integer cycleNum = timeEntity.getCycleNum();
             Integer beginTime = timeEntity.getBeginTime();
@@ -237,40 +255,36 @@ public class FsStoreStatisticsScrmController extends BaseController
             List<String> dates = jsonObjectList.stream().map(jsonObject -> jsonObject.getString("type")).collect(Collectors.toList());
             List<Integer> orderCount = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("orderCount")).collect(Collectors.toList());
             List<Integer> payMoney = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("payMoney")).collect(Collectors.toList());
-            return R.ok().put("list",list).put("dates",dates).put("orderCount",orderCount).put("payMoney",payMoney);
-        }
-        else {
+            return R.ok().put("list", list).put("dates", dates).put("orderCount", orderCount).put("payMoney", payMoney);
+        } else {
             return R.ok("未查找到数据");
         }
     }
+
     @PreAuthorize("@ss.hasPermi('store:statistics:exportStorePayment')")
     @GetMapping("/exportStorePayment")
-    public AjaxResult exportStorePayment(FsStoreStatisticsParam param)
-    {
-        if(StringUtils.isNotEmpty(param.getUserIds())){
-            String[] userIds=param.getUserIds().split(",");
-            Long[] ids=new Long[userIds.length];
-            for(int i=0;i<ids.length; i++){
-                ids[i]=Long.parseLong(userIds[i]);
+    public AjaxResult exportStorePayment(FsStoreStatisticsParam param) {
+        if (StringUtils.isNotEmpty(param.getUserIds())) {
+            String[] userIds = param.getUserIds().split(",");
+            Long[] ids = new Long[userIds.length];
+            for (int i = 0; i < ids.length; i++) {
+                ids[i] = Long.parseLong(userIds[i]);
             }
             param.setUsers(ids);
-        }
-        else{
+        } else {
             //获取所有员工
-            CompanyUser usermap=new CompanyUser();
+            CompanyUser usermap = new CompanyUser();
             usermap.setDeptId(param.getDeptId());
             List<CompanyUser> users = userService.getUserListByDeptId(usermap);
             List<Long> userIds = users.stream().map(element -> element.getUserId()).collect(Collectors.toList());
             param.setUsers(userIds.toArray(new Long[userIds.size()]));
         }
 
-        List<FsStorePaymentStatisticsVO> list= storePaymentService.selectFsStorePaymentStatisticsList(param);
+        List<FsStorePaymentStatisticsVO> list = storePaymentService.selectFsStorePaymentStatisticsList(param);
 
         ExcelUtil<FsStorePaymentStatisticsVO> util = new ExcelUtil<FsStorePaymentStatisticsVO>(FsStorePaymentStatisticsVO.class);
         return util.exportExcel(list, "paymentLogs");
     }
 
 
-
-
 }

+ 3 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java

@@ -594,6 +594,9 @@ public interface FsStoreOrderScrmMapper
 
     List<JSONObject> selectFsStoreOrderCounts(Map<String, Object> toMap);
 
+    List<JSONObject> selectFsStoreOrderCountsView(Map<String, Object> toMap);
+
+
     @Select({"<script> " +
             "select u.nick_name, count(o.id) as order_count,sum(IFNULL(o.pay_price,0)) as pay_price  from  fs_store_order_scrm o left join company_user u on o.company_user_id=u.user_id  " +
             "where o.status &gt; 0 " +

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsStoreOrderScrmService.java

@@ -187,6 +187,8 @@ public interface IFsStoreOrderScrmService
 
     List<JSONObject> selectFsStoreOrderCounts(Map<String, Object> toMap);
 
+    List<JSONObject> selectFsStoreOrderCountsView(Map<String, Object> toMap);
+
     List<FsStoreOrderStatisticsVO> selectFsStoreOrderStatisticsList(FsStoreStatisticsParam param);
 
     List<FsStoreOrderExportVO> selectFsStoreOrderListVOByExport(FsStoreOrderParam param);

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -2431,6 +2431,11 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
         return fsStoreOrderMapper.selectFsStoreOrderCounts(toMap);
     }
 
+    @Override
+    public List<JSONObject> selectFsStoreOrderCountsView(Map<String, Object> toMap) {
+        return fsStoreOrderMapper.selectFsStoreOrderCountsView(toMap);
+    }
+
     @Override
     public List<FsStoreOrderStatisticsVO> selectFsStoreOrderStatisticsList(FsStoreStatisticsParam param) {
         return fsStoreOrderMapper.selectFsStoreOrderStatisticsList(param);

+ 67 - 4
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -471,6 +471,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ) t
         GROUP BY t.type
     </select>
+
     <select id="selectTuiMoneyCounts" resultType="com.alibaba.fastjson.JSONObject">
         SELECT  count(1) as tuiMoneyCount ,sum(IFNULL(t.tuiMoney,0)) as tuiMoney,  t.type
         FROM
@@ -1015,9 +1016,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         COUNT(CASE WHEN o.status IN (-3) THEN 1 END) AS cancelOrders,
         SUM(CASE WHEN o.status IN (-3) THEN o.pay_price ELSE 0 END) AS cancelAmount,
 
-        sum(case when o.pay_type = 1 then
+        sum(case when
+        o.pay_type = 1 then
         case when o.status in (1,2,3,-1) and (o.audit_status is null or o.audit_status = 4) then 1 else 0 end
-        else case when o.status=3 then 1 else 0 end
+        else
+        case when o.status=3 then 1 else 0 end
         end) AS completeOrders,
         sum(case when o.pay_type = 1 then
         case when o.status in (1,2,3,-1) and (o.audit_status is null or o.audit_status = 4) then o.pay_price else 0 end
@@ -1033,8 +1036,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         COUNT(CASE WHEN o.status = 2 and o.pay_type != 1 THEN 1 END) AS transitOrders,
         SUM(CASE WHEN o.status = 2 THEN o.pay_delivery ELSE 0 END) AS transitAmount,
 
-        COUNT(CASE WHEN o.status = 3 THEN 1 END) AS receivedOrders,
-        SUM(CASE WHEN o.status = 3 THEN o.pay_price ELSE 0 END) AS receivedAmount,
+        sum(case when
+        o.pay_type = 1 then
+        case when o.status in (1,2,3,-1) and (o.audit_status is null or o.audit_status = 4) then 1 else 0 end
+        else
+        case when o.status=3 then 1 else 0 end
+        end) AS receivedOrders,
+        sum(case when o.pay_type = 1 then
+        case when o.status in (1,2,3,-1) and (o.audit_status is null or o.audit_status = 4) then o.pay_price else 0 end
+        else case when o.status=3 then o.pay_price else 0 end
+        end) AS receivedAmount,
 
         COUNT(CASE WHEN o.refund_status = -2 THEN 1 END) AS returnOrders,
         SUM(CASE WHEN o.refund_status = -2 THEN o.refund_price ELSE 0 END) AS returnAmount,
@@ -1070,4 +1081,56 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </sql>
 
 
+    <select id="selectFsStoreOrderCountsView" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT  count(t.id ) AS orderCount,  t.type, sum(IFNULL(t.pay_price,0)) as payPrice
+        FROM
+        (
+        SELECT
+            case when #{queryType}=2 then
+                DATE_FORMAT( so.delivery_send_time, #{sqlDateFormat} )
+            else
+                DATE_FORMAT( so.create_time, #{sqlDateFormat} )
+            end AS type,
+            so.id,so.pay_price
+        FROM
+        fs_store_order_scrm  AS so
+        LEFT JOIN company_user u ON so.company_user_id = u.user_id
+        where so.status &gt; 0
+        <choose>
+            <when test="queryType != null and queryType==1">
+                and  (DATE_FORMAT(so.create_time,#{sqlDateFormat}) between #{beginTime} and #{finalTime})
+            </when>
+            <when test="queryType != null and queryType==2">
+                and  (DATE_FORMAT(so.delivery_send_time,#{sqlDateFormat}) between #{beginTime} and #{finalTime})
+            </when>
+        </choose>
+        <choose>
+            <when test="amountType != null and amountType==1">
+                and  so.pay_price=0
+            </when>
+            <when test="amountType != null and amountType==2">
+                and so.pay_price &gt; 0
+            </when>
+        </choose>
+        <if test="orderType != null and orderType != ''">
+            AND so.order_type = #{orderType}
+        </if>
+        <if test="orderMedium != null and orderMedium != ''">
+            AND so.order_medium = #{orderMedium}
+        </if>
+        <if test="companyUserId != null  ">
+            AND so.company_user_id = #{companyUserId}
+        </if>
+        <if test="deptId != null">
+            AND u.dept_id  = #{deptId}
+        </if>
+        <if test="companyId != null  ">
+            AND u.company_id = #{companyId}
+        </if>
+
+        ) t
+        GROUP BY t.type
+    </select>
+
+
 </mapper>