From a9ca0823ab8f33ca85abebcf6ec4a8da235adb49 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 30 一月 2024 14:36:49 +0800
Subject: [PATCH] 开发业务接口

---
 company/src/api/business/dispatchUnit.js                                                   |    7 
 company/src/components/business/dispatchUnitReviewDetails.vue                              |    4 
 server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java               |    5 
 company/src/views/business/taxes.vue                                                       |   32 +
 company/src/components/business/OperaInsuranceApplyCheckWindow.vue                         |   18 +
 server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java        |    8 
 company/src/views/business/dispatchUnitReview.vue                                          |   71 ++--
 company/src/components/business/dispatchReviewCheck.vue                                    |  151 ++++++++++
 company/src/views/business/company.vue                                                     |    2 
 company/src/components/business/dispatchReview.vue                                         |  132 ++++++---
 server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java          |    2 
 server/service/src/main/java/com/doumee/core/utils/Date.java                               |    3 
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java |   99 ++++--
 company/src/components/business/dispatchUnitDetailsPlat.vue                                |  285 ++++++++++++++++++++
 server/service/src/main/java/com/doumee/dao/business/model/DuLog.java                      |    3 
 15 files changed, 699 insertions(+), 123 deletions(-)

diff --git a/company/src/api/business/dispatchUnit.js b/company/src/api/business/dispatchUnit.js
index 4c74a05..bba7319 100644
--- a/company/src/api/business/dispatchUnit.js
+++ b/company/src/api/business/dispatchUnit.js
@@ -21,7 +21,12 @@
 export function getById (id) {
     return request.get(`/business/dispatchUnit/${id}`)
 }
-
+export function check (data) {
+    return request.post('/business/dispatchUnit/check', data)
+}
+export function checkWorktype (data) {
+    return request.post('/business/dispatchUnit/checkWorktype', data)
+}
 // 娣诲姞宸ョ
 export function createSolution (data) {
     return request.post('/business/dispatchUnit/createSolution', data)
diff --git a/company/src/components/business/OperaInsuranceApplyCheckWindow.vue b/company/src/components/business/OperaInsuranceApplyCheckWindow.vue
index 2f22c03..82a670f 100644
--- a/company/src/components/business/OperaInsuranceApplyCheckWindow.vue
+++ b/company/src/components/business/OperaInsuranceApplyCheckWindow.vue
@@ -172,6 +172,24 @@
   methods: {
      open(title,target,flag){
        this.visible=true
+       this.model={}
+       this.form= {
+         id: null,
+         backCheckInfo:'',
+         dealBackInfo:'',
+         editCheckInfo:'',
+         editDate: '',
+         editCode: '',
+         startTime:null,
+         code:null,
+         toubaodanFile:null,
+         baoxianFile:null,
+         editBaoxianFile:null,
+         fileList: [],
+         fileList1: [],
+         fileList2: [],
+         selectRadio:0
+       },
        this.model=target
        this.form.startTime=this.model.startTime
        this.title=title
diff --git a/company/src/components/business/dispatchReview.vue b/company/src/components/business/dispatchReview.vue
index 9d1ce17..6a3dfad 100644
--- a/company/src/components/business/dispatchReview.vue
+++ b/company/src/components/business/dispatchReview.vue
@@ -1,54 +1,57 @@
 <template>
     <GlobalWindow
         :title="title"
-        width="50%"
+        width="100%"
         :visible.sync="visible"
         :confirm-working="isWorking"
     >
-        <div class="box">
-            <div class="box_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
+      <!--    椹冲洖閫�鍥炵敵璇�    -->
+      <div class="form">
+        <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>
+          </div>
+        </div>
+      </div>
+
+         <div class="box" v-for="(item, index) in duSolutionList" :key="index">
+          <div   class="box_label">淇濋櫓鏂规锛歿{item.solutionName}}</div>
             <el-table
-                :data="tableData"
+                v-if="item.duWorktypeList && item.duWorktypeList.length>0"
+                :data="item.duWorktypeList"
                 border
                 style="width: 100%">
-                <el-table-column
-                    prop="date"
-                    label="鏃ユ湡">
-                </el-table-column>
-                <el-table-column
-                    prop="name"
-                    label="濮撳悕">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鍦板潃">
-                </el-table-column>
+              <el-table-column label="搴忓彿" width="80px">
+                <template slot-scope="scope">
+                  <span>{{scope.$index + 1}}</span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                  prop="workTypeName"
+                  label="鎵�灞炲伐绉�">
+              </el-table-column>
+              <el-table-column
+                  prop="name"
+                  label="鎿嶄綔瑙嗛">
+                <template slot-scope="{row}">
+                  <video loop controls width="150px" height="150px" :src="row.videoUrlFull"></video>
+                </template>
+              </el-table-column>
+              <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>
+                </template>
+              </el-table-column>
             </el-table>
-        </div>
-        <!--    椹冲洖閫�鍥炵敵璇�    -->
-        <el-dialog
-            title="瀹℃牳纭"
-            :visible.sync="visible5"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div>
-                    <div class="form_item_val">
-                        <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible5 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
+      </div>
         <template v-slot:footer>
-            <el-button type="primary" @click="visible5 = true">瀹℃牳閫氳繃</el-button>
-            <el-button @click="visible5 = true">瀹℃牳閫�鍥�</el-button>
+            <el-button type="primary" @click="doSubmit(1)">瀹℃牳閫氳繃</el-button>
+            <el-button type="danger" @click="doSubmit(2)">瀹℃牳閫�鍥�</el-button>
+            <el-button @click="visible=false">鍙栨秷</el-button>
         </template>
     </GlobalWindow>
 </template>
@@ -56,6 +59,7 @@
 <script>
     import BaseOpera from '@/components/base/BaseOpera'
     import GlobalWindow from '@/components/common/GlobalWindow'
+    import {checkWorktype} from "@/api/business/dispatchUnit";
     export default {
         name: 'dispatchReview',
         extends: BaseOpera,
@@ -64,9 +68,10 @@
             return {
                 // 琛ㄥ崟鏁版嵁
                 form: {
-                    id: null,
-                    editDate: ''
+                  checkInfo:'',
+                  duSolutionList:[]
                 },
+              duSolutionList:[],
                 // 楠岃瘉瑙勫垯
                 rules: {
                 },
@@ -81,6 +86,44 @@
             })
         },
         methods: {
+          open(title, target){
+            this.title=title
+            this.visible=true
+            this.form ={}
+            this.form = target;
+            this.duSolutionList=[]
+            var duSolutionList = this.form.duSolutionList;
+            duSolutionList.forEach(item => {
+                var worktyps = item.duWorktypeList;
+                var flag = 0;
+              var tempworktyps = new Array();
+                worktyps.forEach(item1 => {
+                   if(item1.status == null || item1.status == 0){
+                     //濡傛灉鏄緟瀹℃牳宸ョ
+                     flag = 1;
+                     tempworktyps.push(item1);
+                   }
+                  if(flag ==1){
+                    this.duSolutionList.push({duWorktypeList:tempworktyps,solutionName:item.solutionName})
+                  }
+                })
+            })
+
+            console.log(this.form)
+          },
+          doSubmit(type){
+            this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+                .then(() => {
+                  this.isWorking = true
+                  checkWorktype({id:this.form.id,checkInfo:this.form.checkInfo,worktypeStatus:type})
+                      .then(response => {
+                        this.visible = false
+                        this.$emit('success')
+                      }).catch(err => {
+                    this.$tip.apiFailed(err)
+                  })
+                })
+          }
 
         }
     }
@@ -101,6 +144,7 @@
         display: flex;
         align-items: center;
         flex-direction: column;
+      margin-bottom: 50px;
         .form_span {
             width: 100%;
             display: flex;
@@ -122,13 +166,13 @@
             width: 100%;
             display: flex;
             align-items: center;
-            margin-bottom: 20px;
+            margin-bottom: 50px;
             &:last-child {
                 margin: 0 !important;
             }
             .form_item_label {
                 flex-shrink: 0;
-                width: 170px;
+                //width: 170px;
                 color: black;
                 font-size: 14px;
                 span {
diff --git a/company/src/components/business/dispatchReviewCheck.vue b/company/src/components/business/dispatchReviewCheck.vue
new file mode 100644
index 0000000..b1051c9
--- /dev/null
+++ b/company/src/components/business/dispatchReviewCheck.vue
@@ -0,0 +1,151 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="50%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+    >
+          <div class="form">
+            <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>
+              </div>
+            </div>
+          </div>
+
+      <template v-slot:footer>
+        <el-button type="primary" @click="doSubmit(1)">瀹℃牳閫氳繃</el-button>
+        <el-button type="danger" @click="doSubmit(2)">瀹℃牳閫�鍥�</el-button>
+        <el-button @click="visible=false">鍙栨秷</el-button>
+      </template>
+    </GlobalWindow>
+</template>
+
+<script>
+    import BaseOpera from '@/components/base/BaseOpera'
+    import GlobalWindow from '@/components/common/GlobalWindow'
+    import {check} from "@/api/business/dispatchUnit";
+    export default {
+        name: 'dispatchReviewCheck',
+        extends: BaseOpera,
+        components: { GlobalWindow },
+        data () {
+            return {
+                // 琛ㄥ崟鏁版嵁
+                form: {
+                    id: null,
+                    checkInfo: ''
+                },
+                // 楠岃瘉瑙勫垯
+                rules: {
+                },
+                tableData: [],
+                visible5: false
+            }
+        },
+        created () {
+            this.config({
+                api: '/business/insuranceApply',
+                'field.id': 'id'
+            })
+        },
+        methods: {
+          open(title,target){
+            this.form.id = null
+            this.title=title
+            this.visible=true
+            this.form.id=target.id
+          },
+          doSubmit(type){
+            this.$dialog.messageConfirm('纭杩涜璇ユ搷浣滃悧锛�')
+                .then(() => {
+                  this.isWorking = true
+                  check({id:this.form.id,checkInfo:this.form.checkInfo,unitStatus:type})
+                      .then(response => {
+                        this.visible = false
+                        this.$emit('success')
+                      }).catch(err => {
+                    this.$tip.apiFailed(err)
+                  })
+                })
+          }
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    .box {
+        width: 100%;
+        .box_label {
+            width: 100%;
+            color: black;
+            font-size: 14px;
+            margin-bottom: 15px;
+        }
+    }
+    .form {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        flex-direction: column;
+        .form_span {
+            width: 100%;
+            display: flex;
+            align-items: start;
+            flex-direction: column;
+            margin-bottom: 20px;
+            span {
+                font-size: 14px;
+                &:nth-child(1) {
+                    color: black;
+                    margin-bottom: 5px;
+                }
+                &:nth-child(2) {
+                    color: #8c939d;
+                }
+            }
+        }
+        .form_item {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 20px;
+            &:last-child {
+                margin: 0 !important;
+            }
+            .form_item_label {
+                flex-shrink: 0;
+                width: 170px;
+                color: black;
+                font-size: 14px;
+                span {
+                    color: red;
+                    font-size: 14px;
+                }
+            }
+            .form_item_val {
+                flex: 1;
+                /*height: 40px;*/
+                margin-left: 20px;
+                textarea {
+                    width: 100%;
+                    height: 70px;
+                    border: 1px solid #cbcbcb;
+                    padding: 10px;
+                    outline: none;
+                    box-sizing: border-box;
+                }
+                input {
+                    width: 100%;
+                    height: 40px;
+                    outline: none;
+                    border-radius: 5px;
+                    border: 1px solid #cbcbcb;
+                    padding: 0 20px;
+                    box-sizing: border-box;
+                }
+            }
+        }
+    }
+</style>
diff --git a/company/src/components/business/dispatchUnitDetailsPlat.vue b/company/src/components/business/dispatchUnitDetailsPlat.vue
new file mode 100644
index 0000000..afbdb8a
--- /dev/null
+++ b/company/src/components/business/dispatchUnitDetailsPlat.vue
@@ -0,0 +1,285 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="100%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <div class="info">
+          <div class="info_head">
+            <span>鎵�灞炰紒涓氾細{{ form.companyName }} </span>
+            <el-button  type="primary" v-if=" form.unitStatus == 0" @click="$refs.dispatchReviewCheck.open('瀹℃牳娲鹃仯鍗曚綅',form)" >瀹℃牳</el-button>
+            <el-button type="primary" v-else-if="form.unitStatus == 1 &&( form.worktypeStatus  == null || form.worktypeStatus == 0)" @click="$refs.dispatchReview.open('瀹℃牳宸ョ',form)">瀹℃牳宸ョ</el-button>
+          </div>
+            <div class="info_list">
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅锛�</div>
+                    <div class="info_list_item_val">{{form.name}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅淇$敤浠g爜锛�</div>
+                    <div class="info_list_item_val">{{form.code}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅鐘舵�侊細</div>
+                    <div class="info_list_item_val" style="color:#2E68EC;" v-if="form.unitStatus === 0">寰呭鏍�</div>
+                    <div class="info_list_item_val"   v-if="form.unitStatus === 1">
+                      <span  style="color:#2E68EC;" v-if="form.worktypeStatus  ==null||form.worktypeStatus === 0">宸ョ寰呭</span>
+                      <span  style="color: green" v-if="form.worktypeStatus === 1">瀹℃牳閫氳繃</span>
+                      <span  style="color: red;" v-if="form.worktypeStatus === 2">宸ョ瀹℃牳涓嶉�氳繃</span>
+                     </div>
+                    <div class="info_list_item_val"  style="color: red;" v-if="form.unitStatus === 2">瀹℃牳涓嶉�氳繃</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅璇﹁堪锛�</div>
+                    <div class="info_list_item_val">{{form.content}}</div>
+                </div>
+            </div>
+            <div class="info_table">
+                <div class="info_table_item" v-for="(item, index) in form.duSolutionList" :key="index">
+                    <div class="info_table_item_label">淇濋櫓鏂规锛歿{item.solutionName}}</div>
+                    <div class="info_table_item_content">
+                        <el-table
+                            :data="item.duWorktypeList"
+                            border
+                            style="width: 100%">
+                            <el-table-column label="搴忓彿" width="80px">
+                                <template slot-scope="scope">
+                                    <span>{{scope.$index + 1}}</span>
+                                </template>
+                            </el-table-column>
+                            <el-table-column
+                                prop="workTypeName"
+                                label="鎵�灞炲伐绉�">
+                            </el-table-column>
+                            <el-table-column
+                                prop="name"
+                                label="鎿嶄綔瑙嗛">
+                                <template slot-scope="{row}">
+                                    <video loop controls width="150px" height="150px" :src="row.videoUrlFull"></video>
+                                </template>
+                            </el-table-column>
+                            <el-table-column
+                                prop="checkDate"
+                                label="瀹℃牳閫氳繃鏃ユ湡">
+                            </el-table-column>
+                            <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>
+                                </template>
+                            </el-table-column>
+<!--                            <el-table-column
+                                label="鎿嶄綔">
+                                <template slot-scope="scope">
+                                    <el-button type="text" style="color: red;" v-if="scope.row.status === 2" @click="dele(scope.row.id, index, scope.$index)">鍒犻櫎</el-button>
+                                </template>
+                            </el-table-column>-->
+                        </el-table>
+                    </div>
+                </div>
+            </div>
+            <div class="info_status">
+                <div class="info_status_label">瀹℃牳娴佺▼</div>
+                <div class="info_status_list">
+                    <el-timeline :reverse="reverse">
+                        <el-timeline-item
+                            v-for="(activity, index) in form.duLogList"
+                            :key="index">
+                            <div style="display: flex; flex-direction: column;">
+                                <span style="font-size: 16px; font-weight: 400; color: black;">
+                                    {{activity.title}}
+                                    <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="activity.objType === 5 || activity.objType === 6 || activity.objType === 1 || activity.objType === 2">
+                                       鎻愪氦鎰忚锛歿{activity.content}}
+                                    </span>
+                                </span>
+                                <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
+                                    鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType==1? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+                                </span>
+                            </div>
+                        </el-timeline-item>
+                    </el-timeline>
+                </div>
+            </div>
+        </div>
+
+        <!--    娣诲姞鏂规    -->
+        <addJobType ref="addJobType" @success="callback" />
+        <!-- 缂栬緫 -->
+      <OperaDispatchUnitWindow ref="OperaDispatchUnitWindow" @success="callback" />
+      <dispatchReview ref="dispatchReview"  @success="callback" />
+      <dispatchReviewCheck ref="dispatchReviewCheck" @success="callback" />
+    </GlobalWindow>
+</template>
+
+<script>
+  import BaseOpera from '@/components/base/BaseOpera'
+  import GlobalWindow from '@/components/common/GlobalWindow'
+  import addJobType from '@/components/enterprise/addJobType'
+  import dispatchReview from '@/components/business/dispatchReview'
+  import dispatchReviewCheck from '@/components/business/dispatchReviewCheck'
+  import OperaDispatchUnitWindow from '@/components/enterprise/OperaDispatchUnitWindow'
+  import { getById } from '@/api/business/dispatchUnit'
+  import { deleteById } from '@/api/business/duWorktype'
+  export default {
+    name: 'dispatchUnitDetailsPlat',
+    extends: BaseOpera,
+    components: { GlobalWindow, addJobType, OperaDispatchUnitWindow,dispatchReview ,dispatchReviewCheck},
+    data () {
+      return {
+        // 琛ㄥ崟鏁版嵁
+        form: {
+          id: null,
+          name: '',
+          code: '',
+          content: '',
+          companyName:'',
+          unitStatus: '',
+          worktypeStatus: '',
+          duLogList: [],
+          duSolutionList: [],
+          saveDuSolutionDTOList: [
+            {
+              id: '',
+              saveDuWorkTypeDTOList: [
+                {
+                  videoUrl: '',
+                  workTypeId: '',
+                  file: {
+                    videourl: '',
+                    videourlfull: ''
+                  }
+                }
+              ],
+              typeWork: [],
+              solutionId: ''
+            }
+          ]
+        },
+        tableData: [],
+        insuranceScheme: [],
+        reverse: true,
+        visible5:false,
+        activities: []
+      }
+    },
+    created () {
+      this.config({
+        api: '/business/dispatchUnit',
+        'field.id': 'id'
+      })
+    },
+    methods: {
+      open (title, target) {
+        this.title = title
+        this.visible = true
+        this.form={
+          id: null,
+          name: '',
+          code: '',
+          content: '',
+          unitStatus: '',
+          companyName:'',
+          worktypeStatus: '',
+          duLogList: [],
+          duSolutionList: [],
+          saveDuSolutionDTOList:[ ]
+        }
+
+        this.form.id = target.id
+        this.getDetails()
+      },
+      async getDetails() {
+        let res = await getById(this.form.id)
+        for (const key in this.form) {
+          this.form[key] = res[key]
+        }
+      },
+      callback() {
+          // this.visible = true
+          this.open (this.title, this.form)
+         this.$emit('success')
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+    .info {
+        width: 100%;
+        .info_list {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            flex-wrap: wrap;
+            .info_list_item {
+                width: 33.3%;
+                display: flex;
+                align-items: center;
+                margin-bottom: 15px;
+                .info_list_item_label {
+                    flex-shrink: 0;
+                    //width: 150px;
+                    font-size: 14px;
+                    color: black;
+                }
+                .info_list_item_val {
+                    flex: 1;
+                    font-size: 14px;
+                    color: black;
+                }
+            }
+        }
+      .info_head {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        span {
+          color: black;
+          font-size: 14px;
+        }
+      }
+        .info_btns {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 15px;
+        }
+        .info_table {
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            margin-bottom: 15px;
+            .info_table_item {
+                width: 100%;
+                display: flex;
+                flex-direction: column;
+                margin-bottom: 15px;
+                &:last-child {
+                    margin: 0 !important;
+                }
+                .info_table_item_label {
+                    font-size: 14px;
+                    color: black;
+                    margin-bottom: 10px;
+                }
+                .info_table_item_content {
+                    width: 100%;
+                }
+            }
+        }
+        .info_status {
+            width: 100%;
+            .info_status_label {
+                width: 100%;
+                font-size: 18px;
+                font-weight: bold;
+                margin-bottom: 15px;
+            }
+        }
+    }
+</style>
diff --git a/company/src/components/business/dispatchUnitReviewDetails.vue b/company/src/components/business/dispatchUnitReviewDetails.vue
index e628141..a4a5fb4 100644
--- a/company/src/components/business/dispatchUnitReviewDetails.vue
+++ b/company/src/components/business/dispatchUnitReviewDetails.vue
@@ -230,6 +230,10 @@
                 color: black;
                 font-size: 14px;
             }
+            span {
+                color: black;
+                font-size: 14px;
+            }
         }
         .info_list {
             width: 100%;
diff --git a/company/src/views/business/company.vue b/company/src/views/business/company.vue
index 8b37f4d..ca2a24f 100644
--- a/company/src/views/business/company.vue
+++ b/company/src/views/business/company.vue
@@ -59,7 +59,9 @@
                     <template slot-scope="{row}">
                         <el-button type="text" @click="$refs.OperaCompanyDescWindow.open('浼佷笟璇︽儏', row)"  v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button>
                         <el-button type="text" @click="edit(row)" v-permissions="['business:company:update']">淇敼</el-button>
+<!--
                         <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" v-permissions="['business:company:update']">鐢靛瓙绛捐璇�</el-button>
+-->
                     </template>
                 </el-table-column>
             </el-table>
diff --git a/company/src/views/business/dispatchUnitReview.vue b/company/src/views/business/dispatchUnitReview.vue
index 081779a..6d0c29c 100644
--- a/company/src/views/business/dispatchUnitReview.vue
+++ b/company/src/views/business/dispatchUnitReview.vue
@@ -2,30 +2,22 @@
     <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 options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="娲鹃仯鍗曚綅" prop="name">
-                <el-select v-model="searchForm.name" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
+          <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="璇疯緭鍏ユ淳閬e崟浣�" @keypress.enter.native="search"></el-input>
+          </el-form-item>
             <section>
                 <el-button type="primary" @click="search">鎼滅储</el-button>
                 <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.dispatchUnitReviewDetails.open('娲鹃仯鍗曚綅璇︽儏')">璇︽儏</el-button>
             </section>
         </el-form>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
@@ -40,13 +32,17 @@
                         <span>{{scope.$index + 1}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="companyId" label="鎵�灞炰紒涓�" min-width="100px"></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 v-if="row.unitStatus === 0">寰呭鏍�</span>
-                        <span v-if="row.unitStatus === 1">瀹℃牳閫氳繃</span>
-                        <span v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span>
+                        <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>
@@ -57,7 +53,7 @@
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaDispatchUnitWindow.open('缂栬緫娲鹃仯鍗曚綅淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:dispatchunit:update']">鏌ョ湅璇︽儏</el-button>
+                        <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>
@@ -69,7 +65,7 @@
             </pagination>
         </template>
         <!-- 鏂板缓/淇敼 -->
-        <dispatchUnitReviewDetails ref="dispatchUnitReviewDetails" @success="handlePageChange"/>
+        <dispatchUnitDetailsPlat ref="dispatchUnitDetailsPlat" @success="handlePageChange"/>
     </TableLayout>
 </template>
 
@@ -77,18 +73,20 @@
     import BaseTable from '@/components/base/BaseTable'
     import TableLayout from '@/layouts/TableLayout'
     import Pagination from '@/components/common/Pagination'
-    import dispatchUnitReviewDetails from '@/components/business/dispatchUnitReviewDetails'
+    import dispatchUnitDetailsPlat from '@/components/business/dispatchUnitDetailsPlat'
+    import {pageAll as companyAll} from '@/api/business/company'
     export default {
         name: 'dispatchUnitReview',
         extends: BaseTable,
-        components: { TableLayout, Pagination, dispatchUnitReviewDetails },
+        components: { TableLayout, Pagination, dispatchUnitDetailsPlat },
         data () {
             return {
                 // 鎼滅储
                 searchForm: {
                     name: '',
                     companyId: ''
-                }
+                },
+              companyList:[]
             }
         },
         created () {
@@ -99,6 +97,19 @@
                 'field.main': 'id'
             })
             this.search()
+          this.loadSelectList()
+        },
+      methods:{
+        // handlePageChange() {
+        //   this.search()
+        // },
+        loadSelectList() {
+          companyAll({}).then(res => {
+            this.companyList = res
+          }).catch(err => {
+          })
         }
+
+      }
     }
 </script>
diff --git a/company/src/views/business/taxes.vue b/company/src/views/business/taxes.vue
index 79d6e85..be106cb 100644
--- a/company/src/views/business/taxes.vue
+++ b/company/src/views/business/taxes.vue
@@ -19,14 +19,14 @@
                 </el-date-picker>
             </el-form-item>
             <el-form-item label="鐢宠寮�绁ㄤ紒涓�" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
+              <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>
             <section>
                 <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -122,6 +122,8 @@
     import TableLayout from '@/layouts/TableLayout'
     import Pagination from '@/components/common/Pagination'
     import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
+    import {all as solutionAll} from "@/api/business/solutions";
+    import {pageAll as companyAll} from "@/api/business/company";
     export default {
         name: 'Taxes',
         extends: BaseTable,
@@ -129,6 +131,7 @@
         data () {
             return {
                 // 鎼滅储
+              companyList:[],
                 searchForm: {
                     status: '',
                     companyId: ''
@@ -144,11 +147,22 @@
                 'field.main': 'id'
             })
             this.search()
+          this.loadSelectList()
         },
         methods: {
             handleRemove(file, fileList) {
                 console.log(file, fileList);
-            }
+            },
+          loadSelectList() {
+            solutionAll({dataType:0}).then(res => {
+              this.solutionList = res
+            }).catch(err => {
+            })
+            companyAll({}).then(res => {
+              this.companyList = res
+            }).catch(err => {
+            })
+          }
         }
     }
 </script>
diff --git a/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java b/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java
index fd216af..1ee2268 100644
--- a/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/DispatchUnitController.java
@@ -100,6 +100,6 @@
     @GetMapping("/{id}")
     @RequiresPermissions("business:dispatchunit:query")
     public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(dispatchUnitService.findById(id));
+        return ApiResponse.success(dispatchUnitService.detailById(id));
     }
 }
diff --git a/server/service/src/main/java/com/doumee/core/utils/Date.java b/server/service/src/main/java/com/doumee/core/utils/Date.java
index 73310aa..b35f2db 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Date.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Date.java
@@ -20,6 +20,9 @@
      * @return java.util.Date
      */
     public java.util.Date getStart (java.util.Date date) {
+        if(date == null){
+            return null;
+        }
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);
         calendar.set(Calendar.HOUR_OF_DAY, 0);
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
index d8d52a5..0c3cebc 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
@@ -94,6 +94,7 @@
     @ExcelColumn(name="鑱旂郴浜�")
     private String linkname;
 
+
     @ApiModelProperty(value = "瀹℃牳鏃堕棿")
     @ExcelColumn(name="瀹℃牳鏃堕棿")
 
@@ -138,5 +139,9 @@
     @TableField(exist = false)
     private Integer duSolutionId;
 
+    @ApiModelProperty(value = "浼佷笟鍚嶇О")
+    @TableField(exist = false)
+    private String companyName;
+
 
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java b/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java
index 4819e7c..9069da9 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/DuLog.java
@@ -87,6 +87,9 @@
     @ApiModelProperty(value = "鍒涘缓浜哄悕绉�", example = "1")
     @TableField(exist = false)
     private String  creatorName;
+    @ApiModelProperty(value = "鍒涘缓浜虹被鍨� 0骞冲彴 1浼佷笟", example = "1")
+    @TableField(exist = false)
+    private Integer  creatorType;
 
     @ApiModelProperty(value = "鍏徃鍚嶇О", example = "1")
     @TableField(exist = false)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index 46b2958..c14e455 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -82,13 +82,13 @@
         }
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         DispatchUnit model = dispatchUnitMapper.selectById(param.getId());
-        if(Objects.isNull(model) || Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ||!Constants.equalsInteger(model.getDataType(),Constants.ZERO)){
+        if(Objects.isNull(model) || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ||!Constants.equalsInteger(model.getDataType(),Constants.ZERO)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌娲鹃仯鍗曚綅淇℃伅");
         }
-        if(!Constants.equalsInteger(model.getStatus(),Constants.ONE)){
+        if(!Constants.equalsInteger(model.getUnitStatus(),Constants.ONE)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅皻鏈鏍搁�氳繃锛屼笉鏀寔璇ユ搷浣滐紒");
         }
-        if(Constants.equalsInteger(model.getWorktypeStatus(),Constants.ZERO)){
+        if(!Constants.equalsInteger(model.getWorktypeStatus(),Constants.ZERO)){
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ユ淳閬e崟浣嶅伐绉嶅凡瀹℃牳锛岃鍕块噸澶嶆彁浜");
         }
         DispatchUnit update = new DispatchUnit();
@@ -139,6 +139,9 @@
 
         duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
                         .set(DuSolution::getStatus,Constants.ONE)
+                .set(DuSolution::getCheckDate,update.getEditDate() )
+                .set(DuSolution::getCheckUserId,update.getCheckUserId())
+                .set(DuSolution::getCheckInfo,update.getCheckInfo())
                 .eq(DuSolution::getIsdeleted,Constants.ZERO)
                 .eq(DuSolution::getStatus,Constants.ZERO)
                 .eq(DuSolution::getDispatchUnitId,model.getId())
@@ -164,6 +167,9 @@
 
             duWorktypeMapper.update(null,new UpdateWrapper<DuWorktype>().lambda()
                     .set(DuWorktype::getStatus,Constants.ONE)
+                    .set(DuWorktype::getCheckDate,update.getEditDate())
+                    .set(DuWorktype::getCheckUserId,update.getCheckUserId())
+                    .set(DuWorktype::getCheckInfo,update.getCheckInfo())
                     .eq(DuWorktype::getIsdeleted,Constants.ZERO)
                     .eq(DuWorktype::getStatus,Constants.ZERO)
                     .eq(DuWorktype::getDuSolutionId,s.getId()));
@@ -212,7 +218,7 @@
         update.setEditDate(new Date());
         update.setId(model.getId());
         update.setUnitStatus(param.getUnitStatus());
-        update.setWorktypeStatus(param.getWorktypeStatus());
+        update.setWorktypeStatus(param.getUnitStatus());
         update.setCheckDate(update.getEditDate());
         update.setCheckUserId(user.getId());
         update.setCheckInfo(param.getCheckInfo());
@@ -226,8 +232,8 @@
         }else{
             //鏇存柊鏄庣粏鏁版嵁涓哄鏍稿け璐�
             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
-                    .set(DuSolution::getCheckDate,new Date() )
                     .set(DuSolution::getStatus,Constants.TWO)
+                    .set(DuSolution::getCheckDate,new Date() )
                     .set(DuSolution::getCheckUserId,update.getCheckUserId())
                     .set(DuSolution::getCheckInfo,update.getCheckInfo())
                     .eq(DuSolution::getDispatchUnitId,update.getId()));
@@ -669,74 +675,93 @@
     @Override
     public PageData<DispatchUnit> findPage(PageWrap<DispatchUnit> pageWrap) {
         IPage<DispatchUnit> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<DispatchUnit> queryWrapper = new QueryWrapper<>();
+        if(pageWrap.getModel().getDataType() ==null){
+            pageWrap.getModel().setDataType(Constants.ZERO);
+        }
+
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.lambda().eq(DispatchUnit::getIsdeleted,Constants.ZERO);
+        MPJLambdaWrapper<DispatchUnit>  queryWrapper =    new MPJLambdaWrapper<DispatchUnit>();
+        queryWrapper.selectAll(DispatchUnit.class)
+                .selectAs(Company::getName,DispatchUnit::getCompanyName)
+                .leftJoin(Company.class,Company::getId,DispatchUnit::getCompanyId);
+        queryWrapper.eq(DispatchUnit::getIsdeleted,Constants.ZERO);
+        if(Constants.equalsInteger(user.getType(),Constants.ZERO)){
+            //鍙兘鐪嬫潈闄愯寖鍥村唴
+            if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){
+                queryWrapper. eq(Company::getId,-1);//璁剧疆鏃犳晥璁块棶
+            }else {
+                queryWrapper. in(Company::getId, user.getCompanyIdList());
+            }
+        } else  {
+            //浼佷笟鐢ㄦ埛鍙湅鑷繁鐨勬暟鎹�
+            pageWrap.getModel().setCompanyId(user.getCompanyId());
+        }
         if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getId, pageWrap.getModel().getId());
+            queryWrapper.eq(DispatchUnit::getId, pageWrap.getModel().getId());
         }
         if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCreator, pageWrap.getModel().getCreator());
+            queryWrapper.eq(DispatchUnit::getCreator, pageWrap.getModel().getCreator());
         }
         if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(DispatchUnit::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(DispatchUnit::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+            queryWrapper.ge(DispatchUnit::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.le(DispatchUnit::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
         }
         if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getEditor, pageWrap.getModel().getEditor());
+            queryWrapper.eq(DispatchUnit::getEditor, pageWrap.getModel().getEditor());
         }
         if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(DispatchUnit::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(DispatchUnit::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+            queryWrapper.ge(DispatchUnit::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.le(DispatchUnit::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
         }
         if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getIsdeleted, pageWrap.getModel().getIsdeleted());
+            queryWrapper.eq(DispatchUnit::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getName, pageWrap.getModel().getName());
+            queryWrapper.like(DispatchUnit::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getRemark, pageWrap.getModel().getRemark());
+            queryWrapper.eq(DispatchUnit::getRemark, pageWrap.getModel().getRemark());
         }
         if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getStatus, pageWrap.getModel().getStatus());
+            queryWrapper.eq(DispatchUnit::getStatus, pageWrap.getModel().getStatus());
         }
         if (pageWrap.getModel().getUnitStatus() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getUnitStatus, pageWrap.getModel().getUnitStatus());
+            queryWrapper.eq(DispatchUnit::getUnitStatus, pageWrap.getModel().getUnitStatus());
         }
         if (pageWrap.getModel().getWorktypeStatus() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getWorktypeStatus, pageWrap.getModel().getWorktypeStatus());
+            queryWrapper.eq(DispatchUnit::getWorktypeStatus, pageWrap.getModel().getWorktypeStatus());
         }
         if (pageWrap.getModel().getSortnum() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getSortnum, pageWrap.getModel().getSortnum());
+            queryWrapper.eq(DispatchUnit::getSortnum, pageWrap.getModel().getSortnum());
         }
         if (pageWrap.getModel().getCompanyId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCompanyId, pageWrap.getModel().getCompanyId());
+            queryWrapper.eq(DispatchUnit::getCompanyId, pageWrap.getModel().getCompanyId());
         }
         if (pageWrap.getModel().getPhone() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getPhone, pageWrap.getModel().getPhone());
+            queryWrapper.eq(DispatchUnit::getPhone, pageWrap.getModel().getPhone());
         }
         if (pageWrap.getModel().getLinkname() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getLinkname, pageWrap.getModel().getLinkname());
+            queryWrapper.eq(DispatchUnit::getLinkname, pageWrap.getModel().getLinkname());
         }
         if (pageWrap.getModel().getCheckDate() != null) {
-            queryWrapper.lambda().ge(DispatchUnit::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
-            queryWrapper.lambda().le(DispatchUnit::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
+            queryWrapper.ge(DispatchUnit::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate()));
+            queryWrapper.le(DispatchUnit::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate()));
         }
         if (pageWrap.getModel().getCheckInfo() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCheckInfo, pageWrap.getModel().getCheckInfo());
+            queryWrapper.eq(DispatchUnit::getCheckInfo, pageWrap.getModel().getCheckInfo());
         }
         if (pageWrap.getModel().getCheckUserId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getCheckUserId, pageWrap.getModel().getCheckUserId());
+            queryWrapper.eq(DispatchUnit::getCheckUserId, pageWrap.getModel().getCheckUserId());
         }
         if (pageWrap.getModel().getVersion() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getVersion, pageWrap.getModel().getVersion());
+            queryWrapper.eq(DispatchUnit::getVersion, pageWrap.getModel().getVersion());
         }
         if (pageWrap.getModel().getDataType() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getDataType, pageWrap.getModel().getDataType());
+            queryWrapper.eq(DispatchUnit::getDataType, pageWrap.getModel().getDataType());
         }
         if (pageWrap.getModel().getBaseId() != null) {
-            queryWrapper.lambda().eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId());
+            queryWrapper.eq(DispatchUnit::getBaseId, pageWrap.getModel().getBaseId());
         }
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -745,8 +770,8 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        PageData<DispatchUnit> dispatchUnitPageData = PageData.from(dispatchUnitMapper.selectPage(page, queryWrapper));
-        return dispatchUnitPageData;
+        PageData<DispatchUnit> pageData = PageData.from(dispatchUnitJoinMapper.selectJoinPage(page,DispatchUnit.class, queryWrapper));
+        return pageData;
     }
 
     @Override
@@ -758,7 +783,12 @@
 
     @Override
     public DispatchUnit detailById(Integer id) {
-        DispatchUnit dispatchUnit = dispatchUnitMapper.selectById(id);
+        DispatchUnit dispatchUnit = dispatchUnitJoinMapper.selectJoinOne(DispatchUnit.class,
+                new MPJLambdaWrapper<DispatchUnit>()
+                        .selectAll(DispatchUnit.class)
+                        .selectAs(Company::getName,DispatchUnit::getCompanyName)
+                        .leftJoin(Company.class,Company::getId,DispatchUnit::getCompanyId)
+                        .eq(DispatchUnit::getId,id) );
         //鏂规閰嶇疆琛�
         List<DuSolution> duSolutionList = duSolutionJoinMapper.selectJoinList(DuSolution.class,
                 new MPJLambdaWrapper<DuSolution>()
@@ -794,6 +824,7 @@
         List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class,
                 new MPJLambdaWrapper<DuLog>()
                         .selectAll(DuLog.class)
+                        .selectAs(SystemUser::getType,DuLog::getCreatorType)
                         .selectAs(SystemUser::getRealname,DuLog::getCreatorName)
                         .selectAs(Company::getName,DuLog::getCompanyName)
                         .leftJoin(SystemUser.class,SystemUser::getId,DuLog::getCreator)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
index b88ae19..34b0053 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -290,8 +290,8 @@
             queryWrapper.eq(Taxes::getCompanyId,-1);//璁剧疆鏃犳晥璁块棶
         }else{
             queryWrapper.in(Taxes::getCompanyId,user.getCompanyIdList());
-            queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
-            queryWrapper.le(SignRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
+            queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, pageWrap.getModel().getStartDate());
+            queryWrapper.le(pageWrap.getModel().getEndDate() != null,Taxes::getCreateDate, pageWrap.getModel().getEndDate());
             queryWrapper.eq(pageWrap.getModel().getTaxBank() != null,Taxes::getTaxBank, pageWrap.getModel().getTaxBank());
             queryWrapper.eq(pageWrap.getModel().getTaxBank() != null,Taxes::getTaxBank, pageWrap.getModel().getTaxBank());
             queryWrapper.eq(pageWrap.getModel().getRemark() != null,Taxes::getRemark, pageWrap.getModel().getRemark());
@@ -340,8 +340,8 @@
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氱敤鎴锋棤娉曡繘琛岃涓氬姟鏌ヨ");
         }
         if(!Objects.isNull(queryModel)){
-            queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
-            queryWrapper.le(SignRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
+            queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, (pageWrap.getModel().getStartDate()));
+            queryWrapper.le(pageWrap.getModel().getEndDate() != null,Taxes::getCreateDate,  (pageWrap.getModel().getEndDate()));
             queryWrapper.eq(!Objects.isNull(queryModel.getInsuranceApplyId()),Taxes::getInsuranceApplyId,queryModel.getInsuranceApplyId());
             queryWrapper.eq(!Objects.isNull(queryModel.getStatus()),Taxes::getStatus,queryModel.getStatus());
         }

--
Gitblit v1.9.3