From 19f5f603fb890e84e43fadcf3135e660802026d0 Mon Sep 17 00:00:00 2001
From: wangrong <wangrong@shsening.com>
Date: 星期二, 28 六月 2022 14:51:13 +0800
Subject: [PATCH] 解决冲突

---
 src/app/modules/business/service/devicegroup.ts |  105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 102 insertions(+), 3 deletions(-)

diff --git a/src/app/modules/business/service/devicegroup.ts b/src/app/modules/business/service/devicegroup.ts
index e7ab972..f8a3a29 100644
--- a/src/app/modules/business/service/devicegroup.ts
+++ b/src/app/modules/business/service/devicegroup.ts
@@ -1,14 +1,113 @@
 import { Provide } from '@midwayjs/decorator';
-import { BaseService } from '@cool-midway/core';
+import { BaseService, CoolCommException } from '@cool-midway/core';
 import { InjectEntityModel } from '@midwayjs/orm';
 import { Repository } from 'typeorm';
 import { DataService } from '../../base/service/dataapi/dataapi';
 import { Devicegroup } from '../entity/devicegroup';
+import { Basedeviceinfo } from '../entity/basedeviceinfo';
+import { CoolSocket } from '@cool-midway/socket';
 /**
         * 璁惧鍒嗙粍
         */
 @Provide()
 export class DevicegroupService extends DataService {
+  @InjectEntityModel(Basedeviceinfo)
+  Basedeviceinfo: Repository<Basedeviceinfo>;
   @InjectEntityModel(Devicegroup)
-  devicegroup: Repository<Devicegroup>
-}
\ No newline at end of file
+  Devicegroup: Repository<Devicegroup>;
+
+
+
+
+
+  /**
+     * 鍒嗛〉鏌ヨ
+     * @param query
+     */
+  async page(query) {
+    const sql = `SELECT
+   * 
+  FROM
+      t_base_device_group a
+  WHERE
+      1=1
+      `
+    return this.sqlRenderPage(sql, query);
+  }
+
+
+
+  async add(param: any) {
+    let ids = param.logic_id
+    let deviceinfo = this.Basedeviceinfo
+    let data_len = deviceinfo.find()
+    console.log((await data_len).length, "data_len")
+    let id_str = ''
+    if (ids.length == (await data_len).length) {
+      throw new CoolCommException("鏄惁鏇存柊鍛ㄦ湡浠诲姟")
+      // console.log("鏄惁鏇存柊鍛ㄦ湡浠诲姟")
+      // return await super.add(param)
+    } else {
+      for (let x = 0; x < ids.length; x++) {
+        let change_message = await deviceinfo.findOne({ logic_id: ids[x] })
+        if (change_message.status == 1) {
+          id_str += `${ids[x]},`
+        }
+      }
+      if (id_str == '') {
+        if (id_str == '') {
+          for (let x = 0; x < ids.length; x++) {
+            let change_message = await deviceinfo.findOne({ logic_id: ids[x] })
+            change_message.status = 1
+            await this.nativeQuery(
+              'update t_base_deviceinfo set status = 1 where logic_id = ?',
+              [ids[x]]
+            );
+          }
+        }
+        param.logic_id = param.logic_id.toString();
+        return await super.add(param)
+      } else {
+        throw new CoolCommException(`${id_str}璁惧宸茬粡鍦ㄥ叾浠栧垎缁勪腑瀛樺湪锛岃閲嶆柊閫夋嫨`)
+      }
+    }
+  }
+
+
+
+  async update(param: any): Promise<void> {
+    console.log(param, "param")
+    param.logic_id = param.logic_id.toString();
+    await this.Devicegroup.update(param.id, param)
+  }
+
+
+
+
+
+
+  async delete(ids: number[]) {
+    console.log(ids, "ids")
+    for (let i = 0; i < ids.length; i++) {
+      let change_message = this.Devicegroup.findOne({ id: ids[i] })
+      let logic_id_s = (await change_message).logic_id.split(",")
+      console.log(logic_id_s, "logic_ids")
+      await this.nativeQuery(
+        `update t_base_deviceinfo set status = 0 where logic_id in (?)`,
+        [logic_id_s]
+      )
+      await this.nativeQuery(
+        `delete from t_base_device_group where id = ?`,
+        [ids[i]]
+      )
+    }
+
+
+
+  }
+
+
+
+}
+
+

--
Gitblit v1.9.1