Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

suntianwu 3 éve
szülő
commit
9d8c5d063e

+ 67 - 7
src/main/java/com/care/bms/controller/EventHandleController.java

@@ -9,6 +9,7 @@ import com.care.common.cache.RedisKeyConstant;
 import com.care.common.cache.RedisUtil;
 import com.care.common.entity.CareEventOrderChamb;
 import com.care.common.enums.CallResultEnum;
+import com.care.common.service.CareEventOrderChambService;
 import com.care.common.vo.order.*;
 import com.care.common.annotation.Permission;
 import com.care.common.enums.OrderStatusEnum;
@@ -31,6 +32,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -50,6 +52,8 @@ public class EventHandleController {
     private BmsEventOrderService bmsEventOrderService;
     @Resource
     private BigScreenService bigScreenService;
+    @Resource
+    private CareEventOrderChambService careEventOrderChambService;
 
     /**
      *未处理事件查询
@@ -143,13 +147,53 @@ public class EventHandleController {
     @GetMapping("/list")
     @ApiOperation(tags = {"事件查询"},value = "事件查询 分页")
     public PageResult<List<EventOrderVO>> list(HttpServletRequest request,
-                                                           @RequestParam(value = "status", required = false) String status,
-                                                              @RequestParam(value = "title", required = false) String title,
-                                                           @RequestParam(value = "olderName", required = false) String olderName,
-                                                           PageReqVO pageReqVo){
+                                               @RequestParam(value = "status", required = false) String status,
+                                               @RequestParam(value = "title", required = false) String title,
+                                               @RequestParam(value = "olderName", required = false) String olderName,
+                                               @RequestParam(value = "chambId", required = false) String chambId,
+                                               @RequestParam(value = "deviceCode", required = false) String deviceCode,
+                                               PageReqVO pageReqVo){
+        try {
+            UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
+            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEvent(status,title, olderName, chambId, deviceCode, loginUser ,pageReqVo);
+            return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
+        }catch (BDException e) {
+            log.error("我的处理事件查询-分页列表出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("事件处理: 未处理事件查询出现异常",e);
+            return PageResult.error( "获取列表失败");
+        }
+    }
+
+    @GetMapping("/listByChamb")
+    @ApiOperation(tags = {"事件查询"},value = "事件查询 分页")
+    public PageResult<List<EventOrderVO>> listByChamb(HttpServletRequest request,
+                                               @RequestParam(value = "status", required = false) String status,
+                                               @RequestParam(value = "chambId", required = false) String chambId,
+                                               PageReqVO pageReqVo){
         try {
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEvent(status,title, olderName,loginUser ,pageReqVo);
+            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEventByChamb(status, chambId, loginUser ,pageReqVo);
+            return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
+        }catch (BDException e) {
+            log.error("我的处理事件查询-分页列表出现异常",e);
+            return  PageResult.error(e.getMessage());
+        } catch (Exception e) {
+            log.error("事件处理: 未处理事件查询出现异常",e);
+            return PageResult.error( "获取列表失败");
+        }
+    }
+
+    @GetMapping("/listByDevice")
+    @ApiOperation(tags = {"事件查询"},value = "事件查询 分页")
+    public PageResult<List<EventOrderVO>> listByDevice(HttpServletRequest request,
+                                                      @RequestParam(value = "status", required = false) String status,
+                                                      @RequestParam(value = "deviceCode", required = false) String deviceCode,
+                                                      PageReqVO pageReqVo){
+        try {
+            UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
+            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEventByDevice(status, deviceCode, loginUser ,pageReqVo);
             return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
         }catch (BDException e) {
             log.error("我的处理事件查询-分页列表出现异常",e);
@@ -238,6 +282,14 @@ public class EventHandleController {
         return  Result.success("操作成功!");
     }
 
+    @PostMapping("/completeByIds/{ids}")
+    @ApiOperation(tags = {"事件处理"},value = "完成工单")
+    public Result<Object> completeByIds(HttpServletRequest request, @RequestHeader("token") String token, @PathVariable("ids") String ids){
+        UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
+        boolean execFlag = this.bmsEventOrderService.completeByIds(Arrays.asList(ids.split(",")), loginUser);
+        return execFlag ? Result.success("操作成功!") : Result.error();
+    }
+
     @GetMapping("/keyAuth/list/{orderId}")
     @ApiOperation(tags = {"事件处理"},value = "钥匙申请列表")
     public Result<List<OrderKeyApplyVO>> queryKeyAuthList(HttpServletRequest request, @RequestHeader("token") String token, @PathVariable("orderId") Long orderId){
@@ -296,9 +348,10 @@ public class EventHandleController {
     }
     @GetMapping("/stat")
     @ApiOperation(tags = {"事件查询"},value = "查询事件统计信息")
-    public Result<Object> stat(HttpServletRequest request,@RequestHeader("token") String token){
+    public Result<Object> stat(HttpServletRequest request,@RequestHeader("token") String token, @RequestParam(value = "chambId", required = false) Long chambId,
+                               @RequestParam(value = "deviceCode", required = false) String deviceCode){
         UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-        EventStaVO ccCallResultVO = this.bmsEventOrderService.statOrder(loginUser);
+        EventStaVO ccCallResultVO = this.bmsEventOrderService.statOrder(loginUser, chambId, deviceCode);
         if (ccCallResultVO != null) {
             return  Result.success("查询成功!",ccCallResultVO);
         }else{
@@ -354,4 +407,11 @@ public class EventHandleController {
         }
 
     }
+
+    @GetMapping("/getEventOrderChamb")
+    @ApiOperation(tags = {"事件处理"},value = "获取管家处理结果  -- 三期修改")
+    public Result<ChambEventOrderVO> getEventInfo(HttpServletRequest request, @RequestHeader("token") String token, @RequestParam("orderId") Long orderId, @RequestParam("chambId") Long chambId) {
+        ChambEventOrderVO chambEventOrderVO = this.careEventOrderChambService.getChambOrderByOrderIdAndChambId(orderId, chambId);
+        return  Result.success("查询成功!", chambEventOrderVO);
+    }
 }

+ 126 - 3
src/main/java/com/care/bms/service/BmsEventOrderService.java

@@ -3,6 +3,7 @@ package com.care.bms.service;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.lang.Dict;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -22,8 +23,12 @@ import com.care.common.vo.UserLogindConvertVO;
 import com.care.common.vo.order.*;
 import com.care.common.vo.outcall.CcCallResultVO;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.compress.utils.Lists;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.math.NumberUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -66,6 +71,8 @@ public class BmsEventOrderService {
     private CareHouseService careHouseService;
     @Resource
     private SmsSendService smsSendService;
+    @Autowired
+    private BmsEventOrderService bmsEventOrderService;
 
     @Resource
     private BigScreenService bigScreenService;
@@ -88,12 +95,13 @@ public class BmsEventOrderService {
      * @param pageReqVo
      * @return
      */
-    public IPage<EventOrderVO> listEvent(String orderStatus, String title, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+    public IPage<EventOrderVO> listEvent(String orderStatus, String title, String olderName, String chambId, String deviceCode, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
         IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
         QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus), CareEventOrder::getStatus, orderStatus)
 //                .like(StrUtil.isNotEmpty(title), CareEventOrder::getTitle, title)
                 .like(StrUtil.isNotEmpty(olderName), CareEventOrder::getOlderName, olderName)
+                .eq(StringUtils.isNotBlank(deviceCode), CareEventOrder::getDevCode, deviceCode)
                 .eq(CareEventOrder::getOrgId, loginUser.getOrgId())
                 .eq(loginUser.getStationId() != null, CareEventOrder::getStationId, loginUser.getStationId())
                 .orderByDesc(CareEventOrder::getCreateTime);
@@ -101,6 +109,9 @@ public class BmsEventOrderService {
         if (StrUtil.isNotEmpty(title)) {
             queryWrapper.lambda().and(wrapper -> wrapper.like(CareEventOrder::getTitle, title).or().eq(CareEventOrder::getDevCode, title));
         }
+        if (StringUtils.isNotBlank(chambId)) {
+            queryWrapper.apply("(select chamb_id from care_event_order_chamb where care_event_order_chamb.order_id = care_event_order.id) = " + chambId);
+        }
 
         IPage<CareEventOrder> pageRes = this.careEventOrderService.page(page, queryWrapper);
         IPage<EventOrderVO> results = new Page<>(pageRes.getCurrent(), pageRes.getSize(), pageRes.getTotal());
@@ -117,6 +128,71 @@ public class BmsEventOrderService {
         }
         return results;
     }
+    /**
+     * 工单查询
+     *
+     * @param orderStatus
+     * @param chambId
+     * @param loginUser
+     * @param pageReqVo
+     * @return
+     */
+    public IPage<EventOrderVO> listEventByChamb(String orderStatus, String chambId, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+        IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
+        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus), CareEventOrder::getStatus, orderStatus)
+                .eq(CareEventOrder::getOrgId, loginUser.getOrgId())
+                .eq(loginUser.getStationId() != null, CareEventOrder::getStationId, loginUser.getStationId())
+                .orderByDesc(CareEventOrder::getCreateTime);
+        queryWrapper.apply("(select chamb_id from care_event_order_chamb where care_event_order_chamb.order_id = care_event_order.id) = " + chambId);
+        IPage<CareEventOrder> pageRes = this.careEventOrderService.page(page, queryWrapper);
+        IPage<EventOrderVO> results = new Page<>(pageRes.getCurrent(), pageRes.getSize(), pageRes.getTotal());
+        if (CollUtil.isNotEmpty(pageRes.getRecords())) {
+            List<EventOrderVO> list = new ArrayList<>();
+            pageRes.getRecords().forEach(item -> {
+                EventOrderVO resVO = new EventOrderVO();
+                BeanUtils.copyProperties(item, resVO);
+                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
+                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
+                list.add(resVO);
+            });
+            results.setRecords(list);
+        }
+        return results;
+    }
+
+    /**
+     * 工单查询
+     *
+     * @param orderStatus
+     * @param deviceCode
+     * @param loginUser
+     * @param pageReqVo
+     * @return
+     */
+    public IPage<EventOrderVO> listEventByDevice(String orderStatus, String deviceCode, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+        IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
+        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus), CareEventOrder::getStatus, orderStatus)
+                .eq(CareEventOrder::getOrgId, loginUser.getOrgId())
+                .eq(StringUtils.isNotBlank(deviceCode), CareEventOrder::getDevCode, deviceCode)
+                .eq(loginUser.getStationId() != null, CareEventOrder::getStationId, loginUser.getStationId())
+                .orderByDesc(CareEventOrder::getCreateTime);
+        IPage<CareEventOrder> pageRes = this.careEventOrderService.page(page, queryWrapper);
+        IPage<EventOrderVO> results = new Page<>(pageRes.getCurrent(), pageRes.getSize(), pageRes.getTotal());
+        if (CollUtil.isNotEmpty(pageRes.getRecords())) {
+            List<EventOrderVO> list = new ArrayList<>();
+            pageRes.getRecords().forEach(item -> {
+                EventOrderVO resVO = new EventOrderVO();
+                BeanUtils.copyProperties(item, resVO);
+                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
+                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
+                list.add(resVO);
+            });
+            results.setRecords(list);
+        }
+        return results;
+    }
 
     /**
      * 工单查询
@@ -516,6 +592,53 @@ public class BmsEventOrderService {
         this.bigScreenService.pushRtEventFlag(order.getOrgId(), order.getStationId(), orderId.toString(), "bigscreenRefresh");
     }
 
+    /**
+     * 更新工单状态
+     *
+     * @param orderIds
+     * @param loginUser
+     */
+    public boolean completeByIds(List orderIds, UserLogindConvertVO loginUser) {
+        if (CollectionUtils.isEmpty(orderIds)) {
+            return false;
+        }
+        List<Dict> pushRecords = Lists.newArrayList();
+        for (Object orderId : orderIds) {
+            CareEventOrder order = this.careEventOrderService.getById(NumberUtils.toLong(Objects.toString(orderId)));
+            UpdateWrapper<CareEventOrder> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().eq(CareEventOrder::getId, orderId)
+                    .set(CareEventOrder::getStatus, OrderStatusEnum.COMPLETE.getValue())
+                    .set(CareEventOrder::getModifyTime, DateUtil.date());
+            this.careEventOrderService.update(updateWrapper);
+            CareEventOrderHandleHis log = new CareEventOrderHandleHis();
+            log.setOrgId(order.getOrgId());
+            log.setStationId(order.getStationId());
+            log.setOrderId(order.getId());
+            log.setLogType(LogTypeEnum.CLOSE.getValue());
+            log.setLogObjectId(loginUser.getId());
+            log.setLogObjectName(loginUser.getName());
+            log.setLogResult("完成工单");
+            log.setOpUserRole(UserRoleEnum.SEAT.getValue());
+            log.setCreateTime(DateUtil.date());
+            log.setRelationTypeDesc(UserRoleEnum.getCodeToName(loginUser.getRole()));
+            boolean saved = this.careEventOrderHandleHisService.save(log);
+            if (!saved) {
+                throw new BDException("事件归档出现错误, 请稍后重试");
+            }
+            pushRecords.add(Dict.create()
+                    .set("orgId", order.getOrgId())
+                    .set("stationId", order.getStationId())
+                    .set("orderId", orderId));
+        }
+        for (Dict dict : pushRecords) {
+            this.bigScreenService.pushRtEventFlag(dict.getLong("orgId"), dict.getLong("stationId"), dict.getStr("orderId"), "bigscreenRefresh");
+        }
+        for (Dict dict : pushRecords) {
+            this.bmsEventOrderService.sendSmsToMemberAndLianxiren(dict.getLong("orderId"),"工单完成");
+        }
+        return true;
+    }
+
     /**
      * 获取钥匙请求历史
      *
@@ -860,8 +983,8 @@ public class BmsEventOrderService {
      * @param loginUser
      * @return
      */
-    public  EventStaVO statOrder(UserLogindConvertVO loginUser) {
-        return this.careEventOrderService.statOrder(loginUser.getOrgId(),null);
+    public  EventStaVO statOrder(UserLogindConvertVO loginUser, Long chambId, String deviceCode) {
+        return this.careEventOrderService.statOrder(loginUser.getOrgId(),null, chambId, deviceCode);
     }
 
     /**

+ 9 - 1
src/main/java/com/care/client/controller/EventApiController.java

@@ -1,11 +1,12 @@
 package com.care.client.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.care.client.service.PassportService;
 import com.care.client.service.PinanbaoService;
 import com.care.client.vo.EventDetailVO;
 import com.care.client.vo.MemberInfoVO;
 import com.care.common.util.Result;
-import com.care.common.vo.order.*;
+import com.care.common.vo.order.EventOrderVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -30,6 +31,13 @@ public class EventApiController {
     @Resource
     private PassportService passportService;
 
+    @GetMapping("/allList")
+    @ApiOperation(tags = {"首页"},value = "当前进行中的事件  --二期修改")
+    public Result<IPage<EventOrderVO>> getAllListEvent(HttpServletRequest request, @RequestHeader("token") String token, @RequestParam Integer current){
+        MemberInfoVO memberInfoVo = passportService.checkToken(token);
+        return  Result.success("查询成功!", this.pinanbaoService.getAllListEvent(current, memberInfoVo.getId()));
+    }
+
     @GetMapping("/hasDoing")
     @ApiOperation(tags = {"首页"},value = "当前进行中的事件  --二期修改")
     public Result<EventOrderVO> getDoingEvent(HttpServletRequest request,@RequestHeader("token") String token){

+ 33 - 0
src/main/java/com/care/client/service/PinanbaoService.java

@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.care.client.vo.*;
 import com.care.common.entity.*;
 import com.care.common.enums.*;
@@ -12,6 +14,7 @@ import com.care.common.vo.device.DeviceVO;
 import com.care.common.vo.order.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.Lists;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -20,6 +23,8 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * @Author: lilt
@@ -155,6 +160,34 @@ public class PinanbaoService {
         return list;
     }
 
+    /**
+     * 查询正在进行中的事件
+     * @param memberId
+     * @return
+     */
+    public IPage<EventOrderVO> getAllListEvent(Integer current, Long memberId) {
+        IPage<CareEventOrder> page = new Page<>(current, 10);
+        List<DeviceVO> deviceVOS = devList(memberId);
+        List<Long> deviceIds = deviceVOS.stream().map(DeviceVO::getDevId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+
+        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareEventOrder::getMemberId,memberId).in(CareEventOrder::getDevId, deviceIds).orderByDesc(CareEventOrder::getCreateTime);
+        IPage<CareEventOrder> contentPage = this.careEventOrderService.page(page, queryWrapper);
+        IPage<EventOrderVO> results = new Page<>(contentPage.getCurrent(), contentPage.getSize(), contentPage.getTotal());
+        if (CollUtil.isNotEmpty(contentPage.getRecords())) {
+            List<EventOrderVO> list = new ArrayList<>();
+            contentPage.getRecords().forEach(item -> {
+                EventOrderVO resVO = new EventOrderVO();
+                BeanUtils.copyProperties(item, resVO);
+                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
+                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
+                list.add(resVO);
+            });
+            results.setRecords(list);
+        }
+        return results;
+    }
+
     /**
      * 查询正在进行中的事件
      * @param memberId

+ 1 - 1
src/main/java/com/care/common/mapper/CareEventOrderMapper.java

@@ -14,6 +14,6 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface CareEventOrderMapper extends BaseMapper<CareEventOrder> {
 
-    EventStaVO statOrder(@Param("orgId") Long orgId, @Param("stationId")Long stationId);
+    EventStaVO statOrder(@Param("orgId") Long orgId, @Param("stationId")Long stationId, @Param("chambId")Long chambId, @Param("deviceCode")String deviceCode);
 
 }

+ 2 - 0
src/main/java/com/care/common/service/CareEventOrderChambService.java

@@ -46,4 +46,6 @@ public interface CareEventOrderChambService extends IService<CareEventOrderChamb
     ChambEventOrderCountVO getOrderCountByChambId(Long chambId);
 
     CareEventOrderChamb getChambOrderByOrderId(Long orderId);
+
+    ChambEventOrderVO getChambOrderByOrderIdAndChambId(Long orderId, Long chambId);
 }

+ 1 - 1
src/main/java/com/care/common/service/CareEventOrderService.java

@@ -17,7 +17,7 @@ public interface CareEventOrderService extends IService<CareEventOrder> {
      * @param stationId
      * @return
      */
-    EventStaVO statOrder(Long orgId, Long stationId);
+    EventStaVO statOrder(Long orgId, Long stationId, Long chambId, String deviceCode);
 
     boolean saveHisOrder(CareEventOrder order,CareEventOrder orderDb,boolean isCancel);
 

+ 12 - 0
src/main/java/com/care/common/service/impl/CareEventOrderChambServiceImpl.java

@@ -1,11 +1,13 @@
 package com.care.common.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareEventOrderChamb;
+import com.care.common.entity.CareHouse;
 import com.care.common.enums.ChambOrderStatusEnum;
 import com.care.common.mapper.CareEventOrderChambMapper;
 import com.care.common.service.CareEventOrderChambService;
@@ -98,4 +100,14 @@ public class CareEventOrderChambServiceImpl extends ServiceImpl<CareEventOrderCh
         return order;
     }
 
+    @Override
+    public ChambEventOrderVO getChambOrderByOrderIdAndChambId(Long orderId, Long chambId) {
+        QueryWrapper<CareEventOrderChamb> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareEventOrderChamb::getOrderId,orderId).eq(CareEventOrderChamb::getChambId, chambId);
+        CareEventOrderChamb order = this.getOne(queryWrapper);
+        ChambEventOrderVO vo = new ChambEventOrderVO();
+        BeanUtil.copyProperties(order, vo);
+        return vo;
+    }
+
 }

+ 2 - 2
src/main/java/com/care/common/service/impl/CareEventOrderServiceImpl.java

@@ -75,8 +75,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
      * @return
      */
     @Override
-    public EventStaVO statOrder(Long orgId, Long stationId) {
-        return this.baseMapper.statOrder(orgId,stationId);
+    public EventStaVO statOrder(Long orgId, Long stationId, Long chambId, String deviceCode) {
+        return this.baseMapper.statOrder(orgId,stationId, chambId, deviceCode);
     }
 
     /**

+ 2 - 0
src/main/java/com/care/common/vo/order/EventOrderVO.java

@@ -103,4 +103,6 @@ public class EventOrderVO implements Serializable {
     private Integer warnCount;
 
     private String devCode;
+
+    private String devName;
 }

+ 8 - 0
src/main/java/com/care/keeper/service/KeeperOrderApiService.java

@@ -379,6 +379,14 @@ public class KeeperOrderApiService {
                     .set(CareSysUser::getModifyTime,date);
             this.careSysUserService.update(updateWrapper2);
 
+
+            UpdateWrapper<CareEventOrder> updateWrapper3 = new UpdateWrapper<>();
+            updateWrapper3.lambda().eq(CareEventOrder::getId, orderChamb.getOrderId()).eq(CareEventOrder::getStatus, ChambOrderStatusEnum.DOING.getValue())
+                    .set(CareEventOrder::getStatus, ChambOrderStatusEnum.COMPLETE.getValue())
+                    .set(CareEventOrder::getModifyTime, date)
+                    .set(CareEventOrder::getCompleteTime, date);
+            this.careEventOrderService.update(updateWrapper3);
+
             //保存日志
             CareEventOrderHandleHis his = new CareEventOrderHandleHis();
             his.setOrgId(orderChamb.getOrgId());

+ 3 - 2
src/main/resources/mybatis/CareDeviceMapper.xml

@@ -4,8 +4,9 @@
 
     <select id="queryListByMemberId" resultType="com.care.common.vo.device.DeviceVO">
         select
-            d.id ,
-            d.dev_name as devName
+            d.*
+--             d.id ,
+--             d.dev_name as devName
         from care_device d
         where d.member_id = #{memberId}
     </select>

+ 6 - 0
src/main/resources/mybatis/CareEventOrderMapper.xml

@@ -17,6 +17,12 @@
             <if test="stationId != null ">
                 AND station_id = #{stationId}
             </if>
+            <if test="chambId != null ">
+                AND (select chamb_id from care_event_order_chamb where care_event_order_chamb.order_id = care_event_order.id) = #{chambId}
+            </if>
+            <if test="deviceCode != null ">
+                AND dev_code = #{deviceCode}
+            </if>
         </where>
     </select>