Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
60737f61c6
  1. 2
      anrui-base/anrui-base-ui/src/App.vue
  2. 2
      anrui-base/anrui-base-ui/src/components/ButtonBar/index.vue
  3. 10
      anrui-base/anrui-base-ui/src/styles/anrui-button.scss
  4. 68
      anrui-base/anrui-base-ui/src/styles/index.scss
  5. 117
      anrui-base/anrui-base-ui/src/views/changshang/changshangguanli/changshangguanli.vue
  6. 33
      anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiguanli.vue
  7. 4
      anrui-base/anrui-base-ui/src/views/pinpai/pinpaiguanli/pinpaiAdd.vue
  8. 3
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  9. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  10. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java
  11. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java
  12. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  13. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlController.java
  14. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.java
  15. 13
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.xml
  16. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java
  17. 8
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFallback.java
  18. 76
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFeign.java
  19. 22
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/AppVo.java
  20. 22
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoQuery.java
  21. 36
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoVo.java
  22. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appsubsetversion/AppSubsetVersionMapper.java
  23. 8
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appsubsetversion/AppSubsetVersionMapper.xml
  24. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appsubsetversion/AppSubsetVersionService.java
  25. 42
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java
  26. 146
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java
  27. 9
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempDetailsVo.java
  28. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempDto.java
  29. 7
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectitem/ScmVehicleInspectitemDto.java
  30. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectitem/ScmVehicleInspectitemVo.java
  31. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  32. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempMapper.java
  33. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempMapper.xml
  34. 27
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempService.java
  35. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectitem/ScmVehicleInspectitemMapper.xml
  36. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectitem/ScmVehicleInspectitemService.java
  37. 4
      anrui-scm/anrui-scm-ui/src/api/cheliang/dictcommons.js
  38. 6
      anrui-scm/anrui-scm-ui/src/components/pagination/index.vue
  39. 3
      anrui-scm/anrui-scm-ui/src/components/tab-search/index.vue
  40. 2
      anrui-scm/anrui-scm-ui/src/layout/components/AppMain.vue
  41. 23
      anrui-scm/anrui-scm-ui/src/styles/element-table.scss
  42. 142
      anrui-scm/anrui-scm-ui/src/styles/index.scss
  43. 6
      anrui-scm/anrui-scm-ui/src/styles/sidebar.scss
  44. 55
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue
  45. 50
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhangAdd.vue
  46. 9
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue
  47. 11
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue
  48. 17
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue
  49. 4
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingpeizhijiageweihuAdd.vue
  50. 9
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue
  51. 22
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiAdd.vue
  52. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/AppGressionDto.java
  53. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/AppScmVehicleGressionFeign.java
  54. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/AppScmVehicleGressionFeignFallback.java
  55. 22
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/flowable/SubmitGressionDto.java
  56. 10
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/scmvehiclegression/AppScmVehicleGressionRest.java
  57. 21
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/scmvehiclegression/AppScmVehicleGressionService.java

2
anrui-base/anrui-base-ui/src/App.vue

@ -8,7 +8,7 @@
export default {
name: 'App',
mounted() {
},
}
</script>

2
anrui-base/anrui-base-ui/src/components/ButtonBar/index.vue

@ -6,7 +6,7 @@
<!--start 按钮部分开始 :icon="item.icon"-->
<div>
<el-button v-for="item in btnList" :key="item.btnKey" :type="item.type" :size="item.size" :disabled="btndisabled"
@click="btnHandle(item.btnKey)">
@click="btnHandle(item.btnKey)" >
<svg-icon :iconClass="item.icon"/>
{{ item.btnLabel }}
</el-button>

10
anrui-base/anrui-base-ui/src/styles/anrui-button.scss

@ -2,13 +2,13 @@
padding: 10px 14px;
font-size: 16px;
}
.el-button--small {
.btn-small {
padding: 7px 12px;
font-size: 14px;
}
.el-button--mini {
.btn-mini {
padding: 5px 10px;
font-size: 12px;
}
}

68
anrui-base/anrui-base-ui/src/styles/index.scss

@ -7,7 +7,6 @@
@import './e-table.scss';
@import './element-table.scss';
@import './element-tabs.scss';
@import './anrui-button.scss';
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
@ -87,32 +86,78 @@ div:focus {
color: red !important;
}
.pd-b10{
.pd-b10 {
padding-bottom: 10px;
}
.pd-y40{
.pd-y40 {
padding: 40px 0;
}
.pd-y20{
.pd-y20 {
padding: 20px 0;
}
.fs20{
.fs20 {
font-size: 20px;
}
// 页面上的button按钮
.app-container {
.el-button--medium {
padding: 10px 14px;
font-size: 16px;
}
.el-button--small {
padding: 7px 12px;
font-size: 14px;
}
.el-button--mini {
padding: 7px 10px;
font-size: 12px;
}
}
// 添加样式
.app-container {
margin: 5px 0 5px 0;
background-color: #fff;
}
// 设置了滚动区域
.main-content{ overflow-x: hidden;overflow-y: auto;height: calc(100vh - 186px);padding: 0 20px}
.listcon{height: calc(100vh - 425px);overflow-y: hidden;overflow-x: hidden;}
.listconadd{height: calc(100vh - 200px);overflow-y: auto;overflow-x: hidden;}
.listconsub{height: calc(100vh - 310px);overflow-y: auto;overflow-x: hidden;}
.listconsubjxs{height: calc(100vh - 300px);overflow-y: auto;overflow-x: hidden;}
.main-content {
overflow-x: hidden;
overflow-y: auto;
height: calc(100vh - 186px);
padding: 0 20px
}
.listcon {
height: calc(100vh - 425px);
overflow-y: hidden;
overflow-x: hidden;
}
.listconadd {
height: calc(100vh - 200px);
overflow-y: auto;
overflow-x: hidden;
}
.listconsub {
height: calc(100vh - 310px);
overflow-y: auto;
overflow-x: hidden;
}
.listconsubjxs {
height: calc(100vh - 300px);
overflow-y: auto;
overflow-x: hidden;
}
// 搜索的
.webtop {
// position: fixed;top: 110px;width: calc(100% - 240px);z-index: 6000;
@ -120,7 +165,8 @@ div:focus {
display: flex !important;
flex-direction: row;
justify-content: space-between !important;
align-items: center; margin-bottom: 0px !important;
align-items: center;
margin-bottom: 0 !important;
font-size: 20px;
}
.tab-header {

117
anrui-base/anrui-base-ui/src/views/changshang/changshangguanli/changshangguanli.vue

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<!-- <changshang />-->
<!-- <changshang />-->
<div v-show="viewState == 1">
<button-bar view-title="厂商管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
@ -12,46 +12,46 @@
<el-select v-model="listQuery.params.manufacturerName" filterable class="filter-item" clearable
placeholder="请选择厂商名称">
<el-option v-for="item in YongHu" :key="item.sid" :label="item.manufacturerName"
:value="item.manufacturerName"/>
</el-select>
</el-form-item>
<el-form-item label="厂商分类">
<el-select v-model="listQuery.params.supplierType" class="addinputw" placeholder="请选择厂商分类">
<el-option v-for="(item, index) in supplierType_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="所属分公司">
<el-select v-model="listQuery.params.useOrgSid" class="filter-item" clearable placeholder="请选择所属分公司"
style="width: 300px;">
<el-option v-for="item in useOrg_list" :key="item.sid" :label="item.name"
:value="item.sid"/>
</el-select>
</el-form-item>
<el-form-item label="厂商办公电话">
<el-input v-model="listQuery.params.manufacturerTelePhone" maxlength="130" placeholder=""
class="addinputw" clearable/>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="listQuery.params.contactName" maxlength="125" placeholder="" class="addinputw"
clearable/>
</el-form-item>
</el-form>
<div class="btn">
<el-button type="primary" size="medium" @click="handleFilter">查询</el-button>
<el-button type="primary" size="medium" @click="handleReset">重置</el-button>
:value="item.manufacturerName"/>
</el-select>
</el-form-item>
<el-form-item label="厂商分类">
<el-select v-model="listQuery.params.supplierType" class="addinputw" placeholder="请选择厂商分类">
<el-option v-for="(item, index) in supplierType_list" :key="index.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="所属分公司">
<el-select v-model="listQuery.params.useOrgSid" class="filter-item" clearable placeholder="请选择所属分公司"
style="width: 300px;">
<el-option v-for="item in useOrg_list" :key="item.sid" :label="item.name"
:value="item.sid"/>
</el-select>
</el-form-item>
<el-form-item label="厂商办公电话">
<el-input v-model="listQuery.params.manufacturerTelePhone" maxlength="130" placeholder=""
class="addinputw" clearable/>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="listQuery.params.contactName" maxlength="125" placeholder="" class="addinputw"
clearable/>
</el-form-item>
</el-form>
<div class="btn">
<el-button type="primary" size="medium" @click="handleFilter">查询</el-button>
<el-button type="primary" size="medium" @click="handleReset">重置</el-button>
</div>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">厂商信息列表</div>
<!-- 翻页分页 -->
<pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
<div class="tit">厂商信息列表</div>
<!-- 翻页分页 -->
<pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
<div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row
style="width: 100%;" @selection-change="handleSelectionChange">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" fixed type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed align="center" width="90px" class-name="small-padding fixed-width">
@ -97,22 +97,21 @@
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
<!-- 翻页 -->
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<changshangguanli-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState"
@reloadlist="handleFilter" />
<changshanglook v-show="viewState == 4" ref="divinfo" @doback="resetState" />
<changshangguanli-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState"
@reloadlist="handleFilter"/>
<changshanglook v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {basefinbankExportExcel, deleteBySids, getNamesDownes, pagerList} from '@/api/jichuxinxi/basemanufacturer' //
import {setXiu} from '@/utils/baocun' //
import {typeValues} from '@/api/jichuxinxi/dictcommons' //
@ -528,21 +527,21 @@ export default {
}
</script>
<style scoped>
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse-item__content {
margin: 0;
padding: 0;
}
/deep/ .el-collapse-item__content {
margin: 0;
padding: 0;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #ebeef5;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #ebeef5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
</style>

33
anrui-base/anrui-base-ui/src/views/guakaogongsi/guakaogongsiguanli/guakaogongsiguanli.vue

@ -70,74 +70,73 @@
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" fixed label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed align="center" width="170px" class-name="small-padding fixed-width">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" fixed type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed align="center" width="170px">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleEdit(row)">办理</el-button>
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
<!-- <el-button size="mini" type="primary" @click="handleShenHeLiuCheng(row)">发起审核流程</el-button>-->
</template>
</el-table-column>
<el-table-column width="120" fixed label="状态" align="center">
<el-table-column prop="state" label="状态" width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.state }}</span>
</template>
</el-table-column>
<el-table-column width="160" fixed label="所属经销商" align="center">
<el-table-column label="所属经销商" width="180" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.pdistributorName }}</span>
</template>
</el-table-column>
<el-table-column width="160" fixed label="经销商名称" align="center">
<el-table-column label="经销商名称" width="180" header-align="center" align="left">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.disName }}</span>
</template>
</el-table-column>
<el-table-column width="180" label="统一社会信用代码" align="center">
<el-table-column label="统一社会信用代码" width="190" align="center">
<template slot-scope="scope">
<span>{{ scope.row.registNum }}</span>
</template>
</el-table-column>
<el-table-column width="260" label="注册地址" align="center">
<el-table-column label="注册地址" width="220" align="center">
<template slot-scope="scope">
<span>{{ scope.row.registDetailAddress }}</span>
</template>
</el-table-column>
<el-table-column width="130" label="联系电话" align="center">
<el-table-column label="联系电话" width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.invoPhone }}</span>
</template>
</el-table-column>
<el-table-column width="200" label="开户行" align="center">
<el-table-column label="开户行" width="110" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.invoBank }}</span>
</template>
</el-table-column>
<el-table-column width="200" label="银行账号" align="center">
<el-table-column label="银行账号" width="190" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.invoBankNum }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="成立日期" align="center">
<el-table-column label="成立日期" width="120" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.setUpTime }}</span>
</template>
</el-table-column>
<el-table-column width="80" label="是否担保" align="center">
<el-table-column label="是否担保" width="120" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.isGuarantee }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="本年销售台数" align="center">
<el-table-column label="本年销售台数" width="160" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.curYearSaleNum }}</span>
</template>
</el-table-column>
<el-table-column width="120" label="累计销售台数" align="center">
<el-table-column label="累计销售台数" width="160" align="center"> <!-- ? -->
<template slot-scope="scope">
<span>{{ scope.row.cumSaleNum }}</span>
</template>

4
anrui-base/anrui-base-ui/src/views/pinpai/pinpaiguanli/pinpaiAdd.vue

@ -204,10 +204,10 @@ export default {
},
created() {
//
this.init()
this.geTName()
this.getZuZhi()
this.getListOrgAll()
this.init()
//
// this.getList()
},
@ -346,7 +346,7 @@ export default {
//
geTName() {
namesDown({
name: this.temp.manufacturerSid
name: ''
}).then((res) => {
if (res.code === '200') {
this.supplierType = res.data

3
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java

@ -1,5 +1,6 @@
package com.yxt.anrui.flowable.api.flowtask;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.utils.RecordQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
@ -50,7 +51,7 @@ public interface FlowTaskFeign {
@ApiOperation(value = "业务系统查询待办任务列表")
@PostMapping("/businessTodoList/{userSid}")
@ResponseBody
ResultBean businessTodoList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
ResultBean<Page<FlowTaskDto>> businessTodoList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询待办任务列表数量")

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java

@ -37,7 +37,7 @@ public class FlowTaskFeignFallBack implements FlowTaskFeign {
}
@Override
public ResultBean todoList(PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
public ResultBean<Page<FlowTaskDto>> todoList(PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return null;
}

4
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeign.java

@ -46,7 +46,7 @@ public interface SysProUrlFeign {
* 删除流程业务表单url对象
*/
@DeleteMapping("/{formIds}")
public ResultBean<String> remove(@PathVariable Long[] formIds);
public ResultBean<String> remove(@PathVariable("formIds") Long[] formIds);
@ApiOperation("pc根据流程定义id,节点id,终端及类型查询流程与业务表单url")
@PostMapping("/selectPcUrlByTaskDefKey")
@ -67,7 +67,7 @@ public interface SysProUrlFeign {
*/
@ApiOperation("查询流程与业务表单的url")
@GetMapping("/selectUrlByKey")
ResultBean<String> selectUrlByKey(@ApiParam(value = "流程定义id") @RequestParam(value = "procDefId") String procDefId,
ResultBean<SysProUrlVo> selectUrlByKey(@ApiParam(value = "流程定义id") @RequestParam(value = "procDefId") String procDefId,
@ApiParam(value = "节点id") @RequestParam(value = "taskDefKey") String taskDefKey,
@ApiParam(value = "类型:1办理,2详情") @RequestParam(value = "type") String type);

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/sysprourl/SysProUrlFeignFallBack.java

@ -49,7 +49,7 @@ public class SysProUrlFeignFallBack implements SysProUrlFeign {
}
@Override
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
public ResultBean<SysProUrlVo> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return null;
}
}

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java

@ -84,7 +84,7 @@ public class FlowTaskController implements FlowTaskFeign {
}
@Override
public ResultBean businessTodoList(String userSid, PagerQuery<BusinessTaskQuery> businessTaskQuery) {
public ResultBean<Page<FlowTaskDto>> businessTodoList(String userSid, PagerQuery<BusinessTaskQuery> businessTaskQuery) {
int size = Integer.valueOf(businessTaskQuery.getSize() + "");
int current = Integer.valueOf(businessTaskQuery.getCurrent() + "");
List<BusinessTaskParam> fields = businessTaskQuery.getParams().getFields();

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlController.java

@ -109,7 +109,7 @@ public class SysProUrlController implements SysProUrlFeign {
* @return
*/
@Override
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
public ResultBean<SysProUrlVo> selectUrlByKey(String procDefId, String taskDefKey, String type) {
return sysProUrlService.selectUrlByKey(procDefId, taskDefKey, type);
}
}

2
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.java

@ -88,5 +88,5 @@ public interface SysProUrlMapper extends BaseMapper<SysProUrl> {
* @param type 类型1办理2详情
* @return
*/
String selectUrlByKey(@Param("procDefId") String procDefId, @Param("taskDefKey") String taskDefKey, @Param("type") String type);
SysProUrlVo selectUrlByKey(@Param("procDefId") String procDefId, @Param("taskDefKey") String taskDefKey, @Param("type") String type);
}

13
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlMapper.xml

@ -106,12 +106,21 @@
AND taskDefKey = #{taskDefKey}
</select>
<select id="selectUrlByKey" resultType="java.lang.String">
<select id="selectUrlByKey" resultType="com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo">
select *
from sys_pro_url
where proc_def_id = #{procDefId}
and type = #{type}
and taskDefKey = #{taskDefKey}
and terminal = 2
</select>
<!--<select id="selectUrlByKey">
select url
from sys_pro_url
where proc_def_id = #{procDefId}
and type = #{type}
and taskDefKey = #{taskDefKey}
and terminal = 1
</select>
</select>-->
</mapper>

6
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/sysprourl/SysProUrlService.java

@ -158,8 +158,8 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
* @param type 类型1办理2详情
* @return
*/
public ResultBean<String> selectUrlByKey(String procDefId, String taskDefKey, String type) {
ResultBean<String> rb = ResultBean.fireFail();
public ResultBean<SysProUrlVo> selectUrlByKey(String procDefId, String taskDefKey, String type) {
ResultBean<SysProUrlVo> rb = ResultBean.fireFail();
//验证参数
if (StringUtils.isBlank(procDefId)) {
return rb.setMsg("流程定义id不能为空");
@ -170,7 +170,7 @@ public class SysProUrlService extends MybatisBaseService<SysProUrlMapper, SysPro
if (StringUtils.isBlank(type)) {
return rb.setMsg("请指定要操作的类型");
}
String url = baseMapper.selectUrlByKey(procDefId, taskDefKey, type);
SysProUrlVo url = baseMapper.selectUrlByKey(procDefId, taskDefKey, type);
return rb.success().setData(url);
}

8
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFallback.java

@ -2,8 +2,11 @@ package com.yxt.anrui.portal.api.flow;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.Map;
@ -99,5 +102,10 @@ public class FlowableFallback implements FlowableFeign{
return null;
}
@Override
public ResultBean<PagerVo<FlowTaskDoVo>> todoApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
return null;
}
}

76
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowableFeign.java

@ -2,8 +2,11 @@ package com.yxt.anrui.portal.api.flow;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -21,8 +24,9 @@ import java.util.Map;
public interface FlowableFeign {
/**
* 业务系统发起流程申请
*
* @param procDefId 流程定义id
* @param userSid 用户sid
* @param userSid 用户sid
* @param variables form参数
* @return
*/
@ -33,7 +37,8 @@ public interface FlowableFeign {
/**
* 流程定义列表 一般业务中不需要查询该列表
* @param pageNum 页数
*
* @param pageNum 页数
* @param pageSize 容量
* @return
*/
@ -43,7 +48,8 @@ public interface FlowableFeign {
/**
* 我的流程 我发起的流程
* @param userSid 用户sid
*
* @param userSid 用户sid
* @param taskQueryPagerQuery 查询参数
* @return
*/
@ -53,12 +59,13 @@ public interface FlowableFeign {
/**
* 待办列表
*
* @param userSid 用户sid
* @param pQuery 查询参数
* @param pQuery 查询参数
* @return
*/
@PostMapping("/todoTaskList/{userSid}")
public ResultBean todoTaskList(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,@ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<TaskQuery> pQuery);
public ResultBean todoTaskList(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid, @ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<TaskQuery> pQuery);
@ApiOperation(value = "读取xml文件")
@GetMapping("/readXml/{deployId}")
@ -71,19 +78,21 @@ public interface FlowableFeign {
*/
@ApiOperation(value = "生成流程图")
@RequestMapping("/flowViewer/{procInsId}")
public ResultBean getFlowViewer(@PathVariable("procInsId") String procInsId) ;
public ResultBean getFlowViewer(@PathVariable("procInsId") String procInsId);
/**
* 已办任务的查询
*
* @param userSid 用户sid
* @param pQuery 查询参数
* @param pQuery 查询参数
* @return
*/
@PostMapping("/doneTaskList/{userSid}")
public ResultBean doneTaskList(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,@ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<TaskQuery> pQuery);
public ResultBean doneTaskList(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid, @ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<TaskQuery> pQuery);
/**
* 处理待办任务
*
* @param variables 表单参数
* @return
*/
@ -93,66 +102,73 @@ public interface FlowableFeign {
/**
* 流程撤回
* @param userSid 用户sid
*
* @param userSid 用户sid
* @param flowTaskVo 参数 工作流任务相关--请求参数
* @return
*/
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess/{userSid}/{businessSid}")
public ResultBean revokeProcess(
@ApiParam(value = "用户sid") @PathVariable(value = "userSid")String userSid,
@ApiParam(value = "业务sid") @PathVariable(value = "businessSid")String businessSid,
@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo) ;
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "业务sid") @PathVariable(value = "businessSid") String businessSid,
@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo);
/**
* 流程历史流转记录
*
* @param procInsId 流程实例id
* @param deployId 目前没用
* @param deployId 目前没用
* @return
*/
@ApiOperation(value = "流程历史流转记录" )
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord( @ApiParam(value = "流程实例id")@PathVariable(value = "procInsId")String procInsId,
@ApiParam(value = "目前没用")@PathVariable(value = "deployId")String deployId);
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId,
@ApiParam(value = "目前没用") @PathVariable(value = "deployId") String deployId);
/**
* 驳回任务
*
* @param flowTaskVo
* @return
*/
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject/{businessSid}")
public ResultBean taskReject(@ApiParam(value = "业务sid") @PathVariable(value = "businessSid")String businessSid,
@ApiParam(value = "工作流任务相关--请求参数")@RequestBody FlowTaskVo flowTaskVo);
public ResultBean taskReject(@ApiParam(value = "业务sid") @PathVariable(value = "businessSid") String businessSid,
@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess/{businessSid}")
public ResultBean breakProcess(@ApiParam(value = "业务sid") @PathVariable(value = "businessSid")String businessSid,
public ResultBean breakProcess(@ApiParam(value = "业务sid") @PathVariable(value = "businessSid") String businessSid,
@RequestBody FlowTaskVo flowTaskVo);
/**
* 取消申请
*
* @param flowTaskVo
* @return
*/
@ApiOperation(value = "取消申请")
@PostMapping(value = "/task/stopProcess")
@ResponseBody
ResultBean stopProcess(@ApiParam(value = "工作流任务相关--请求参数")@RequestBody FlowTaskVo flowTaskVo);
ResultBean stopProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo);
/**
* 删除流程实例
*
* @param procInsId 流程实例id
* @return
*/
@ApiOperation(value = "删除流程实例")
@DeleteMapping(value = "/task/deleteProcess/{procInsId}")
@ResponseBody
ResultBean deleteProcess(@ApiParam(value = "流程实例id")@PathVariable(value = "procInsId")String procInsId);
ResultBean deleteProcess(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
/**
* 待办列表
*
* @param userSid 用户sid
* @param pQuery 查询参数
* @param pQuery 查询参数
* @return
*/
@ApiOperation(value = "总待办列表")
@ -161,19 +177,22 @@ public interface FlowableFeign {
@ApiOperation(value = "业务系统查询待办任务列表数量")
@GetMapping("/getTodoNum/{userSid}")
ResultBean<Integer> getTodoNum(@PathVariable(value = "userSid")String userSid);
ResultBean<Integer> getTodoNum(@PathVariable(value = "userSid") String userSid);
/**
* 已办任务的查询
*
* @param userSid 用户sid
* @param pQuery 查询参数
* @param pQuery 查询参数
* @return
*/
@ApiOperation(value = "总已办列表")
@PostMapping("/doneAllTaskList/{userSid}")
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,@ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<FlowTaskAllQuery> pQuery);
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid, @ApiParam(value = "变量集合,json对象") @RequestBody PagerQuery<FlowTaskAllQuery> pQuery);
/**
* 查询下一环节
*
* @param taskId 查询参数
* @return
*/
@ -181,6 +200,11 @@ public interface FlowableFeign {
@ApiOperation(value = "查询下一环节")
@PostMapping("/getNextTasks/{taskId}")
@ResponseBody
public ResultBean getNextTasks(@ApiParam(value = "taskId") @PathVariable(value = "taskId") String taskId );
public ResultBean getNextTasks(@ApiParam(value = "taskId") @PathVariable(value = "taskId") String taskId);
@ApiOperation(value = "移动端总待办列表")
@PostMapping("/todoApp")
public ResultBean<PagerVo<FlowTaskDoVo>> todoApp(@RequestBody PagerQuery<FlowTaskDoQuery> pagerQuery);
}

22
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/AppVo.java

@ -0,0 +1,22 @@
package com.yxt.anrui.portal.api.flow.app;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/20 10:54
* @Description
*/
@Data
public class AppVo implements Vo {
private static final long serialVersionUID = -8153041978260796662L;
private String path;
private String modulePluginName;
private Integer moduleVersion;
private String msgSid;
private String json;
private String type;
private String moduleAction;
}

22
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoQuery.java

@ -0,0 +1,22 @@
package com.yxt.anrui.portal.api.flow.app;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/7/20 9:43
* @Description
*/
@Data
public class FlowTaskDoQuery implements Query {
private static final long serialVersionUID = 4327143083035475848L;
@ApiModelProperty("用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty("工作名称")
private String names;
}

36
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/app/FlowTaskDoVo.java

@ -0,0 +1,36 @@
package com.yxt.anrui.portal.api.flow.app;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/7/20 9:45
* @Description
*/
@Data
public class FlowTaskDoVo implements Vo {
private static final long serialVersionUID = 8771689666940266426L;
private String taskName;
private String startDeptName;
private String startUserName;
private String procDefName;
private String processCreateTime;
private String createTime;
@JsonProperty("deployId")
private String procDefId;
private String procInsId;
private String taskId;
@JsonIgnore
@ApiModelProperty("节点id")
private String taskDefKey;
private AppVo appVariables;
@JsonIgnore
private Map<String,Object> processVariables;
}

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appsubsetversion/AppSubsetVersionMapper.java

@ -34,4 +34,6 @@ public interface AppSubsetVersionMapper extends BaseMapper<AppSubsetVersion> {
@Select("SELECT * FROM app_subset_version WHERE appSid=#{appSid} ORDER BY id DESC LIMIT 1")
AppSubsetVersionVo getLastByAppSid(@Param("appSid") String appSid);
AppSubsetVersionVo selectByAppSidOne(String s);
}

8
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appsubsetversion/AppSubsetVersionMapper.xml

@ -32,4 +32,12 @@
ORDER BY createTime DESC
LIMIT 1
</select>
<select id="selectByAppSidOne" resultType="com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionVo">
SELECT *
FROM app_subset_version
WHERE appSid = #{appSid}
ORDER BY createTime DESC
LIMIT 1
</select>
</mapper>

4
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/appsubsetversion/AppSubsetVersionService.java

@ -38,4 +38,8 @@ public class AppSubsetVersionService extends MybatisBaseService<AppSubsetVersion
public AppSubsetVersionVo getLastByAppSid(String appSid) {
return baseMapper.getLastByAppSid(appSid);
}
public AppSubsetVersionVo selectByAppSidOne(String s) {
return baseMapper.selectByAppSidOne(s);
}
}

42
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java

@ -28,12 +28,15 @@ package com.yxt.anrui.portal.biz.flow;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.portal.api.flow.*;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService;
import com.yxt.anrui.portal.biz.sysuser.SysUserService;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@ -79,24 +82,24 @@ public class FlowableRest implements FlowableFeign {
@Override
public ResultBean myprocess(String userSid, PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
return flowableService.myprocess(userSid,taskQueryPagerQuery);
return flowableService.myprocess(userSid, taskQueryPagerQuery);
}
@Override
public ResultBean todoTaskList(String userSid,PagerQuery<TaskQuery> pQuery) {
public ResultBean todoTaskList(String userSid, PagerQuery<TaskQuery> pQuery) {
SysUser sysUser = sysUserService.fetchBySid(userSid);
String staffSid = sysUser.getStaffSid();
List<SysStaffOrgVo> sysStaffOrgListByStaffSid = sysStaffOrgService.getSysStaffOrgListByStaffSid(staffSid);
StringBuilder sb=new StringBuilder();
for(SysStaffOrgVo s:sysStaffOrgListByStaffSid){
StringBuilder sb = new StringBuilder();
for (SysStaffOrgVo s : sysStaffOrgListByStaffSid) {
sb.append(s.getOrgSidPath());
sb.append(",");
}
sb.delete(sb.length()-1,sb.length());
sb.delete(sb.length() - 1, sb.length());
pQuery.getParams().setOrgSid(sb.toString());
return flowableService.todoTaskList(userSid,pQuery);
return flowableService.todoTaskList(userSid, pQuery);
}
@Override
@ -110,21 +113,25 @@ public class FlowableRest implements FlowableFeign {
}
@Override
public ResultBean doneTaskList(String userSid,PagerQuery<TaskQuery> pQuery) {
return flowableService.doneTaskList(userSid,pQuery);
public ResultBean doneTaskList(String userSid, PagerQuery<TaskQuery> pQuery) {
return flowableService.doneTaskList(userSid, pQuery);
}
@Override
public ResultBean complete(Map<String, Object> variables) {
return flowableService.complete(variables);
}
@Override
public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) {
return flowableService.revokeProcess(userSid, businessSid, flowTaskVo);
}
@Override
public ResultBean flowRecord(String procInsId,String deployId) {
return flowableService.flowRecord(procInsId,deployId);
public ResultBean flowRecord(String procInsId, String deployId) {
return flowableService.flowRecord(procInsId, deployId);
}
@Override
public ResultBean taskReject(String businessSid, FlowTaskVo flowTaskVo) {
return flowableService.taskReject(businessSid, flowTaskVo);
@ -152,16 +159,16 @@ public class FlowableRest implements FlowableFeign {
SysUser sysUser = sysUserService.fetchBySid(userSid);
String staffSid = sysUser.getStaffSid();
List<SysStaffOrgVo> sysStaffOrgListByStaffSid = sysStaffOrgService.getSysStaffOrgListByStaffSid(staffSid);
StringBuilder sb=new StringBuilder();
for(SysStaffOrgVo s:sysStaffOrgListByStaffSid){
StringBuilder sb = new StringBuilder();
for (SysStaffOrgVo s : sysStaffOrgListByStaffSid) {
sb.append(s.getOrgSidPath());
sb.append(",");
}
if (sb.length() > 0) {
sb.delete(sb.length()-1,sb.length());
sb.delete(sb.length() - 1, sb.length());
}
pQuery.getParams().setOrgSid(sb.toString());
return flowableService.todoAllTaskList(userSid,pQuery);
return flowableService.todoAllTaskList(userSid, pQuery);
}
@Override
@ -171,11 +178,16 @@ public class FlowableRest implements FlowableFeign {
@Override
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {//已办列表
return flowableService.doneAllTaskList(userSid,pQuery);
return flowableService.doneAllTaskList(userSid, pQuery);
}
@Override
public ResultBean getNextTasks(String taskId) {
return flowableService.getNextTasks(taskId);
}
@Override
public ResultBean<PagerVo<FlowTaskDoVo>> todoApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
return flowableService.todoApp(pagerQuery);
}
}

146
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -26,24 +26,35 @@
package com.yxt.anrui.portal.biz.flow;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeign;
import com.yxt.anrui.flowable.api.flowdefinition.FlowDefinitionFeignBusinessStartDTO;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskDto;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo;
import com.yxt.anrui.flowable.api.utils.ProcessStateEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskParam;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessTaskQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.flowable.sqloperationsymbol.SQLOperationSymbol;
import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionVo;
import com.yxt.anrui.portal.api.flow.*;
import com.yxt.anrui.portal.api.flow.app.AppVo;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoQuery;
import com.yxt.anrui.portal.api.flow.app.FlowTaskDoVo;
import com.yxt.anrui.portal.biz.appsubsetversion.AppSubsetVersionService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -51,6 +62,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-parent <br/>
@ -73,6 +85,10 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysFormLinkFeign sysFormLinkFeign;
@Autowired
private SysProUrlFeign sysProUrlFeign;
@Autowired
private AppSubsetVersionService appSubsetVersionService;
public ResultBean businessStart(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ -82,30 +98,30 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
dto.setProcDefId(procDefId);
dto.setUserSid(userSid);
dto.setVariables(variables);
variables.put("procDefId",procDefId);
variables.put("userSid",userSid);
variables.put("procDefId", procDefId);
variables.put("userSid", userSid);
variables.put("businessSid", UUID.randomUUID().toString());
BusinessVariables bv= BusinessVariables.builder().build();
BusinessVariables bv = BusinessVariables.builder().build();
bv.setFormVariables(variables);
ResultBean rb = flowDefinitionFeign.businessStart(bv);
return rb;
}
public ResultBean myprocess(String userSid,PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
PagerQuery<BusinessTaskQuery> pq=new PagerQuery<>();
public ResultBean myprocess(String userSid, PagerQuery<FlowTaskQuery> taskQueryPagerQuery) {
PagerQuery<BusinessTaskQuery> pq = new PagerQuery<>();
String days = taskQueryPagerQuery.getParams().getDays();
String zd = taskQueryPagerQuery.getParams().getZd();
pq.setCurrent(taskQueryPagerQuery.getCurrent());
pq.setSize(taskQueryPagerQuery.getSize());
BusinessTaskQuery businessTaskQuery = BusinessTaskQuery.create();
if(StringUtils.isNotBlank(zd)){
if (StringUtils.isNotBlank(zd)) {
BusinessTaskParam businessTaskParam = new BusinessTaskParam();
businessTaskParam.setField("zd");
businessTaskParam.setSqlOperationSymbol(SQLOperationSymbol.LIKE);
businessTaskParam.setValue(zd);
businessTaskQuery.add(businessTaskParam);
}
if(StringUtils.isNotBlank(days)){
if (StringUtils.isNotBlank(days)) {
BusinessTaskParam businessTaskParam = new BusinessTaskParam();
businessTaskParam.setField("days");
businessTaskParam.setSqlOperationSymbol(SQLOperationSymbol.EQUAL);
@ -113,14 +129,14 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
businessTaskQuery.add(businessTaskParam);
}
pq.setParams(businessTaskQuery);
return flowTaskFeign.businessMyprocess(userSid,pq);
return flowTaskFeign.businessMyprocess(userSid, pq);
}
public ResultBean processPagerList(Integer pageNum, Integer pageSize) {
return flowDefinitionFeign.pagerList(pageNum, pageSize);
}
public ResultBean todoTaskList(String userSid,PagerQuery<TaskQuery> pQuery) {
public ResultBean todoTaskList(String userSid, PagerQuery<TaskQuery> pQuery) {
TaskQuery params = pQuery.getParams();
if (StringUtils.isBlank(userSid)) {
return ResultBean.fireFail().setMsg("用户SID为空");
@ -148,14 +164,14 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setSqlOperationSymbol(SQLOperationSymbol.EQUAL);
taskParamList.add(taskParam);
}
if(StringUtils.isNotBlank(processDefinitionId)){
if (StringUtils.isNotBlank(processDefinitionId)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("processDefinitionId");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
taskParam.setValue(processDefinitionId);
taskParamList.add(taskParam);
}
if(StringUtils.isNotBlank(orgSid)){
if (StringUtils.isNotBlank(orgSid)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("orgSid");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
@ -167,7 +183,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
return flowTaskFeign.businessTodoList(userSid, taskQueryPagerQuery);
}
public ResultBean doneTaskList(String userSid,PagerQuery<TaskQuery> pQuery) {
public ResultBean doneTaskList(String userSid, PagerQuery<TaskQuery> pQuery) {
TaskQuery params = pQuery.getParams();
if (StringUtils.isBlank(userSid)) {
return ResultBean.fireFail().setMsg("用户SID为空");
@ -193,7 +209,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setSqlOperationSymbol(SQLOperationSymbol.EQUAL);
taskParamList.add(taskParam);
}
if(StringUtils.isNotBlank(processDefinitionId)){
if (StringUtils.isNotBlank(processDefinitionId)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("processDefinitionId");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
@ -207,11 +223,12 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
/**
* 办理
*
* @param variables
* @return
*/
public ResultBean complete(Map<String, Object> variables) {
BusinessVariables bv= BusinessVariables.builder().build();
BusinessVariables bv = BusinessVariables.builder().build();
bv.setFormVariables(variables);
ResultBean<com.yxt.anrui.flowable.api.flowtask.FlowTask> resultBean = flowTaskFeign.businessComplete(bv);
if (!resultBean.getSuccess()) {
@ -240,14 +257,15 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
/**
* 撤回
*
* @param userSid
* @param businessSid
* @param flowTaskVo
* @return
*/
public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl);
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo, fl);
fl.setUserSid(userSid);
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.revokeProcess(fl);
if (!resultBean.getSuccess()) {
@ -263,8 +281,8 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
map.put("taskDefKey", taskDefKey);
map.put("flowState", SysFormLinkFlowStateEnum.UNCOMMITTED.getCode());
} else {
map.put("nodeState",nodeState );
map.put("taskDefKey",taskDefKey );
map.put("nodeState", nodeState);
map.put("taskDefKey", taskDefKey);
}
sysFormLinkFeign.updateFiled(map);
return new ResultBean().success();
@ -272,23 +290,25 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
/**
* 流程历史流转记录
*
* @param procInsId
* @param deployId
* @return
*/
public ResultBean flowRecord(String procInsId, String deployId) {
return flowTaskFeign.businessFlowRecord(procInsId,deployId);
return flowTaskFeign.businessFlowRecord(procInsId, deployId);
}
/**
* 驳回
*
* @param businessSid
* @param flowTaskVo
* @return
*/
public ResultBean taskReject(String businessSid, FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl);
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo, fl);
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.taskReject(fl);
if (!resultBean.getSuccess()) {
return resultBean;
@ -309,13 +329,14 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
/**
* 终止流程
*
* @param businessSid
* @param flowTaskVo
* @return
*/
public ResultBean breakProcess(String businessSid, FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl);
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo, fl);
ResultBean resultBean = flowTaskFeign.breakProcess(fl);
if (!resultBean.getSuccess()) {
return resultBean;
@ -330,9 +351,9 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
}
public void stopProcess(FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl);
flowTaskFeign.stopProcess(flowTaskVo.getUserSid(),fl);
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo, fl);
flowTaskFeign.stopProcess(flowTaskVo.getUserSid(), fl);
}
public void deleteProcess(String procInsId) {
@ -340,10 +361,8 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
}
public ResultBean<Page<FlowTaskDto>> todoAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {
ResultBean<Page<FlowTaskDto>> rb=new ResultBean<Page<FlowTaskDto>>().fireFail();
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>().fireFail();
FlowTaskAllQuery params = pQuery.getParams();
if (StringUtils.isBlank(userSid)) {
return rb.setMsg("用户SID为空");
@ -379,7 +398,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LE);
taskParamList.add(taskParam);
}
if(StringUtils.isNotBlank(processDefinitionId)){
if (StringUtils.isNotBlank(processDefinitionId)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("processDefinitionId");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
@ -396,12 +415,12 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
}
public ResultBean getNextTasks(String taskId) {
return flowTaskFeign.getNextTasks(taskId);
return flowTaskFeign.getNextTasks(taskId);
}
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid,PagerQuery<FlowTaskAllQuery> pQuery) {
ResultBean<Page<FlowTaskDto>> rb=new ResultBean<Page<FlowTaskDto>>().fireFail();
public ResultBean<Page<FlowTaskDto>> doneAllTaskList(String userSid, PagerQuery<FlowTaskAllQuery> pQuery) {
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>().fireFail();
FlowTaskAllQuery params = pQuery.getParams();
if (StringUtils.isBlank(userSid)) {
return rb.setMsg("用户SID为空");
@ -435,7 +454,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LE);
taskParamList.add(taskParam);
}
if(StringUtils.isNotBlank(processDefinitionId)){
if (StringUtils.isNotBlank(processDefinitionId)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("processDefinitionId");
taskParam.setSqlOperationSymbol(SQLOperationSymbol.NONE);
@ -455,4 +474,61 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
public ResultBean getFlowViewer(String procInsId) {
return flowTaskFeign.getFlowViewer(procInsId);
}
public ResultBean<PagerVo<FlowTaskDoVo>> todoApp(PagerQuery<FlowTaskDoQuery> pagerQuery) {
ResultBean<PagerVo<FlowTaskDoVo>> rb = ResultBean.fireFail();
PagerQuery<BusinessTaskQuery> taskQueryPagerQuery = new PagerQuery<>();
taskQueryPagerQuery.setCurrent(pagerQuery.getCurrent()).setSize(pagerQuery.getSize());
FlowTaskDoQuery params = pagerQuery.getParams();
String names = params.getNames();
String userSid = params.getUserSid();
BusinessTaskQuery taskQuery = new BusinessTaskQuery();
List<BusinessTaskParam> taskParamList = new ArrayList<>();
if (StringUtils.isNotBlank(names)) {
BusinessTaskParam taskParam = new BusinessTaskParam();
taskParam.setField("proDefName");
taskParam.setValue(names);
taskParam.setSqlOperationSymbol(SQLOperationSymbol.LIKE);
taskParamList.add(taskParam);
}
taskQuery.setFields(taskParamList);
taskQueryPagerQuery.setParams(taskQuery);
ResultBean<Page<FlowTaskDto>> resultBean = flowTaskFeign.businessTodoList(userSid, taskQueryPagerQuery);
PagerVo<FlowTaskDoVo> page = new PagerVo<>();
List<FlowTaskDoVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FlowTaskDoVo.class)).collect(Collectors.toList());
voList.removeAll(Collections.singleton(null));
for (FlowTaskDoVo f : voList) {
Map<String, Object> flowMap = f.getProcessVariables();
Map<String, Object> appMap = ConstantUtils.getMap(flowMap, "app");
String json = JSONObject.toJSONString(appMap);
System.out.println(json);
//根据节点id和流程定义id以及类型查询地址以及版本号等
String procDefId = f.getProcDefId();
String taskDefKey = f.getTaskDefKey();
ResultBean<SysProUrlVo> resultBean1 = sysProUrlFeign.selectUrlByKey(procDefId, taskDefKey, "1");
AppVo appVo = new AppVo();
appVo.setJson(json);
appVo.setModuleAction(resultBean1.getData().getUrl());
String appSid = resultBean1.getData().getModulePluginName();
//根据appSid查询最新版本的app插件包:以及类型:2插件,1框架
String type = Arrays.asList(appSid.split("#")).get(1);
if ("1".equals(type)) {
} else if ("2".equals(type)) {
AppSubsetVersionVo appSubsetVersions = appSubsetVersionService.selectByAppSidOne(Arrays.asList(appSid.split("#")).get(0));
if (appSubsetVersions != null) {
appVo.setPath(appSubsetVersions.getUpdateUrl());
appVo.setModuleVersion(appSubsetVersions.getVersionCode());
appVo.setType(type);
appVo.setModulePluginName(appSubsetVersions.getModulePluginName());
}
}
f.setAppVariables(appVo);
}
page.setRecords(voList);
page.setCurrent(resultBean.getData().getCurrent());
page.setSize(resultBean.getData().getSize());
page.setTotal(resultBean.getData().getTotal());
return rb.success().setData(page);
}
}

9
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempDetailsVo.java

@ -26,12 +26,15 @@
package com.yxt.anrui.scm.api.scmvehicleinspectimgtemp;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-scm(供应链) <br/>
* File: ScmVehicleInspectimgtempVo.java <br/>
@ -53,6 +56,8 @@ public class ScmVehicleInspectimgtempDetailsVo implements Vo {
@ApiModelProperty("照片名称")
private String imgTitle;
@ApiModelProperty("照片示例")
private String imgTempUrl;
private List<String> imgTempUrl = new ArrayList<>();
@JsonIgnore
private String imgUrl;
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempDto.java

@ -27,11 +27,12 @@ package com.yxt.anrui.scm.api.scmvehicleinspectimgtemp;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-scm(供应链) <br/>
* File: ScmVehicleInspectimgtempDto.java <br/>
@ -53,6 +54,6 @@ public class ScmVehicleInspectimgtempDto implements Dto {
@ApiModelProperty("照片名称")
private String imgTitle;
@ApiModelProperty("照片示例")
private String imgTempUrl;
private List<String> imgTempUrl;
}

7
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectitem/ScmVehicleInspectitemDto.java

@ -33,7 +33,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -67,11 +66,13 @@ public class ScmVehicleInspectitemDto implements Dto {
@ApiModelProperty(value = "图标地址")
private String iconUrl;
@ApiModelProperty(value = "照片说明")
private String remarks;
@ApiModelProperty(value = "检查项内容")
private List<ScmVehicleInspectdetailDto> inspectdetail = new ArrayList<>();
private List<ScmVehicleInspectdetailDto> inspectdetail;
@ApiModelProperty(value = "照片示例")
private List<ScmVehicleInspectimgtempDto> inspectimgtemp = new ArrayList<>();
private List<ScmVehicleInspectimgtempDto> inspectimgtemp;
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinspectitem/ScmVehicleInspectitemVo.java

@ -58,8 +58,11 @@ public class ScmVehicleInspectitemVo implements Vo {
private Integer sortNo;
@ApiModelProperty("是否上传照片:是1,否0")
private Integer isImg;
private String isImg;
@ApiModelProperty(value = "照片说明")
private String remarks;
@ApiModelProperty(value = "检查结果")
private String result;
}

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java

@ -522,9 +522,13 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
// Map<String, Object> variables = BeanUtil.beanToMap(dto);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempMapper.java

@ -52,5 +52,5 @@ public interface ScmVehicleInspectimgtempMapper extends BaseMapper<ScmVehicleIns
void deleteByItemSid(String dtoSid);
List<ScmVehicleInspectimgtempDetailsVo> selectByItemSid(@Param("sid") String sid, @Param("path") String path);
List<ScmVehicleInspectimgtempDetailsVo> selectByItemSid(@Param("sid") String sid);
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempMapper.xml

@ -13,7 +13,7 @@
<select id="selectByItemSid"
resultType="com.yxt.anrui.scm.api.scmvehicleinspectimgtemp.ScmVehicleInspectimgtempDetailsVo">
select concat(#{path}, st.imgTempUrl) as imgTempUrl, st.imgTitle
select st.imgTempUrl as imgUrl, st.imgTitle
from scm_vehicle_inspectimgtemp st
where itemSid = #{sid}
</select>

27
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectimgtemp/ScmVehicleInspectimgtempService.java

@ -25,7 +25,7 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmvehicleinspectimgtemp;
import cn.hutool.core.bean.BeanUtil;
import com.google.common.base.Joiner;
import com.yxt.anrui.scm.api.scmvehicleinspectimgtemp.ScmVehicleInspectimgtemp;
import com.yxt.anrui.scm.api.scmvehicleinspectimgtemp.ScmVehicleInspectimgtempDetailsVo;
import com.yxt.anrui.scm.api.scmvehicleinspectimgtemp.ScmVehicleInspectimgtempDto;
@ -34,6 +34,7 @@ import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -59,13 +60,17 @@ public class ScmVehicleInspectimgtempService extends MybatisBaseService<ScmVehic
public void save(List<ScmVehicleInspectimgtempDto> inspectimgtemp, String sid) {
inspectimgtemp.removeAll(Collections.singleton(null));
if (!inspectimgtemp.isEmpty()) {
inspectimgtemp.stream().forEach(item -> {
ScmVehicleInspectimgtemp scmVehicleInspectimgtemp = new ScmVehicleInspectimgtemp();
BeanUtil.copyProperties(item, scmVehicleInspectimgtemp);
if (scmVehicleInspectimgtemp.getImgTempUrl().contains(fileUploadComponent.getUrlPrefix())) {
scmVehicleInspectimgtemp.setImgTempUrl(scmVehicleInspectimgtemp.getImgTempUrl().replace(fileUploadComponent.getUrlPrefix(), ""));
}
List<String> imgList = new ArrayList<>();
item.getImgTempUrl().stream().forEach(i -> {
if (i.contains(fileUploadComponent.getUrlPrefix())) {
imgList.add(i.replace(fileUploadComponent.getUrlPrefix(), ""));
}
});
scmVehicleInspectimgtemp.setImgTempUrl(Joiner.on(",").join(imgList));
scmVehicleInspectimgtemp.setItemSid(sid);
baseMapper.insert(scmVehicleInspectimgtemp);
});
@ -78,7 +83,17 @@ public class ScmVehicleInspectimgtempService extends MybatisBaseService<ScmVehic
public List<ScmVehicleInspectimgtempDetailsVo> selectByItemSid(String sid) {
String path = fileUploadComponent.getUrlPrefix();
return baseMapper.selectByItemSid(sid, path);
List<ScmVehicleInspectimgtempDetailsVo> voList = baseMapper.selectByItemSid(sid);
voList.removeAll(Collections.singleton(null));
for (ScmVehicleInspectimgtempDetailsVo v : voList) {
List<String> stringList = Arrays.asList(v.getImgUrl().split(","));
List<String> list = new ArrayList<>();
for (int i = 0; i < stringList.size(); i++) {
list.add(fileUploadComponent.getUrlPrefix() + stringList.get(i));
}
v.setImgTempUrl(list);
}
return voList;
}
public void deleteAllByItemSid(String[] sids) {

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectitem/ScmVehicleInspectitemMapper.xml

@ -10,7 +10,8 @@
case si.isImg
when 1 then '是'
when 0 then '否' end as isImg,
si.remarks
si.remarks,
si.result
FROM scm_vehicle_inspectitem si
<where>
${ew.sqlSegment}

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleinspectitem/ScmVehicleInspectitemService.java

@ -103,7 +103,7 @@ public class ScmVehicleInspectitemService extends MybatisBaseService<ScmVehicleI
if (StringUtils.isBlank(dtoSid)) {
ScmVehicleInspectitem scmVehicleInspectitem = new ScmVehicleInspectitem();
BeanUtil.copyProperties(dto, scmVehicleInspectitem, "sid");
if ("1".equals(scmVehicleInspectitem.getIsImg())) {//上传图片
if (scmVehicleInspectitem.getIsImg()==1) {//上传图片
scmVehicleInspectimgtempService.save(inspectimgtemp, scmVehicleInspectitem.getSid());
}
scmVehicleInspectdetailService.save(inspectdetail, scmVehicleInspectitem.getSid());
@ -120,7 +120,7 @@ public class ScmVehicleInspectitemService extends MybatisBaseService<ScmVehicleI
scmVehicleInspectdetailService.save(inspectdetail, scmVehicleInspectitem.getSid());
//是否有照片,若有,则删除照片,再新增,若没有则直接删除
scmVehicleInspectimgtempService.deleteByItemSid(dtoSid);
if ("1".equals(scmVehicleInspectitem.getIsImg())) {
if (scmVehicleInspectitem.getIsImg()==1) {
scmVehicleInspectimgtempService.save(inspectimgtemp, scmVehicleInspectitem.getSid());
}
baseMapper.updateById(scmVehicleInspectitem);

4
anrui-scm/anrui-scm-ui/src/api/cheliang/dictcommons.js

@ -25,7 +25,8 @@ export function getListOrg(data) {
params: data
})
}
// 根据登陆人sid查询分公司sid
// 根据登陆人sid查询分公司 (孟哲写的接口)
export function getPathSidByUserSid(data) {
return request({
url: '/portal/v1/sysstafforg/getPathSidByUserSid',
@ -40,6 +41,7 @@ export function fetchBySid(sid) {
method: 'get'
})
}
// 根据当前登录用户的sid和分公司sid获取本分公司下除去当前用户的其余用户信息
export function getUserByOrgSid(data) {
return request({

6
anrui-scm/anrui-scm-ui/src/components/pagination/index.vue

@ -110,6 +110,12 @@ export default {
.pagination-container.hidden {
display: none;
}
.el-pagination {
white-space: nowrap;
color: #303133;
font-weight: bold;
height: 28px;
}
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev{
padding: 0 20px;
border: 1px solid #ccc;

3
anrui-scm/anrui-scm-ui/src/components/tab-search/index.vue

@ -38,9 +38,8 @@
.tab-header {
background-color: $search-bg;
padding: 8px 20px;
margin-bottom: 15px;
.tab-search{
padding: 8px 0px;
padding: 9px 0px;
}
.tab-btn{
.search-from{

2
anrui-scm/anrui-scm-ui/src/layout/components/AppMain.vue

@ -29,7 +29,7 @@ export default {
position: relative;
background-color: #FFFFFF;
/* margin-left:10px; */
padding: 0 10px;
padding: 0 20px;
overflow-x: hidden;
overflow-y: hidden;
}

23
anrui-scm/anrui-scm-ui/src/styles/element-table.scss

@ -1,19 +1,30 @@
.el-table {
.el-table__header{
tr th{
.el-table__header {
tr th {
background: #edf1f7;
color: #333333;
padding: 8px 0;
font-size: 16px;
}
}
}
.table-describe{
.el-table {
.el-table__body {
tr td {
padding: 6px 0 !important;
}
}
}
.table-describe {
border: 1px solid #dfe4ed;
border-bottom: 0px solid #dfe4ed;
h4{
border-bottom: 0 solid #dfe4ed;
h4 {
float: left;
margin: 0;
line-height: 34px;
padding:0 15px;
padding: 0 15px;
}
}

142
anrui-scm/anrui-scm-ui/src/styles/index.scss

@ -93,27 +93,57 @@ div:focus {
padding-bottom: 10px;
}
.pd-y40{
.pd-y40 {
padding: 40px 0;
}
.pd-y20{
.pd-y20 {
padding: 20px 0;
}
.fs20{
.fs20 {
font-size: 20px;
}
// 页面上的button按钮
.app-container {
.el-button--medium {
padding: 10px 14px;
font-size: 16px;
}
.el-button--small {
padding: 7px 12px;
font-size: 14px;
}
.el-button--mini {
padding: 7px 10px;
font-size: 12px;
}
}
// 添加样式
.app-container {margin: 5px;
.app-container {
margin: 5px 0 5px 0;
background-color: #fff;
}
// 设置了滚动区域
.main-content{ overflow-x: hidden;overflow-y: auto;height: calc(100vh - 200px);}
.listcon{height: calc(100vh - 425px);overflow-y: auto;overflow-x: hidden;}
.listconadd{height: calc(100vh - 200px);overflow-y: auto;overflow-x: hidden;}
.listconsub{height: calc(100vh - 310px);overflow-y: auto;overflow-x: hidden;}
.listconsubjxs{height: calc(100vh - 300px);overflow-y: auto;overflow-x: hidden;}
.listconsub {
height: calc(100vh - 310px);
overflow-y: auto;
overflow-x: hidden;
}
.listconsubjxs {
height: calc(100vh - 300px);
overflow-y: auto;
overflow-x: hidden;
}
// 搜索的
.webtop {
// position: fixed;top: 110px;width: calc(100% - 240px);z-index: 6000;
@ -121,29 +151,52 @@ div:focus {
display: flex !important;
flex-direction: row;
justify-content: space-between !important;
align-items: center; margin-bottom: 0px !important;
align-items: center;
margin-bottom: 0px !important;
font-size: 20px;
}
// 设置了页面头部的内边距和背景色
.tab-header {
background-color: #edf1f7;
padding: 9px 20px;
}
.filter-item {
padding: 0 10px;
width: 220px;
display: inline-block;
}
// 设置列表页面内容布局
.listtop {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 0px 0px 10px 15px;
padding: 0 0 0 15px;
margin-top: 0;
border: 1px solid #dfe4ed;
height: 42px;
line-height: 42px;
}
.listtop .tit {
font-weight: bold;
font-size: 16px
}
.listtop .pagination {
margin: 0;
padding: 0;
}
.listtop .tit{font-weight: bold;}
.listtop .pagination{margin: 0;padding: 0;}
.pages {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: flex-end;
padding: 0px 0px 15px 15px;
padding: 0 0 15px 15px;
}
.pages .tit{font-weight: bold;}
.pages .pagination{margin: 0;}
@ -151,36 +204,42 @@ div:focus {
// .listeltable{overflow-y: auto;height: calc(100vh - 420px);}
.formadd {
padding: 20px 0;
padding: 88px 20px 0 20px;
font-size: 16px;
// height: calc(100vh - 200px);overflow-y: auto;
.title {
padding: 10px;font-weight: bold;
font-size: 20px;
padding: 12px;
font-weight: bold;
font-size: 16px;
background-color: $header-bg;
text-align: center;
text-align: left;
color: #ffffff;
}
.el-row {
display:flex;
display: flex;
flex-wrap: wrap;
border-left: 1px solid $table-border-color;
.el-col{
.el-col {
border-right: 1px solid $table-border-color;
border-bottom: 1px solid $table-border-color;
padding: 5px 15px 5px 15px !important;
min-height: 50px;
padding: 0 15px;
min-height: 42px;
line-height: 1;
.el-form-item{
.el-form-item {
margin-bottom: 0;
// .addinputw{width: 400px;}
.addinputw{width: 80%;}
.addinputw {
width: 80%;
}
}
}
}
.footer{margin: 20px;}
}
.formaddcopy {
padding: 20px 0;
.title {
@ -311,7 +370,6 @@ div:focus {
min-height: 50px;
line-height: 50px;
font-size: 14px;
}
}
@ -324,19 +382,43 @@ div:focus {
.bluezi{color: $header-bg; cursor: pointer}
// 经销商添加样式
.titcon{
display: flex;flex-direction: row;justify-content: space-around; background-color: #0294d7;flex: 3;
display: flex;
flex-direction: row;
justify-content: space-around;
background-color: #0294d7;
flex: 3;
}
.titcon .title{
padding: 10px;font-weight: bold;
.titcon .title {
padding: 10px;
font-weight: bold;
font-size: 20px;
text-align: center;
color: #ffffff;
}
.titcon .baocun{text-align: right;flex: 2;padding: 5px 20px;}
.addinputwda{width: 600px;}
.searchcon{margin: 0px 0 10px 0;}
.searchcon .searchbtn{margin: 10px 0;border: #2cab69 1px solid;color: #2cab69;}
.titcon .baocun {
text-align: right;
flex: 2;
padding: 5px 20px;
}
.addinputwda {
width: 600px;
}
//.searchcon{margin: 0px 0 10px 0;}
//.searchcon .searchbtn{margin: 10px 0;border: #2cab69 1px solid;color: #2cab69;}
.searchcon .searchbtn {
margin: 5px 0;
}
.search .btn {
padding: 5px 0;
border: 1px solid #e0e3eb;
text-align: center;
margin-bottom: 5px;
}
// 弹出窗口按钮

6
anrui-scm/anrui-scm-ui/src/styles/sidebar.scss

@ -9,9 +9,9 @@
position: relative;
overflow: hidden;
}
.TagsView{
height: 50px;
}
//.TagsView{
// height: 50px;
//}
.home-box{
position: fixed;
top: 60px;

55
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue

@ -42,33 +42,33 @@
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="180px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
<el-button size="mini" type="primary" @click="cheLiangXiangXiPeiZhi(row)">车型配置</el-button>
</template>
</el-table-column>
<el-table-column label="车型名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column width="185px" label="车架号" align="center">
<!-- <el-table-column label="操作" align="center" width="180px" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="{row}">-->
<!-- <el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>-->
<!-- <el-button size="mini" type="primary" @click="cheLiangXiangXiPeiZhi(row)">车型配置</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="车型名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.modelName }}</span>
</template>
</el-table-column>
<el-table-column width="190px" label="发动机号/许可证" align="center">
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.engineNo }}</span>
<span class="bluezi" @click="cheLiangXiangXiPeiZhi(scope.row)">{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column width="140px" label="存放地点" align="center">
<!-- <el-table-column width="190px" label="发动机号/许可证" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.engineNo }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.locationName }}</span>
</template>
</el-table-column>
<el-table-column width="110px" label="库存状态" align="center">
<el-table-column width="160px" label="库存状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleStateValue }}</span>
</template>
@ -536,18 +536,15 @@ export default {
padding: 5px 100px;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
/*.btn {*/
/* padding: 15px 0 15px 0;*/
/* border: 1px solid #e0e3eb;*/
/*}*/
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
/*.tab-header {*/
/* background-color: #edf1f7;*/
/* padding: 8px 20px;*/
/* margin-bottom: 0 !important;*/
/*}*/
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

50
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhangAdd.vue

@ -14,21 +14,27 @@
<el-col :span="12">
<el-form-item prop="modelName">
<span slot="label">车型名称</span>
<el-autocomplete
popper-class="my-autocomplete"
v-model="temp.modelName"
:fetch-suggestions="querySearch"
placeholder="请输入内容"
@select="handleSelectModelName">
<i
class="el-icon-edit el-input__icon"
slot="suffix"
@click="handleIconClick">
</i>
<template slot-scope="{ item }">
<span class="addr">{{ item.modelName }}</span>
</template>
</el-autocomplete>
<el-select ref="config" v-model="temp.modelSid" class="addinputw" clearable placeholder=""
filterable
@change="modelSidChange">
<el-option v-for="(item,index) in modelName_list" :key="item.sid" :label="item.modelName"
:value="item.sid"/>
</el-select>
<!-- <el-autocomplete-->
<!-- popper-class="my-autocomplete"-->
<!-- v-model="temp.modelName"-->
<!-- :fetch-suggestions="querySearch"-->
<!-- placeholder="请输入内容"-->
<!-- @select="handleSelectModelName">-->
<!-- <i-->
<!-- class="el-icon-edit el-input__icon"-->
<!-- slot="suffix"-->
<!-- @click="handleIconClick">-->
<!-- </i>-->
<!-- <template slot-scope="{ item }">-->
<!-- <span class="addr">{{ item.modelName }}</span>-->
<!-- </template>-->
<!-- </el-autocomplete>-->
</el-form-item>
</el-col>
<el-col :span="12">
@ -463,6 +469,7 @@ export default {
this.getType()
this.getZuZhi()
this.getUseOrg()
this.searchData()
},
showEdit(sid) {
this.$nextTick(() => {
@ -486,6 +493,7 @@ export default {
this.getType()
this.getZuZhi()
this.getUseOrg()
this.searchData()
},
// 使
getUseOrg() {
@ -570,14 +578,22 @@ export default {
console.log('name:', this.temp.lockedStateValue, 'key:', this.temp.lockedState)
},
// selectModelName
searchData(data) {
selectModelName(data).then((response) => {
searchData() {
selectModelName().then((response) => {
console.log('车型名称', response)
if (response.code === '200') {
this.modelName_list = response.data
}
})
},
modelSidChange(val){
if (val) {
const choosetItem = this.modelName_list.filter((item) => item.sid == val)
this.temp.modelName = choosetItem[0].vehicleAlias
console.log('name:', this.temp.modelName, 'key:', this.temp.modelSid)
this.getModelConfig(val)
}
},
//
querySearch(queryString, cb) {
console.log('查询条件:', queryString)

9
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue

@ -101,8 +101,8 @@
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="140px" class-name="small-padding fixed-width">
<el-table-column width="80px" fixed label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed align="center" width="140px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handlePeizhi(row)">车型配置</el-button>
</template>
@ -117,6 +117,11 @@
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.vehicleAlias }}</span>
</template>
</el-table-column>
<el-table-column label="车型归属" width="320px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createOrgName }}</span>
</template>
</el-table-column>
<el-table-column label="版本" width="140px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleVersion }}</span>

11
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexingAdd.vue

@ -191,6 +191,7 @@ import {
SaveList,
selectByOrgSid
} from '@/api/cheliang/basevehiclemodel'
import {fetchBySid} from '@/api/cheliang/dictcommons'
import { typeValues } from '@/api/cheliang/dictcommons'
import Upload from '@/components/uploadFile/uploadImg.vue'
@ -221,6 +222,7 @@ export default {
createOrgArry: [], //
temp: {
sid: '', // sid
createOrgName:'',
vehicleTypeCode: '', //
carBrand: '', //
// carBrandValue:'',
@ -449,6 +451,7 @@ export default {
if (isreload === 'true') this.$emit('reloadlist')
this.temp = {
sid: '', // sid
createOrgName:'',
vehicleTypeCode: '', //
carBrandValue: '',
brandName: '',
@ -491,6 +494,14 @@ export default {
getPathSidByUserSid({userSid:userSid}).then((res) => {
if (res.code === '200') {
this.getBrand(res.data)
this.getCreateOrgName(res.data)
}
})
},
getCreateOrgName(sid){
fetchBySid(sid).then((res) => {
if (res.code === '200') {
this.temp.createOrgName = res.data.name
}
})
},

17
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue

@ -129,17 +129,22 @@
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" align="center" width="110px" class-name="small-padding fixed-width">
<el-table-column width="80px" fixed label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed align="center" width="110px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handleJiage(row)">价格维护</el-button>
</template>
</el-table-column>
<el-table-column label="指导价(元)" align="center">
<el-table-column width="110px" fixed label="指导价(元)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.guidedPrice }}</span>
</template>
</el-table-column>
<el-table-column width="130px" label="最新更新日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modifyTime }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" align="center">
<template slot-scope="scope">
<span>{{ scope.row.carColor }}</span>
@ -165,7 +170,7 @@
<span>{{ scope.row.specification }}</span>
</template>
</el-table-column>
<el-table-column label="后桥速比" align="center">
<el-table-column width="110px" label="后桥速比" align="center">
<template slot-scope="scope">
<span>{{ scope.row.rearAxleRatio }}</span>
</template>
@ -175,7 +180,7 @@
<span>{{ scope.row.airConditioner }}</span>
</template>
</el-table-column>
<el-table-column label="轮毂材质" align="center">
<el-table-column width="110px" label="轮毂材质" align="center">
<template slot-scope="scope">
<span>{{ scope.row.hubMaterial }}</span>
</template>
@ -220,7 +225,7 @@
<span>{{ scope.row.configuringBao }}</span>
</template>
</el-table-column>
<el-table-column label="独立热源" align="center">
<el-table-column width="110px" label="独立热源" align="center">
<template slot-scope="scope">
<span>{{ scope.row.independentSources }}</span>
</template>

4
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingpeizhijiageweihuAdd.vue

@ -37,7 +37,7 @@
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<span>厂家结算价()</span>
<span>厂家结算价()</span>
</el-col>
<el-col :span="6">
<el-form-item>
@ -45,7 +45,7 @@
</el-form-item>
</el-col>
<el-col :span="6" class="tleftb">
<span>销售指导价()</span>
<span>销售指导价()</span>
</el-col>
<el-col :span="6">
<el-form-item>

9
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhi.vue

@ -136,13 +136,18 @@
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="关联状态" align="center">
<el-table-column width="110px" label="关联状态" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleOpen(scope.row)">{{
scope.row.isRelationState === 1 ? '已关联' : '未关联'
}}</span>
</template>
</el-table-column>
<el-table-column label="车型归属" width="190px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createOrg }}</span>
</template>
</el-table-column>
<el-table-column label="使用状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.isUseState === 1 ? '已使用' : '未使用' }}</span>
@ -228,7 +233,7 @@
<span>{{ scope.row.configuringBao }}</span>
</template>
</el-table-column>
<el-table-column label="独立热源" align="center">
<el-table-column label="独立热源" width="110px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.independentSources }}</span>
</template>

22
anrui-scm/anrui-scm-ui/src/views/cheliang/chexingpeizhi/changyongpeizhiAdd.vue

@ -284,6 +284,8 @@
<script>
import { details, pullDown, SaveList, Update } from '@/api/cheliang/basemodelconfig'
import { getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
import { fetchBySid } from '@/api/cheliang/dictcommons'
// import { getFileType, parseDate, parseTime, ConvertMenuState } from "@/utils";
// import { findButtonByUserId } from '@/api/sys/permission'
@ -331,6 +333,8 @@ export default {
multimedia_list: [], //
packingCase_list: [], //
temp: {
createOrgSId:'',
createOrg:'',
airConditioner: '', //
airConditionerKey: '', // key
baffleModel: '', // ()
@ -413,6 +417,7 @@ export default {
})
this.viewTitle = '【新增】常用配置信息'
this.getType()
this.getPathSid()
},
showEdit(row) {
@ -426,6 +431,23 @@ export default {
this.temp = resp.data
})
this.getType()
this.getPathSid()
},
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
getPathSidByUserSid({userSid:userSid}).then((res) => {
if (res.code === '200') {
this.temp.createOrgSId = res.data
this.getCreateOrgName(res.data)
}
})
},
getCreateOrgName(sid){
fetchBySid(sid).then((res) => {
if (res.code === '200') {
this.temp.createOrg = res.data.name
}
})
},
getType() {
// -

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/AppGressionDto.java

@ -11,18 +11,17 @@ import java.util.List;
public class AppGressionDto implements Dto {
private static final long serialVersionUID = 6578281182401647801L;
@ApiModelProperty("sid")
@JsonProperty("sid")
private String sid;
@ApiModelProperty("任务id")
/* @ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
private String procInsId;*/
@ApiModelProperty("用户sid")
@JsonProperty("userSid")
private String userSid;
@ApiModelProperty("申请人编号")

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/AppScmVehicleGressionFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.terminal.api.supplychain.scmvehiclegression;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.SubmitGressionDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -83,4 +84,9 @@ public interface AppScmVehicleGressionFeign {
@PostMapping("/saveCarTransferSiteImage")
@ResponseBody
public ResultBean saveCarTransferSiteImage(@RequestBody AppCarTransferSiteImageDto dto);
@ApiOperation("提交流程")
@PostMapping("/submitCarTransferInfo")
@ResponseBody
ResultBean submitCarTransferInfo(@RequestBody SubmitGressionDto dto);
}

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/AppScmVehicleGressionFeignFallback.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.terminal.api.supplychain.scmvehiclegression;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.SubmitGressionDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -76,4 +77,9 @@ public class AppScmVehicleGressionFeignFallback implements AppScmVehicleGression
public ResultBean saveCarTransferSiteImage(AppCarTransferSiteImageDto dto) {
return null;
}
@Override
public ResultBean submitCarTransferInfo(SubmitGressionDto dto) {
return null;
}
}

22
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/scmvehiclegression/flowable/SubmitGressionDto.java

@ -0,0 +1,22 @@
package com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.AppGressionDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/18 10:58
* @Description
*/
@Data
public class SubmitGressionDto extends AppGressionDto {
private static final long serialVersionUID = 8239298882878726942L;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

10
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/scmvehiclegression/AppScmVehicleGressionRest.java

@ -25,16 +25,15 @@
*********************************************************/
package com.yxt.anrui.terminal.biz.supplychain.scmvehiclegression;
import com.yxt.anrui.scm.api.scmvehiclegression.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.SubmitGressionDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
/**
@ -92,4 +91,9 @@ public class AppScmVehicleGressionRest implements AppScmVehicleGressionFeign {
public ResultBean saveCarTransferSiteImage(AppCarTransferSiteImageDto dto) {
return appScmVehicleGressionService.saveCarTransferSiteImage(dto);
}
@Override
public ResultBean submitCarTransferInfo(SubmitGressionDto dto) {
return appScmVehicleGressionService.submitCarTransferInfo(dto);
}
}

21
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/scmvehiclegression/AppScmVehicleGressionService.java

@ -26,21 +26,13 @@
package com.yxt.anrui.terminal.biz.supplychain.scmvehiclegression;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.scm.api.scmvehicleexamine.*;
import com.yxt.anrui.scm.api.scmvehiclegression.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleexamine.AppExamineDetailsVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleexamine.AppExamineInfoVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleexamine.AppExaminePageVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.*;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.flowable.SubmitGressionDto;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -118,4 +110,15 @@ public class AppScmVehicleGressionService {
ResultBean resultBean = scmVehicleGressionFeign.saveCarTransferSiteImage(appScmVehicleCarTransferSiteImageDto);
return resultBean;
}
public ResultBean submitCarTransferInfo(SubmitGressionDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitCarTransferDto submitCarTransferDto = new SubmitCarTransferDto();
BeanUtil.copyProperties(dto, submitCarTransferDto);
ResultBean resultBean = scmVehicleGressionFeign.submitCarTransfer(submitCarTransferDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
}
Loading…
Cancel
Save