Browse Source

解决后台设备和订单bug问题

oyq28 2 năm trước cách đây
mục cha
commit
9d69da4268

+ 10 - 10
imcs-bt-be/imcs-business-biz/src/main/java/com/github/zuihou/business/company/service/impl/CompanyServiceImpl.java

@@ -87,17 +87,17 @@ public class CompanyServiceImpl extends SuperServiceImpl<CompanyMapper, Company>
                     }
                 }
             }
-
+            HashMap map = new HashMap();
+            map.put("orgId", item.getId());
             List orgIds = CommonUtil.getOrgTrees(item.getId());
-            if(orgIds.size()>0) {
-                HashMap map = new HashMap();
-                map.put("orgIds", CollectionUtil.join(orgIds, ","));
-                Map dataMap = baseMapper.getStatisticMap(map);
-                item.setComAdminAmount(new BigDecimal(dataMap.get("comAdminAmount").toString()).intValue());
-                item.setComEquAmount(new BigDecimal(dataMap.get("comEquAmount").toString()).intValue());
-                item.setComPlaceAmount(new BigDecimal(dataMap.get("comPlaceAmount").toString()).intValue());
-                item.setComSonAmount(new BigDecimal(dataMap.get("comSonAmount").toString()).intValue());
-            }
+            orgIds.add(item.getId());
+            map.put("orgIds", CollectionUtil.join(orgIds, ","));
+            Map dataMap = baseMapper.getStatisticMap(map);
+            item.setComAdminAmount(new BigDecimal(dataMap.get("comAdminAmount").toString()).intValue());
+            item.setComEquAmount(new BigDecimal(dataMap.get("comEquAmount").toString()).intValue());
+            item.setComPlaceAmount(new BigDecimal(dataMap.get("comPlaceAmount").toString()).intValue());
+            item.setComSonAmount(new BigDecimal(dataMap.get("comSonAmount").toString()).intValue());
+
             item.setProvinceList(provinceList);
         });
 //        log.info("公司首页自定义多表分页数据"+JacksonUtil.writeValueAsString(page));

+ 5 - 5
imcs-bt-be/imcs-business-biz/src/main/resources/mapper_business/base/company/CompanyMapper.xml

@@ -90,16 +90,16 @@
                 where p.org_id in (${orgIds})
             </if>
             union
-            select 0 as num1 , 0 as num2, count(u.id) as num3,0 as num4 from imcs_tenant_productionresource p left join c_core_org o on p.org_id = o.id
+            select 0 as num1 , 0 as num2, count(distinct u.id) as num3,0 as num4 from imcs_tenant_productionresource p left join c_core_org o on p.org_id = o.id
                 left join c_auth_user u on u.org_id = p.org_id
             <if test="orgIds != null and orgIds != ''">
                 where p.org_id in (${orgIds})
             </if>
             union
-            select 0 as num1 , 0 as num2, 0 as num3, count(u.id) as num4 from imcs_tenant_productionresource p left join c_core_org o on p.org_id = o.id
-                left join c_auth_user u on u.org_id = p.org_id  left join c_core_station s on u.station_id= s.id where s.name='管理员'
-            <if test="orgIds != null and orgIds!= ''">
-                and p.org_id in (${orgIds})
+            select 0 as num1 , 0 as num2, 0 as num3, count(distinct u.id) as num4 from c_core_org o
+                left join c_auth_user u on u.org_id = o.id  left join c_core_station s on u.station_id= s.id where s.name='管理员'
+            <if test="orgId != null and orgId!= ''">
+                and u.org_id = ${orgId}
             </if>
         ) f
     </select>

+ 8 - 5
imcs-bt-be/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/companyUser/CompanyUserController.java

@@ -4,8 +4,10 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.authority.entity.auth.User;
 import com.github.zuihou.authority.entity.core.Org;
+import com.github.zuihou.authority.entity.core.Station;
 import com.github.zuihou.authority.service.auth.UserService;
 import com.github.zuihou.authority.service.core.OrgService;
+import com.github.zuihou.authority.service.core.StationService;
 import com.github.zuihou.base.request.PageParams;
 import com.github.zuihou.business.company.dto.CompanyPageDTO;
 import com.github.zuihou.business.company.entity.Company;
@@ -21,6 +23,7 @@ import com.github.zuihou.base.controller.SuperController;
 import com.github.zuihou.base.R;
 import com.github.zuihou.business.util.CommonUtil;
 import com.github.zuihou.database.mybatis.conditions.Wraps;
+import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.log.annotation.SysLog;
 import com.github.zuihou.model.RemoteData;
 import io.swagger.annotations.Api;
@@ -54,7 +57,7 @@ public class CompanyUserController extends SuperController<CompanyUserService, L
     @Autowired
     private UserService userService;
     @Autowired
-    private OrgService orgService;
+    private StationService stationService;
 
     /**
      * Excel导入后的操作
@@ -83,10 +86,10 @@ public class CompanyUserController extends SuperController<CompanyUserService, L
     )
 //    @PreAuth("hasPermit('{}view')")
     public R<List<User>> findUserByCom(@RequestBody Map<String,Long> map) {
-        //List<CompanyUser> companyUserList = baseService.findUserByCom(map.get("comId"));
-        List<Long> ids = CommonUtil.getOrgTrees(map.get("comId"));
-        String strIds = ids.size()>0? CollectionUtil.join(ids, ","):"";
-        List<User> usersList = userService.list(Wraps.<User>lbQ().in(User::getOrg, strIds));
+        LbqWrapper<Station> stationLbqWrapper = Wraps.<Station>lbQ().eq(Station::getName, "管理员");
+        Long stationId = stationService.getOne(stationLbqWrapper).getId();
+        LbqWrapper<User> lbqWrapper = Wraps.<User>lbQ().eq(User::getOrg, new RemoteData<Long,User>(map.get("comId"))).eq(User::getStation, new RemoteData<Long, User>(stationId));
+        List<User> usersList = userService.list(lbqWrapper);
         return this.success(usersList);
     }
 }

+ 19 - 1
imcs-bt-be/imcs-business-controller/src/main/java/com/github/zuihou/business/controller/productionresource/ProductionResourceController.java

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.zuihou.base.R;
 import com.github.zuihou.base.controller.SuperController;
 import com.github.zuihou.base.request.PageParams;
+import com.github.zuihou.business.order.entity.Order;
+import com.github.zuihou.business.order.service.OrderService;
 import com.github.zuihou.business.productionresource.dto.EquGoodsDto;
 import com.github.zuihou.business.productionresource.dto.ProductionResourcePageDTO;
 import com.github.zuihou.business.productionresource.dto.ProductionResourceSaveDTO;
@@ -16,10 +18,12 @@ import com.github.zuihou.business.productionresource.service.EquAndGoodsService;
 import com.github.zuihou.business.productionresource.service.ProductionTenantResourceService;
 import com.github.zuihou.business.spe.entity.Spe;
 import com.github.zuihou.business.spe.service.SpeService;
+import com.github.zuihou.common.util.DateUtil;
 import com.github.zuihou.database.mybatis.conditions.query.LbqWrapper;
 import com.github.zuihou.database.mybatis.conditions.query.QueryWrap;
 import com.github.zuihou.security.annotation.PreAuth;
 import com.github.zuihou.tenant.entity.Productionresource;
+import com.github.zuihou.utils.DateUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -27,6 +31,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -52,6 +58,8 @@ public class ProductionResourceController extends SuperController<ProductionTena
     private SpeService speService;
     @Autowired
     private EquAndGoodsService equAndGoodsService;
+    @Autowired
+    private OrderService orderService;
 
     /**
      * Excel导入后的操作
@@ -76,7 +84,17 @@ public class ProductionResourceController extends SuperController<ProductionTena
         QueryWrap<ProductionResource> wrap = this.handlerWrapper(null, params);
         LbqWrapper<ProductionResource> wrapper = wrap.lambda();
         wrapper.like(ProductionResource::getName, model.getName()).like(ProductionResource::getStatus, model.getStatus()).eq(ProductionResource::getOnlineStatus, model.getOnlineStatus()).orderByDesc(ProductionResource::getCreateTime);
-        baseService.pageList(page, wrapper);
+        IPage<ProductionResource> iPage = baseService.pageList(page, wrapper);
+
+
+        String date = DateUtil.dateToString(new Date());
+        iPage.getRecords().forEach(item->{
+            QueryWrap<Order> orderQueryWrap = new QueryWrap<Order>();
+            orderQueryWrap.select("ifnull(sum(order_amount), 0.0) as orderSum").eq("order_equ_id", item.getId()) .geHeader("create_time", DateUtils.getStartTime(date)).leFooter("create_time", DateUtils.getEndTime(date));
+            Order sumOrder = orderService.getOne(orderQueryWrap);
+            Float incomeToday = sumOrder.getOrderSum().floatValue();
+            item.setIncomeToday(incomeToday);
+        });
     }
 
 

+ 6 - 0
imcs-bt-be/imcs-business-entity/src/main/java/com/github/zuihou/business/productionresource/dto/ProductionResourcePageDTO.java

@@ -30,6 +30,12 @@ public class ProductionResourcePageDTO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 企业ID
+     */
+    @ApiModelProperty(value = "设备ID")
+    private Long id;
+
     /**
      * 企业ID
      */