Ver código fonte

Merge remote-tracking branch 'origin/feature_zhujian' into feature_zhujian

Memory_LG 1 ano atrás
pai
commit
5eb90a72fa
15 arquivos alterados com 2487 adições e 0 exclusões
  1. 8 0
      data-ui/src/api/data/housingconstruction/steelcylinder.js
  2. 777 0
      data-ui/src/views/data/housingconstruction/steelcylinder/index.vue
  3. 12 0
      src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionCarController.java
  4. 104 0
      src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionSteelcylinderController.java
  5. 137 0
      src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionSteelcylinderLogController.java
  6. 316 0
      src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionSteelcylinder.java
  7. 316 0
      src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionSteelcylinderLog.java
  8. 69 0
      src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionSteelcylinderLogMapper.java
  9. 61 0
      src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionSteelcylinderMapper.java
  10. 70 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionSteelcylinderLogService.java
  11. 61 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionSteelcylinderService.java
  12. 104 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionSteelcylinderLogServiceImpl.java
  13. 124 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionSteelcylinderServiceImpl.java
  14. 148 0
      src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionSteelcylinderLogMapper.xml
  15. 180 0
      src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionSteelcylinderMapper.xml

+ 8 - 0
data-ui/src/api/data/housingconstruction/steelcylinder.js

@@ -77,3 +77,11 @@ export function getUserList(query) {
     params: query
     params: query
   })
   })
 }
 }
+
+//获取钢瓶日志详情
+export function getSteelcylinderLog(steelcylinderId) {
+  return request({
+    url: '/center-data/log/getSteelcylinderLog/' + steelcylinderId,
+    method: 'get'
+  })
+}

+ 777 - 0
data-ui/src/views/data/housingconstruction/steelcylinder/index.vue

@@ -0,0 +1,777 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"
+             @submit.native.prevent>
+      <el-form-item label="钢瓶名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入钢瓶名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item prop="deptId">
+        <template slot="label">
+          <span @click="changeQueryType" v-if="queryParams.deptName === 0">本级及下级</span>
+          <span @click="changeQueryType" v-if="queryParams.deptName === 1">只查询本级</span>
+        </template>
+        <treeselect v-model="queryParams.deptId" :options="deptOptions" multiple:false :show-count="true"
+                    placeholder="请选择部门" @select="hx" :noResultsText="'空'" :noOptionsText="'空'"
+                    style="width: 240px"/>
+        <el-input v-model="queryParams.deptName" v-if="false"/>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['data:steelcylinder:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['data:steelcylinder:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['data:steelcylinder:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['data:steelcylinder:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="steelcylinderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="钢瓶名称" align="center" prop="name"/>
+      <el-table-column label="企业名称" align="center" prop="enterpriseName"/>
+      <el-table-column label="规格" align="center" prop="standards">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.steelcylinder_type" :value="scope.row.standards"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="气瓶状态" align="center" prop="state">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.steelcylinder_state" :value="scope.row.state"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="钢瓶阈值(月)" align="center" prop="threshold"/>
+      <el-table-column label="所属部门" align="center" prop="deptName"/>
+      <el-table-column label="创建人" align="center" prop="createName"/>
+      <el-table-column label="创建时间" align="center" prop="createTime"/>
+      <el-table-column label="修改人" align="center" prop="updateName"/>
+      <el-table-column label="修改时间" align="center" prop="updateTime"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['data:steelcylinder:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['data:steelcylinder:remove']"
+          >删除
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleOperate(scope.row)"
+            v-hasPermi="['data:steelcylinder:operate']"
+          >运营
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改钢瓶基础数据对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="1000px" class="form-style">
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="钢瓶名称" prop="name">
+              <el-input v-model="form.name" placeholder="请输入钢瓶名称" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="企业" prop="enterpriseId">
+              <el-select v-model="form.enterpriseId" filterable placeholder="请选择企业名称">
+                <el-option
+                  v-for="dict in enterprise"
+                  :key="dict.id"
+                  :label="dict.enterpriseName"
+                  :value="dict.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="生产厂家" prop="manufacturer">
+              <el-input v-model="form.manufacturer" placeholder="请输入生产厂家" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="钢瓶权属" prop="ownership">
+              <el-input v-model="form.ownership" placeholder="请输入钢瓶权属" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="出厂时间" prop="leaveTime">
+              <el-date-picker clearable
+                              v-model="form.leaveTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择出厂时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="制造时间" prop="makeTime">
+              <el-date-picker clearable size="small"
+                              v-model="form.makeTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择制造时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="出厂编号" prop="leaveNumber">
+              <el-input v-model="form.leaveNumber" placeholder="请输入出厂编号" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="规格" prop="standards">
+              <el-select v-model="form.standards" placeholder="请选择规格" filterable>
+                <el-option
+                  v-for="dict in dict.type.steelcylinder_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="型号" prop="modelNumber">
+              <el-input v-model="form.modelNumber" placeholder="请输入型号" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="钢瓶编号" prop="steelcylinderNumber">
+              <el-input v-model="form.steelcylinderNumber" placeholder="请输入钢瓶编号" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="钢瓶代码" prop="steelcylinderCode">
+              <el-input v-model="form.steelcylinderCode" placeholder="请输入钢瓶代码" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="当前库位" prop="currentPosition">
+              <el-input v-model="form.currentPosition" placeholder="请输入当前库位" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="登记时间" prop="registerTime">
+              <el-date-picker clearable
+                              v-model="form.registerTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择登记时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="气瓶状态" prop="state">
+              <el-select v-model="form.state" placeholder="请选择气瓶状态" filterable :disabled=disabled>
+                <el-option
+                  v-for="dict in dict.type.steelcylinder_state"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="钢瓶阈值(月)" prop="threshold">
+              <el-input v-model="form.threshold" placeholder="请输入钢瓶阈值" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="所属部门" prop="deptId">
+              <treeselect v-model="form.deptId" :options="deptOptions" multiple:false :show-count="true"
+                          :noResultsText="'空'" :noOptionsText="'空'"
+                          placeholder="请选择部门" @select="hx"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+    <!--运营-->
+    <el-dialog :title="title" :visible.sync="open1" width="500px" class="form-style">
+      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
+        <template v-if="title == '充装'">
+          <el-form-item label="充装介质" prop="fillingMedium">
+            <el-input v-model="form.fillingMedium" placeholder="请输入充装介质" maxlength="20"/>
+          </el-form-item>
+          <el-form-item label="充装时间" prop="fillingTime">
+            <el-date-picker clearable
+                            v-model="form.fillingTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择充装时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="操作员" prop="operatorId">
+            <el-select v-model="form.operatorId" filterable placeholder="请选择操作员">
+              <el-option
+                v-for="dict in practitioner"
+                :key="dict.id"
+                :label="dict.staffName"
+                :value="dict.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </template>
+        <template v-if="title == '运输'">
+          <el-form-item label="车辆" prop="carId">
+            <el-select v-model="form.carId" filterable placeholder="请选择车辆">
+              <el-option
+                v-for="dict in carList"
+                :key="dict.id"
+                :label="dict.carNumber"
+                :value="dict.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="配送时间" prop="deliveryTime">
+            <el-date-picker clearable
+                            v-model="form.deliveryTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择配送时间">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="配送员" prop="deliveryId">
+            <el-select v-model="form.deliveryId" filterable placeholder="请选择配送员">
+              <el-option
+                v-for="dict in psyList"
+                :key="dict.id"
+                :label="dict.staffName"
+                :value="dict.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </template>
+        <template v-if="title == '入户'">
+          <el-form-item label="用户" prop="joinHouseId">
+            <el-select v-model="form.joinHouseId" filterable placeholder="请选择用户">
+              <el-option
+                v-for="dict in userList"
+                :key="dict.id"
+                :label="dict.userName"
+                :value="dict.id"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="签收时间" prop="signTime">
+            <el-date-picker clearable
+                            v-model="form.signTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择签收时间">
+            </el-date-picker>
+          </el-form-item>
+        </template>
+        <template v-if="title == '回收'">
+          <el-form-item label="入户用户" prop="joinHouseName">
+            <el-input v-model="form.joinHouseName" placeholder="请输入回收所在用户" maxlength="20" disabled/>
+          </el-form-item>
+          <el-form-item label="回收所在用户" prop="recyclingName">
+            <el-input v-model="form.recyclingName" placeholder="请输入回收所在用户" maxlength="20"/>
+          </el-form-item>
+          <el-form-item label="回收时间" prop="recyclingTime">
+            <el-date-picker clearable
+                            v-model="form.recyclingTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择回收时间">
+            </el-date-picker>
+          </el-form-item>
+        </template>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm1">确 定</el-button>
+        <el-button @click="cancel1">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listSteelcylinder,
+  getSteelcylinder,
+  delSteelcylinder,
+  addSteelcylinder,
+  updateSteelcylinder,
+  getEnterpriseList,
+  getCarList,
+  addLog,
+  getUserList, getSteelcylinderLog
+} from "@/api/data/housingconstruction/steelcylinder";
+import {treeselect} from "@/api/system/dept";
+import Treeselect from '@riophae/vue-treeselect'
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import {checkPositiveInteger} from "@/api/rules/rules";
+import {format_date} from "@/views/data/common/dateExport";
+import {listPersonnel, listPractitioner} from "@/api/data/housingconstruction/car";
+
+export default {
+  name: "Steelcylinder",
+  components: {Treeselect},
+  dicts: ['steelcylinder_type', 'steelcylinder_state'],
+  data() {
+    return {
+      disabled: false,
+      deptOptions: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 钢瓶基础数据表格数据
+      steelcylinderList: [],
+      //操作员列表
+      practitioner: [],
+      //企业列表
+      enterprise: [],
+      //车辆列表
+      carList: [],
+      //配送员列表
+      psyList: [],
+      //实名用户
+      userList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      open1: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        createName: null,
+        updateName: null,
+        deptId: null,
+        deptName: 0,
+        name: null,
+        enterpriseId: null,
+        enterpriseName: null,
+        manufacturer: null,
+        ownership: null,
+        leaveTime: null,
+        makeTime: null,
+        leaveNumber: null,
+        standards: null,
+        modelNumber: null,
+        steelcylinderNumber: null,
+        steelcylinderCode: null,
+        currentPosition: null,
+        registerTime: null,
+        state: null,
+        threshold: null,
+        joinHouseId: null,
+        joinHouseName: null,
+        recyclingName: null,
+        recyclingTime: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        name: [
+          {required: true, message: "钢瓶名称不能为空", trigger: "blur"},
+        ],
+        enterpriseId: [
+          {required: true, message: "企业不能为空", trigger: "blur"},
+        ],
+        standards: [
+          {required: true, message: "规格不能为空", trigger: "blur"},
+        ],
+        state: [
+          {required: true, message: "气瓶状态不能为空", trigger: "blur"},
+        ],
+        threshold: [
+          {required: true, message: "钢瓶阈值不能为空", trigger: "blur"},
+          {validator: checkPositiveInteger, trigger: 'blur'}
+        ],
+        deptId: [
+          {required: true, message: "所属部门不能为空", trigger: "change"},
+        ],
+        joinHouseId: [
+          {required: true, message: "用户不能为空", trigger: "blur"},
+        ],
+        signTime: [
+          {required: true, message: "签收时间不能为空", trigger: "blur"},
+        ],
+        fillingMedium: [
+          {required: true, message: "充装介质不能为空", trigger: "blur"},
+        ],
+        fillingTime: [
+          {required: true, message: "充装时间不能为空", trigger: "blur"},
+        ],
+        operatorId: [
+          {required: true, message: "操作员不能为空", trigger: "blur"},
+        ],
+        carId: [
+          {required: true, message: "车辆不能为空", trigger: "blur"},
+        ],
+        deliveryTime: [
+          {required: true, message: "配送时间不能为空", trigger: "blur"},
+        ],
+        deliveryId: [
+          {required: true, message: "配送员不能为空", trigger: "blur"},
+        ],
+        recyclingName: [
+          {required: true, message: "回收所在用户不能为空", trigger: "blur"},
+        ],
+        recyclingTime: [
+          {required: true, message: "回收时间不能为空", trigger: "blur"},
+        ],
+      },
+    };
+  },
+  created() {
+    this.getList();
+    this.getTreeselect();
+    this.getEnterpriseList();
+    this.getPractitioner();
+    this.getCarList();
+    this.getPsyList();
+    this.getUserList();
+  },
+  methods: {
+    //获取操作员员列表
+    getPractitioner() {
+      listPractitioner({"post": "practitioner_czy"}).then(response => {
+        this.practitioner = response.data;
+      });
+    },
+    //获取配送员列表
+    getPsyList() {
+      listPersonnel({"post": "personnel_psy"}).then(response => {
+        this.psyList = response.data;
+      });
+    },
+    //获取车辆列表
+    getCarList() {
+      getCarList().then(response => {
+        this.carList = response.data;
+      });
+    },
+    //获取实名用户列表
+    getUserList() {
+      getUserList().then(response => {
+        this.userList = response.data;
+      });
+    },
+    //获取企业列表
+    getEnterpriseList() {
+      getEnterpriseList().then(response => {
+        this.enterprise = response.data;
+      });
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    hx(node) {
+      this.form.dataDeptId = node.id
+      this.form.deptId = node.id
+      this.form.deptName = node.label
+      this.$refs.form.validateField('deptId');
+    },
+    /** 查询钢瓶基础数据列表 */
+    getList() {
+      this.loading = true;
+      listSteelcylinder(this.queryParams).then(response => {
+        this.steelcylinderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    cancel1() {
+      this.open1 = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        createBy: null,
+        createName: null,
+        createTime: null,
+        updateBy: null,
+        updateName: null,
+        updateTime: null,
+        deptId: null,
+        deptName: null,
+        name: null,
+        enterpriseId: null,
+        enterpriseName: null,
+        manufacturer: null,
+        ownership: null,
+        leaveTime: null,
+        makeTime: null,
+        leaveNumber: null,
+        standards: null,
+        modelNumber: null,
+        steelcylinderNumber: null,
+        steelcylinderCode: null,
+        currentPosition: null,
+        registerTime: null,
+        state: null,
+        threshold: null,
+        fillingMedium: null,
+        fillingTime: null,
+        operatorId: null,
+        operatorName: null,
+        carId: null,
+        carNumber: null,
+        deliveryTime: null,
+        deliveryId: null,
+        deliveryName: null,
+        steelcylinderId: null,
+        steelcylinderName: null,
+        joinHouseName: null
+      };
+      this.resetForm("form");
+    },
+
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.queryParams.deptName = 0;
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加钢瓶基础数据";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSteelcylinder(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改钢瓶基础数据";
+        this.disabled = true;
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.enterpriseName = this.enterprise.filter((item) => {
+            return this.form.enterpriseId == item.id;
+          })[0].enterpriseName;
+          if (this.form.id != null) {
+            updateSteelcylinder(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSteelcylinder(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除选中的数据项?').then(function () {
+        return delSteelcylinder(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('center-data/steelcylinder/export', {
+        ...this.queryParams
+      }, `钢瓶基础数据_${format_date(new Date())}.xlsx`)
+    },
+    //运营
+    handleOperate(row) {
+      this.reset();
+      this.form.steelcylinderId = row.id
+      this.form.steelcylinderName = row.name
+      this.open1 = true;
+      if (row.state == "state_1" || row.state == "state_5") {
+        this.title = "充装";
+        this.form.state = "state_2";
+      }
+      if (row.state == "state_2") {
+        this.title = "运输";
+        this.form.state = "state_3";
+      }
+      if (row.state == "state_3") {
+        this.title = "入户";
+        this.form.state = "state_4";
+      }
+      if (row.state == "state_4") {
+        this.title = "回收";
+        this.form.state = "state_5";
+        getSteelcylinderLog(row.id).then(response => {
+          this.form.joinHouseName = response.data.joinHouseName;
+        });
+      }
+    },
+    submitForm1() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.operatorId != null) {
+            this.form.operatorName = this.practitioner.filter((item) => {
+              return this.form.operatorId == item.id;
+            })[0].staffName;
+          }
+          if (this.form.carId != null) {
+            this.form.carNumber = this.carList.filter((item) => {
+              return this.form.carId == item.id;
+            })[0].carNumber;
+          }
+          if (this.form.deliveryId != null) {
+            this.form.deliveryName = this.psyList.filter((item) => {
+              return this.form.deliveryId == item.id;
+            })[0].staffName;
+          }
+          if (this.form.joinHouseId != null) {
+            this.form.joinHouseName = this.userList.filter((item) => {
+              return this.form.joinHouseId == item.id;
+            })[0].userName;
+          }
+          if (this.form.steelcylinderId != null) {
+            addLog(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open1 = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    // 点击按钮修改是否只查询本级部门用户
+    changeQueryType() {
+      this.queryParams.deptName = this.queryParams.deptName === 0 ? 1 : 0;
+    }
+  }
+};
+</script>

+ 12 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionCarController.java

@@ -88,4 +88,16 @@ public class CenterdataTHousingconstructionCarController extends BaseController
     public AjaxResult remove(@PathVariable String[] ids) {
     public AjaxResult remove(@PathVariable String[] ids) {
         return toAjax(centerdataTHousingconstructionCarService.deleteCenterdataTHousingconstructionCarByIds(ids));
         return toAjax(centerdataTHousingconstructionCarService.deleteCenterdataTHousingconstructionCarByIds(ids));
     }
     }
+
+    /*
+    * 车辆列表(不分页)
+    *
+    * @author 韩福成
+    * @date 2024/7/31 下午4:59
+    */
+    @GetMapping("/getCarList")
+    public AjaxResult getCarList(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        List<CenterdataTHousingconstructionCar> list = centerdataTHousingconstructionCarService.selectCenterdataTHousingconstructionCarList(centerdataTHousingconstructionCar);
+        return AjaxResult.success(list);
+    }
 }
 }

+ 104 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionSteelcylinderController.java

@@ -0,0 +1,104 @@
+package com.sooka.sponest.data.housingconstruction.controller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinder;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionSteelcylinderService;
+import com.sooka.sponest.data.utils.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 钢瓶基础数据Controller
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+@RestController
+@RequestMapping("/steelcylinder")
+public class CenterdataTHousingconstructionSteelcylinderController extends BaseController {
+
+    @Autowired
+    private ICenterdataTHousingconstructionSteelcylinderService centerdataTHousingconstructionSteelcylinderService;
+
+    /**
+     * 查询钢瓶基础数据列表
+     */
+    @RequiresPermissions("data:steelcylinder:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        startPage();
+        List<CenterdataTHousingconstructionSteelcylinder> list = centerdataTHousingconstructionSteelcylinderService.selectCenterdataTHousingconstructionSteelcylinderList(centerdataTHousingconstructionSteelcylinder);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出钢瓶基础数据列表
+     */
+    @RequiresPermissions("data:steelcylinder:export")
+    @Log(title = "钢瓶基础数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        List<CenterdataTHousingconstructionSteelcylinder> list = centerdataTHousingconstructionSteelcylinderService.selectCenterdataTHousingconstructionSteelcylinderList(centerdataTHousingconstructionSteelcylinder);
+        ExcelUtil<CenterdataTHousingconstructionSteelcylinder> util = new ExcelUtil<CenterdataTHousingconstructionSteelcylinder>(CenterdataTHousingconstructionSteelcylinder.class);
+        util.exportExcel(response, list, "钢瓶基础数据数据");
+    }
+
+    /**
+     * 获取钢瓶基础数据详细信息
+     */
+    @RequiresPermissions("data:steelcylinder:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success(centerdataTHousingconstructionSteelcylinderService.selectCenterdataTHousingconstructionSteelcylinderById(id));
+    }
+
+    /**
+     * 新增钢瓶基础数据
+     */
+    @RequiresPermissions("data:steelcylinder:add")
+    @Log(title = "钢瓶基础数据", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        return toAjax(centerdataTHousingconstructionSteelcylinderService.insertCenterdataTHousingconstructionSteelcylinder(centerdataTHousingconstructionSteelcylinder));
+    }
+
+    /**
+     * 修改钢瓶基础数据
+     */
+    @RequiresPermissions("data:steelcylinder:edit")
+    @Log(title = "钢瓶基础数据", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        return toAjax(centerdataTHousingconstructionSteelcylinderService.updateCenterdataTHousingconstructionSteelcylinder(centerdataTHousingconstructionSteelcylinder));
+    }
+
+    /**
+     * 删除钢瓶基础数据
+     */
+    @RequiresPermissions("data:steelcylinder:remove")
+    @Log(title = "钢瓶基础数据", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(centerdataTHousingconstructionSteelcylinderService.deleteCenterdataTHousingconstructionSteelcylinderByIds(ids));
+    }
+
+    /*
+    * 钢瓶列表(不分页)
+    *
+    * @author 韩福成
+    * @date 2024/7/31 下午2:17
+    */
+    @GetMapping("/getSteelcylinderList")
+    public AjaxResult getSteelcylinderList(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        List<CenterdataTHousingconstructionSteelcylinder> list = centerdataTHousingconstructionSteelcylinderService.selectCenterdataTHousingconstructionSteelcylinderList(centerdataTHousingconstructionSteelcylinder);
+        return AjaxResult.success(list);
+    }
+}

+ 137 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionSteelcylinderLogController.java

@@ -0,0 +1,137 @@
+package com.sooka.sponest.data.housingconstruction.controller;
+
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinder;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinderLog;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionSteelcylinderLogService;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionSteelcylinderService;
+import com.sooka.sponest.data.utils.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 钢瓶日志Controller
+ *
+ * @author ruoyi
+ * @date 2024-07-30
+ */
+@RestController
+@RequestMapping("/log")
+public class CenterdataTHousingconstructionSteelcylinderLogController extends BaseController {
+    @Autowired
+    private ICenterdataTHousingconstructionSteelcylinderLogService centerdataTHousingconstructionSteelcylinderLogService;
+
+    @Autowired
+    private ICenterdataTHousingconstructionSteelcylinderService centerdataTHousingconstructionSteelcylinderService;
+
+    /**
+     * 查询钢瓶日志列表
+     */
+    @RequiresPermissions("system:log:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        startPage();
+        List<CenterdataTHousingconstructionSteelcylinderLog> list = centerdataTHousingconstructionSteelcylinderLogService.selectCenterdataTHousingconstructionSteelcylinderLogList(centerdataTHousingconstructionSteelcylinderLog);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出钢瓶日志列表
+     */
+    @RequiresPermissions("system:log:export")
+    @Log(title = "钢瓶日志", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        List<CenterdataTHousingconstructionSteelcylinderLog> list = centerdataTHousingconstructionSteelcylinderLogService.selectCenterdataTHousingconstructionSteelcylinderLogList(centerdataTHousingconstructionSteelcylinderLog);
+        ExcelUtil<CenterdataTHousingconstructionSteelcylinderLog> util = new ExcelUtil<CenterdataTHousingconstructionSteelcylinderLog>(CenterdataTHousingconstructionSteelcylinderLog.class);
+        util.exportExcel(response, list, "钢瓶日志数据");
+    }
+
+    /**
+     * 获取钢瓶日志详细信息
+     */
+    @RequiresPermissions("system:log:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success(centerdataTHousingconstructionSteelcylinderLogService.selectCenterdataTHousingconstructionSteelcylinderLogById(id));
+    }
+
+    /**
+     * 新增钢瓶日志
+     */
+    @RequiresPermissions("system:log:add")
+    @Log(title = "钢瓶日志", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        return toAjax(centerdataTHousingconstructionSteelcylinderLogService.insertCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog));
+    }
+
+    /**
+     * 修改钢瓶日志
+     */
+    @RequiresPermissions("system:log:edit")
+    @Log(title = "钢瓶日志", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        return toAjax(centerdataTHousingconstructionSteelcylinderLogService.updateCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog));
+    }
+
+    /**
+     * 删除钢瓶日志
+     */
+    @RequiresPermissions("system:log:remove")
+    @Log(title = "钢瓶日志", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(centerdataTHousingconstructionSteelcylinderLogService.deleteCenterdataTHousingconstructionSteelcylinderLogByIds(ids));
+    }
+
+    /*
+    * 按钢瓶id查询最新日志
+    *
+    * @author 韩福成
+    * @date 2024/8/1 上午11:10
+    */
+    @GetMapping(value = "getSteelcylinderLog/{steelcylinderId}")
+    public AjaxResult getSteelcylinderLog(@PathVariable("steelcylinderId") String steelcylinderId) {
+        return AjaxResult.success(centerdataTHousingconstructionSteelcylinderLogService.selectBySteelcylinderId(steelcylinderId));
+    }
+
+    /*
+    * 添加钢瓶流转信息
+    *
+    * @author 韩福成
+    * @date 2024/7/31 下午5:21
+    */
+    @PostMapping(value = "/addLog")
+    public AjaxResult addLog(@RequestBody CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        CenterdataTHousingconstructionSteelcylinder steelcylinder = centerdataTHousingconstructionSteelcylinderService.selectCenterdataTHousingconstructionSteelcylinderById(centerdataTHousingconstructionSteelcylinderLog.getSteelcylinderId());
+        //修改钢瓶状态
+        CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder = new CenterdataTHousingconstructionSteelcylinder();
+        centerdataTHousingconstructionSteelcylinder.setId(centerdataTHousingconstructionSteelcylinderLog.getSteelcylinderId());
+        centerdataTHousingconstructionSteelcylinder.setState(centerdataTHousingconstructionSteelcylinderLog.getState());
+        centerdataTHousingconstructionSteelcylinderService.updateCenterdataTHousingconstructionSteelcylinder(centerdataTHousingconstructionSteelcylinder);
+        //按钢瓶id查询最新日志
+        CenterdataTHousingconstructionSteelcylinderLog log = centerdataTHousingconstructionSteelcylinderLogService.selectBySteelcylinderId(centerdataTHousingconstructionSteelcylinderLog.getSteelcylinderId());
+        if (log ==null){
+            return toAjax(centerdataTHousingconstructionSteelcylinderLogService.insertCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog));
+        }else {
+            if (steelcylinder.getState().equals("state_5")&&centerdataTHousingconstructionSteelcylinderLog.getState().equals("state_2")){
+                centerdataTHousingconstructionSteelcylinderLog.setJoinWarehouseTime(log.getJoinWarehouseTime());
+                return toAjax(centerdataTHousingconstructionSteelcylinderLogService.insertCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog));
+            }else {
+                centerdataTHousingconstructionSteelcylinderLog.setId(log.getId());
+                return toAjax(centerdataTHousingconstructionSteelcylinderLogService.updateCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog));
+            }
+        }
+    }
+
+}

+ 316 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionSteelcylinder.java

@@ -0,0 +1,316 @@
+package com.sooka.sponest.data.housingconstruction.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
+import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 钢瓶基础数据对象 centerdata_t_housingconstruction_steelcylinder
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public class CenterdataTHousingconstructionSteelcylinder extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /**
+     * 钢瓶名称
+     */
+    @Excel(name = "钢瓶名称")
+    private String name;
+
+    /**
+     * 企业id
+     */
+    private String enterpriseId;
+
+    /**
+     * 企业名称
+     */
+    @Excel(name = "企业名称")
+    private String enterpriseName;
+
+    /**
+     * 生产厂家
+     */
+    @Excel(name = "生产厂家")
+    private String manufacturer;
+
+    /**
+     * 钢瓶权属
+     */
+    @Excel(name = "钢瓶权属")
+    private String ownership;
+
+    /**
+     * 出厂时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出厂时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date leaveTime;
+
+    /**
+     * 制造时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "制造时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date makeTime;
+
+    /**
+     * 出厂编号
+     */
+    @Excel(name = "出厂编号")
+    private String leaveNumber;
+
+    /**
+     * 规格
+     */
+    @Excel(name = "规格",dictType = "steelcylinder_type")
+    private String standards;
+
+    /**
+     * 型号
+     */
+    @Excel(name = "型号")
+    private String modelNumber;
+
+    /**
+     * 钢瓶编号
+     */
+    @Excel(name = "钢瓶编号")
+    private String steelcylinderNumber;
+
+    /**
+     * 钢瓶代码
+     */
+    @Excel(name = "钢瓶代码")
+    private String steelcylinderCode;
+
+    /**
+     * 当前库位
+     */
+    @Excel(name = "当前库位")
+    private String currentPosition;
+
+    /**
+     * 登记时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date registerTime;
+
+    /**
+     * 气瓶状态
+     */
+    @Excel(name = "气瓶状态",dictType = "steelcylinder_state")
+    private String state;
+
+    /**
+     * 钢瓶阈值(月)
+     */
+    @Excel(name = "钢瓶阈值")
+    private String threshold;
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setEnterpriseId(String enterpriseId) {
+        this.enterpriseId = enterpriseId;
+    }
+
+    public String getEnterpriseId() {
+        return enterpriseId;
+    }
+
+    public void setEnterpriseName(String enterpriseName) {
+        this.enterpriseName = enterpriseName;
+    }
+
+    public String getEnterpriseName() {
+        return enterpriseName;
+    }
+
+    public void setManufacturer(String manufacturer) {
+        this.manufacturer = manufacturer;
+    }
+
+    public String getManufacturer() {
+        return manufacturer;
+    }
+
+    public void setOwnership(String ownership) {
+        this.ownership = ownership;
+    }
+
+    public String getOwnership() {
+        return ownership;
+    }
+
+    public void setLeaveTime(Date leaveTime) {
+        this.leaveTime = leaveTime;
+    }
+
+    public Date getLeaveTime() {
+        return leaveTime;
+    }
+
+    public void setMakeTime(Date makeTime) {
+        this.makeTime = makeTime;
+    }
+
+    public Date getMakeTime() {
+        return makeTime;
+    }
+
+    public void setLeaveNumber(String leaveNumber) {
+        this.leaveNumber = leaveNumber;
+    }
+
+    public String getLeaveNumber() {
+        return leaveNumber;
+    }
+
+    public void setStandards(String standards) {
+        this.standards = standards;
+    }
+
+    public String getStandards() {
+        return standards;
+    }
+
+    public void setModelNumber(String modelNumber) {
+        this.modelNumber = modelNumber;
+    }
+
+    public String getModelNumber() {
+        return modelNumber;
+    }
+
+    public void setSteelcylinderNumber(String steelcylinderNumber) {
+        this.steelcylinderNumber = steelcylinderNumber;
+    }
+
+    public String getSteelcylinderNumber() {
+        return steelcylinderNumber;
+    }
+
+    public void setSteelcylinderCode(String steelcylinderCode) {
+        this.steelcylinderCode = steelcylinderCode;
+    }
+
+    public String getSteelcylinderCode() {
+        return steelcylinderCode;
+    }
+
+    public void setCurrentPosition(String currentPosition) {
+        this.currentPosition = currentPosition;
+    }
+
+    public String getCurrentPosition() {
+        return currentPosition;
+    }
+
+    public void setRegisterTime(Date registerTime) {
+        this.registerTime = registerTime;
+    }
+
+    public Date getRegisterTime() {
+        return registerTime;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setThreshold(String threshold) {
+        this.threshold = threshold;
+    }
+
+    public String getThreshold() {
+        return threshold;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("createBy", getCreateBy())
+                .append("createName", getCreateName())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateName", getUpdateName())
+                .append("updateTime", getUpdateTime())
+                .append("deptId", getDeptId())
+                .append("deptName", getDeptName())
+                .append("name", getName())
+                .append("enterpriseId", getEnterpriseId())
+                .append("enterpriseName", getEnterpriseName())
+                .append("manufacturer", getManufacturer())
+                .append("ownership", getOwnership())
+                .append("leaveTime", getLeaveTime())
+                .append("makeTime", getMakeTime())
+                .append("leaveNumber", getLeaveNumber())
+                .append("standards", getStandards())
+                .append("modelNumber", getModelNumber())
+                .append("steelcylinderNumber", getSteelcylinderNumber())
+                .append("steelcylinderCode", getSteelcylinderCode())
+                .append("currentPosition", getCurrentPosition())
+                .append("registerTime", getRegisterTime())
+                .append("state", getState())
+                .append("threshold", getThreshold())
+                .toString();
+    }
+}

+ 316 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionSteelcylinderLog.java

@@ -0,0 +1,316 @@
+package com.sooka.sponest.data.housingconstruction.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 钢瓶日志对象 centerdata_t_housingconstruction_steelcylinder_log
+ *
+ * @author ruoyi
+ * @date 2024-07-30
+ */
+public class CenterdataTHousingconstructionSteelcylinderLog extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 钢瓶id
+     */
+    @Excel(name = "钢瓶id")
+    private String steelcylinderId;
+
+    /**
+     * 钢瓶名称
+     */
+    @Excel(name = "钢瓶名称")
+    private String steelcylinderName;
+
+    /**
+     * 入库时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date joinWarehouseTime;
+
+    /**
+     * 充装介质
+     */
+    @Excel(name = "充装介质")
+    private String fillingMedium;
+
+    /**
+     * 充装时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "充装时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date fillingTime;
+
+    /**
+     * 操作员id
+     */
+    @Excel(name = "操作员id")
+    private String operatorId;
+
+    /**
+     * 操作员名称
+     */
+    @Excel(name = "操作员名称")
+    private String operatorName;
+
+    /**
+     * 车辆id
+     */
+    @Excel(name = "车辆id")
+    private String carId;
+
+    /**
+     * 车牌号
+     */
+    @Excel(name = "车牌号")
+    private String carNumber;
+
+    /**
+     * 配送时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "配送时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date deliveryTime;
+
+    /**
+     * 配送员id
+     */
+    @Excel(name = "配送员id")
+    private String deliveryId;
+
+    /**
+     * 配送员
+     */
+    @Excel(name = "配送员")
+    private String deliveryName;
+
+    /**
+     * 签收时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date signTime;
+
+    /**
+     * 入户用户id
+     */
+    @Excel(name = "入户用户id")
+    private String joinHouseId;
+
+    /**
+     * 入户用户
+     */
+    @Excel(name = "入户用户")
+    private String joinHouseName;
+
+    /**
+     * 回收所在用户
+     */
+    @Excel(name = "回收所在用户")
+    private String recyclingName;
+
+    /**
+     * 回收时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "回收时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date recyclingTime;
+
+    private String state;
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setSteelcylinderId(String steelcylinderId) {
+        this.steelcylinderId = steelcylinderId;
+    }
+
+    public String getSteelcylinderId() {
+        return steelcylinderId;
+    }
+
+    public void setSteelcylinderName(String steelcylinderName) {
+        this.steelcylinderName = steelcylinderName;
+    }
+
+    public String getSteelcylinderName() {
+        return steelcylinderName;
+    }
+
+    public void setJoinWarehouseTime(Date joinWarehouseTime) {
+        this.joinWarehouseTime = joinWarehouseTime;
+    }
+
+    public Date getJoinWarehouseTime() {
+        return joinWarehouseTime;
+    }
+
+    public void setFillingMedium(String fillingMedium) {
+        this.fillingMedium = fillingMedium;
+    }
+
+    public String getFillingMedium() {
+        return fillingMedium;
+    }
+
+    public void setFillingTime(Date fillingTime) {
+        this.fillingTime = fillingTime;
+    }
+
+    public Date getFillingTime() {
+        return fillingTime;
+    }
+
+    public void setOperatorId(String operatorId) {
+        this.operatorId = operatorId;
+    }
+
+    public String getOperatorId() {
+        return operatorId;
+    }
+
+    public void setOperatorName(String operatorName) {
+        this.operatorName = operatorName;
+    }
+
+    public String getOperatorName() {
+        return operatorName;
+    }
+
+    public void setCarId(String carId) {
+        this.carId = carId;
+    }
+
+    public String getCarId() {
+        return carId;
+    }
+
+    public void setCarNumber(String carNumber) {
+        this.carNumber = carNumber;
+    }
+
+    public String getCarNumber() {
+        return carNumber;
+    }
+
+    public void setDeliveryTime(Date deliveryTime) {
+        this.deliveryTime = deliveryTime;
+    }
+
+    public Date getDeliveryTime() {
+        return deliveryTime;
+    }
+
+    public void setDeliveryId(String deliveryId) {
+        this.deliveryId = deliveryId;
+    }
+
+    public String getDeliveryId() {
+        return deliveryId;
+    }
+
+    public void setDeliveryName(String deliveryName) {
+        this.deliveryName = deliveryName;
+    }
+
+    public String getDeliveryName() {
+        return deliveryName;
+    }
+
+    public void setSignTime(Date signTime) {
+        this.signTime = signTime;
+    }
+
+    public Date getSignTime() {
+        return signTime;
+    }
+
+    public void setJoinHouseId(String joinHouseId) {
+        this.joinHouseId = joinHouseId;
+    }
+
+    public String getJoinHouseId() {
+        return joinHouseId;
+    }
+
+    public void setJoinHouseName(String joinHouseName) {
+        this.joinHouseName = joinHouseName;
+    }
+
+    public String getJoinHouseName() {
+        return joinHouseName;
+    }
+
+    public void setRecyclingName(String recyclingName) {
+        this.recyclingName = recyclingName;
+    }
+
+    public String getRecyclingName() {
+        return recyclingName;
+    }
+
+    public void setRecyclingTime(Date recyclingTime) {
+        this.recyclingTime = recyclingTime;
+    }
+
+    public Date getRecyclingTime() {
+        return recyclingTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("createBy", getCreateBy())
+                .append("createName", getCreateName())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateName", getUpdateName())
+                .append("updateTime", getUpdateTime())
+                .append("steelcylinderId", getSteelcylinderId())
+                .append("steelcylinderName", getSteelcylinderName())
+                .append("joinWarehouseTime", getJoinWarehouseTime())
+                .append("fillingMedium", getFillingMedium())
+                .append("fillingTime", getFillingTime())
+                .append("operatorId", getOperatorId())
+                .append("operatorName", getOperatorName())
+                .append("carId", getCarId())
+                .append("carNumber", getCarNumber())
+                .append("deliveryTime", getDeliveryTime())
+                .append("deliveryId", getDeliveryId())
+                .append("deliveryName", getDeliveryName())
+                .append("signTime", getSignTime())
+                .append("joinHouseId", getJoinHouseId())
+                .append("joinHouseName", getJoinHouseName())
+                .append("recyclingName", getRecyclingName())
+                .append("recyclingTime", getRecyclingTime())
+                .toString();
+    }
+}

+ 69 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionSteelcylinderLogMapper.java

@@ -0,0 +1,69 @@
+package com.sooka.sponest.data.housingconstruction.mapper;
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinderLog;
+
+import java.util.List;
+
+/**
+ * 钢瓶日志Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-30
+ */
+public interface CenterdataTHousingconstructionSteelcylinderLogMapper {
+    /**
+     * 查询钢瓶日志
+     *
+     * @param id 钢瓶日志主键
+     * @return 钢瓶日志
+     */
+    public CenterdataTHousingconstructionSteelcylinderLog selectCenterdataTHousingconstructionSteelcylinderLogById(String id);
+
+    /**
+     * 查询钢瓶日志列表
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 钢瓶日志集合
+     */
+    public List<CenterdataTHousingconstructionSteelcylinderLog> selectCenterdataTHousingconstructionSteelcylinderLogList(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog);
+
+    /**
+     * 新增钢瓶日志
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionSteelcylinderLog(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog);
+
+    /**
+     * 修改钢瓶日志
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionSteelcylinderLog(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog);
+
+    /**
+     * 删除钢瓶日志
+     *
+     * @param id 钢瓶日志主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderLogById(String id);
+
+    /**
+     * 批量删除钢瓶日志
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderLogByIds(String[] ids);
+
+    /*
+    * 按钢瓶id查询最新一条日志
+    *
+    * @author 韩福成
+    * @date 2024/8/1 上午9:54
+    */
+    public CenterdataTHousingconstructionSteelcylinderLog selectBySteelcylinderId(String steelcylinderId);
+}

+ 61 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionSteelcylinderMapper.java

@@ -0,0 +1,61 @@
+package com.sooka.sponest.data.housingconstruction.mapper;
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinder;
+
+import java.util.List;
+
+/**
+ * 钢瓶基础数据Mapper接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface CenterdataTHousingconstructionSteelcylinderMapper {
+    /**
+     * 查询钢瓶基础数据
+     *
+     * @param id 钢瓶基础数据主键
+     * @return 钢瓶基础数据
+     */
+    public CenterdataTHousingconstructionSteelcylinder selectCenterdataTHousingconstructionSteelcylinderById(String id);
+
+    /**
+     * 查询钢瓶基础数据列表
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 钢瓶基础数据集合
+     */
+    public List<CenterdataTHousingconstructionSteelcylinder> selectCenterdataTHousingconstructionSteelcylinderList(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder);
+
+    /**
+     * 新增钢瓶基础数据
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionSteelcylinder(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder);
+
+    /**
+     * 修改钢瓶基础数据
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionSteelcylinder(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder);
+
+    /**
+     * 删除钢瓶基础数据
+     *
+     * @param id 钢瓶基础数据主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderById(String id);
+
+    /**
+     * 批量删除钢瓶基础数据
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderByIds(String[] ids);
+}

+ 70 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionSteelcylinderLogService.java

@@ -0,0 +1,70 @@
+package com.sooka.sponest.data.housingconstruction.service;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinderLog;
+
+import java.util.List;
+
+/**
+ * 钢瓶日志Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-30
+ */
+public interface ICenterdataTHousingconstructionSteelcylinderLogService {
+    /**
+     * 查询钢瓶日志
+     *
+     * @param id 钢瓶日志主键
+     * @return 钢瓶日志
+     */
+    public CenterdataTHousingconstructionSteelcylinderLog selectCenterdataTHousingconstructionSteelcylinderLogById(String id);
+
+    /**
+     * 查询钢瓶日志列表
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 钢瓶日志集合
+     */
+    public List<CenterdataTHousingconstructionSteelcylinderLog> selectCenterdataTHousingconstructionSteelcylinderLogList(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog);
+
+    /**
+     * 新增钢瓶日志
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionSteelcylinderLog(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog);
+
+    /**
+     * 修改钢瓶日志
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionSteelcylinderLog(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog);
+
+    /**
+     * 批量删除钢瓶日志
+     *
+     * @param ids 需要删除的钢瓶日志主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderLogByIds(String[] ids);
+
+    /**
+     * 删除钢瓶日志信息
+     *
+     * @param id 钢瓶日志主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderLogById(String id);
+
+    /*
+    * 按钢瓶id查询最新一条日志
+    *
+    * @author 韩福成
+    * @date 2024/8/1 上午9:51
+    */
+    public CenterdataTHousingconstructionSteelcylinderLog selectBySteelcylinderId(String steelcylinderId);
+}

+ 61 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionSteelcylinderService.java

@@ -0,0 +1,61 @@
+package com.sooka.sponest.data.housingconstruction.service;
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinder;
+
+import java.util.List;
+
+/**
+ * 钢瓶基础数据Service接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface ICenterdataTHousingconstructionSteelcylinderService {
+    /**
+     * 查询钢瓶基础数据
+     *
+     * @param id 钢瓶基础数据主键
+     * @return 钢瓶基础数据
+     */
+    public CenterdataTHousingconstructionSteelcylinder selectCenterdataTHousingconstructionSteelcylinderById(String id);
+
+    /**
+     * 查询钢瓶基础数据列表
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 钢瓶基础数据集合
+     */
+    public List<CenterdataTHousingconstructionSteelcylinder> selectCenterdataTHousingconstructionSteelcylinderList(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder);
+
+    /**
+     * 新增钢瓶基础数据
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionSteelcylinder(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder);
+
+    /**
+     * 修改钢瓶基础数据
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionSteelcylinder(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder);
+
+    /**
+     * 批量删除钢瓶基础数据
+     *
+     * @param ids 需要删除的钢瓶基础数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderByIds(String[] ids);
+
+    /**
+     * 删除钢瓶基础数据信息
+     *
+     * @param id 钢瓶基础数据主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionSteelcylinderById(String id);
+}

+ 104 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionSteelcylinderLogServiceImpl.java

@@ -0,0 +1,104 @@
+package com.sooka.sponest.data.housingconstruction.service.impl;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinderLog;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionSteelcylinderLogMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionSteelcylinderLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 钢瓶日志Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-07-30
+ */
+@Service
+public class CenterdataTHousingconstructionSteelcylinderLogServiceImpl extends BaseServiceImpl implements ICenterdataTHousingconstructionSteelcylinderLogService {
+    @Autowired
+    private CenterdataTHousingconstructionSteelcylinderLogMapper centerdataTHousingconstructionSteelcylinderLogMapper;
+
+    /**
+     * 查询钢瓶日志
+     *
+     * @param id 钢瓶日志主键
+     * @return 钢瓶日志
+     */
+    @Override
+    public CenterdataTHousingconstructionSteelcylinderLog selectCenterdataTHousingconstructionSteelcylinderLogById(String id) {
+        return centerdataTHousingconstructionSteelcylinderLogMapper.selectCenterdataTHousingconstructionSteelcylinderLogById(id);
+    }
+
+    /**
+     * 查询钢瓶日志列表
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 钢瓶日志
+     */
+    @Override
+    public List<CenterdataTHousingconstructionSteelcylinderLog> selectCenterdataTHousingconstructionSteelcylinderLogList(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        return centerdataTHousingconstructionSteelcylinderLogMapper.selectCenterdataTHousingconstructionSteelcylinderLogList(centerdataTHousingconstructionSteelcylinderLog);
+    }
+
+    /**
+     * 新增钢瓶日志
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 结果
+     */
+    @Override
+    public int insertCenterdataTHousingconstructionSteelcylinderLog(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        centerdataTHousingconstructionSteelcylinderLog.setId(IdUtils.fastSimpleUUID());
+        centerdataTHousingconstructionSteelcylinderLog.setUpdateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionSteelcylinderLogMapper.insertCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog);
+    }
+
+    /**
+     * 修改钢瓶日志
+     *
+     * @param centerdataTHousingconstructionSteelcylinderLog 钢瓶日志
+     * @return 结果
+     */
+    @Override
+    public int updateCenterdataTHousingconstructionSteelcylinderLog(CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog) {
+        centerdataTHousingconstructionSteelcylinderLog.setUpdateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionSteelcylinderLogMapper.updateCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog);
+    }
+
+    /**
+     * 批量删除钢瓶日志
+     *
+     * @param ids 需要删除的钢瓶日志主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionSteelcylinderLogByIds(String[] ids) {
+        return centerdataTHousingconstructionSteelcylinderLogMapper.deleteCenterdataTHousingconstructionSteelcylinderLogByIds(ids);
+    }
+
+    /**
+     * 删除钢瓶日志信息
+     *
+     * @param id 钢瓶日志主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionSteelcylinderLogById(String id) {
+        return centerdataTHousingconstructionSteelcylinderLogMapper.deleteCenterdataTHousingconstructionSteelcylinderLogById(id);
+    }
+
+    /*
+    * 按钢瓶id查询最新一条日志
+    *
+    * @author 韩福成
+    * @date 2024/8/1 上午9:52
+    */
+    @Override
+    public CenterdataTHousingconstructionSteelcylinderLog selectBySteelcylinderId(String steelcylinderId) {
+        return centerdataTHousingconstructionSteelcylinderLogMapper.selectBySteelcylinderId(steelcylinderId);
+    }
+}

+ 124 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionSteelcylinderServiceImpl.java

@@ -0,0 +1,124 @@
+package com.sooka.sponest.data.housingconstruction.service.impl;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
+import com.ruoyi.common.datascope.annotation.DataScopeMutiDept;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.sooka.sponest.data.base.service.impl.BaseServiceImpl;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinder;
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionSteelcylinderLog;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionSteelcylinderLogMapper;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionSteelcylinderMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionSteelcylinderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 钢瓶基础数据Service业务层处理
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+@Service
+public class CenterdataTHousingconstructionSteelcylinderServiceImpl extends BaseServiceImpl implements ICenterdataTHousingconstructionSteelcylinderService {
+    @Autowired
+    private CenterdataTHousingconstructionSteelcylinderMapper centerdataTHousingconstructionSteelcylinderMapper;
+
+    @Autowired
+    private CenterdataTHousingconstructionSteelcylinderLogMapper centerdataTHousingconstructionSteelcylinderLogMapper;
+
+    /**
+     * 查询钢瓶基础数据
+     *
+     * @param id 钢瓶基础数据主键
+     * @return 钢瓶基础数据
+     */
+    @Override
+    public CenterdataTHousingconstructionSteelcylinder selectCenterdataTHousingconstructionSteelcylinderById(String id) {
+        return centerdataTHousingconstructionSteelcylinderMapper.selectCenterdataTHousingconstructionSteelcylinderById(id);
+    }
+
+    /**
+     * 查询钢瓶基础数据列表
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 钢瓶基础数据
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTHousingconstructionSteelcylinder> selectCenterdataTHousingconstructionSteelcylinderList(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        setSookaDataBase(centerdataTHousingconstructionSteelcylinder);
+        return centerdataTHousingconstructionSteelcylinderMapper.selectCenterdataTHousingconstructionSteelcylinderList(centerdataTHousingconstructionSteelcylinder);
+    }
+
+    /**
+     * 新增钢瓶基础数据
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 结果
+     */
+    @Override
+    public int insertCenterdataTHousingconstructionSteelcylinder(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        centerdataTHousingconstructionSteelcylinder.setId(IdUtils.fastSimpleUUID());
+        centerdataTHousingconstructionSteelcylinder.setCreateBy(SecurityUtils.getUserId().toString());
+        centerdataTHousingconstructionSteelcylinder.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionSteelcylinder.setCreateTime(DateUtils.getNowDate());
+        extracted(centerdataTHousingconstructionSteelcylinder);
+        return centerdataTHousingconstructionSteelcylinderMapper.insertCenterdataTHousingconstructionSteelcylinder(centerdataTHousingconstructionSteelcylinder);
+    }
+
+    private void extracted(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        if (centerdataTHousingconstructionSteelcylinder.getState().equals("state_1")){
+            CenterdataTHousingconstructionSteelcylinderLog centerdataTHousingconstructionSteelcylinderLog = new CenterdataTHousingconstructionSteelcylinderLog();
+            centerdataTHousingconstructionSteelcylinderLog.setSteelcylinderId(centerdataTHousingconstructionSteelcylinder.getId());
+            List<CenterdataTHousingconstructionSteelcylinderLog> list = centerdataTHousingconstructionSteelcylinderLogMapper.selectCenterdataTHousingconstructionSteelcylinderLogList(centerdataTHousingconstructionSteelcylinderLog);
+            if (list.isEmpty()){
+                centerdataTHousingconstructionSteelcylinderLog.setId(IdUtils.fastSimpleUUID());
+                centerdataTHousingconstructionSteelcylinderLog.setSteelcylinderId(centerdataTHousingconstructionSteelcylinder.getId());
+                centerdataTHousingconstructionSteelcylinderLog.setSteelcylinderName(centerdataTHousingconstructionSteelcylinder.getName());
+                centerdataTHousingconstructionSteelcylinderLog.setJoinWarehouseTime(DateUtils.getNowDate());
+                centerdataTHousingconstructionSteelcylinderLog.setUpdateTime(DateUtils.getNowDate());
+                centerdataTHousingconstructionSteelcylinderLogMapper.insertCenterdataTHousingconstructionSteelcylinderLog(centerdataTHousingconstructionSteelcylinderLog);
+            }
+        }
+    }
+
+    /**
+     * 修改钢瓶基础数据
+     *
+     * @param centerdataTHousingconstructionSteelcylinder 钢瓶基础数据
+     * @return 结果
+     */
+    @Override
+    public int updateCenterdataTHousingconstructionSteelcylinder(CenterdataTHousingconstructionSteelcylinder centerdataTHousingconstructionSteelcylinder) {
+        centerdataTHousingconstructionSteelcylinder.setUpdateBy(SecurityUtils.getUserId());
+        centerdataTHousingconstructionSteelcylinder.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionSteelcylinder.setUpdateTime(DateUtils.getNowDate());
+        extracted(centerdataTHousingconstructionSteelcylinder);
+        return centerdataTHousingconstructionSteelcylinderMapper.updateCenterdataTHousingconstructionSteelcylinder(centerdataTHousingconstructionSteelcylinder);
+    }
+
+    /**
+     * 批量删除钢瓶基础数据
+     *
+     * @param ids 需要删除的钢瓶基础数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionSteelcylinderByIds(String[] ids) {
+        return centerdataTHousingconstructionSteelcylinderMapper.deleteCenterdataTHousingconstructionSteelcylinderByIds(ids);
+    }
+
+    /**
+     * 删除钢瓶基础数据信息
+     *
+     * @param id 钢瓶基础数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionSteelcylinderById(String id) {
+        return centerdataTHousingconstructionSteelcylinderMapper.deleteCenterdataTHousingconstructionSteelcylinderById(id);
+    }
+}

+ 148 - 0
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionSteelcylinderLogMapper.xml

@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionSteelcylinderLogMapper">
+
+    <resultMap type="CenterdataTHousingconstructionSteelcylinderLog" id="CenterdataTHousingconstructionSteelcylinderLogResult">
+        <result property="id"    column="id"    />
+        <result property="steelcylinderId"    column="steelcylinder_id"    />
+        <result property="steelcylinderName"    column="steelcylinder_name"    />
+        <result property="joinWarehouseTime"    column="join_warehouse_time"    />
+        <result property="fillingMedium"    column="filling_medium"    />
+        <result property="fillingTime"    column="filling_time"    />
+        <result property="operatorId"    column="operator_id"    />
+        <result property="operatorName"    column="operator_name"    />
+        <result property="carId"    column="car_id"    />
+        <result property="carNumber"    column="car_number"    />
+        <result property="deliveryTime"    column="delivery_time"    />
+        <result property="deliveryId"    column="delivery_id"    />
+        <result property="deliveryName"    column="delivery_name"    />
+        <result property="signTime"    column="sign_time"    />
+        <result property="joinHouseId"    column="join_house_id"    />
+        <result property="joinHouseName"    column="join_house_name"    />
+        <result property="recyclingName"    column="recycling_name"    />
+        <result property="recyclingTime"    column="recycling_time"    />
+    </resultMap>
+
+    <sql id="selectCenterdataTHousingconstructionSteelcylinderLogVo">
+        select id, steelcylinder_id, steelcylinder_name, join_warehouse_time, filling_medium, filling_time, operator_id, operator_name, car_id, car_number, delivery_time, delivery_id, delivery_name, sign_time, join_house_id, join_house_name, recycling_name, recycling_time from centerdata_t_housingconstruction_steelcylinder_log
+    </sql>
+
+    <select id="selectCenterdataTHousingconstructionSteelcylinderLogList" parameterType="CenterdataTHousingconstructionSteelcylinderLog" resultMap="CenterdataTHousingconstructionSteelcylinderLogResult">
+        <include refid="selectCenterdataTHousingconstructionSteelcylinderLogVo"/>
+        <where>
+            <if test="steelcylinderId != null  and steelcylinderId != ''"> and steelcylinder_id = #{steelcylinderId}</if>
+            <if test="steelcylinderName != null  and steelcylinderName != ''"> and steelcylinder_name like concat('%', #{steelcylinderName}, '%')</if>
+            <if test="joinWarehouseTime != null "> and join_warehouse_time = #{joinWarehouseTime}</if>
+            <if test="fillingMedium != null  and fillingMedium != ''"> and filling_medium = #{fillingMedium}</if>
+            <if test="fillingTime != null "> and filling_time = #{fillingTime}</if>
+            <if test="operatorId != null  and operatorId != ''"> and operator_id = #{operatorId}</if>
+            <if test="operatorName != null  and operatorName != ''"> and operator_name like concat('%', #{operatorName}, '%')</if>
+            <if test="carId != null  and carId != ''"> and car_id = #{carId}</if>
+            <if test="carNumber != null  and carNumber != ''"> and car_number = #{carNumber}</if>
+            <if test="deliveryTime != null "> and delivery_time = #{deliveryTime}</if>
+            <if test="deliveryId != null  and deliveryId != ''"> and delivery_id = #{deliveryId}</if>
+            <if test="deliveryName != null  and deliveryName != ''"> and delivery_name like concat('%', #{deliveryName}, '%')</if>
+            <if test="signTime != null "> and sign_time = #{signTime}</if>
+            <if test="joinHouseId != null  and joinHouseId != ''"> and join_house_id = #{joinHouseId}</if>
+            <if test="joinHouseName != null  and joinHouseName != ''"> and join_house_name like concat('%', #{joinHouseName}, '%')</if>
+            <if test="recyclingName != null  and recyclingName != ''"> and recycling_name like concat('%', #{recyclingName}, '%')</if>
+            <if test="recyclingTime != null "> and recycling_time = #{recyclingTime}</if>
+        </where>
+    </select>
+
+    <select id="selectCenterdataTHousingconstructionSteelcylinderLogById" parameterType="String" resultMap="CenterdataTHousingconstructionSteelcylinderLogResult">
+        <include refid="selectCenterdataTHousingconstructionSteelcylinderLogVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertCenterdataTHousingconstructionSteelcylinderLog" parameterType="CenterdataTHousingconstructionSteelcylinderLog">
+        insert into centerdata_t_housingconstruction_steelcylinder_log
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="steelcylinderId != null">steelcylinder_id,</if>
+            <if test="steelcylinderName != null">steelcylinder_name,</if>
+            <if test="joinWarehouseTime != null">join_warehouse_time,</if>
+            <if test="fillingMedium != null">filling_medium,</if>
+            <if test="fillingTime != null">filling_time,</if>
+            <if test="operatorId != null">operator_id,</if>
+            <if test="operatorName != null">operator_name,</if>
+            <if test="carId != null">car_id,</if>
+            <if test="carNumber != null">car_number,</if>
+            <if test="deliveryTime != null">delivery_time,</if>
+            <if test="deliveryId != null">delivery_id,</if>
+            <if test="deliveryName != null">delivery_name,</if>
+            <if test="signTime != null">sign_time,</if>
+            <if test="joinHouseId != null">join_house_id,</if>
+            <if test="joinHouseName != null">join_house_name,</if>
+            <if test="recyclingName != null">recycling_name,</if>
+            <if test="recyclingTime != null">recycling_time,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="steelcylinderId != null">#{steelcylinderId},</if>
+            <if test="steelcylinderName != null">#{steelcylinderName},</if>
+            <if test="joinWarehouseTime != null">#{joinWarehouseTime},</if>
+            <if test="fillingMedium != null">#{fillingMedium},</if>
+            <if test="fillingTime != null">#{fillingTime},</if>
+            <if test="operatorId != null">#{operatorId},</if>
+            <if test="operatorName != null">#{operatorName},</if>
+            <if test="carId != null">#{carId},</if>
+            <if test="carNumber != null">#{carNumber},</if>
+            <if test="deliveryTime != null">#{deliveryTime},</if>
+            <if test="deliveryId != null">#{deliveryId},</if>
+            <if test="deliveryName != null">#{deliveryName},</if>
+            <if test="signTime != null">#{signTime},</if>
+            <if test="joinHouseId != null">#{joinHouseId},</if>
+            <if test="joinHouseName != null">#{joinHouseName},</if>
+            <if test="recyclingName != null">#{recyclingName},</if>
+            <if test="recyclingTime != null">#{recyclingTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCenterdataTHousingconstructionSteelcylinderLog" parameterType="CenterdataTHousingconstructionSteelcylinderLog">
+        update centerdata_t_housingconstruction_steelcylinder_log
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="steelcylinderId != null">steelcylinder_id = #{steelcylinderId},</if>
+            <if test="steelcylinderName != null">steelcylinder_name = #{steelcylinderName},</if>
+            <if test="joinWarehouseTime != null">join_warehouse_time = #{joinWarehouseTime},</if>
+            <if test="fillingMedium != null">filling_medium = #{fillingMedium},</if>
+            <if test="fillingTime != null">filling_time = #{fillingTime},</if>
+            <if test="operatorId != null">operator_id = #{operatorId},</if>
+            <if test="operatorName != null">operator_name = #{operatorName},</if>
+            <if test="carId != null">car_id = #{carId},</if>
+            <if test="carNumber != null">car_number = #{carNumber},</if>
+            <if test="deliveryTime != null">delivery_time = #{deliveryTime},</if>
+            <if test="deliveryId != null">delivery_id = #{deliveryId},</if>
+            <if test="deliveryName != null">delivery_name = #{deliveryName},</if>
+            <if test="signTime != null">sign_time = #{signTime},</if>
+            <if test="joinHouseId != null">join_house_id = #{joinHouseId},</if>
+            <if test="joinHouseName != null">join_house_name = #{joinHouseName},</if>
+            <if test="recyclingName != null">recycling_name = #{recyclingName},</if>
+            <if test="recyclingTime != null">recycling_time = #{recyclingTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCenterdataTHousingconstructionSteelcylinderLogById" parameterType="String">
+        delete from centerdata_t_housingconstruction_steelcylinder_log where id = #{id}
+    </delete>
+
+    <delete id="deleteCenterdataTHousingconstructionSteelcylinderLogByIds" parameterType="String">
+        delete from centerdata_t_housingconstruction_steelcylinder_log where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="selectBySteelcylinderId" parameterType="String" resultMap="CenterdataTHousingconstructionSteelcylinderLogResult">
+        <include refid="selectCenterdataTHousingconstructionSteelcylinderLogVo"/>
+        where steelcylinder_id = #{steelcylinderId}
+        ORDER BY update_time desc
+        LIMIT 1
+    </select>
+</mapper>

+ 180 - 0
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionSteelcylinderMapper.xml

@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionSteelcylinderMapper">
+
+    <resultMap type="CenterdataTHousingconstructionSteelcylinder" id="CenterdataTHousingconstructionSteelcylinderResult">
+        <result property="id"    column="id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createName"    column="create_name"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateName"    column="update_name"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName"    column="dept_name"    />
+        <result property="name"    column="name"    />
+        <result property="enterpriseId"    column="enterprise_id"    />
+        <result property="enterpriseName"    column="enterprise_name"    />
+        <result property="manufacturer"    column="manufacturer"    />
+        <result property="ownership"    column="ownership"    />
+        <result property="leaveTime"    column="leave_time"    />
+        <result property="makeTime"    column="make_time"    />
+        <result property="leaveNumber"    column="leave_number"    />
+        <result property="standards"    column="standards"    />
+        <result property="modelNumber"    column="model_number"    />
+        <result property="steelcylinderNumber"    column="steelcylinder_number"    />
+        <result property="steelcylinderCode"    column="steelcylinder_code"    />
+        <result property="currentPosition"    column="current_position"    />
+        <result property="registerTime"    column="register_time"    />
+        <result property="state"    column="state"    />
+        <result property="threshold"    column="threshold"    />
+    </resultMap>
+
+    <sql id="selectCenterdataTHousingconstructionSteelcylinderVo">
+        select a.id, a.create_by, a.create_name, a.create_time, a.update_by, a.update_name, a.update_time, a.dept_id, a.dept_name, a.name, a.enterprise_id,
+               a.enterprise_name, a.manufacturer, a.ownership, a.leave_time, a.make_time, a.leave_number, a.standards, a.model_number,
+               a.steelcylinder_number, a.steelcylinder_code, a.current_position, a.register_time, a.state, a.threshold from centerdata_t_housingconstruction_steelcylinder a
+    </sql>
+
+    <select id="selectCenterdataTHousingconstructionSteelcylinderList" parameterType="CenterdataTHousingconstructionSteelcylinder" resultMap="CenterdataTHousingconstructionSteelcylinderResult">
+        <include refid="selectCenterdataTHousingconstructionSteelcylinderVo"/>
+        left join ${database_system}.sys_dept d on a.dept_id = d.dept_id
+        <where>
+            <if test="createName != null  and createName != ''"> and create_name like concat('%', #{createName}, '%')</if>
+            <if test="updateName != null  and updateName != ''"> and update_name like concat('%', #{updateName}, '%')</if>
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="enterpriseId != null  and enterpriseId != ''"> and enterprise_id = #{enterpriseId}</if>
+            <if test="enterpriseName != null  and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
+            <if test="manufacturer != null  and manufacturer != ''"> and manufacturer = #{manufacturer}</if>
+            <if test="ownership != null  and ownership != ''"> and ownership = #{ownership}</if>
+            <if test="leaveTime != null "> and leave_time = #{leaveTime}</if>
+            <if test="makeTime != null "> and make_time = #{makeTime}</if>
+            <if test="leaveNumber != null  and leaveNumber != ''"> and leave_number = #{leaveNumber}</if>
+            <if test="standards != null  and standards != ''"> and standards = #{standards}</if>
+            <if test="modelNumber != null  and modelNumber != ''"> and model_number = #{modelNumber}</if>
+            <if test="steelcylinderNumber != null  and steelcylinderNumber != ''"> and steelcylinder_number = #{steelcylinderNumber}</if>
+            <if test="steelcylinderCode != null  and steelcylinderCode != ''"> and steelcylinder_code = #{steelcylinderCode}</if>
+            <if test="currentPosition != null  and currentPosition != ''"> and current_position = #{currentPosition}</if>
+            <if test="registerTime != null "> and register_time = #{registerTime}</if>
+            <if test="state != null  and state != ''"> and state = #{state}</if>
+            <if test="threshold != null  and threshold != ''"> and threshold = #{threshold}</if>
+            <if test="deptId != null">
+                <choose>
+                    <when test="deptName != null and deptName == 0">
+                        and FIND_IN_SET( #{deptId}, CONCAT( d.ancestors, ",", d.dept_id) )
+                    </when>
+                    <otherwise>and d.dept_id = #{deptId}</otherwise>
+                </choose>
+            </if>
+            ${params.dataScope}
+        </where>
+        order by a.create_time desc
+    </select>
+
+    <select id="selectCenterdataTHousingconstructionSteelcylinderById" parameterType="String" resultMap="CenterdataTHousingconstructionSteelcylinderResult">
+        <include refid="selectCenterdataTHousingconstructionSteelcylinderVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertCenterdataTHousingconstructionSteelcylinder" parameterType="CenterdataTHousingconstructionSteelcylinder">
+        insert into centerdata_t_housingconstruction_steelcylinder
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createName != null">create_name,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateName != null">update_name,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="deptName != null">dept_name,</if>
+            <if test="name != null">name,</if>
+            <if test="enterpriseId != null">enterprise_id,</if>
+            <if test="enterpriseName != null">enterprise_name,</if>
+            <if test="manufacturer != null">manufacturer,</if>
+            <if test="ownership != null">ownership,</if>
+            <if test="leaveTime != null">leave_time,</if>
+            <if test="makeTime != null">make_time,</if>
+            <if test="leaveNumber != null">leave_number,</if>
+            <if test="standards != null">standards,</if>
+            <if test="modelNumber != null">model_number,</if>
+            <if test="steelcylinderNumber != null">steelcylinder_number,</if>
+            <if test="steelcylinderCode != null">steelcylinder_code,</if>
+            <if test="currentPosition != null">current_position,</if>
+            <if test="registerTime != null">register_time,</if>
+            <if test="state != null">state,</if>
+            <if test="threshold != null">threshold,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createName != null">#{createName},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateName != null">#{updateName},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="deptName != null">#{deptName},</if>
+            <if test="name != null">#{name},</if>
+            <if test="enterpriseId != null">#{enterpriseId},</if>
+            <if test="enterpriseName != null">#{enterpriseName},</if>
+            <if test="manufacturer != null">#{manufacturer},</if>
+            <if test="ownership != null">#{ownership},</if>
+            <if test="leaveTime != null">#{leaveTime},</if>
+            <if test="makeTime != null">#{makeTime},</if>
+            <if test="leaveNumber != null">#{leaveNumber},</if>
+            <if test="standards != null">#{standards},</if>
+            <if test="modelNumber != null">#{modelNumber},</if>
+            <if test="steelcylinderNumber != null">#{steelcylinderNumber},</if>
+            <if test="steelcylinderCode != null">#{steelcylinderCode},</if>
+            <if test="currentPosition != null">#{currentPosition},</if>
+            <if test="registerTime != null">#{registerTime},</if>
+            <if test="state != null">#{state},</if>
+            <if test="threshold != null">#{threshold},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCenterdataTHousingconstructionSteelcylinder" parameterType="CenterdataTHousingconstructionSteelcylinder">
+        update centerdata_t_housingconstruction_steelcylinder
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createName != null">create_name = #{createName},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateName != null">update_name = #{updateName},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="deptName != null">dept_name = #{deptName},</if>
+            <if test="name != null">name = #{name},</if>
+            <if test="enterpriseId != null">enterprise_id = #{enterpriseId},</if>
+            <if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
+            <if test="manufacturer != null">manufacturer = #{manufacturer},</if>
+            <if test="ownership != null">ownership = #{ownership},</if>
+            <if test="leaveTime != null">leave_time = #{leaveTime},</if>
+            <if test="makeTime != null">make_time = #{makeTime},</if>
+            <if test="leaveNumber != null">leave_number = #{leaveNumber},</if>
+            <if test="standards != null">standards = #{standards},</if>
+            <if test="modelNumber != null">model_number = #{modelNumber},</if>
+            <if test="steelcylinderNumber != null">steelcylinder_number = #{steelcylinderNumber},</if>
+            <if test="steelcylinderCode != null">steelcylinder_code = #{steelcylinderCode},</if>
+            <if test="currentPosition != null">current_position = #{currentPosition},</if>
+            <if test="registerTime != null">register_time = #{registerTime},</if>
+            <if test="state != null">state = #{state},</if>
+            <if test="threshold != null">threshold = #{threshold},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCenterdataTHousingconstructionSteelcylinderById" parameterType="String">
+        delete from centerdata_t_housingconstruction_steelcylinder where id = #{id}
+    </delete>
+
+    <delete id="deleteCenterdataTHousingconstructionSteelcylinderByIds" parameterType="String">
+        delete from centerdata_t_housingconstruction_steelcylinder where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>