jiangping
2024-01-30 4d2251a4054b3d799a9ee8d0c04da82cbd6f34a2
开发业务接口
已修改6个文件
259 ■■■■■ 文件已修改
company/.env.development 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/dispatchReview.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/dispatchUnitDetailsPlat.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/dispatchUnit.vue 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/DuWorktype.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.development
@@ -2,13 +2,12 @@
NODE_ENV = 'development'
# 企业端-仁康
VUE_APP_API = 'http://192.168.0.134:10025/'
#VUE_APP_API = 'http://192.168.0.134:10025/'
# 平台端-仁康
# VUE_APP_API = 'http://192.168.0.134:10023/'
# VUE_APP_API = 'http://192.168.0.134:10023/'
 VUE_APP_API = 'http://localhost:10023/'
# VUE_APP_API = 'http://localhost:10023/'
# VUE_APP_API = 'http://192.168.0.134:10023/'
company/src/components/business/dispatchReview.vue
@@ -10,7 +10,7 @@
        <div class="form_item">
          <div class="form_item_label"><span>*</span>审核说明:</div>
          <div class="form_item_val">
            <el-input type="textarea" v-model="form.checkInfo" :rows="2" placeholder="请输入"></el-input>
            <el-input type="textarea" v-model="checkInfo" :rows="2" placeholder="请输入"></el-input>
          </div>
        </div>
      </div>
@@ -67,8 +67,8 @@
        data () {
            return {
                // 表单数据
              checkInfo:'',
                form: {
                  checkInfo:'',
                  duSolutionList:[]
                },
              duSolutionList:[],
@@ -90,7 +90,8 @@
            this.title=title
            this.visible=true
            this.form ={}
            this.form = target;
            this.checkInfo=''
            this.form = target
            this.duSolutionList=[]
            var duSolutionList = this.form.duSolutionList;
            duSolutionList.forEach(item => {
@@ -115,7 +116,7 @@
            this.$dialog.messageConfirm('确认进行该操作吗?')
                .then(() => {
                  this.isWorking = true
                  checkWorktype({id:this.form.id,checkInfo:this.form.checkInfo,worktypeStatus:type})
                  checkWorktype({id:this.form.id,checkInfo:this.checkInfo,worktypeStatus:type})
                      .then(response => {
                        this.visible = false
                        this.$emit('success')
company/src/components/business/dispatchUnitDetailsPlat.vue
@@ -67,9 +67,9 @@
                            <el-table-column
                                label="状态">
                                <template slot-scope="{row}">
                                    <span v-if="row.status === 0">待审核</span>
                                    <span v-if="row.status === 1">审核通过</span>
                                    <span v-if="row.status === 2">审核不通过</span>
                                    <span style="color:#2E68EC"  v-if="row.status === 0">待审核</span>
                                    <span style="color:green"  v-if="row.status === 1">审核通过</span>
                                    <span style="color:red"  v-if="row.status === 2">审核不通过</span>
                                </template>
                            </el-table-column>
<!--                            <el-table-column
@@ -188,8 +188,8 @@
          duSolutionList: [],
          saveDuSolutionDTOList:[ ]
        }
        this.form.id = target.id
        this.form.checkInfo=''
        this.getDetails()
      },
      async getDetails() {
company/src/views/business/dispatchUnit.vue
@@ -1,88 +1,115 @@
<template>
    <TableLayout :permissions="['business:dispatchunit:query']">
        <!-- 搜索表单 -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="所属商户" prop="name">
                <el-input v-model="searchForm.name" placeholder="请输入所属商户" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="派遣单位" prop="name">
                <el-input v-model="searchForm.name" placeholder="请输入派遣单位" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
            </section>
        </el-form>
        <!-- 表格和分页 -->
        <template v-slot:table-wrap>
<!--            <ul class="toolbar" v-permissions="['business:dispatchunit:create']">-->
<!--                <li><el-button type="primary" @click="$refs.operaDispatchUnitWindow.open('派遣单位详情')" icon="el-icon-plus" v-permissions="['business:dispatchunit:create']">新建</el-button></li>-->
<!--            </ul>-->
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
            >
                <el-table-column label="序号" width="80px">
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
                <el-table-column prop="companyId" label="所属企业"></el-table-column>
                <el-table-column prop="companyId" label="派遣单位"></el-table-column>
                <el-table-column prop="companyId" label="保险方案"></el-table-column>
                <el-table-column prop="unitStatus" label="企业状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.unitStatus === 0">待审核</span>
                        <span v-if="row.unitStatus === 1">审核通过</span>
                        <span v-if="row.unitStatus === 2">审核不通过</span>
                    </template>
                </el-table-column>
                <el-table-column prop="unitStatus" label="操作" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.unitStatus === 0">待审核</span>
                        <span v-if="row.unitStatus === 1">审核通过</span>
                        <span v-if="row.unitStatus === 2">审核不通过</span>
                    </template>
                </el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
            </pagination>
        </template>
        <!-- 详情 -->
        <OperaDispatchUnitWindow ref="operaDispatchUnitWindow" @success="handlePageChange"/>
    </TableLayout>
  <TableLayout :permissions="['business:dispatchunit:query']">
    <!-- 搜索表单 -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="所属业" prop="companyId">
        <el-select v-model="searchForm.companyId" placeholder="请选择" @change="search">
          <el-option
              v-for="item in companyList"
              :key="item.id"
              :label="item.name"
              :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="派遣单位" prop="name">
        <el-input v-model="searchForm.name" placeholder="请输入派遣单位" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- 表格和分页 -->
    <template v-slot:table-wrap>
      <el-table
          v-loading="isWorking.search"
          :data="tableData.list"
          stripe
      >
        <el-table-column label="序号" width="80px">
          <template slot-scope="scope">
            <span>{{scope.$index + 1}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="companyName" label="所属企业" min-width="100px"></el-table-column>
        <el-table-column prop="name" label="派遣单位" min-width="100px"></el-table-column>
        <el-table-column label="派遣单位状态" min-width="100px">
          <template slot-scope="{row}">
            <span style="color: #2E68EC" v-if="row.unitStatus === 0">待审核</span>
            <span v-if="row.unitStatus === 1">
                            <span style="color:#2E68EC" v-if="row.worktypeStatus ==null || row.worktypeStatus === 0">工种待审</span>
                            <span style="color: green" v-else-if="row.worktypeStatus === 1">审核通过</span>
                            <span style="color: red"  v-else-if="row.worktypeStatus === 2">工种审核不通过</span>
                        </span>
            <span style="color: red" v-if="row.unitStatus === 2">审核不通过</span>
          </template>
        </el-table-column>
        <el-table-column prop="createDate" label="提交日期" min-width="100px"></el-table-column>
        <el-table-column
            v-if="containPermissions(['business:dispatchunit:update', 'business:dispatchunit:delete'])"
            label="操作"
            min-width="120"
            fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" @click="$refs.dispatchUnitDetailsPlat.open('派遣单位详情', row)" icon="el-icon-edit" v-permissions="['business:dispatchunit:update']">查看详情</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
          @size-change="handleSizeChange"
          @current-change="handlePageChange"
          :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- 新建/修改 -->
    <dispatchUnitDetailsPlat ref="dispatchUnitDetailsPlat" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
    import BaseTable from '@/components/base/BaseTable'
    import TableLayout from '@/layouts/TableLayout'
    import Pagination from '@/components/common/Pagination'
    import OperaDispatchUnitWindow from '@/components/business/OperaDispatchUnitWindow'
    export default {
        name: 'DispatchUnit',
        extends: BaseTable,
        components: { TableLayout, Pagination, OperaDispatchUnitWindow },
        data () {
            return {
                // 搜索
                searchForm: {
                    name: ''
                }
            }
        },
        created () {
            this.config({
                module: '派遣单位信息表',
                api: '/business/dispatchUnit',
                'field.id': 'id',
                'field.main': 'id'
            })
            this.search()
        }
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import dispatchUnitDetailsPlat from '@/components/business/dispatchUnitDetailsPlat'
import {pageAll as companyAll} from '@/api/business/company'
export default {
  name: 'dispatchUnitReview',
  extends: BaseTable,
  components: { TableLayout, Pagination, dispatchUnitDetailsPlat },
  data () {
    return {
      // 搜索
      searchForm: {
        name: '',
        companyId: ''
      },
      companyList:[]
    }
  },
  created () {
    this.config({
      module: '派遣单位信息表',
      api: '/business/dispatchUnit',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
    this.loadSelectList()
  },
  methods:{
    // handlePageChange() {
    //   this.search()
    // },
    loadSelectList() {
      companyAll({}).then(res => {
        this.companyList = res
      }).catch(err => {
      })
    }
  }
}
</script>
server/service/src/main/java/com/doumee/dao/business/model/DuWorktype.java
@@ -71,6 +71,9 @@
    @ApiModelProperty(value = "视频资料地址")
    @ExcelColumn(name="视频资料地址")
    private String videoUrl;
    @ApiModelProperty(value = "派遣单位编码(关联dispatch_unit", example = "1")
    @ExcelColumn(name="派遣单位编码(关联dispatch_unit")
    private Integer dispatchUnitId;
    @ApiModelProperty(value = "审核时间")
    @ExcelColumn(name="审核时间")
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -103,6 +103,9 @@
        if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){
            //审核通过,修改状态,产生历史版本
            newVersionData(dispatchUnitMapper.selectById(param.getId()),update);
            //存储操作历史
            this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,update.getCheckInfo());
        }else{
            //更新明细数据为审核失败
            duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
@@ -111,6 +114,17 @@
                    .set(DuSolution::getCheckUserId,update.getCheckUserId())
                    .set(DuSolution::getCheckInfo,update.getCheckInfo())
                    .eq(DuSolution::getDispatchUnitId,update.getId()));
            duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
                    .set(DuWorktype::getStatus,Constants.TWO)
                    .set(DuWorktype::getCheckUserId,update.getCheckUserId())
                    .set(DuWorktype::getCheckInfo,update.getCheckInfo())
                    .set(DuWorktype::getCheckDate,new Date() )
                    .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                    .eq(DuWorktype::getStatus,Constants.ZERO)
                    .eq(DuWorktype::getDispatchUnitId,update.getId()));
            //存储操作历史
            this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_UN_PASS,update.getCheckInfo());
        }
        return  1;
    }
@@ -228,7 +242,7 @@
            //审核通过,修改状态,产生历史版本
            newVersionData(dispatchUnit,update);
            //存储操作历史
            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,null);
            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_PASS,update.getCheckInfo());
        }else{
            //更新明细数据为审核失败
            duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
@@ -238,25 +252,14 @@
                    .set(DuSolution::getCheckInfo,update.getCheckInfo())
                    .eq(DuSolution::getDispatchUnitId,update.getId()));
            List<DuSolution> solutions = duSolutionMapper.selectList(new QueryWrapper<DuSolution>().lambda()
                    .eq(DuSolution::getIsdeleted,Constants.ZERO)
                    .eq(DuSolution::getDispatchUnitId,model.getId()));
            if(solutions == null || solutions.size() ==0){
                throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该派遣单位未设置方案工种信息,审核通过失败!");
            }
            for (DuSolution s : solutions){
                duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
                        .set(DuWorktype::getStatus,Constants.TWO)
                        .set(DuWorktype::getCheckUserId,update.getCheckUserId())
                        .set(DuWorktype::getCheckInfo,update.getCheckInfo())
                        .set(DuWorktype::getCheckDate,new Date() )
                        .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                        .eq(DuWorktype::getStatus,Constants.ZERO)
                        .eq(DuWorktype::getDuSolutionId,s.getId()));
            }
            duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
                    .set(DuWorktype::getStatus,Constants.TWO)
                    .set(DuWorktype::getCheckUserId,update.getCheckUserId())
                    .set(DuWorktype::getCheckInfo,update.getCheckInfo())
                    .set(DuWorktype::getCheckDate,new Date() )
                    .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                    .eq(DuWorktype::getStatus,Constants.ZERO)
                    .eq(DuWorktype::getDispatchUnitId,update.getId()));
            //存储操作历史
            this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.AUDIT_UN_PASS,update.getCheckInfo());
        }