Explorar o código

住建-从业人员、配送人员、车辆

hanfucheng hai 11 meses
pai
achega
883f330d1a
Modificáronse 24 ficheiros con 3727 adicións e 0 borrados
  1. 62 0
      data-ui/src/api/data/housingconstruction/car.js
  2. 44 0
      data-ui/src/api/data/housingconstruction/personnel.js
  3. 44 0
      data-ui/src/api/data/housingconstruction/practitioner.js
  4. 485 0
      data-ui/src/views/data/housingconstruction/car/index.vue
  5. 454 0
      data-ui/src/views/data/housingconstruction/personnel/index.vue
  6. 493 0
      data-ui/src/views/data/housingconstruction/practitioner/index.vue
  7. 91 0
      src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionCarController.java
  8. 103 0
      src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionDeliveryPersonnelController.java
  9. 103 0
      src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionPractitionerController.java
  10. 248 0
      src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionCar.java
  11. 225 0
      src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionDeliveryPersonnel.java
  12. 240 0
      src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionPractitioner.java
  13. 62 0
      src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionCarMapper.java
  14. 62 0
      src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionDeliveryPersonnelMapper.java
  15. 62 0
      src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionPractitionerMapper.java
  16. 62 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionCarService.java
  17. 62 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionDeliveryPersonnelService.java
  18. 62 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionPractitionerService.java
  19. 101 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionCarServiceImpl.java
  20. 101 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionDeliveryPersonnelServiceImpl.java
  21. 101 0
      src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionPractitionerServiceImpl.java
  22. 159 0
      src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionCarMapper.xml
  23. 148 0
      src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionDeliveryPersonnelMapper.xml
  24. 153 0
      src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionPractitionerMapper.xml

+ 62 - 0
data-ui/src/api/data/housingconstruction/car.js

@@ -0,0 +1,62 @@
+import request from '@/utils/request'
+
+// 查询车辆数据列表
+export function listCar(query) {
+  return request({
+    url: '/center-data/housingCar/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询车辆数据详细
+export function getCar(id) {
+  return request({
+    url: '/center-data/housingCar/' + id,
+    method: 'get'
+  })
+}
+
+// 新增车辆数据
+export function addCar(data) {
+  return request({
+    url: '/center-data/housingCar',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改车辆数据
+export function updateCar(data) {
+  return request({
+    url: '/center-data/housingCar',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除车辆数据
+export function delCar(id) {
+  return request({
+    url: '/center-data/housingCar/' + id,
+    method: 'delete'
+  })
+}
+
+//从业人员列表
+export function listPractitioner(query) {
+  return request({
+    url: '/center-data/practitioner/getList',
+    method: 'get',
+    params: query
+  })
+}
+
+//配送人员列表
+export function listPersonnel(query) {
+  return request({
+    url: '/center-data/personnel/getList',
+    method: 'get',
+    params: query
+  })
+}

+ 44 - 0
data-ui/src/api/data/housingconstruction/personnel.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询配送人员列表
+export function listPersonnel(query) {
+  return request({
+    url: '/center-data/personnel/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询配送人员详细
+export function getPersonnel(id) {
+  return request({
+    url: '/center-data/personnel/' + id,
+    method: 'get'
+  })
+}
+
+// 新增配送人员
+export function addPersonnel(data) {
+  return request({
+    url: '/center-data/personnel',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改配送人员
+export function updatePersonnel(data) {
+  return request({
+    url: '/center-data/personnel',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除配送人员
+export function delPersonnel(id) {
+  return request({
+    url: '/center-data/personnel/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
data-ui/src/api/data/housingconstruction/practitioner.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询从业人员列表
+export function listPractitioner(query) {
+  return request({
+    url: '/center-data/practitioner/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询从业人员详细
+export function getPractitioner(id) {
+  return request({
+    url: '/center-data/practitioner/' + id,
+    method: 'get'
+  })
+}
+
+// 新增从业人员
+export function addPractitioner(data) {
+  return request({
+    url: '/center-data/practitioner',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改从业人员
+export function updatePractitioner(data) {
+  return request({
+    url: '/center-data/practitioner',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除从业人员
+export function delPractitioner(id) {
+  return request({
+    url: '/center-data/practitioner/' + id,
+    method: 'delete'
+  })
+}

+ 485 - 0
data-ui/src/views/data/housingconstruction/car/index.vue

@@ -0,0 +1,485 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"
+             @submit.native.prevent>
+      <el-form-item label="车牌号" prop="carNumber">
+        <el-input
+          v-model="queryParams.carNumber"
+          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:car: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:car: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:car: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:car:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="carList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="企业名称" align="center" prop="enterpriseName"/>
+      <el-table-column label="车牌号" align="center" prop="carNumber"/>
+      <el-table-column label="管理人员名称" align="center" prop="managerName"/>
+      <el-table-column label="司机名称" align="center" prop="driverName"/>
+      <el-table-column label="押运员名称" align="center" prop="escortName"/>
+      <el-table-column label="应急装备" align="center" prop="emergencyEquipment"/>
+      <el-table-column label="安全防护措施" align="center" prop="protection"/>
+      <el-table-column label="时速" align="center" prop="speed"/>
+      <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:car:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['data:car:remove']"
+          >删除
+          </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="96px">
+        <el-row :gutter="20">
+          <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-col :span="12">
+            <el-form-item label="车牌号" prop="carNumber">
+              <el-input v-model="form.carNumber" placeholder="请输入车牌号" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="管理人员" prop="managerId">
+              <el-select v-model="form.managerId" 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>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="司机" prop="driverId">
+              <el-select v-model="form.driverId" filterable placeholder="请选择司机">
+                <el-option
+                  v-for="dict in sjList"
+                  :key="dict.id"
+                  :label="dict.staffName"
+                  :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="escortId">
+              <el-select v-model="form.escortId" 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>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="应急装备" prop="emergencyEquipment">
+              <el-input v-model="form.emergencyEquipment" placeholder="请输入应急装备" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="安全防护措施" prop="protection">
+              <el-input v-model="form.protection" placeholder="请输入安全防护措施" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="时速" prop="speed">
+              <el-input v-model="form.speed" placeholder="请输入时速" maxlength="8"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="24">
+          <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>
+  </div>
+</template>
+
+<script>
+import {listCar, getCar, delCar, addCar, updateCar,listPractitioner,listPersonnel} from "@/api/data/housingconstruction/car";
+import {getEnterpriseList} 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 {format_date} from "@/views/data/common/dateExport";
+import {carPhoneValid, checkPositiveDecimal} from "@/api/rules/rules";
+
+export default {
+  name: "Car",
+  components: {Treeselect},
+  data() {
+    return {
+      deptOptions: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 车辆数据表格数据
+      carList: [],
+      //企业列表
+      enterprise: [],
+      //管理员列表
+      practitioner:[],
+      //司机列表
+      sjList:[],
+      //配送员列表
+      psyList:[],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        createName: null,
+        updateName: null,
+        deptId: null,
+        deptName: 0,
+        enterpriseId: null,
+        enterpriseName: null,
+        carNumber: null,
+        managerId: null,
+        managerName: null,
+        driverId: null,
+        driverName: null,
+        escortId: null,
+        escortName: null,
+        emergencyEquipment: null,
+        protection: null,
+        speed: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        enterpriseId: [
+          {required: true, message: "企业不能为空", trigger: "blur"},
+        ],
+        carNumber: [
+          {required: true, message: "车牌号不能为空", trigger: "blur"},
+          {validator: carPhoneValid, trigger: 'blur'}
+        ],
+        managerId: [
+          {required: true, message: "管理人员不能为空", trigger: "blur"},
+        ],
+        driverId: [
+          {required: true, message: "司机不能为空", trigger: "blur"},
+        ],
+        speed: [
+          {required: true, message: "时速不能为空", trigger: "blur"},
+          {validator: checkPositiveDecimal, trigger: 'blur'}
+        ],
+        deptId: [
+          {required: true, message: "所属部门不能为空", trigger: "change"},
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getTreeselect();
+    this.getEnterpriseList();
+    this.getPractitioner();
+    this.getSjList();
+    this.getPsyList();
+  },
+  methods: {
+    //获取企业列表
+    getEnterpriseList() {
+      getEnterpriseList().then(response => {
+        this.enterprise = response.data;
+      });
+    },
+    //获取管理人员列表
+    getPractitioner() {
+      listPractitioner({"post":"practitioner_gly"}).then(response => {
+        this.practitioner = response.data;
+      });
+    },
+    //获取司机列表
+    getSjList() {
+      listPersonnel({"post":"personnel_sj"}).then(response => {
+        this.sjList = response.data;
+      });
+    },
+    //获取配送员列表
+    getPsyList() {
+      listPersonnel({"post":"personnel_psy"}).then(response => {
+        this.psyList = 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;
+      listCar(this.queryParams).then(response => {
+        this.carList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        createBy: null,
+        createName: null,
+        createTime: null,
+        updateBy: null,
+        updateName: null,
+        updateTime: null,
+        deptId: null,
+        deptName: null,
+        enterpriseId: null,
+        enterpriseName: null,
+        carNumber: null,
+        managerId: null,
+        managerName: null,
+        driverId: null,
+        driverName: null,
+        escortId: null,
+        escortName: null,
+        emergencyEquipment: null,
+        protection: null,
+        speed: 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
+      getCar(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改车辆数据";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.enterpriseName = this.enterprise.filter((item) => {
+            return this.form.enterpriseId == item.id;
+          })[0].enterpriseName;
+          this.form.managerName = this.practitioner.filter((item) => {
+            return this.form.managerId == item.id;
+          })[0].staffName;
+          this.form.driverName = this.sjList.filter((item) => {
+            return this.form.driverId == item.id;
+          })[0].staffName;
+          this.form.escortName = this.psyList.filter((item) => {
+            return this.form.escortId == item.id;
+          })[0].staffName;
+          if (this.form.id != null) {
+            updateCar(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addCar(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 delCar(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('center-data/housingCar/export', {
+        ...this.queryParams
+      }, `车辆_${format_date(new Date())}.xlsx`)
+    },
+    // 点击按钮修改是否只查询本级部门用户
+    changeQueryType() {
+      this.queryParams.deptName = this.queryParams.deptName === 0 ? 1 : 0;
+    }
+  }
+};
+</script>

+ 454 - 0
data-ui/src/views/data/housingconstruction/personnel/index.vue

@@ -0,0 +1,454 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" @submit.native.prevent>
+      <el-form-item label="员工姓名" prop="staffName">
+        <el-input
+          v-model="queryParams.staffName"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="身份证" prop="card">
+        <el-input
+          v-model="queryParams.card"
+          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:personnel: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:personnel: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:personnel: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:personnel:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="personnelList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="企业名称" align="center" prop="enterpriseName"/>
+      <el-table-column label="所属站点" align="center" prop="site"/>
+      <el-table-column label="员工姓名" align="center" prop="staffName"/>
+      <el-table-column label="员工代码" align="center" prop="staffCode"/>
+      <el-table-column label="电话号" align="center" prop="phone"/>
+      <el-table-column label="身份证" align="center" prop="card"/>
+      <el-table-column label="岗位" align="center" prop="post">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.personnel_post" :value="scope.row.post"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="登记时间" align="center" prop="registerTime"/>
+      <el-table-column label="行政区域" align="center" prop="area"/>
+      <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:personnel:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['data:personnel:remove']"
+          >删除
+          </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="80px">
+        <el-row :gutter="20">
+          <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-col :span="12">
+            <el-form-item label="员工姓名" prop="staffName">
+              <el-input v-model="form.staffName" placeholder="请输入员工姓名" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="员工代码" prop="staffCode">
+              <el-input v-model="form.staffCode" placeholder="请输入员工代码" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="所属站点" prop="site">
+              <el-input v-model="form.site" placeholder="请输入所属站点" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="电话号" prop="phone">
+              <el-input v-model="form.phone" placeholder="请输入电话号" maxlength="13"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="身份证" prop="card">
+              <el-input v-model="form.card" placeholder="请输入身份证" maxlength="18"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="岗位" prop="post">
+              <el-select v-model="form.post" placeholder="请选择岗位" filterable>
+                <el-option
+                  v-for="dict in dict.type.personnel_post"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="登记时间" prop="registerTime">
+              <el-date-picker clearable size="small"
+                              v-model="form.registerTime"
+                              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="area">
+              <el-input v-model="form.area" 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>
+  </div>
+</template>
+
+<script>
+import {listPersonnel, getPersonnel, delPersonnel, addPersonnel, updatePersonnel} from "@/api/data/housingconstruction/personnel";
+import {getEnterpriseList} 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 {format_date} from "@/views/data/common/dateExport";
+import {validPhoneMobile,englishAndshibaNumValid} from "@/api/rules/rules";
+
+export default {
+  name: "Personnel",
+  components: {Treeselect},
+  dicts: ['personnel_post'],
+  data() {
+    return {
+      deptOptions: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 配送人员表格数据
+      personnelList: [],
+      //企业列表
+      enterprise: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        createName: null,
+        updateName: null,
+        deptId: null,
+        deptName: 0,
+        enterpriseId: null,
+        enterpriseName: null,
+        site: null,
+        staffCode: null,
+        staffName: null,
+        phone: null,
+        card: null,
+        post: null,
+        registerTime: null,
+        area: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        enterpriseId: [
+          {required: true, message: "企业不能为空", trigger: "blur"},
+        ],
+        staffName: [
+          {required: true, message: "员工姓名不能为空", trigger: "blur"},
+        ],
+        phone: [
+          {required: true, message: "电话号不能为空", trigger: "blur"},
+          {validator: validPhoneMobile, trigger: 'blur'}
+        ],
+        card: [
+          {validator: englishAndshibaNumValid, trigger: 'blur'}
+        ],
+        post: [
+          {required: true, message: "岗位不能为空", trigger: "blur"},
+        ],
+        deptId: [
+          {required: true, message: "所属部门不能为空", trigger: "change"},
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getTreeselect();
+    this.getEnterpriseList();
+  },
+  methods: {
+    //获取企业列表
+    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;
+      listPersonnel(this.queryParams).then(response => {
+        this.personnelList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        createBy: null,
+        createName: null,
+        createTime: null,
+        updateBy: null,
+        updateName: null,
+        updateTime: null,
+        deptId: null,
+        deptName: null,
+        enterpriseId: null,
+        enterpriseName: null,
+        site: null,
+        staffCode: null,
+        staffName: null,
+        phone: null,
+        card: null,
+        post: null,
+        registerTime: null,
+        area: 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
+      getPersonnel(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改配送人员";
+      });
+    },
+    /** 提交按钮 */
+    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) {
+            updatePersonnel(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPersonnel(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 delPersonnel(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('center-data/personnel/export', {
+        ...this.queryParams
+      }, `配送人员_${format_date(new Date())}.xlsx`)
+    },
+    // 点击按钮修改是否只查询本级部门用户
+    changeQueryType() {
+      this.queryParams.deptName = this.queryParams.deptName === 0 ? 1 : 0;
+    }
+  }
+};
+</script>

+ 493 - 0
data-ui/src/views/data/housingconstruction/practitioner/index.vue

@@ -0,0 +1,493 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"
+             @submit.native.prevent>
+      <el-form-item label="企业名称" prop="enterpriseName">
+        <el-input
+          v-model="queryParams.enterpriseName"
+          placeholder="请输入企业名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="员工姓名" prop="staffName">
+        <el-input
+          v-model="queryParams.staffName"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="电话号" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          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:practitioner: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:practitioner: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:practitioner: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:practitioner:export']"
+        >导出
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="practitionerList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="企业名称" align="center" prop="enterpriseName"/>
+      <el-table-column label="所属站点" align="center" prop="site"/>
+      <el-table-column label="员工代码" align="center" prop="staffCode"/>
+      <el-table-column label="员工姓名" align="center" prop="staffName"/>
+      <el-table-column label="性别" align="center" prop="sex">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="电话号" align="center" prop="phone"/>
+      <el-table-column label="岗位" align="center" prop="post">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.practitioner_post" :value="scope.row.post"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="登记时间" align="center" prop="registerTime"/>
+      <el-table-column label="年检时间" align="center" prop="inspectTime"/>
+      <el-table-column label="行政区域" align="center" prop="area"/>
+      <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:practitioner:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['data:practitioner:remove']"
+          >删除
+          </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="850px" class="form-style">
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-row :gutter="20">
+          <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-col :span="12">
+            <el-form-item label="所属站点" prop="site">
+              <el-input v-model="form.site" placeholder="请输入所属站点" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="员工姓名" prop="staffName">
+              <el-input v-model="form.staffName" placeholder="请输入员工姓名" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="性别" prop="sex">
+              <el-select v-model="form.sex" placeholder="请选择性别" filterable>
+                <el-option
+                  v-for="dict in dict.type.sys_user_sex"
+                  :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="staffCode">
+              <el-input v-model="form.staffCode" placeholder="请输入员工代码" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="电话号" prop="phone">
+              <el-input v-model="form.phone" placeholder="请输入电话号" maxlength="13"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="岗位" prop="post">
+              <el-select v-model="form.post" placeholder="请选择岗位" filterable>
+                <el-option
+                  v-for="dict in dict.type.practitioner_post"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="登记时间" prop="registerTime">
+              <el-date-picker clearable size="small"
+                              v-model="form.registerTime"
+                              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="inspectTime">
+              <el-date-picker clearable size="small"
+                              v-model="form.inspectTime"
+                              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="area">
+              <el-input v-model="form.area" placeholder="请输入行政区域" maxlength="20"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="24">
+          <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>
+  </div>
+</template>
+
+<script>
+import {
+  addPractitioner,
+  delPractitioner,
+  getPractitioner,
+  listPractitioner,
+  updatePractitioner
+} from "@/api/data/housingconstruction/practitioner";
+import {getEnterpriseList} from "@/api/data/housingconstruction/steelcylinder";
+import {format_date} from "@/views/data/common/dateExport";
+import {treeselect} from "@/api/system/dept";
+import Treeselect from "@riophae/vue-treeselect";
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+import {validPhoneMobile} from "@/api/rules/rules";
+
+
+export default {
+  name: "Practitioner",
+  components: {Treeselect},
+  dicts: ['practitioner_post', 'sys_user_sex'],
+  data() {
+    return {
+      deptOptions: undefined,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 从业人员表格数据
+      practitionerList: [],
+      //企业列表
+      enterprise: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        createName: null,
+        updateName: null,
+        deptId: null,
+        deptName: 0,
+        enterpriseId: null,
+        enterpriseName: null,
+        site: null,
+        staffCode: null,
+        staffName: null,
+        phone: null,
+        post: null,
+        sex: null,
+        registerTime: null,
+        inspectTime: null,
+        area: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        enterpriseId: [
+          {required: true, message: "企业不能为空", trigger: "blur"},
+        ],
+        staffName: [
+          {required: true, message: "员工姓名不能为空", trigger: "blur"},
+        ],
+        phone: [
+          {required: true, message: "电话号不能为空", trigger: "blur"},
+          {validator: validPhoneMobile, trigger: 'blur'}
+        ],
+        post: [
+          {required: true, message: "岗位不能为空", trigger: "blur"},
+        ],
+        deptId: [
+          {required: true, message: "所属部门不能为空", trigger: "change"},
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getTreeselect();
+    this.getEnterpriseList();
+  },
+  methods: {
+    //获取企业列表
+    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;
+      listPractitioner(this.queryParams).then(response => {
+        this.practitionerList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        createBy: null,
+        createName: null,
+        createTime: null,
+        updateBy: null,
+        updateName: null,
+        updateTime: null,
+        deptId: null,
+        deptName: null,
+        enterpriseId: null,
+        enterpriseName: null,
+        site: null,
+        staffCode: null,
+        staffName: null,
+        phone: null,
+        post: null,
+        sex: null,
+        registerTime: null,
+        inspectTime: null,
+        area: 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
+      getPractitioner(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改从业人员";
+      });
+    },
+    /** 提交按钮 */
+    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) {
+            updatePractitioner(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPractitioner(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 delPractitioner(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('center-data/practitioner/export', {
+        ...this.queryParams
+      }, `从业人员_${format_date(new Date())}.xlsx`)
+    },
+    // 点击按钮修改是否只查询本级部门用户
+    changeQueryType() {
+      this.queryParams.deptName = this.queryParams.deptName === 0 ? 1 : 0;
+    }
+  }
+};
+</script>

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

@@ -0,0 +1,91 @@
+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.CenterdataTHousingconstructionCar;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionCarService;
+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("/housingCar")
+public class CenterdataTHousingconstructionCarController extends BaseController {
+    @Autowired
+    private ICenterdataTHousingconstructionCarService centerdataTHousingconstructionCarService;
+
+    /**
+     * 查询车辆数据列表
+     */
+    @RequiresPermissions("data:car:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        startPage();
+        List<CenterdataTHousingconstructionCar> list = centerdataTHousingconstructionCarService.selectCenterdataTHousingconstructionCarList(centerdataTHousingconstructionCar);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出车辆数据列表
+     */
+    @RequiresPermissions("data:car:export")
+    @Log(title = "车辆数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        List<CenterdataTHousingconstructionCar> list = centerdataTHousingconstructionCarService.selectCenterdataTHousingconstructionCarList(centerdataTHousingconstructionCar);
+        ExcelUtil<CenterdataTHousingconstructionCar> util = new ExcelUtil<CenterdataTHousingconstructionCar>(CenterdataTHousingconstructionCar.class);
+        util.exportExcel(response, list, "车辆数据数据");
+    }
+
+    /**
+     * 获取车辆数据详细信息
+     */
+    @RequiresPermissions("data:car:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success(centerdataTHousingconstructionCarService.selectCenterdataTHousingconstructionCarById(id));
+    }
+
+    /**
+     * 新增车辆数据
+     */
+    @RequiresPermissions("data:car:add")
+    @Log(title = "车辆数据", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        return toAjax(centerdataTHousingconstructionCarService.insertCenterdataTHousingconstructionCar(centerdataTHousingconstructionCar));
+    }
+
+    /**
+     * 修改车辆数据
+     */
+    @RequiresPermissions("data:car:edit")
+    @Log(title = "车辆数据", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        return toAjax(centerdataTHousingconstructionCarService.updateCenterdataTHousingconstructionCar(centerdataTHousingconstructionCar));
+    }
+
+    /**
+     * 删除车辆数据
+     */
+    @RequiresPermissions("data:car:remove")
+    @Log(title = "车辆数据", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(centerdataTHousingconstructionCarService.deleteCenterdataTHousingconstructionCarByIds(ids));
+    }
+}

+ 103 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionDeliveryPersonnelController.java

@@ -0,0 +1,103 @@
+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.CenterdataTHousingconstructionDeliveryPersonnel;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionDeliveryPersonnelService;
+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("/personnel")
+public class CenterdataTHousingconstructionDeliveryPersonnelController extends BaseController {
+    @Autowired
+    private ICenterdataTHousingconstructionDeliveryPersonnelService centerdataTHousingconstructionDeliveryPersonnelService;
+
+    /**
+     * 查询配送人员列表
+     */
+    @RequiresPermissions("data:personnel:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        startPage();
+        List<CenterdataTHousingconstructionDeliveryPersonnel> list = centerdataTHousingconstructionDeliveryPersonnelService.selectCenterdataTHousingconstructionDeliveryPersonnelList(centerdataTHousingconstructionDeliveryPersonnel);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出配送人员列表
+     */
+    @RequiresPermissions("data:personnel:export")
+    @Log(title = "配送人员", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        List<CenterdataTHousingconstructionDeliveryPersonnel> list = centerdataTHousingconstructionDeliveryPersonnelService.selectCenterdataTHousingconstructionDeliveryPersonnelList(centerdataTHousingconstructionDeliveryPersonnel);
+        ExcelUtil<CenterdataTHousingconstructionDeliveryPersonnel> util = new ExcelUtil<CenterdataTHousingconstructionDeliveryPersonnel>(CenterdataTHousingconstructionDeliveryPersonnel.class);
+        util.exportExcel(response, list, "配送人员数据");
+    }
+
+    /**
+     * 获取配送人员详细信息
+     */
+    @RequiresPermissions("data:personnel:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success(centerdataTHousingconstructionDeliveryPersonnelService.selectCenterdataTHousingconstructionDeliveryPersonnelById(id));
+    }
+
+    /**
+     * 新增配送人员
+     */
+    @RequiresPermissions("data:personnel:add")
+    @Log(title = "配送人员", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        return toAjax(centerdataTHousingconstructionDeliveryPersonnelService.insertCenterdataTHousingconstructionDeliveryPersonnel(centerdataTHousingconstructionDeliveryPersonnel));
+    }
+
+    /**
+     * 修改配送人员
+     */
+    @RequiresPermissions("data:personnel:edit")
+    @Log(title = "配送人员", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        return toAjax(centerdataTHousingconstructionDeliveryPersonnelService.updateCenterdataTHousingconstructionDeliveryPersonnel(centerdataTHousingconstructionDeliveryPersonnel));
+    }
+
+    /**
+     * 删除配送人员
+     */
+    @RequiresPermissions("data:personnel:remove")
+    @Log(title = "配送人员", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(centerdataTHousingconstructionDeliveryPersonnelService.deleteCenterdataTHousingconstructionDeliveryPersonnelByIds(ids));
+    }
+
+    /*
+    * 配送人员列表(不分页)
+    *
+    * @author 韩福成
+    * @date 2024/7/31 上午9:58
+    */
+    @GetMapping("/getList")
+    public AjaxResult getList(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        List<CenterdataTHousingconstructionDeliveryPersonnel> list = centerdataTHousingconstructionDeliveryPersonnelService.selectCenterdataTHousingconstructionDeliveryPersonnelList(centerdataTHousingconstructionDeliveryPersonnel);
+        return AjaxResult.success(list);
+    }
+}

+ 103 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/controller/CenterdataTHousingconstructionPractitionerController.java

@@ -0,0 +1,103 @@
+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.CenterdataTHousingconstructionPractitioner;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionPractitionerService;
+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("/practitioner")
+public class CenterdataTHousingconstructionPractitionerController extends BaseController {
+    @Autowired
+    private ICenterdataTHousingconstructionPractitionerService centerdataTHousingconstructionPractitionerService;
+
+    /**
+     * 查询从业人员列表
+     */
+    @RequiresPermissions("data:practitioner:list")
+    @GetMapping("/list")
+    public TableDataInfo list(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        startPage();
+        List<CenterdataTHousingconstructionPractitioner> list = centerdataTHousingconstructionPractitionerService.selectCenterdataTHousingconstructionPractitionerList(centerdataTHousingconstructionPractitioner);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出从业人员列表
+     */
+    @RequiresPermissions("data:practitioner:export")
+    @Log(title = "从业人员", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        List<CenterdataTHousingconstructionPractitioner> list = centerdataTHousingconstructionPractitionerService.selectCenterdataTHousingconstructionPractitionerList(centerdataTHousingconstructionPractitioner);
+        ExcelUtil<CenterdataTHousingconstructionPractitioner> util = new ExcelUtil<CenterdataTHousingconstructionPractitioner>(CenterdataTHousingconstructionPractitioner.class);
+        util.exportExcel(response, list, "从业人员数据");
+    }
+
+    /**
+     * 获取从业人员详细信息
+     */
+    @RequiresPermissions("data:practitioner:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id) {
+        return AjaxResult.success(centerdataTHousingconstructionPractitionerService.selectCenterdataTHousingconstructionPractitionerById(id));
+    }
+
+    /**
+     * 新增从业人员
+     */
+    @RequiresPermissions("data:practitioner:add")
+    @Log(title = "从业人员", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        return toAjax(centerdataTHousingconstructionPractitionerService.insertCenterdataTHousingconstructionPractitioner(centerdataTHousingconstructionPractitioner));
+    }
+
+    /**
+     * 修改从业人员
+     */
+    @RequiresPermissions("data:practitioner:edit")
+    @Log(title = "从业人员", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        return toAjax(centerdataTHousingconstructionPractitionerService.updateCenterdataTHousingconstructionPractitioner(centerdataTHousingconstructionPractitioner));
+    }
+
+    /**
+     * 删除从业人员
+     */
+    @RequiresPermissions("data:practitioner:remove")
+    @Log(title = "从业人员", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
+        return toAjax(centerdataTHousingconstructionPractitionerService.deleteCenterdataTHousingconstructionPractitionerByIds(ids));
+    }
+
+    /*
+    * 从业人员列表(不分页)
+    *
+    * @author 韩福成
+    * @date 2024/7/31 上午9:49
+    */
+    @GetMapping("/getList")
+    public AjaxResult getList(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        List<CenterdataTHousingconstructionPractitioner> list = centerdataTHousingconstructionPractitionerService.selectCenterdataTHousingconstructionPractitionerList(centerdataTHousingconstructionPractitioner);
+        return AjaxResult.success(list);
+    }
+}

+ 248 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionCar.java

@@ -0,0 +1,248 @@
+package com.sooka.sponest.data.housingconstruction.domain;
+
+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;
+
+/**
+ * 车辆数据对象 centerdata_t_housingconstruction_car
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public class CenterdataTHousingconstructionCar extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /**
+     * 企业id
+     */
+    private String enterpriseId;
+
+    /**
+     * 企业名称
+     */
+    @Excel(name = "企业名称")
+    private String enterpriseName;
+
+    /**
+     * 车牌号
+     */
+    @Excel(name = "车牌号")
+    private String carNumber;
+
+    /**
+     * 管理人员id
+     */
+    private String managerId;
+
+    /**
+     * 管理人员名称
+     */
+    @Excel(name = "管理人员名称")
+    private String managerName;
+
+    /**
+     * 司机id
+     */
+    private String driverId;
+
+    /**
+     * 司机名称
+     */
+    @Excel(name = "司机名称")
+    private String driverName;
+
+    /**
+     * 押运员id
+     */
+    private String escortId;
+
+    /**
+     * 押运员名称
+     */
+    @Excel(name = "押运员名称")
+    private String escortName;
+
+    /**
+     * 应急装备
+     */
+    @Excel(name = "应急装备")
+    private String emergencyEquipment;
+
+    /**
+     * 安全防护措施
+     */
+    @Excel(name = "安全防护措施")
+    private String protection;
+
+    /**
+     * 时速
+     */
+    @Excel(name = "时速")
+    private String speed;
+
+    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 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 setCarNumber(String carNumber) {
+        this.carNumber = carNumber;
+    }
+
+    public String getCarNumber() {
+        return carNumber;
+    }
+
+    public void setManagerId(String managerId) {
+        this.managerId = managerId;
+    }
+
+    public String getManagerId() {
+        return managerId;
+    }
+
+    public void setManagerName(String managerName) {
+        this.managerName = managerName;
+    }
+
+    public String getManagerName() {
+        return managerName;
+    }
+
+    public void setDriverId(String driverId) {
+        this.driverId = driverId;
+    }
+
+    public String getDriverId() {
+        return driverId;
+    }
+
+    public void setDriverName(String driverName) {
+        this.driverName = driverName;
+    }
+
+    public String getDriverName() {
+        return driverName;
+    }
+
+    public void setEscortId(String escortId) {
+        this.escortId = escortId;
+    }
+
+    public String getEscortId() {
+        return escortId;
+    }
+
+    public void setEscortName(String escortName) {
+        this.escortName = escortName;
+    }
+
+    public String getEscortName() {
+        return escortName;
+    }
+
+    public void setEmergencyEquipment(String emergencyEquipment) {
+        this.emergencyEquipment = emergencyEquipment;
+    }
+
+    public String getEmergencyEquipment() {
+        return emergencyEquipment;
+    }
+
+    public void setProtection(String protection) {
+        this.protection = protection;
+    }
+
+    public String getProtection() {
+        return protection;
+    }
+
+    public void setSpeed(String speed) {
+        this.speed = speed;
+    }
+
+    public String getSpeed() {
+        return speed;
+    }
+
+    @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("enterpriseId", getEnterpriseId())
+                .append("enterpriseName", getEnterpriseName())
+                .append("carNumber", getCarNumber())
+                .append("managerId", getManagerId())
+                .append("managerName", getManagerName())
+                .append("driverId", getDriverId())
+                .append("driverName", getDriverName())
+                .append("escortId", getEscortId())
+                .append("escortName", getEscortName())
+                .append("emergencyEquipment", getEmergencyEquipment())
+                .append("protection", getProtection())
+                .append("speed", getSpeed())
+                .toString();
+    }
+}

+ 225 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionDeliveryPersonnel.java

@@ -0,0 +1,225 @@
+package com.sooka.sponest.data.housingconstruction.domain;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sooka.sponest.data.base.domain.BaseBusinessEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 配送人员对象 centerdata_t_housingconstruction_delivery_personnel
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public class CenterdataTHousingconstructionDeliveryPersonnel extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /**
+     * 企业id
+     */
+    private String enterpriseId;
+
+    /**
+     * 企业名称
+     */
+    @Excel(name = "企业名称")
+    private String enterpriseName;
+
+    /**
+     * 所属站点
+     */
+    @Excel(name = "所属站点")
+    private String site;
+
+    /**
+     * 员工代码
+     */
+    @Excel(name = "员工代码")
+    private String staffCode;
+
+    /**
+     * 员工姓名
+     */
+    @Excel(name = "员工姓名")
+    private String staffName;
+
+    /**
+     * 电话号
+     */
+    @Excel(name = "电话号")
+    private String phone;
+
+    /**
+     * 身份证
+     */
+    @Excel(name = "身份证")
+    private String card;
+
+    /**
+     * 岗位
+     */
+    @Excel(name = "岗位",dictType = "personnel_post")
+    private String post;
+
+    /**
+     * 登记时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date registerTime;
+
+    /**
+     * 行政区域
+     */
+    @Excel(name = "行政区域")
+    private String area;
+
+    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 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 setSite(String site) {
+        this.site = site;
+    }
+
+    public String getSite() {
+        return site;
+    }
+
+    public void setStaffCode(String staffCode) {
+        this.staffCode = staffCode;
+    }
+
+    public String getStaffCode() {
+        return staffCode;
+    }
+
+    public void setStaffName(String staffName) {
+        this.staffName = staffName;
+    }
+
+    public String getStaffName() {
+        return staffName;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setCard(String card) {
+        this.card = card;
+    }
+
+    public String getCard() {
+        return card;
+    }
+
+    public void setPost(String post) {
+        this.post = post;
+    }
+
+    public String getPost() {
+        return post;
+    }
+
+    public void setRegisterTime(Date registerTime) {
+        this.registerTime = registerTime;
+    }
+
+    public Date getRegisterTime() {
+        return registerTime;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    @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("enterpriseId", getEnterpriseId())
+                .append("enterpriseName", getEnterpriseName())
+                .append("site", getSite())
+                .append("staffCode", getStaffCode())
+                .append("staffName", getStaffName())
+                .append("phone", getPhone())
+                .append("card", getCard())
+                .append("post", getPost())
+                .append("registerTime", getRegisterTime())
+                .append("area", getArea())
+                .toString();
+    }
+}

+ 240 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/domain/CenterdataTHousingconstructionPractitioner.java

@@ -0,0 +1,240 @@
+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_practitioner
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public class CenterdataTHousingconstructionPractitioner extends BaseBusinessEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private String id;
+
+    /**
+     * 部门id
+     */
+    private Long deptId;
+
+    /**
+     * 部门名称
+     */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /**
+     * 企业id
+     */
+    private String enterpriseId;
+
+    /**
+     * 企业名称
+     */
+    @Excel(name = "企业名称")
+    private String enterpriseName;
+
+    /**
+     * 所属站点
+     */
+    @Excel(name = "所属站点")
+    private String site;
+
+    /**
+     * 员工代码
+     */
+    @Excel(name = "员工代码")
+    private String staffCode;
+
+    /**
+     * 员工姓名
+     */
+    @Excel(name = "员工姓名")
+    private String staffName;
+
+    /**
+     * 电话号
+     */
+    @Excel(name = "电话号")
+    private String phone;
+
+    /**
+     * 岗位
+     */
+    @Excel(name = "岗位",dictType = "practitioner_post")
+    private String post;
+
+    /**
+     * 性别
+     */
+    @Excel(name = "性别",dictType = "sys_user_sex")
+    private String sex;
+
+    /**
+     * 登记时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date registerTime;
+
+    /**
+     * 年检时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "年检时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date inspectTime;
+
+    /**
+     * 行政区域
+     */
+    @Excel(name = "行政区域")
+    private String area;
+
+    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 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 setSite(String site) {
+        this.site = site;
+    }
+
+    public String getSite() {
+        return site;
+    }
+
+    public void setStaffCode(String staffCode) {
+        this.staffCode = staffCode;
+    }
+
+    public String getStaffCode() {
+        return staffCode;
+    }
+
+    public void setStaffName(String staffName) {
+        this.staffName = staffName;
+    }
+
+    public String getStaffName() {
+        return staffName;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPost(String post) {
+        this.post = post;
+    }
+
+    public String getPost() {
+        return post;
+    }
+
+    public void setSex(String sex) {
+        this.sex = sex;
+    }
+
+    public String getSex() {
+        return sex;
+    }
+
+    public void setRegisterTime(Date registerTime) {
+        this.registerTime = registerTime;
+    }
+
+    public Date getRegisterTime() {
+        return registerTime;
+    }
+
+    public void setInspectTime(Date inspectTime) {
+        this.inspectTime = inspectTime;
+    }
+
+    public Date getInspectTime() {
+        return inspectTime;
+    }
+
+    public void setArea(String area) {
+        this.area = area;
+    }
+
+    public String getArea() {
+        return area;
+    }
+
+    @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("enterpriseId", getEnterpriseId())
+                .append("enterpriseName", getEnterpriseName())
+                .append("site", getSite())
+                .append("staffCode", getStaffCode())
+                .append("staffName", getStaffName())
+                .append("phone", getPhone())
+                .append("post", getPost())
+                .append("sex", getSex())
+                .append("registerTime", getRegisterTime())
+                .append("inspectTime", getInspectTime())
+                .append("area", getArea())
+                .toString();
+    }
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionCarMapper.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.housingconstruction.mapper;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionCar;
+
+import java.util.List;
+
+/**
+ * 车辆数据Mapper接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface CenterdataTHousingconstructionCarMapper {
+    /**
+     * 查询车辆数据
+     *
+     * @param id 车辆数据主键
+     * @return 车辆数据
+     */
+    public CenterdataTHousingconstructionCar selectCenterdataTHousingconstructionCarById(String id);
+
+    /**
+     * 查询车辆数据列表
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 车辆数据集合
+     */
+    public List<CenterdataTHousingconstructionCar> selectCenterdataTHousingconstructionCarList(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar);
+
+    /**
+     * 新增车辆数据
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionCar(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar);
+
+    /**
+     * 修改车辆数据
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionCar(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar);
+
+    /**
+     * 删除车辆数据
+     *
+     * @param id 车辆数据主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionCarById(String id);
+
+    /**
+     * 批量删除车辆数据
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionCarByIds(String[] ids);
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionDeliveryPersonnelMapper.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.housingconstruction.mapper;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionDeliveryPersonnel;
+
+import java.util.List;
+
+/**
+ * 配送人员Mapper接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface CenterdataTHousingconstructionDeliveryPersonnelMapper {
+    /**
+     * 查询配送人员
+     *
+     * @param id 配送人员主键
+     * @return 配送人员
+     */
+    public CenterdataTHousingconstructionDeliveryPersonnel selectCenterdataTHousingconstructionDeliveryPersonnelById(String id);
+
+    /**
+     * 查询配送人员列表
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 配送人员集合
+     */
+    public List<CenterdataTHousingconstructionDeliveryPersonnel> selectCenterdataTHousingconstructionDeliveryPersonnelList(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel);
+
+    /**
+     * 新增配送人员
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionDeliveryPersonnel(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel);
+
+    /**
+     * 修改配送人员
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionDeliveryPersonnel(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel);
+
+    /**
+     * 删除配送人员
+     *
+     * @param id 配送人员主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionDeliveryPersonnelById(String id);
+
+    /**
+     * 批量删除配送人员
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionDeliveryPersonnelByIds(String[] ids);
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/mapper/CenterdataTHousingconstructionPractitionerMapper.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.housingconstruction.mapper;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionPractitioner;
+
+import java.util.List;
+
+/**
+ * 从业人员Mapper接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface CenterdataTHousingconstructionPractitionerMapper {
+    /**
+     * 查询从业人员
+     *
+     * @param id 从业人员主键
+     * @return 从业人员
+     */
+    public CenterdataTHousingconstructionPractitioner selectCenterdataTHousingconstructionPractitionerById(String id);
+
+    /**
+     * 查询从业人员列表
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 从业人员集合
+     */
+    public List<CenterdataTHousingconstructionPractitioner> selectCenterdataTHousingconstructionPractitionerList(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner);
+
+    /**
+     * 新增从业人员
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionPractitioner(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner);
+
+    /**
+     * 修改从业人员
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionPractitioner(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner);
+
+    /**
+     * 删除从业人员
+     *
+     * @param id 从业人员主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionPractitionerById(String id);
+
+    /**
+     * 批量删除从业人员
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionPractitionerByIds(String[] ids);
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionCarService.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.housingconstruction.service;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionCar;
+
+import java.util.List;
+
+/**
+ * 车辆数据Service接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface ICenterdataTHousingconstructionCarService {
+    /**
+     * 查询车辆数据
+     *
+     * @param id 车辆数据主键
+     * @return 车辆数据
+     */
+    public CenterdataTHousingconstructionCar selectCenterdataTHousingconstructionCarById(String id);
+
+    /**
+     * 查询车辆数据列表
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 车辆数据集合
+     */
+    public List<CenterdataTHousingconstructionCar> selectCenterdataTHousingconstructionCarList(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar);
+
+    /**
+     * 新增车辆数据
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionCar(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar);
+
+    /**
+     * 修改车辆数据
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionCar(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar);
+
+    /**
+     * 批量删除车辆数据
+     *
+     * @param ids 需要删除的车辆数据主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionCarByIds(String[] ids);
+
+    /**
+     * 删除车辆数据信息
+     *
+     * @param id 车辆数据主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionCarById(String id);
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionDeliveryPersonnelService.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.housingconstruction.service;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionDeliveryPersonnel;
+
+import java.util.List;
+
+/**
+ * 配送人员Service接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface ICenterdataTHousingconstructionDeliveryPersonnelService {
+    /**
+     * 查询配送人员
+     *
+     * @param id 配送人员主键
+     * @return 配送人员
+     */
+    public CenterdataTHousingconstructionDeliveryPersonnel selectCenterdataTHousingconstructionDeliveryPersonnelById(String id);
+
+    /**
+     * 查询配送人员列表
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 配送人员集合
+     */
+    public List<CenterdataTHousingconstructionDeliveryPersonnel> selectCenterdataTHousingconstructionDeliveryPersonnelList(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel);
+
+    /**
+     * 新增配送人员
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionDeliveryPersonnel(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel);
+
+    /**
+     * 修改配送人员
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionDeliveryPersonnel(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel);
+
+    /**
+     * 批量删除配送人员
+     *
+     * @param ids 需要删除的配送人员主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionDeliveryPersonnelByIds(String[] ids);
+
+    /**
+     * 删除配送人员信息
+     *
+     * @param id 配送人员主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionDeliveryPersonnelById(String id);
+}

+ 62 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/ICenterdataTHousingconstructionPractitionerService.java

@@ -0,0 +1,62 @@
+package com.sooka.sponest.data.housingconstruction.service;
+
+
+import com.sooka.sponest.data.housingconstruction.domain.CenterdataTHousingconstructionPractitioner;
+
+import java.util.List;
+
+/**
+ * 从业人员Service接口
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+public interface ICenterdataTHousingconstructionPractitionerService {
+    /**
+     * 查询从业人员
+     *
+     * @param id 从业人员主键
+     * @return 从业人员
+     */
+    public CenterdataTHousingconstructionPractitioner selectCenterdataTHousingconstructionPractitionerById(String id);
+
+    /**
+     * 查询从业人员列表
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 从业人员集合
+     */
+    public List<CenterdataTHousingconstructionPractitioner> selectCenterdataTHousingconstructionPractitionerList(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner);
+
+    /**
+     * 新增从业人员
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 结果
+     */
+    public int insertCenterdataTHousingconstructionPractitioner(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner);
+
+    /**
+     * 修改从业人员
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 结果
+     */
+    public int updateCenterdataTHousingconstructionPractitioner(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner);
+
+    /**
+     * 批量删除从业人员
+     *
+     * @param ids 需要删除的从业人员主键集合
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionPractitionerByIds(String[] ids);
+
+    /**
+     * 删除从业人员信息
+     *
+     * @param id 从业人员主键
+     * @return 结果
+     */
+    public int deleteCenterdataTHousingconstructionPractitionerById(String id);
+}

+ 101 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionCarServiceImpl.java

@@ -0,0 +1,101 @@
+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.CenterdataTHousingconstructionCar;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionCarMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionCarService;
+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 CenterdataTHousingconstructionCarServiceImpl extends BaseServiceImpl implements ICenterdataTHousingconstructionCarService {
+    @Autowired
+    private CenterdataTHousingconstructionCarMapper centerdataTHousingconstructionCarMapper;
+
+    /**
+     * 查询车辆数据
+     *
+     * @param id 车辆数据主键
+     * @return 车辆数据
+     */
+    @Override
+    public CenterdataTHousingconstructionCar selectCenterdataTHousingconstructionCarById(String id) {
+        return centerdataTHousingconstructionCarMapper.selectCenterdataTHousingconstructionCarById(id);
+    }
+
+    /**
+     * 查询车辆数据列表
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 车辆数据
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTHousingconstructionCar> selectCenterdataTHousingconstructionCarList(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        setSookaDataBase(centerdataTHousingconstructionCar);
+        return centerdataTHousingconstructionCarMapper.selectCenterdataTHousingconstructionCarList(centerdataTHousingconstructionCar);
+    }
+
+    /**
+     * 新增车辆数据
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 结果
+     */
+    @Override
+    public int insertCenterdataTHousingconstructionCar(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        centerdataTHousingconstructionCar.setId(IdUtils.fastSimpleUUID());
+        centerdataTHousingconstructionCar.setCreateBy(SecurityUtils.getUserId().toString());
+        centerdataTHousingconstructionCar.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionCar.setCreateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionCarMapper.insertCenterdataTHousingconstructionCar(centerdataTHousingconstructionCar);
+    }
+
+    /**
+     * 修改车辆数据
+     *
+     * @param centerdataTHousingconstructionCar 车辆数据
+     * @return 结果
+     */
+    @Override
+    public int updateCenterdataTHousingconstructionCar(CenterdataTHousingconstructionCar centerdataTHousingconstructionCar) {
+        centerdataTHousingconstructionCar.setUpdateBy(SecurityUtils.getUserId());
+        centerdataTHousingconstructionCar.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionCar.setUpdateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionCarMapper.updateCenterdataTHousingconstructionCar(centerdataTHousingconstructionCar);
+    }
+
+    /**
+     * 批量删除车辆数据
+     *
+     * @param ids 需要删除的车辆数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionCarByIds(String[] ids) {
+        return centerdataTHousingconstructionCarMapper.deleteCenterdataTHousingconstructionCarByIds(ids);
+    }
+
+    /**
+     * 删除车辆数据信息
+     *
+     * @param id 车辆数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionCarById(String id) {
+        return centerdataTHousingconstructionCarMapper.deleteCenterdataTHousingconstructionCarById(id);
+    }
+}

+ 101 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionDeliveryPersonnelServiceImpl.java

@@ -0,0 +1,101 @@
+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.CenterdataTHousingconstructionDeliveryPersonnel;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionDeliveryPersonnelMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionDeliveryPersonnelService;
+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 CenterdataTHousingconstructionDeliveryPersonnelServiceImpl extends BaseServiceImpl implements ICenterdataTHousingconstructionDeliveryPersonnelService {
+    @Autowired
+    private CenterdataTHousingconstructionDeliveryPersonnelMapper centerdataTHousingconstructionDeliveryPersonnelMapper;
+
+    /**
+     * 查询配送人员
+     *
+     * @param id 配送人员主键
+     * @return 配送人员
+     */
+    @Override
+    public CenterdataTHousingconstructionDeliveryPersonnel selectCenterdataTHousingconstructionDeliveryPersonnelById(String id) {
+        return centerdataTHousingconstructionDeliveryPersonnelMapper.selectCenterdataTHousingconstructionDeliveryPersonnelById(id);
+    }
+
+    /**
+     * 查询配送人员列表
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 配送人员
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTHousingconstructionDeliveryPersonnel> selectCenterdataTHousingconstructionDeliveryPersonnelList(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        setSookaDataBase(centerdataTHousingconstructionDeliveryPersonnel);
+        return centerdataTHousingconstructionDeliveryPersonnelMapper.selectCenterdataTHousingconstructionDeliveryPersonnelList(centerdataTHousingconstructionDeliveryPersonnel);
+    }
+
+    /**
+     * 新增配送人员
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 结果
+     */
+    @Override
+    public int insertCenterdataTHousingconstructionDeliveryPersonnel(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        centerdataTHousingconstructionDeliveryPersonnel.setId(IdUtils.fastSimpleUUID());
+        centerdataTHousingconstructionDeliveryPersonnel.setCreateBy(SecurityUtils.getUserId().toString());
+        centerdataTHousingconstructionDeliveryPersonnel.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionDeliveryPersonnel.setCreateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionDeliveryPersonnelMapper.insertCenterdataTHousingconstructionDeliveryPersonnel(centerdataTHousingconstructionDeliveryPersonnel);
+    }
+
+    /**
+     * 修改配送人员
+     *
+     * @param centerdataTHousingconstructionDeliveryPersonnel 配送人员
+     * @return 结果
+     */
+    @Override
+    public int updateCenterdataTHousingconstructionDeliveryPersonnel(CenterdataTHousingconstructionDeliveryPersonnel centerdataTHousingconstructionDeliveryPersonnel) {
+        centerdataTHousingconstructionDeliveryPersonnel.setUpdateBy(SecurityUtils.getUserId());
+        centerdataTHousingconstructionDeliveryPersonnel.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionDeliveryPersonnel.setUpdateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionDeliveryPersonnelMapper.updateCenterdataTHousingconstructionDeliveryPersonnel(centerdataTHousingconstructionDeliveryPersonnel);
+    }
+
+    /**
+     * 批量删除配送人员
+     *
+     * @param ids 需要删除的配送人员主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionDeliveryPersonnelByIds(String[] ids) {
+        return centerdataTHousingconstructionDeliveryPersonnelMapper.deleteCenterdataTHousingconstructionDeliveryPersonnelByIds(ids);
+    }
+
+    /**
+     * 删除配送人员信息
+     *
+     * @param id 配送人员主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionDeliveryPersonnelById(String id) {
+        return centerdataTHousingconstructionDeliveryPersonnelMapper.deleteCenterdataTHousingconstructionDeliveryPersonnelById(id);
+    }
+}

+ 101 - 0
src/main/java/com/sooka/sponest/data/housingconstruction/service/impl/CenterdataTHousingconstructionPractitionerServiceImpl.java

@@ -0,0 +1,101 @@
+package com.sooka.sponest.data.housingconstruction.service.impl;
+
+import java.util.List;
+
+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.CenterdataTHousingconstructionPractitioner;
+import com.sooka.sponest.data.housingconstruction.mapper.CenterdataTHousingconstructionPractitionerMapper;
+import com.sooka.sponest.data.housingconstruction.service.ICenterdataTHousingconstructionPractitionerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 从业人员Service业务层处理
+ *
+ * @author 韩福成
+ * @date 2024-07-30
+ */
+@Service
+public class CenterdataTHousingconstructionPractitionerServiceImpl extends BaseServiceImpl implements ICenterdataTHousingconstructionPractitionerService {
+    @Autowired
+    private CenterdataTHousingconstructionPractitionerMapper centerdataTHousingconstructionPractitionerMapper;
+
+    /**
+     * 查询从业人员
+     *
+     * @param id 从业人员主键
+     * @return 从业人员
+     */
+    @Override
+    public CenterdataTHousingconstructionPractitioner selectCenterdataTHousingconstructionPractitionerById(String id) {
+        return centerdataTHousingconstructionPractitionerMapper.selectCenterdataTHousingconstructionPractitionerById(id);
+    }
+
+    /**
+     * 查询从业人员列表
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 从业人员
+     */
+    @DataScopeMutiDept(deptAlias = "d")
+    @Override
+    public List<CenterdataTHousingconstructionPractitioner> selectCenterdataTHousingconstructionPractitionerList(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        setSookaDataBase(centerdataTHousingconstructionPractitioner);
+        return centerdataTHousingconstructionPractitionerMapper.selectCenterdataTHousingconstructionPractitionerList(centerdataTHousingconstructionPractitioner);
+    }
+
+    /**
+     * 新增从业人员
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 结果
+     */
+    @Override
+    public int insertCenterdataTHousingconstructionPractitioner(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        centerdataTHousingconstructionPractitioner.setId(IdUtils.fastSimpleUUID());
+        centerdataTHousingconstructionPractitioner.setCreateBy(SecurityUtils.getUserId().toString());
+        centerdataTHousingconstructionPractitioner.setCreateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionPractitioner.setCreateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionPractitionerMapper.insertCenterdataTHousingconstructionPractitioner(centerdataTHousingconstructionPractitioner);
+    }
+
+    /**
+     * 修改从业人员
+     *
+     * @param centerdataTHousingconstructionPractitioner 从业人员
+     * @return 结果
+     */
+    @Override
+    public int updateCenterdataTHousingconstructionPractitioner(CenterdataTHousingconstructionPractitioner centerdataTHousingconstructionPractitioner) {
+        centerdataTHousingconstructionPractitioner.setUpdateBy(SecurityUtils.getUserId());
+        centerdataTHousingconstructionPractitioner.setUpdateName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        centerdataTHousingconstructionPractitioner.setUpdateTime(DateUtils.getNowDate());
+        return centerdataTHousingconstructionPractitionerMapper.updateCenterdataTHousingconstructionPractitioner(centerdataTHousingconstructionPractitioner);
+    }
+
+    /**
+     * 批量删除从业人员
+     *
+     * @param ids 需要删除的从业人员主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionPractitionerByIds(String[] ids) {
+        return centerdataTHousingconstructionPractitionerMapper.deleteCenterdataTHousingconstructionPractitionerByIds(ids);
+    }
+
+    /**
+     * 删除从业人员信息
+     *
+     * @param id 从业人员主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCenterdataTHousingconstructionPractitionerById(String id) {
+        return centerdataTHousingconstructionPractitionerMapper.deleteCenterdataTHousingconstructionPractitionerById(id);
+    }
+}

+ 159 - 0
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionCarMapper.xml

@@ -0,0 +1,159 @@
+<?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.CenterdataTHousingconstructionCarMapper">
+
+    <resultMap type="CenterdataTHousingconstructionCar" id="CenterdataTHousingconstructionCarResult">
+        <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="enterpriseId"    column="enterprise_id"    />
+        <result property="enterpriseName"    column="enterprise_name"    />
+        <result property="carNumber"    column="car_number"    />
+        <result property="managerId"    column="manager_id"    />
+        <result property="managerName"    column="manager_name"    />
+        <result property="driverId"    column="driver_id"    />
+        <result property="driverName"    column="driver_name"    />
+        <result property="escortId"    column="escort_id"    />
+        <result property="escortName"    column="escort_name"    />
+        <result property="emergencyEquipment"    column="emergency_equipment"    />
+        <result property="protection"    column="protection"    />
+        <result property="speed"    column="speed"    />
+    </resultMap>
+
+    <sql id="selectCenterdataTHousingconstructionCarVo">
+        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.enterprise_id,
+               a.enterprise_name, a.car_number, a.manager_id, a.manager_name, a.driver_id, a.driver_name, a.escort_id, a.escort_name, a.emergency_equipment,
+               a.protection, a.speed from centerdata_t_housingconstruction_car a
+    </sql>
+
+    <select id="selectCenterdataTHousingconstructionCarList" parameterType="CenterdataTHousingconstructionCar" resultMap="CenterdataTHousingconstructionCarResult">
+        <include refid="selectCenterdataTHousingconstructionCarVo"/>
+        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="enterpriseId != null  and enterpriseId != ''"> and enterprise_id = #{enterpriseId}</if>
+            <if test="enterpriseName != null  and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
+            <if test="carNumber != null  and carNumber != ''"> and car_number like concat('%', #{carNumber}, '%')</if>
+            <if test="managerId != null  and managerId != ''"> and manager_id = #{managerId}</if>
+            <if test="managerName != null  and managerName != ''"> and manager_name like concat('%', #{managerName}, '%')</if>
+            <if test="driverId != null  and driverId != ''"> and driver_id = #{driverId}</if>
+            <if test="driverName != null  and driverName != ''"> and driver_name like concat('%', #{driverName}, '%')</if>
+            <if test="escortId != null  and escortId != ''"> and escort_id = #{escortId}</if>
+            <if test="escortName != null  and escortName != ''"> and escort_name like concat('%', #{escortName}, '%')</if>
+            <if test="emergencyEquipment != null  and emergencyEquipment != ''"> and emergency_equipment = #{emergencyEquipment}</if>
+            <if test="protection != null  and protection != ''"> and protection = #{protection}</if>
+            <if test="speed != null  and speed != ''"> and speed = #{speed}</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>
+    </select>
+
+    <select id="selectCenterdataTHousingconstructionCarById" parameterType="String" resultMap="CenterdataTHousingconstructionCarResult">
+        <include refid="selectCenterdataTHousingconstructionCarVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertCenterdataTHousingconstructionCar" parameterType="CenterdataTHousingconstructionCar">
+        insert into centerdata_t_housingconstruction_car
+        <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="enterpriseId != null">enterprise_id,</if>
+            <if test="enterpriseName != null">enterprise_name,</if>
+            <if test="carNumber != null">car_number,</if>
+            <if test="managerId != null">manager_id,</if>
+            <if test="managerName != null">manager_name,</if>
+            <if test="driverId != null">driver_id,</if>
+            <if test="driverName != null">driver_name,</if>
+            <if test="escortId != null">escort_id,</if>
+            <if test="escortName != null">escort_name,</if>
+            <if test="emergencyEquipment != null">emergency_equipment,</if>
+            <if test="protection != null">protection,</if>
+            <if test="speed != null">speed,</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="enterpriseId != null">#{enterpriseId},</if>
+            <if test="enterpriseName != null">#{enterpriseName},</if>
+            <if test="carNumber != null">#{carNumber},</if>
+            <if test="managerId != null">#{managerId},</if>
+            <if test="managerName != null">#{managerName},</if>
+            <if test="driverId != null">#{driverId},</if>
+            <if test="driverName != null">#{driverName},</if>
+            <if test="escortId != null">#{escortId},</if>
+            <if test="escortName != null">#{escortName},</if>
+            <if test="emergencyEquipment != null">#{emergencyEquipment},</if>
+            <if test="protection != null">#{protection},</if>
+            <if test="speed != null">#{speed},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCenterdataTHousingconstructionCar" parameterType="CenterdataTHousingconstructionCar">
+        update centerdata_t_housingconstruction_car
+        <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="enterpriseId != null">enterprise_id = #{enterpriseId},</if>
+            <if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
+            <if test="carNumber != null">car_number = #{carNumber},</if>
+            <if test="managerId != null">manager_id = #{managerId},</if>
+            <if test="managerName != null">manager_name = #{managerName},</if>
+            <if test="driverId != null">driver_id = #{driverId},</if>
+            <if test="driverName != null">driver_name = #{driverName},</if>
+            <if test="escortId != null">escort_id = #{escortId},</if>
+            <if test="escortName != null">escort_name = #{escortName},</if>
+            <if test="emergencyEquipment != null">emergency_equipment = #{emergencyEquipment},</if>
+            <if test="protection != null">protection = #{protection},</if>
+            <if test="speed != null">speed = #{speed},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCenterdataTHousingconstructionCarById" parameterType="String">
+        delete from centerdata_t_housingconstruction_car where id = #{id}
+    </delete>
+
+    <delete id="deleteCenterdataTHousingconstructionCarByIds" parameterType="String">
+        delete from centerdata_t_housingconstruction_car where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 148 - 0
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionDeliveryPersonnelMapper.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.CenterdataTHousingconstructionDeliveryPersonnelMapper">
+
+    <resultMap type="CenterdataTHousingconstructionDeliveryPersonnel" id="CenterdataTHousingconstructionDeliveryPersonnelResult">
+        <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="enterpriseId"    column="enterprise_id"    />
+        <result property="enterpriseName"    column="enterprise_name"    />
+        <result property="site"    column="site"    />
+        <result property="staffCode"    column="staff_code"    />
+        <result property="staffName"    column="staff_name"    />
+        <result property="phone"    column="phone"    />
+        <result property="card"    column="card"    />
+        <result property="post"    column="post"    />
+        <result property="registerTime"    column="register_time"    />
+        <result property="area"    column="area"    />
+    </resultMap>
+
+    <sql id="selectCenterdataTHousingconstructionDeliveryPersonnelVo">
+        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.enterprise_id, a.enterprise_name,
+               a.site, a.staff_code, a.staff_name, a.phone, a.card, a.post, a.register_time, a.area from centerdata_t_housingconstruction_delivery_personnel a
+    </sql>
+
+    <select id="selectCenterdataTHousingconstructionDeliveryPersonnelList" parameterType="CenterdataTHousingconstructionDeliveryPersonnel" resultMap="CenterdataTHousingconstructionDeliveryPersonnelResult">
+        <include refid="selectCenterdataTHousingconstructionDeliveryPersonnelVo"/>
+        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="enterpriseId != null  and enterpriseId != ''"> and enterprise_id = #{enterpriseId}</if>
+            <if test="enterpriseName != null  and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
+            <if test="site != null  and site != ''"> and site = #{site}</if>
+            <if test="staffCode != null  and staffCode != ''"> and staff_code = #{staffCode}</if>
+            <if test="staffName != null  and staffName != ''"> and staff_name like concat('%', #{staffName}, '%')</if>
+            <if test="phone != null  and phone != ''"> and a.phone = #{phone}</if>
+            <if test="card != null  and card != ''"> and card = #{card}</if>
+            <if test="post != null  and post != ''"> and post = #{post}</if>
+            <if test="registerTime != null "> and register_time = #{registerTime}</if>
+            <if test="area != null  and area != ''"> and area = #{area}</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>
+    </select>
+
+    <select id="selectCenterdataTHousingconstructionDeliveryPersonnelById" parameterType="String" resultMap="CenterdataTHousingconstructionDeliveryPersonnelResult">
+        <include refid="selectCenterdataTHousingconstructionDeliveryPersonnelVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertCenterdataTHousingconstructionDeliveryPersonnel" parameterType="CenterdataTHousingconstructionDeliveryPersonnel">
+        insert into centerdata_t_housingconstruction_delivery_personnel
+        <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="enterpriseId != null">enterprise_id,</if>
+            <if test="enterpriseName != null">enterprise_name,</if>
+            <if test="site != null">site,</if>
+            <if test="staffCode != null">staff_code,</if>
+            <if test="staffName != null">staff_name,</if>
+            <if test="phone != null">phone,</if>
+            <if test="card != null">card,</if>
+            <if test="post != null">post,</if>
+            <if test="registerTime != null">register_time,</if>
+            <if test="area != null">area,</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="enterpriseId != null">#{enterpriseId},</if>
+            <if test="enterpriseName != null">#{enterpriseName},</if>
+            <if test="site != null">#{site},</if>
+            <if test="staffCode != null">#{staffCode},</if>
+            <if test="staffName != null">#{staffName},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="card != null">#{card},</if>
+            <if test="post != null">#{post},</if>
+            <if test="registerTime != null">#{registerTime},</if>
+            <if test="area != null">#{area},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCenterdataTHousingconstructionDeliveryPersonnel" parameterType="CenterdataTHousingconstructionDeliveryPersonnel">
+        update centerdata_t_housingconstruction_delivery_personnel
+        <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="enterpriseId != null">enterprise_id = #{enterpriseId},</if>
+            <if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
+            <if test="site != null">site = #{site},</if>
+            <if test="staffCode != null">staff_code = #{staffCode},</if>
+            <if test="staffName != null">staff_name = #{staffName},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="card != null">card = #{card},</if>
+            <if test="post != null">post = #{post},</if>
+            <if test="registerTime != null">register_time = #{registerTime},</if>
+            <if test="area != null">area = #{area},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCenterdataTHousingconstructionDeliveryPersonnelById" parameterType="String">
+        delete from centerdata_t_housingconstruction_delivery_personnel where id = #{id}
+    </delete>
+
+    <delete id="deleteCenterdataTHousingconstructionDeliveryPersonnelByIds" parameterType="String">
+        delete from centerdata_t_housingconstruction_delivery_personnel where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 153 - 0
src/main/resources/mapper/housingconstruction/CenterdataTHousingconstructionPractitionerMapper.xml

@@ -0,0 +1,153 @@
+<?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.CenterdataTHousingconstructionPractitionerMapper">
+
+    <resultMap type="CenterdataTHousingconstructionPractitioner" id="CenterdataTHousingconstructionPractitionerResult">
+        <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="enterpriseId"    column="enterprise_id"    />
+        <result property="enterpriseName"    column="enterprise_name"    />
+        <result property="site"    column="site"    />
+        <result property="staffCode"    column="staff_code"    />
+        <result property="staffName"    column="staff_name"    />
+        <result property="phone"    column="phone"    />
+        <result property="post"    column="post"    />
+        <result property="sex"    column="sex"    />
+        <result property="registerTime"    column="register_time"    />
+        <result property="inspectTime"    column="inspect_time"    />
+        <result property="area"    column="area"    />
+    </resultMap>
+
+    <sql id="selectCenterdataTHousingconstructionPractitionerVo">
+        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.enterprise_id, a.enterprise_name,
+               a.site, a.staff_code, a.staff_name, a.phone, a.post, a.sex, a.register_time, a.inspect_time, a.area from centerdata_t_housingconstruction_practitioner a
+    </sql>
+
+    <select id="selectCenterdataTHousingconstructionPractitionerList" parameterType="CenterdataTHousingconstructionPractitioner" resultMap="CenterdataTHousingconstructionPractitionerResult">
+        <include refid="selectCenterdataTHousingconstructionPractitionerVo"/>
+        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="enterpriseId != null  and enterpriseId != ''"> and enterprise_id = #{enterpriseId}</if>
+            <if test="enterpriseName != null  and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if>
+            <if test="site != null  and site != ''"> and site = #{site}</if>
+            <if test="staffCode != null  and staffCode != ''"> and staff_code = #{staffCode}</if>
+            <if test="staffName != null  and staffName != ''"> and staff_name like concat('%', #{staffName}, '%')</if>
+            <if test="phone != null  and phone != ''"> and a.phone = #{phone}</if>
+            <if test="post != null  and post != ''"> and post = #{post}</if>
+            <if test="sex != null  and sex != ''"> and sex = #{sex}</if>
+            <if test="registerTime != null "> and register_time = #{registerTime}</if>
+            <if test="inspectTime != null "> and inspect_time = #{inspectTime}</if>
+            <if test="area != null  and area != ''"> and area = #{area}</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>
+    </select>
+
+    <select id="selectCenterdataTHousingconstructionPractitionerById" parameterType="String" resultMap="CenterdataTHousingconstructionPractitionerResult">
+        <include refid="selectCenterdataTHousingconstructionPractitionerVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertCenterdataTHousingconstructionPractitioner" parameterType="CenterdataTHousingconstructionPractitioner">
+        insert into centerdata_t_housingconstruction_practitioner
+        <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="enterpriseId != null">enterprise_id,</if>
+            <if test="enterpriseName != null">enterprise_name,</if>
+            <if test="site != null">site,</if>
+            <if test="staffCode != null">staff_code,</if>
+            <if test="staffName != null">staff_name,</if>
+            <if test="phone != null">phone,</if>
+            <if test="post != null">post,</if>
+            <if test="sex != null">sex,</if>
+            <if test="registerTime != null">register_time,</if>
+            <if test="inspectTime != null">inspect_time,</if>
+            <if test="area != null">area,</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="enterpriseId != null">#{enterpriseId},</if>
+            <if test="enterpriseName != null">#{enterpriseName},</if>
+            <if test="site != null">#{site},</if>
+            <if test="staffCode != null">#{staffCode},</if>
+            <if test="staffName != null">#{staffName},</if>
+            <if test="phone != null">#{phone},</if>
+            <if test="post != null">#{post},</if>
+            <if test="sex != null">#{sex},</if>
+            <if test="registerTime != null">#{registerTime},</if>
+            <if test="inspectTime != null">#{inspectTime},</if>
+            <if test="area != null">#{area},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCenterdataTHousingconstructionPractitioner" parameterType="CenterdataTHousingconstructionPractitioner">
+        update centerdata_t_housingconstruction_practitioner
+        <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="enterpriseId != null">enterprise_id = #{enterpriseId},</if>
+            <if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
+            <if test="site != null">site = #{site},</if>
+            <if test="staffCode != null">staff_code = #{staffCode},</if>
+            <if test="staffName != null">staff_name = #{staffName},</if>
+            <if test="phone != null">phone = #{phone},</if>
+            <if test="post != null">post = #{post},</if>
+            <if test="sex != null">sex = #{sex},</if>
+            <if test="registerTime != null">register_time = #{registerTime},</if>
+            <if test="inspectTime != null">inspect_time = #{inspectTime},</if>
+            <if test="area != null">area = #{area},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteCenterdataTHousingconstructionPractitionerById" parameterType="String">
+        delete from centerdata_t_housingconstruction_practitioner where id = #{id}
+    </delete>
+
+    <delete id="deleteCenterdataTHousingconstructionPractitionerByIds" parameterType="String">
+        delete from centerdata_t_housingconstruction_practitioner where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>