Browse Source

Merge remote-tracking branch 'origin/master'

zhangcl 1 month ago
parent
commit
d9c8fb2b37

+ 1 - 0
yudao-module-pms/yudao-module-pms-api/src/main/java/cn/iocoder/yudao/module/pms/enums/ErrorCodeConstant.java

@@ -81,4 +81,5 @@ public interface ErrorCodeConstant{
     ErrorCode IOT_OPERATION_PLAN_DEV_NOT_EXISTS = new ErrorCode(157, "运行记录计划设备不存在");
     ErrorCode IOT_PROJECT_TASK_TEMPLATE_NOT_EXISTS = new ErrorCode(257, "项目任务属性模板不存在");
     ErrorCode IOT_PROJECT_TASK_ATTRS_NOT_EXISTS = new ErrorCode(258, "项目任务扩展属性不存在");
+    ErrorCode IOT_OPEATION_FILL_NOT_EXISTS1 = new ErrorCode(259, "该工单已执行!");
 }

+ 26 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -1,5 +1,7 @@
 package cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
 import cn.iocoder.yudao.module.pms.controller.admin.iotmodel.vo.IotModelPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotmodeltemplateattrs.vo.IotModelTemplateAttrsRespVO;
@@ -21,6 +23,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotThing
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillOrderDO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.YfDeviceDO;
+import cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant;
 import cn.iocoder.yudao.module.pms.service.IDeviceService;
 import cn.iocoder.yudao.module.pms.service.iotopeationfill.IotOpeationFillService;
 import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
@@ -147,8 +150,28 @@ public class IotOpeationFillController {
         IotDeviceRunLogDO deviceRunLogDO = new IotDeviceRunLogDO();
         deviceRunLogDO.setId(createReqVO.get(0).getId());
 
+        IotOpeationFillDO fillDO = new IotOpeationFillDO();
+        fillDO.setOrderId(createReqVO.get(0).getId());
+
         if(result){
             iotOpeationFillService.updateFillOrder(deviceRunLogDO);
+
+            List<IotOpeationFillDO> devList = iotOpeationFillService.devList(fillDO);
+            if(devList.size()==1){
+                fillDO.setDeviceId(devList.get(0).getDeviceId());
+                fillDO.setCreDate(createReqVO.get(0).getCreateTime());
+                List<IotOpeationFillDO> orderList = iotOpeationFillService.orderList(fillDO);
+                if(orderList.size()>0){
+                    for (IotOpeationFillDO order:orderList) {
+                        List<IotOpeationFillDO> delList = iotOpeationFillService.delList(order);
+                        if(delList.size()==1){
+                            iotOpeationFillService.delRepeat(delList.get(0));
+                            iotOpeationFillService.delRepeatOrder(order);
+                        }
+                    }
+                }
+            }
+
         }else if(result1){
             iotOpeationFillService.updateFillOrder1(deviceRunLogDO);
         }else{
@@ -211,6 +234,9 @@ public class IotOpeationFillController {
              */
             fillList = iotOpeationFillService.fillListByUserId(pageReqVO);
 
+        if (CollUtil.isEmpty(fillList)) {
+            throw new ServiceException(ErrorCodeConstant.IOT_OPEATION_FILL_NOT_EXISTS1);
+        }
         return success(BeanUtils.toBean(fillList, IotOpeationFillDO.class));
     }
 

+ 17 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotopeationfill/IotOpeationFillMapper.java

@@ -116,6 +116,23 @@ public interface IotOpeationFillMapper extends BaseMapperX<IotOpeationFillDO> {
     IotDeviceRunLogDO getLogInfo(IotDeviceRunLogDO vo);
     IotDeviceRunLogDO getMaxFillInfo(IotDeviceRunLogDO vo);
 
+
+    @TenantIgnore
+    List<IotOpeationFillDO> devList(IotOpeationFillDO fillDO);
+
+    @TenantIgnore
+    List<IotOpeationFillDO> orderList(IotOpeationFillDO fillDO);
+
+    @TenantIgnore
+    List<IotOpeationFillDO> delList(IotOpeationFillDO fillDO);
+
+    @TenantIgnore
+    int delRepeat(IotOpeationFillDO fillDO);
+
+    @TenantIgnore
+    int delRepeatOrder(IotOpeationFillDO fillDO);
+
+
     @TenantIgnore
     int updateFillOrder(IotDeviceRunLogDO vo);
     @TenantIgnore

+ 2 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/IotOperationPlanJob.java

@@ -227,7 +227,7 @@ public class IotOperationPlanJob implements JobHandler {
         iotOpeationFillOrderMapper.insertBatch(orderList1);
 
 
-        /*//发送钉钉通知
+        //发送钉钉通知
         pmsThreadPoolTaskExecutor.execute(()->{
             try{
                 for (IotOpeationFillOrderDO order:orderList1) {
@@ -236,7 +236,7 @@ public class IotOperationPlanJob implements JobHandler {
             }catch (Exception e){
                 e.printStackTrace();
             }
-        });*/
+        });
 
 
         for (IotOpeationFillDO device:deviceList) {

+ 17 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillService.java

@@ -4,6 +4,7 @@ import java.util.*;
 import javax.validation.*;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.module.pms.controller.admin.iotmodeltemplateattrs.vo.IotModelTemplateAttrsRespVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillPageReqVO;
 import cn.iocoder.yudao.module.pms.controller.admin.iotopeationfill.vo.IotOpeationFillRespVO;
@@ -126,6 +127,22 @@ public interface IotOpeationFillService {
 
     int updateFillOrder2(IotDeviceRunLogDO vo);
 
+
+
+
+    List<IotOpeationFillDO> devList(IotOpeationFillDO fillDO);
+
+
+    List<IotOpeationFillDO> orderList(IotOpeationFillDO fillDO);
+
+
+    List<IotOpeationFillDO> delList(IotOpeationFillDO fillDO);
+
+    int delRepeat(IotOpeationFillDO fillDO);
+
+    int delRepeatOrder(IotOpeationFillDO fillDO);
+
+
     PageResult<IotOpeationFillOrderDO> fillRecords(IotOpeationFillPageReqVO vo);
 
     PageResult<IotDeviceRespVO> getFillDevices1(IotOpeationFillPageReqVO vo);

+ 25 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotopeationfill/IotOpeationFillServiceImpl.java

@@ -240,6 +240,31 @@ public class IotOpeationFillServiceImpl implements IotOpeationFillService {
         return iotOpeationFillMapper.updateFillOrder2(vo);
     }
 
+    @Override
+    public List<IotOpeationFillDO> devList(IotOpeationFillDO fillDO) {
+        return iotOpeationFillMapper.devList(fillDO);
+    }
+
+    @Override
+    public List<IotOpeationFillDO> orderList(IotOpeationFillDO fillDO) {
+        return iotOpeationFillMapper.orderList(fillDO);
+    }
+
+    @Override
+    public List<IotOpeationFillDO> delList(IotOpeationFillDO fillDO) {
+        return iotOpeationFillMapper.delList(fillDO);
+    }
+
+    @Override
+    public int delRepeat(IotOpeationFillDO fillDO) {
+        return iotOpeationFillMapper.delRepeat(fillDO);
+    }
+
+    @Override
+    public int delRepeatOrder(IotOpeationFillDO fillDO) {
+        return iotOpeationFillMapper.delRepeatOrder(fillDO);
+    }
+
     @Override
     public PageResult<IotOpeationFillOrderDO> fillRecords(IotOpeationFillPageReqVO vo) {
         IPage<IotOpeationFillOrderDO> fillOrderDOIPage = iotOpeationFillMapper.fillRecords(Page.of(vo.getPageNo(), vo.getPageSize()),vo.getDeviceId(),vo.getOrderName(),vo.getOrderStatus());

+ 30 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotOpeationFillMapper.xml

@@ -607,6 +607,36 @@
         point_name=#{pointName}
     </select>
 
+
+    <select id="devList" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO"
+    resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        select device_id from rq_iot_opeation_fill where order_id = #{orderId}
+    </select>
+
+    <select id="orderList" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO"
+            resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        select distinct order_id
+         from
+             rq_iot_opeation_fill
+        where
+             device_id = #{deviceId}
+          and DATE(create_time) = #{creDate}
+          and order_id != #{orderId}
+    </select>
+
+    <select id="delList" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO"
+            resultType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        select * from rq_iot_opeation_fill where order_id = #{orderId}
+    </select>
+
+    <delete id="delRepeat" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        delete from rq_iot_opeation_fill where order_id = #{orderId}
+    </delete>
+
+    <delete id="delRepeatOrder" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotopeationfill.IotOpeationFillDO">
+        delete from rq_iot_opeation_fill_order where id = #{orderId}
+    </delete>
+
     <update id="updateFillOrder" parameterType="cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicerunlog.IotDeviceRunLogDO">
         update rq_iot_opeation_fill_order set order_status = 1,update_time = NOW()  where id = #{id}
     </update>