From ebb04a3d1b37709029e12736e3aef5918b290607 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 18 十二月 2024 18:40:53 +0800
Subject: [PATCH] 最新版本541200007

---
 server/db/business.tms_factory_param.permissions.sql                                                         |    6 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsFactoryParamCloudController.java         |   93 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/TmsFactoryParamMapper.java               |   13 +
 admin/src/components/business/OperaTmsFactoryParamWindow.vue                                                 |   58 ++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/TmsFactoryParamService.java          |   98 ++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java     |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/TmsFactoryParam.java               |   86 +++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/TmsFactoryParamServiceImpl.java |  191 +++++++++++++++
 admin/src/api/business/tmsFactoryParam.js                                                                    |   40 +++
 admin/src/views/business/tmsFactoryParam.vue                                                                 |   88 +++++++
 10 files changed, 674 insertions(+), 0 deletions(-)

diff --git a/admin/src/api/business/tmsFactoryParam.js b/admin/src/api/business/tmsFactoryParam.js
new file mode 100644
index 0000000..cba0950
--- /dev/null
+++ b/admin/src/api/business/tmsFactoryParam.js
@@ -0,0 +1,40 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/page', data, {
+    trim: true
+  })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/exportExcel', data, {
+    trim: true,
+    download: true
+  })
+}
+
+// 鍒涘缓
+export function create (data) {
+  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+  return request.post('/visitsAdmin/cloudService/tmsFactoryParam/updateById', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+  return request.get(`/visitsAdmin/cloudService/tmsFactoryParam/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+  return request.get('/visitsAdmin/cloudService/tmsFactoryParam/delete/batch', {
+    params: {
+      ids
+    }
+  })
+}
diff --git a/admin/src/components/business/OperaTmsFactoryParamWindow.vue b/admin/src/components/business/OperaTmsFactoryParamWindow.vue
new file mode 100644
index 0000000..c246c9c
--- /dev/null
+++ b/admin/src/components/business/OperaTmsFactoryParamWindow.vue
@@ -0,0 +1,58 @@
+<template>
+  <GlobalWindow
+    :title="title"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" :rules="rules">
+       <el-form-item label="鍚嶇О" prop="name" required>
+        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+      </el-form-item>
+    <el-form-item label="TMS缂栫爜" prop="code" required>
+      <el-input v-model="form.code" placeholder="璇疯緭鍏MS缂栫爜" v-trim/>
+    </el-form-item>
+      <el-form-item label="鎬诲簱瀛橀噺锛堜竾鏀級" prop="num1">
+        <el-input v-model="form.num1" placeholder="璇疯緭鍏ユ�诲簱瀛橀噺锛堜竾鏀級" v-trim/>
+      </el-form-item>
+      <el-form-item label="鎬诲嚭搴撹兘鍔涳紙涓囨敮锛�" prop="num2">
+        <el-input v-model="form.num2" placeholder="璇疯緭鍏ユ�诲嚭搴撹兘鍔涳紙涓囨敮锛�" v-trim/>
+      </el-form-item>
+    <el-form-item label="鎺掑簭鐮�" prop="sortnum">
+      <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+    </el-form-item>
+    </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+export default {
+  name: 'OperaTmsFactoryParamWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        code: '',
+        name: '',
+        sortnum: '',
+        num1: '',
+        num2: ''
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/tmsFactoryParam',
+      'field.id': 'id'
+    })
+  }
+}
+</script>
diff --git a/admin/src/views/business/tmsFactoryParam.vue b/admin/src/views/business/tmsFactoryParam.vue
new file mode 100644
index 0000000..9e3ea9f
--- /dev/null
+++ b/admin/src/views/business/tmsFactoryParam.vue
@@ -0,0 +1,88 @@
+<template>
+  <TableLayout :permissions="['business:tmsfactoryparam:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      <el-form-item label="鍚嶇О" prop="name">
+        <el-input v-model="searchForm.name" placeholder="鍚嶇О" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="缂栫爜" prop="code">
+        <el-input v-model="searchForm.code" placeholder="缂栫爜" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:tmsfactoryparam:create', 'business:tmsfactoryparam:delete']">
+        <li><el-button type="primary" @click="$refs.operaTmsFactoryParamWindow.open('鏂板缓TMS宸ュ巶閰嶇疆淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:tmsfactoryparam:create']">鏂板缓</el-button></li>
+        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:tmsfactoryparam:delete']">鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
+        <el-table-column prop="code" label="缂栫爜" min-width="100px"></el-table-column>
+        <el-table-column prop="num1" label="鎬诲簱瀛橀噺锛堜竾鏀級" min-width="100px"></el-table-column>
+        <el-table-column prop="num2" label="鎬诲嚭搴撹兘鍔涳紙涓囨敮锛�" min-width="100px"></el-table-column>
+        <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column>
+        <el-table-column prop="editorName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
+        <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
+        <el-table-column
+          v-if="containPermissions(['business:tmsfactoryparam:update', 'business:tmsfactoryparam:delete'])"
+          label="鎿嶄綔"
+          min-width="120"
+          fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" @click="$refs.operaTmsFactoryParamWindow.open('缂栬緫TMS宸ュ巶閰嶇疆淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:tmsfactoryparam:update']">缂栬緫</el-button>
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:tmsfactoryparam:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaTmsFactoryParamWindow ref="operaTmsFactoryParamWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaTmsFactoryParamWindow from '@/components/business/OperaTmsFactoryParamWindow'
+export default {
+  name: 'TmsFactoryParam',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaTmsFactoryParamWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        code: '',
+        name: ''
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: 'TMS宸ュ巶閰嶇疆淇℃伅琛�',
+      api: '/business/tmsFactoryParam',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  }
+}
+</script>
diff --git a/server/db/business.tms_factory_param.permissions.sql b/server/db/business.tms_factory_param.permissions.sql
new file mode 100644
index 0000000..0424602
--- /dev/null
+++ b/server/db/business.tms_factory_param.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:tmsfactoryparam:create', '鏂板缓TMS宸ュ巶閰嶇疆淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:tmsfactoryparam:delete', '鍒犻櫎TMS宸ュ巶閰嶇疆淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:tmsfactoryparam:update', '淇敼TMS宸ュ巶閰嶇疆淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:tmsfactoryparam:query', '鏌ヨTMS宸ュ巶閰嶇疆淇℃伅琛�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:tmsfactoryparam:exportExcel', '瀵煎嚭TMS宸ュ巶閰嶇疆淇℃伅琛�(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsFactoryParamCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsFactoryParamCloudController.java
new file mode 100644
index 0000000..f907066
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsFactoryParamCloudController.java
@@ -0,0 +1,93 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.TmsFactoryParam;
+import com.doumee.service.business.TmsFactoryParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/12/18 17:44
+ */
+@Api(tags = "TMS宸ュ巶閰嶇疆淇℃伅琛�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/tmsFactoryParam")
+public class TmsFactoryParamCloudController extends BaseController {
+
+    @Autowired
+    private TmsFactoryParamService tmsFactoryParamService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @CloudRequiredPermission("business:tmsfactoryparam:create")
+    public ApiResponse create(@RequestBody TmsFactoryParam tmsFactoryParam,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        tmsFactoryParam.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(tmsFactoryParamService.create(tmsFactoryParam));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @CloudRequiredPermission("business:tmsfactoryparam:delete")
+    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        tmsFactoryParamService.deleteById(id,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @CloudRequiredPermission("business:tmsfactoryparam:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        tmsFactoryParamService.deleteByIdInBatch(idList,this.getLoginUser(token));
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @CloudRequiredPermission("business:tmsfactoryparam:update")
+    public ApiResponse updateById(@RequestBody TmsFactoryParam tmsFactoryParam,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        tmsFactoryParam.setLoginUserInfo(this.getLoginUser(token));
+        tmsFactoryParamService.updateById(tmsFactoryParam);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @CloudRequiredPermission("business:tmsfactoryparam:query")
+    public ApiResponse<PageData<TmsFactoryParam>> findPage (@RequestBody PageWrap<TmsFactoryParam> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(tmsFactoryParamService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @CloudRequiredPermission("business:tmsfactoryparam:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<TmsFactoryParam> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        ExcelExporter.build(TmsFactoryParam.class).export(tmsFactoryParamService.findPage(pageWrap).getRecords(), "TMS宸ュ巶閰嶇疆淇℃伅琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @CloudRequiredPermission("business:tmsfactoryparam:query")
+    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success(tmsFactoryParamService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/TmsFactoryParamMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/TmsFactoryParamMapper.java
new file mode 100644
index 0000000..1018d6a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/TmsFactoryParamMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.TmsFactoryParam;
+import com.github.yulichang.base.MPJBaseMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/12/18 17:44
+ */
+public interface TmsFactoryParamMapper extends MPJBaseMapper<TmsFactoryParam> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/TmsFactoryParam.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/TmsFactoryParam.java
new file mode 100644
index 0000000..2247ed8
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/TmsFactoryParam.java
@@ -0,0 +1,86 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.core.model.LoginUserModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * TMS宸ュ巶閰嶇疆淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/12/18 17:44
+ */
+@Data
+@ApiModel("TMS宸ュ巶閰嶇疆淇℃伅琛�")
+@TableName("`tms_factory_param`")
+public class TmsFactoryParam extends LoginUserModel {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鏈堝彴缂栫爜锛堝叧鑱攑latforms)")
+    @ExcelColumn(name="鏈堝彴缂栫爜锛堝叧鑱攑latforms)")
+    private String code;
+
+    @ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎ember)")
+    @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎ember)")
+    private String name;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+    @ApiModelProperty(value = "鎬诲簱瀛橀噺锛堜竾鏀級", example = "1")
+    @ExcelColumn(name="鎬诲簱瀛橀噺锛堜竾鏀級")
+    private BigDecimal num1;
+
+    @ApiModelProperty(value = "鎬诲嚭搴撹兘鍔涳紙涓囨敮锛�", example = "1")
+    @ExcelColumn(name="鎬诲嚭搴撹兘鍔涳紙涓囨敮锛�")
+    private BigDecimal num2;
+
+    @ApiModelProperty(value = "鎵╁睍瀛楁3")
+    @ExcelColumn(name="鎵╁睍瀛楁3")
+    private String param3;
+
+    @ApiModelProperty(value = "鎵╁睍瀛楁4")
+    @ExcelColumn(name="鎵╁睍瀛楁4")
+    private String param4;
+    @ApiModelProperty(value = "鎿嶄綔浜哄鍚�")
+    @TableField(exist = false)
+    private String editorName;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/TmsFactoryParamService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/TmsFactoryParamService.java
new file mode 100644
index 0000000..ad533e7
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/TmsFactoryParamService.java
@@ -0,0 +1,98 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.TmsFactoryParam;
+import java.util.List;
+
+/**
+ * TMS宸ュ巶閰嶇疆淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/12/18 17:44
+ */
+public interface TmsFactoryParamService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param tmsFactoryParam 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(TmsFactoryParam tmsFactoryParam);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id,LoginUserInfo user);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param tmsFactoryParam 瀹炰綋瀵硅薄
+     */
+    void delete(TmsFactoryParam tmsFactoryParam);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param tmsFactoryParam 瀹炰綋瀵硅薄
+     */
+    void updateById(TmsFactoryParam tmsFactoryParam);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param tmsFactoryParams 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<TmsFactoryParam> tmsFactoryParams);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return TmsFactoryParam
+     */
+    TmsFactoryParam findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param tmsFactoryParam 瀹炰綋瀵硅薄
+     * @return TmsFactoryParam
+     */
+    TmsFactoryParam findOne(TmsFactoryParam tmsFactoryParam);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param tmsFactoryParam 瀹炰綋瀵硅薄
+     * @return List<TmsFactoryParam>
+     */
+    List<TmsFactoryParam> findList(TmsFactoryParam tmsFactoryParam);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<TmsFactoryParam>
+     */
+    PageData<TmsFactoryParam> findPage(PageWrap<TmsFactoryParam> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param tmsFactoryParam 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(TmsFactoryParam tmsFactoryParam);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/TmsFactoryParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/TmsFactoryParamServiceImpl.java
new file mode 100644
index 0000000..64e18ce
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/TmsFactoryParamServiceImpl.java
@@ -0,0 +1,191 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.TmsFactoryParamMapper;
+import com.doumee.dao.business.model.Category;
+import com.doumee.dao.business.model.PlatformGroup;
+import com.doumee.dao.business.model.TmsFactoryParam;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.TmsFactoryParamService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * TMS宸ュ巶閰嶇疆淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/12/18 17:44
+ */
+@Service
+public class TmsFactoryParamServiceImpl implements TmsFactoryParamService {
+
+    @Autowired
+    private TmsFactoryParamMapper tmsFactoryParamMapper;
+
+    @Override
+    public Integer create(TmsFactoryParam model) {
+        if(tmsFactoryParamMapper.selectCount(new QueryWrapper<TmsFactoryParam>().lambda()
+                .eq(TmsFactoryParam::getIsdeleted, Constants.ZERO)
+                .eq(TmsFactoryParam::getCode,model.getCode())
+        )>0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸ュ巶缂栫爜涓嶈兘閲嶅锛�");
+        }
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setCreateDate(new Date());
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        tmsFactoryParamMapper.insert(model);
+        return model.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id, LoginUserInfo user) {
+        tmsFactoryParamMapper.update(null,new UpdateWrapper<TmsFactoryParam>().lambda().set(TmsFactoryParam::getIsdeleted,Constants.ONE)
+                .eq(TmsFactoryParam::getId,id)
+                .eq(TmsFactoryParam::getEditDate,new Date())
+                .eq(TmsFactoryParam::getEditor,user.getId())
+        );
+    }
+
+    @Override
+    public void delete(TmsFactoryParam tmsFactoryParam) {
+        UpdateWrapper<TmsFactoryParam> deleteWrapper = new UpdateWrapper<>(tmsFactoryParam);
+        tmsFactoryParamMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        for(Integer id : ids){
+            deleteById(id,user);
+        }
+    }
+
+    @Override
+    public void updateById(TmsFactoryParam model) {
+        if(tmsFactoryParamMapper.selectCount(new QueryWrapper<TmsFactoryParam>().lambda()
+                .eq(TmsFactoryParam::getIsdeleted, Constants.ZERO)
+                .ne(TmsFactoryParam::getId,model.getId())
+                .eq(TmsFactoryParam::getCode,model.getCode())
+        )>0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸ュ巶缂栫爜涓嶈兘閲嶅锛�");
+        }
+        model.setEditor(model.getLoginUserInfo().getId());
+        model.setEditDate(model.getCreateDate());
+        tmsFactoryParamMapper.updateById(model);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<TmsFactoryParam> tmsFactoryParams) {
+        if (CollectionUtils.isEmpty(tmsFactoryParams)) {
+            return;
+        }
+        for (TmsFactoryParam tmsFactoryParam: tmsFactoryParams) {
+            this.updateById(tmsFactoryParam);
+        }
+    }
+
+    @Override
+    public TmsFactoryParam findById(Integer id) {
+        return tmsFactoryParamMapper.selectById(id);
+    }
+
+    @Override
+    public TmsFactoryParam findOne(TmsFactoryParam tmsFactoryParam) {
+        QueryWrapper<TmsFactoryParam> wrapper = new QueryWrapper<>(tmsFactoryParam);
+        return tmsFactoryParamMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<TmsFactoryParam> findList(TmsFactoryParam tmsFactoryParam) {
+        tmsFactoryParam.setIsdeleted(Constants.ZERO);
+        QueryWrapper<TmsFactoryParam> wrapper = new QueryWrapper<>(tmsFactoryParam);
+        return tmsFactoryParamMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<TmsFactoryParam> findPage(PageWrap<TmsFactoryParam> pageWrap) {
+        IPage<TmsFactoryParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<TmsFactoryParam> queryWrapper = new MPJLambdaWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper.selectAll(TmsFactoryParam.class)
+                .selectAs(SystemUser::getRealname,TmsFactoryParam::getEditorName)
+                .leftJoin(SystemUser.class,SystemUser::getId,TmsFactoryParam::getEditor);
+        if (pageWrap.getModel().getId() != null) {
+             queryWrapper.eq(TmsFactoryParam::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+             queryWrapper.eq(TmsFactoryParam::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+             queryWrapper.ge(TmsFactoryParam::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+             queryWrapper.le(TmsFactoryParam::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+             queryWrapper.eq(TmsFactoryParam::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+             queryWrapper.ge(TmsFactoryParam::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+             queryWrapper.le(TmsFactoryParam::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+             queryWrapper.eq(TmsFactoryParam::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+             queryWrapper.eq(TmsFactoryParam::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getCode() != null) {
+             queryWrapper.eq(TmsFactoryParam::getCode, pageWrap.getModel().getCode());
+        }
+        if (pageWrap.getModel().getName() != null) {
+             queryWrapper.eq(TmsFactoryParam::getName, pageWrap.getModel().getName());
+        }
+        if (pageWrap.getModel().getSortnum() != null) {
+             queryWrapper.eq(TmsFactoryParam::getSortnum, pageWrap.getModel().getSortnum());
+        }
+        if (pageWrap.getModel().getNum1() != null) {
+             queryWrapper.eq(TmsFactoryParam::getNum1, pageWrap.getModel().getNum1());
+        }
+        if (pageWrap.getModel().getNum2() != null) {
+             queryWrapper.eq(TmsFactoryParam::getNum2, pageWrap.getModel().getNum2());
+        }
+        if (pageWrap.getModel().getParam3() != null) {
+             queryWrapper.eq(TmsFactoryParam::getParam3, pageWrap.getModel().getParam3());
+        }
+        if (pageWrap.getModel().getParam4() != null) {
+             queryWrapper.eq(TmsFactoryParam::getParam4, pageWrap.getModel().getParam4());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(tmsFactoryParamMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(TmsFactoryParam tmsFactoryParam) {
+        QueryWrapper<TmsFactoryParam> wrapper = new QueryWrapper<>(tmsFactoryParam);
+        return tmsFactoryParamMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index bc83623..7c78a58 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1273,6 +1273,7 @@
         data.setYesterdayElectricity(getDefaultData());//鏄ㄦ棩鐢ㄧ數
         getMonthElectricityData(data.getMonthElectricity());//閫氳繃瀹夐槻骞宠幏鍙栨湰鏈堢敤鐢甸噺鏁版嵁
         carbonElec = new BigDecimal(StringUtils.defaultString(data.getMonthElectricity().getTotal(), "0"));
+
         getLastMonthElectricityData(data.getElectricityQuantity());//閫氳繃瀹夐槻骞宠幏鍙栦笂鏈堢敤鐢甸噺鏁版嵁
         getCurrentDateElectircityData(data.getTodayElectricity(),0);//閫氳繃瀹夐槻骞宠幏鍙栦粖鏃ョ敤鐢甸噺鏁版嵁
         getCurrentDateElectircityData(data.getYesterdayElectricity(),-1);//閫氳繃瀹夐槻骞宠幏鍙栨槰鏃ョ敤鐢甸噺鏁版嵁

--
Gitblit v1.9.3