Parcourir la source

Merge remote-tracking branch 'origin/master'

ljy121 il y a 1 an
Parent
commit
bd49db027f
21 fichiers modifiés avec 443 ajouts et 331 suppressions
  1. 3 0
      client/.env.pro
  2. 2 2
      client/src/views/OaSystem/financialManagement/financeCost/index.vue
  3. 1 1
      client/src/views/OaSystem/financialManagement/kpglPage/deptIndex.vue
  4. 1 1
      client/src/views/OaSystem/financialManagement/kpglPage/index.vue
  5. 2 1
      client/src/views/OaSystem/home/components/daily/index.vue
  6. 2 2
      client/src/views/OaSystem/marketCenter/khglPage/CustomerTable.vue
  7. 13 4
      client/src/views/OaSystem/oaLayout/tagList.vue
  8. 1 1
      client/src/views/OaSystem/projectCenter/projectBook/projectBook.vue
  9. 73 20
      client/src/views/OaSystem/projectCenter/projectDetail/components/xmht/index.vue
  10. 1 0
      client/src/views/OaSystem/projectCenter/projectDetail/components/xmxx/index.vue
  11. 8 3
      client/src/views/OaSystem/projectCenter/purchaseContract/purchaseContract.vue
  12. 8 3
      client_h5/src/components/flowForm.vue
  13. 18 5
      client_h5/src/pages/attendanceNote/index.vue
  14. 5 0
      client_h5/src/pages/home/index.vue
  15. 12 8
      client_h5/src/pages/leave/index.vue
  16. 17 8
      client_h5/src/pages/travel/index.vue
  17. 0 1
      zjugis-business/src/main/java/com/zjugis/business/flow/commoncost/service/CommonCostServiceImpl.java
  18. 273 268
      zjugis-business/src/main/java/com/zjugis/business/service/impl/FinanceCostServiceImpl.java
  19. 1 1
      zjugis-business/src/main/resources/application-dev.yaml
  20. 1 1
      zjugis-business/src/main/resources/templates/Travel/index.ftl
  21. 1 1
      zjugis-module-adm/zjugis-module-adm-biz/src/main/resources/application-dev.yaml

+ 3 - 0
client/.env.pro

@@ -9,6 +9,9 @@ VITE_BASE_URL='http://oa.zjugis.com:28080'
 # 上传路径
 VITE_UPLOAD_URL='http://oa.zjugis.com:28080/admin-api/infra/file/upload'
 
+# 流程详情页面路径
+VITE_PROCESS_DETAIL_URI='http://oa.zjugis.com:28080/workflow'
+
 # 接口前缀
 VITE_API_BASEPATH=
 

+ 2 - 2
client/src/views/OaSystem/financialManagement/financeCost/index.vue

@@ -49,9 +49,9 @@
       <div class="form" style="width: 380px">
         <span class="formSpan">类型:</span>
         <el-checkbox-group v-model="type" :min="1" :max="3">
-          <el-checkbox-button v-for="item in typeOptions" :key="item.value" :label="item.value">
+          <el-checkbox v-for="item in typeOptions" :key="item.value" :label="item.value">
             {{ item.label }}
-          </el-checkbox-button>
+          </el-checkbox>
         </el-checkbox-group>
       </div>
       <div class="from">

+ 1 - 1
client/src/views/OaSystem/financialManagement/kpglPage/deptIndex.vue

@@ -20,7 +20,7 @@
       </div>
       <div class="form">
         <span class="formSpan">销售经理:</span>
-        <UserOrgTree v-model="queryParams['managerId']" />
+        <UserOrgTree v-model="queryParams['managerId']" placeholder="请选择销售经理" />
       </div>
       <div class="form">
         <span class="formSpan">项目名称:</span>

+ 1 - 1
client/src/views/OaSystem/financialManagement/kpglPage/index.vue

@@ -20,7 +20,7 @@
       </div>
       <div class="form">
         <span class="formSpan">销售经理:</span>
-        <UserOrgTree v-model="queryParams['managerId']" />
+        <UserOrgTree v-model="queryParams['managerId']" placeholder="请选择销售经理" />
       </div>
       <div class="form">
         <span class="formSpan">责任部门:</span>

+ 2 - 1
client/src/views/OaSystem/home/components/daily/index.vue

@@ -56,7 +56,8 @@ onMounted(async () => {
   const logList = await http.getLogList('daily')
   logList.map((item: any) => {
     const date = item.reportStartDate
-    logObj.value[date] = item
+    const dateKey = moment(date).format('YYYY-MM-DD')
+    logObj.value[dateKey] = item
   })
 
   // 订阅点击更多事件

+ 2 - 2
client/src/views/OaSystem/marketCenter/khglPage/CustomerTable.vue

@@ -142,8 +142,8 @@ const newCustomer = (isAdd: boolean, row?) => {
   const params = !isAdd
     ? `/editCustomer?id=${row.id}&edit=true`
     : row
-    ? `/newCustomer?id=${row.id}`
-    : '/newCustomer'
+      ? `/newCustomer?id=${row.id}`
+      : '/newCustomer'
   push(params)
 }
 // 查看客户详情

+ 13 - 4
client/src/views/OaSystem/oaLayout/tagList.vue

@@ -237,11 +237,19 @@ const closeRightTags = () => {
 
 // 新增tag
 const addTags = () => {
-  const { name } = unref(currentRoute)
+  const { name, path } = unref(currentRoute)
   if (name) {
-    selectedTag.value = unref(currentRoute)
-    tagsViewStore.addView(unref(currentRoute))
-    tagsViewStore.addCachedView()
+    // 检查当前路由路径是否已经存在
+    const existingTagIndex = unref(visitedViews).findIndex((view) => view.path === path)
+    if (existingTagIndex !== -1) {
+      // 如果存在相同路径的标签,更新该标签
+      tagsViewStore.visitedViews[existingTagIndex] = unref(currentRoute)
+    } else {
+      // 如果不存在相同路径的标签,添加新标签
+      selectedTag.value = unref(currentRoute)
+      tagsViewStore.addView(unref(currentRoute))
+      tagsViewStore.addCachedView()
+    }
   }
   nextTick(() => {
     // 当前选择路由滚入视野
@@ -253,6 +261,7 @@ const addTags = () => {
   })
   return false
 }
+
 //订阅流程中关闭message事件
 subscribe.on('closeCurrentView', () => {
   const view = vueRouter.currentRoute.value as RouteLocationNormalizedLoaded

+ 1 - 1
client/src/views/OaSystem/projectCenter/projectBook/projectBook.vue

@@ -11,7 +11,7 @@
       </div>
       <div class="form">
         <span class="formSpan">项目经理:</span>
-        <UserOrgTree v-model="queryParams['xmjlId']" />
+        <UserOrgTree v-model="queryParams['xmjlId']" placeholder="请选择项目经理" />
       </div>
       <div class="form">
         <span class="formSpan">责任部门:</span>

+ 73 - 20
client/src/views/OaSystem/projectCenter/projectDetail/components/xmht/index.vue

@@ -199,7 +199,11 @@
             <tr>
               <td class="th">销售经理:</td>
               <td>
-                <UserOrgTree v-model="mContractDetail.areaManagerId" :disabled="!editor" />
+                <UserOrgTree
+                  v-model="mContractDetail.areaManagerId"
+                  :disabled="!editor"
+                  placeholder="请选择销售经理"
+                />
               </td>
               <td class="th">签订方式:</td>
               <td>
@@ -425,8 +429,8 @@
               @click="
                 startUseMoneyMuate({
                   projectId: mContractDetail?.projectId,
-                  contractId: cContractDetail.contractId,
-                  supplierId: cContractDetail.supplierId
+                  contractId: cContractDetail.id,
+                  supplierId: cContractDetail.customerId
                 })
               "
             >
@@ -475,12 +479,23 @@
               </td>
             </tr>
             <tr>
-              <td class="th">是否需要签订合同:</td>
+              <!-- <td class="th">是否需要签订合同:</td>
               <td>
                 <el-radio-group v-model="cContractDetail.isSign" :disabled="!editor">
                   <el-radio :label="1">是</el-radio>
                   <el-radio :label="0">否</el-radio>
                 </el-radio-group>
+              </td> -->
+              <td class="th">签订时间:</td>
+              <td>
+                <el-date-picker
+                  style="width: 100%"
+                  :disabled="!editor"
+                  v-model="cContractDetail.qualityControllerId"
+                  type="date"
+                  @change="($evt) => (cContractDetail.contractOff = $evt)"
+                  placeholder="请选择合签订时间"
+                />
               </td>
               <td class="th">分包费用承担:</td>
               <td>
@@ -495,6 +510,12 @@
                 </el-select>
               </td>
             </tr>
+            <tr>
+              <td class="th">付款条件:</td>
+              <td colspan="3">
+                {{ cContractDetail?.paymentTerms ?? '' }}
+              </td>
+            </tr>
             <tr>
               <td class="th">分包采购内容需求:</td>
               <td colspan="3">
@@ -525,6 +546,47 @@
               </td>
             </tr>
             <tr>
+              <td class="th">合同拿出时间:</td>
+              <td>
+                <span v-if="!editor && !cContractDetail.contractOn"></span>
+                <el-date-picker
+                  v-else
+                  style="width: 100%"
+                  :disabled="!editor"
+                  v-model="cContractDetail.contractOn"
+                  type="date"
+                  value-format="YYYY-MM-DD"
+                  placeholder="请选择合同拿出时间"
+                />
+              </td>
+              <td class="th">合同拿回时间:</td>
+              <td>
+                <span v-if="!editor && !cContractDetail.contractOff"></span>
+                <el-date-picker
+                  v-else
+                  style="width: 100%"
+                  :disabled="!editor"
+                  v-model="cContractDetail.contractOff"
+                  type="date"
+                  value-format="YYYY-MM-DD"
+                  placeholder="请选择合同拿回时间"
+                />
+              </td>
+            </tr>
+            <tr>
+              <td class="th">签订时间:</td>
+              <td>
+                <span v-if="!editor && !cContractDetail.qualityControllerId"></span>
+                <el-date-picker
+                  v-else
+                  style="width: 100%"
+                  :disabled="!editor"
+                  v-model="cContractDetail.qualityControllerId"
+                  type="date"
+                  value-format="YYYY-MM-DD"
+                  placeholder="请选择签订时间"
+                />
+              </td>
               <td class="th">是否需要签订合同:</td>
               <td>
                 <el-radio-group v-model="cContractDetail.isSign" :disabled="!editor">
@@ -532,9 +594,11 @@
                   <el-radio :label="0">否</el-radio>
                 </el-radio-group>
               </td>
-              <td class="th">质量把控人:</td>
-              <td>
-                <UserOrgTree v-model="cContractDetail.qualityControllerId" :disabled="!editor" />
+            </tr>
+            <tr>
+              <td class="th">付款条件:</td>
+              <td colspan="3">
+                {{ cContractDetail?.paymentTerms ?? '' }}
               </td>
             </tr>
             <tr>
@@ -550,23 +614,14 @@
             </tr>
           </table>
         </div>
-        <div class="tableBox">
-          <h4 class="td_title"><i class="icon"></i>验收信息</h4>
-          <table>
-            <tr>
-              <td class="th">付款条件:</td>
-              <td colspan="3">{{ cContractDetail?.paymentTerms ?? '' }}</td>
-            </tr>
-          </table>
-        </div>
         <div class="tableBox">
           <h4 class="td_title"><i class="icon"></i>财务信息</h4>
           <table>
             <tr>
               <td class="th">已付款金额(元):</td>
-              <td>{{ calcInfo?.pay }}</td>
+              <td>{{ calcInfo?.pay ?? 0 }}</td>
               <td class="th">合同余额(元):</td>
-              <td>{{ calcInfo?.balance }}</td>
+              <td>{{ calcInfo?.balance ?? 0 }}</td>
             </tr>
           </table>
         </div>
@@ -642,8 +697,6 @@ const { refetch } = useQuery(
   async () => await getContractsByProject(unref(_currentProjectId)),
   {
     onSuccess: (tData: Contract[]) => {
-      console.log('tData---------------------')
-      console.log(tData)
       for (const contract of tData) {
         if (contract.contractSubList && contract.contractSubList.length > 0) {
           childrenContracts.value = contract.contractSubList

+ 1 - 0
client/src/views/OaSystem/projectCenter/projectDetail/components/xmxx/index.vue

@@ -108,6 +108,7 @@
                   <UserOrgTree
                     class="form-item-disable-style"
                     v-model="projectDetail['xsryId']"
+                    placeholder="请选择销售人员"
                     :disabled="!editor"
                   />
                 </td>

+ 8 - 3
client/src/views/OaSystem/projectCenter/purchaseContract/purchaseContract.vue

@@ -26,7 +26,12 @@
       </div>
       <div class="form">
         <span class="formSpan">签订方式:</span>
-        <el-select width="160px" clearable v-model="queryParams.signWay" placeholder="请选择行业">
+        <el-select
+          width="160px"
+          clearable
+          v-model="queryParams.signWay"
+          placeholder="请选择签订方式"
+        >
           <el-option
             v-for="item in signWayAllList"
             :key="item.value"
@@ -37,11 +42,11 @@
       </div>
       <div class="form">
         <span class="formSpan">销售经理:</span>
-        <UserOrgTree v-model="queryParams['managerId']" />
+        <UserOrgTree v-model="queryParams['managerId']" placeholder="请选择销售经理" />
       </div>
       <div class="form">
         <span class="formSpan">责任部门:</span>
-        <DeptTree v-model="queryParams['deptId']" />
+        <DeptTree v-model="queryParams['deptId']" placeholder="请选择责任部门" />
       </div>
       <div class="form">
         <span class="formSpan">合同主类型:</span>

+ 8 - 3
client_h5/src/components/flowForm.vue

@@ -103,7 +103,7 @@
 
 <script setup lang="ts">
 import { showNotify } from 'vant';
-
+import { closePage } from 'dingtalk-jsapi';
 import { formatDate, jsonToFormData } from "@/utils/common";
 import { FlowDTO, getNextActivity } from "@/service/flow";
 import { getTemplateOpinionListByFlowInstanceId, getOpinionListByFlowInstanceId } from '@/service/flow';
@@ -126,11 +126,12 @@ const tabs = ref<{
   title?: string
 }[]>([{}])
 const currentActive = ref<string>('基础信息')
-const { flowInstanceId, activityInstanceId, participant, _o } = route.query as {
+const { flowInstanceId, activityInstanceId, participant, _o, _top } = route.query as {
   flowInstanceId: string
   activityInstanceId: string
   participant: string
   _o: string
+  _top: string
 }
 if (_o && _o == 'v') {
   isSubmitVisabled.value = false
@@ -222,7 +223,11 @@ const submitHandle = async (): Promise<any> => {
           position: 'top',
           onClose() {
             isSubmitDisabled.value = false;
-            router.back();
+            if (_top == '1') {
+              closePage({})
+            } else {
+              router.back();
+            }
           }
         });
       }

+ 18 - 5
client_h5/src/pages/attendanceNote/index.vue

@@ -55,7 +55,10 @@
         </button>
       </template>
       <template #default>
-        <div v-for="(item, index) in formData.attendanceNoteTimeCreateList" :key="index">
+        <div
+          v-for="(item, index) in formData.attendanceNoteTimeCreateList"
+          :key="index"
+        >
           <van-swipe-cell :disabled="formRead">
             <card-cell>
               <van-cell title="起始时间" :value="item.startTime" />
@@ -178,15 +181,24 @@ const activityData: FlowDTO = {
   flowOpinion: "",
 };
 
-const submitNextActivity = async (NextActivity: ()=>Promise<any>) => {
+const submitNextActivity = async (NextActivity: () => Promise<any>) => {
   form.value.validate().then(async () => {
     formData.value.attendanceNoteTimeCreateList.forEach((x: any) => {
       x.startTime = Date.parse(x.startTime);
       x.endTime = Date.parse(x.endTime);
     });
     //更新表单业务数据
-    const result = await reqest.post("/business/Leave/update", formData.value);
-    if (result.code === 200 || result.code === 0) {
+    if (!formRead.value) {
+      const result = await reqest.post(
+        "/business/AttendanceNote/update",
+        formData.value
+      );
+      if (result.code === 200 || result.code === 0) {
+        //工作流转件
+        NextActivity();
+      }
+    } else {
+      //工作流转件
       NextActivity();
     }
   });
@@ -218,7 +230,8 @@ const initFormData = async () => {
 const saveHandle = async () => {
   detailData.value.attendanceNoteId = formData.value.id;
   if (detailEdit.value) {
-    formData.value.attendanceNoteTimeCreateList[detailIndex.value] = detailData.value;
+    formData.value.attendanceNoteTimeCreateList[detailIndex.value] =
+      detailData.value;
   } else {
     formData.value.attendanceNoteTimeCreateList.push(detailData.value);
   }

+ 5 - 0
client_h5/src/pages/home/index.vue

@@ -106,6 +106,11 @@ initAttendCount()
 }
 queryNoticeAndLearnCount()
 const toPageHandle = (path: string) => {
+  if (path === 'assetMy') {
+    console.log(router.getRoutes())
+  window.close()
+  return;
+  }
   router.push({
     path
   })

+ 12 - 8
client_h5/src/pages/leave/index.vue

@@ -220,21 +220,25 @@ const onConfirm = ({ selectedOptions }) => {
   formData.value.leaveType = selectedOptions[0]?.value;
   showPicker.value = false;
 };
-const submitNextActivity = async (NextActivity: ()=>Promise<any>) => {
+const submitNextActivity = async (NextActivity: () => Promise<any>) => {
   form.value.validate().then(async () => {
     formData.value.leaveTimeCreateList.forEach((x: any) => {
       x.startTime = Date.parse(x.startTime);
       x.endTime = Date.parse(x.endTime);
     });
     //更新表单业务数据
-    const result = await reqest.post("/business/Leave/update", formData.value);
-    if (result.code === 200 || result.code === 0) {
+    if (!formRead.value) {
+      const result = await reqest.post(
+        "/business/Leave/update",
+        formData.value
+      );
+      if (result.code === 200 || result.code === 0) {
+        //工作流转件
+        NextActivity();
+      }
+    } else {
+      //工作流转件
       NextActivity();
-      // getNextActivity(activityData).then(result => {
-      //   console.log(result)
-      // }).catch((err) => {
-      //   console.error(err)
-      // })
     }
   });
 };

+ 17 - 8
client_h5/src/pages/travel/index.vue

@@ -80,7 +80,10 @@
         </button>
       </template>
       <template #default>
-        <div v-for="(item, index) in formData.travelTimeCreateList" :key="index">
+        <div
+          v-for="(item, index) in formData.travelTimeCreateList"
+          :key="index"
+        >
           <van-swipe-cell :disabled="formRead">
             <card-cell>
               <van-cell title="起始时间" :value="item.startTime" />
@@ -208,15 +211,23 @@ const activityData: FlowDTO = {
   flowOpinion: "",
 };
 
-const submitNextActivity = async (NextActivity: ()=>Promise<any>) => {
+const submitNextActivity = async (NextActivity: () => Promise<any>) => {
   form.value.validate().then(async () => {
     formData.value.travelTimeCreateList.forEach((x: any) => {
       x.startTime = Date.parse(x.startTime);
       x.endTime = Date.parse(x.endTime);
     });
     //更新表单业务数据
-    const result = await reqest.post("/business/BusinessTravel/update", formData.value);
-    if (result.code === 200 || result.code === 0) {
+    if (!formRead.value) {
+      const result = await reqest.post(
+        "/business/BusinessTravel/update",
+        formData.value
+      );
+      if (result.code === 200 || result.code === 0) {
+        //工作流转件
+        NextActivity();
+      }
+    } else {
       //工作流转件
       NextActivity();
     }
@@ -292,9 +303,7 @@ const endTimeChange = (value: string) => {
 };
 /** 获取项目列表 */
 const getProjectList = async () => {
-  const result = await reqest.get(
-    `/business/project/getListByUser`
-  );
+  const result = await reqest.get(`/business/project/getListByUser`);
   columns = result.data;
 };
 const customFieldName = {
@@ -310,7 +319,7 @@ const onConfirm = (value: any) => {
 /** 初始化 */
 onMounted(() => {
   initFormData();
-  getProjectList()
+  getProjectList();
   if (read === "1" || _o === "v") {
     formRead.value = true;
   }

+ 0 - 1
zjugis-business/src/main/java/com/zjugis/business/flow/commoncost/service/CommonCostServiceImpl.java

@@ -282,7 +282,6 @@ public class CommonCostServiceImpl implements CommonCostService {
                 ids = convertSet(detailList, CommonCostDetailDO::getCommonCostId);
             }
         }
-        PageResult<CommonCostDO> pageResult = commonCostDao.getCommonCostPage(pageReqVO, commonService.getDeptCondition(pageReqVO.getDeptId()), ids);
         List<CommonCostDO> commonCostList = commonCostDao.getCommonCostList(pageReqVO, commonService.getDeptCondition(pageReqVO.getDeptId()),ids);
         CommonCostOverviewVO result = new CommonCostOverviewVO();
         double totalAmount = commonCostList.stream().collect(Collectors.summarizingDouble(value -> value.getTotalAmount().doubleValue())).getSum();

+ 273 - 268
zjugis-business/src/main/java/com/zjugis/business/service/impl/FinanceCostServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zjugis.business.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.zjugis.business.bean.entity.FinanceCostView;
 import com.zjugis.business.bean.entity.Project;
 import com.zjugis.business.bean.request.FinanceCostRequest;
@@ -154,280 +155,27 @@ public class FinanceCostServiceImpl implements FinanceCostService {
         List<FinanceCostExcelResponse> excelList = new ArrayList<>();
         if (typeList.contains("差旅报销")) {
             List<TravelCostDO> travelCostList = travelCostService.getFinanceCostExcelList(pageReqVO);
-            Set<String> projectIds = convertSet(travelCostList, TravelCostDO::getProjectId);
-            Set<String> userIds = convertSet(travelCostList, TravelCostDO::getUserId);
-            List<Project> projects = projectService.selectByIds(projectIds);
-            Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
-            Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
-            Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
-            Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
-            for (TravelCostDO entity : travelCostList) {
-                FinanceCostExcelResponse obj = new FinanceCostExcelResponse();
-                obj.setNo(entity.getTravelCostNo());
-                obj.setDeptName(entity.getDeptName());
-                Project project = projectMap.get(entity.getProjectId());
-                obj.setProjectDeptName(deptMap.get(project.getZrbmId()).getName());
-                String digest = entity.getUserNickname() + "报差旅费";
-                obj.setDigest(digest);
-                obj.setProjectNo(project.getXmbh());
-                obj.setProjectName(project.getXmmc());
-                obj.setUserName(entity.getUserNickname());
-                obj.setTotalAmount(entity.getTotalAmount().toString());
-                obj.setClf(entity.getTotalAmount().toString());
-                StaffRecordsDTO recordsDTO = userMap.get(entity.getUserId());
-                obj.setBankName(recordsDTO.getKhyh());
-                obj.setBankCard(recordsDTO.getYhzh());
-                excelList.add(obj);
-            }
-        }
-        if (typeList.contains("普通报销")) {
-            List<DictDataRespDTO> costType = dictDataApi.getDictDataList("WF_COMMON_COST_TYPE").getCheckedData();
-            Map<String, DictDataRespDTO> costTypeMap = CollectionUtils.convertMap(costType, DictDataRespDTO::getValue);
-            List<CommonCostDO> commonCostList = commonCostService.getFinanceCostExcelList(pageReqVO);
-            Set<String> commonCostIds = convertSet(commonCostList, CommonCostDO::getId);
-            Set<String> userIds = convertSet(commonCostList, CommonCostDO::getUserId);
-            List<CommonCostDetailDO> detailList = commonCostDetailService.getListByCommonCostIds(commonCostIds);
-            Set<String> projectIds = convertSet(detailList, CommonCostDetailDO::getProjectId);
-            List<Project> projects = projectService.selectByIds(projectIds);
-            Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
-            Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
-            Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
-            Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
-            Map<String, List<CommonCostDetailDO>> detailListMap = detailList.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getCommonCostId));
-            for (CommonCostDO entity : commonCostList) {
-                List<CommonCostDetailDO> detailDOS = detailListMap.get(entity.getId());
-                Map<String, List<CommonCostDetailDO>> detailProjectListMap = detailDOS.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getProjectId));
-                for (Map.Entry<String, List<CommonCostDetailDO>> stringListEntry : detailProjectListMap.entrySet()) {
+            if(CollectionUtil.isNotEmpty(travelCostList)){
+                Set<String> projectIds = convertSet(travelCostList, TravelCostDO::getProjectId);
+                Set<String> userIds = convertSet(travelCostList, TravelCostDO::getUserId);
+                List<Project> projects = projectService.selectByIds(projectIds);
+                Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
+                Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
+                Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
+                Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
+                for (TravelCostDO entity : travelCostList) {
                     FinanceCostExcelResponse obj = new FinanceCostExcelResponse();
-                    BigDecimal rggz = BigDecimal.ZERO, rgjj = BigDecimal.ZERO, rglzbcj = BigDecimal.ZERO, sbylxgs = BigDecimal.ZERO,
-                            sbyilxgs = BigDecimal.ZERO, sbgsxgs = BigDecimal.ZERO, sbylxgr = BigDecimal.ZERO, sbsyxgr = BigDecimal.ZERO,
-                            sbyilxgr = BigDecimal.ZERO, gjjgs = BigDecimal.ZERO, gjjgr = BigDecimal.ZERO, fl = BigDecimal.ZERO,
-                            gkf = BigDecimal.ZERO, wbf = BigDecimal.ZERO, fbf = BigDecimal.ZERO, wxf = BigDecimal.ZERO,
-                            ryjcg = BigDecimal.ZERO, gdzc = BigDecimal.ZERO, wxzc = BigDecimal.ZERO, sbwxf = BigDecimal.ZERO,
-                            alyjsbzlf = BigDecimal.ZERO, ywzdf = BigDecimal.ZERO, lpcg = BigDecimal.ZERO, clf = BigDecimal.ZERO,
-                            clbxf = BigDecimal.ZERO, clwxjbyfy = BigDecimal.ZERO, dyf = BigDecimal.ZERO, cailiaof = BigDecimal.ZERO,
-                            jcf = BigDecimal.ZERO, zgjwjf = BigDecimal.ZERO, fzwyf = BigDecimal.ZERO, sdf = BigDecimal.ZERO,
-                            kdf = BigDecimal.ZERO, bgf = BigDecimal.ZERO, tbbmfjbsf = BigDecimal.ZERO, zbdlf = BigDecimal.ZERO,
-                            psf = BigDecimal.ZERO, pgsjf = BigDecimal.ZERO, hwf = BigDecimal.ZERO, zxf = BigDecimal.ZERO,
-                            ywxcf = BigDecimal.ZERO, ysf = BigDecimal.ZERO, lxzc = BigDecimal.ZERO, bzjzc = BigDecimal.ZERO,
-                            yjzc = BigDecimal.ZERO, total = BigDecimal.ZERO;
-                    Set<String> digestSet = new HashSet<>();
-                    obj.setNo(entity.getCommonCostNo());
+                    obj.setNo(entity.getTravelCostNo());
                     obj.setDeptName(entity.getDeptName());
-                    Project project = projectMap.get(stringListEntry.getKey());
+                    Project project = projectMap.get(entity.getProjectId());
                     obj.setProjectDeptName(deptMap.get(project.getZrbmId()).getName());
-                    List<CommonCostDetailDO> value = stringListEntry.getValue();
-                    for (CommonCostDetailDO commonCostDetailDO : value) {
-                        String exportType = costMap.get(commonCostDetailDO.getCostType());
-                        digestSet.add(costTypeMap.get(commonCostDetailDO.getCostType()).getLabel());
-                        switch (exportType) {
-                            case "分包费":
-                                fbf = fbf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "外协费":
-                                wxf = wxf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "软硬件采购":
-                                ryjcg = ryjcg.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "外包费":
-                                wbf = wbf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "人工-工资":
-                                rggz = rggz.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "社保-养老险(公司)":
-                                sbylxgs = sbylxgs.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "福利":
-                                fl = fl.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "人工-离职补偿金":
-                                rglzbcj = rglzbcj.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "差旅费":
-                                clf = clf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "固定资产":
-                                gdzc = gdzc.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "车辆保险费":
-                                clbxf = clbxf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "车辆维修及保养费用":
-                                clwxjbyfy = clwxjbyfy.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "设备维修费":
-                                sbwxf = sbwxf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "阿里云及设备租赁费":
-                                alyjsbzlf = alyjsbzlf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "办公费":
-                                bgf = bgf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "房租物业费":
-                                fzwyf = fzwyf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "水电费":
-                                sdf = sdf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "职工教育经费":
-                                zgjwjf = zgjwjf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "咨询费":
-                                zxf = zxf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "快递费":
-                                kdf = kdf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "材料费":
-                                cailiaof = cailiaof.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "检测费":
-                                jcf = jcf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "投标报名费及标书费":
-                                tbbmfjbsf = tbbmfjbsf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "招标代理费":
-                                zbdlf = zbdlf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "评估审计费":
-                                pgsjf = pgsjf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "会务费":
-                                hwf = hwf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "业务宣传费":
-                                ywxcf = ywxcf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "验收费":
-                                ysf = ysf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "业务招待费":
-                                ywzdf = ywzdf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "礼品采购":
-                                lpcg = lpcg.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "打印费":
-                                dyf = dyf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "评审费":
-                                psf = psf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "利息支出":
-                                lxzc = lxzc.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "保证金支出":
-                                bzjzc = bzjzc.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "押金支出":
-                                yjzc = yjzc.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "无形资产":
-                                wxzc = wxzc.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            case "挂靠费":
-                                gkf = gkf.add(commonCostDetailDO.getAmount());
-                                total = total.add(commonCostDetailDO.getAmount());
-                                break;
-                            default:
-                                throw new IllegalStateException("Unexpected value: " + exportType);
-                        }
-                    }
-                    String digest = entity.getUserNickname() + "报";
-                    for (String s : digestSet) {
-                        digest += s;
-                        digest += "、";
-                    }
-                    obj.setDigest(digest.substring(0,digest.length()-1));
+                    String digest = entity.getUserNickname() + "报差旅费";
+                    obj.setDigest(digest);
                     obj.setProjectNo(project.getXmbh());
                     obj.setProjectName(project.getXmmc());
                     obj.setUserName(entity.getUserNickname());
-                    obj.setTotalAmount(total.toString());
-                    obj.setBzjzc(bzjzc.toString());
-                    obj.setYjzc(yjzc.toString());
-                    obj.setLxzc(lxzc.toString());
-                    obj.setRggz(rggz.toString());
-                    obj.setRgjj(rgjj.toString());
-                    obj.setRglzbcj(rglzbcj.toString());
-                    obj.setSbylxgs(sbylxgs.toString());
-                    obj.setSbyilxgs(sbyilxgs.toString());
-                    obj.setSbgsxgs(sbgsxgs.toString());
-                    obj.setSbylxgr(sbylxgr.toString());
-                    obj.setSbsyxgr(sbsyxgr.toString());
-                    obj.setSbyilxgr(sbyilxgr.toString());
-                    obj.setGjjgs(gjjgs.toString());
-                    obj.setGjjgr(gjjgr.toString());
-                    obj.setFl(fl.toString());
-                    obj.setGkf(gkf.toString());
-                    obj.setWbf(wbf.toString());
-                    obj.setFbf(fbf.toString());
-                    obj.setWxf(wxf.toString());
-                    obj.setRyjcg(ryjcg.toString());
-                    obj.setGdzc(gdzc.toString());
-                    obj.setWxzc(wxzc.toString());
-                    obj.setSbwxf(sbwxf.toString());
-                    obj.setAlyjsbzlf(alyjsbzlf.toString());
-                    obj.setYwzdf(ywzdf.toString());
-                    obj.setLpcg(lpcg.toString());
-                    obj.setClf(clf.toString());
-                    obj.setClbxf(clbxf.toString());
-                    obj.setClwxjbyfy(clwxjbyfy.toString());
-                    obj.setDyf(dyf.toString());
-                    obj.setCailiaof(cailiaof.toString());
-                    obj.setJcf(jcf.toString());
-                    obj.setZgjwjf(zgjwjf.toString());
-                    obj.setFzwyf(fzwyf.toString());
-                    obj.setSdf(sdf.toString());
-                    obj.setKdf(kdf.toString());
-                    obj.setBgf(bgf.toString());
-                    obj.setTbbmfjbsf(tbbmfjbsf.toString());
-                    obj.setZbdlf(zbdlf.toString());
-                    obj.setPsf(psf.toString());
-                    obj.setPgsjf(pgsjf.toString());
-                    obj.setHwf(hwf.toString());
-                    obj.setZxf(zxf.toString());
-                    obj.setYwxcf(ywxcf.toString());
-                    obj.setYsf(ysf.toString());
+                    obj.setTotalAmount(entity.getTotalAmount().toString());
+                    obj.setClf(entity.getTotalAmount().toString());
                     StaffRecordsDTO recordsDTO = userMap.get(entity.getUserId());
                     obj.setBankName(recordsDTO.getKhyh());
                     obj.setBankCard(recordsDTO.getYhzh());
@@ -435,6 +183,263 @@ public class FinanceCostServiceImpl implements FinanceCostService {
                 }
             }
         }
+        if (typeList.contains("普通报销")) {
+            List<DictDataRespDTO> costType = dictDataApi.getDictDataList("WF_COMMON_COST_TYPE").getCheckedData();
+            Map<String, DictDataRespDTO> costTypeMap = CollectionUtils.convertMap(costType, DictDataRespDTO::getValue);
+            List<CommonCostDO> commonCostList = commonCostService.getFinanceCostExcelList(pageReqVO);
+            if(CollectionUtil.isNotEmpty(commonCostList)){
+                Set<String> commonCostIds = convertSet(commonCostList, CommonCostDO::getId);
+                Set<String> userIds = convertSet(commonCostList, CommonCostDO::getUserId);
+                List<CommonCostDetailDO> detailList = commonCostDetailService.getListByCommonCostIds(commonCostIds);
+                Set<String> projectIds = convertSet(detailList, CommonCostDetailDO::getProjectId);
+                List<Project> projects = projectService.selectByIds(projectIds);
+                Set<String> zrbmIds = convertSet(projects, Project::getZrbmId);
+                Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(zrbmIds);
+                Map<String, Project> projectMap = CollectionUtils.convertMap(projects, Project::getId);
+                Map<String, StaffRecordsDTO> userMap = staffApi.getUserMap(userIds);
+                Map<String, List<CommonCostDetailDO>> detailListMap = detailList.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getCommonCostId));
+                for (CommonCostDO entity : commonCostList) {
+                    List<CommonCostDetailDO> detailDOS = detailListMap.get(entity.getId());
+                    Map<String, List<CommonCostDetailDO>> detailProjectListMap = detailDOS.stream().collect(Collectors.groupingBy(CommonCostDetailDO::getProjectId));
+                    for (Map.Entry<String, List<CommonCostDetailDO>> stringListEntry : detailProjectListMap.entrySet()) {
+                        FinanceCostExcelResponse obj = new FinanceCostExcelResponse();
+                        BigDecimal rggz = BigDecimal.ZERO, rgjj = BigDecimal.ZERO, rglzbcj = BigDecimal.ZERO, sbylxgs = BigDecimal.ZERO,
+                                sbyilxgs = BigDecimal.ZERO, sbgsxgs = BigDecimal.ZERO, sbylxgr = BigDecimal.ZERO, sbsyxgr = BigDecimal.ZERO,
+                                sbyilxgr = BigDecimal.ZERO, gjjgs = BigDecimal.ZERO, gjjgr = BigDecimal.ZERO, fl = BigDecimal.ZERO,
+                                gkf = BigDecimal.ZERO, wbf = BigDecimal.ZERO, fbf = BigDecimal.ZERO, wxf = BigDecimal.ZERO,
+                                ryjcg = BigDecimal.ZERO, gdzc = BigDecimal.ZERO, wxzc = BigDecimal.ZERO, sbwxf = BigDecimal.ZERO,
+                                alyjsbzlf = BigDecimal.ZERO, ywzdf = BigDecimal.ZERO, lpcg = BigDecimal.ZERO, clf = BigDecimal.ZERO,
+                                clbxf = BigDecimal.ZERO, clwxjbyfy = BigDecimal.ZERO, dyf = BigDecimal.ZERO, cailiaof = BigDecimal.ZERO,
+                                jcf = BigDecimal.ZERO, zgjwjf = BigDecimal.ZERO, fzwyf = BigDecimal.ZERO, sdf = BigDecimal.ZERO,
+                                kdf = BigDecimal.ZERO, bgf = BigDecimal.ZERO, tbbmfjbsf = BigDecimal.ZERO, zbdlf = BigDecimal.ZERO,
+                                psf = BigDecimal.ZERO, pgsjf = BigDecimal.ZERO, hwf = BigDecimal.ZERO, zxf = BigDecimal.ZERO,
+                                ywxcf = BigDecimal.ZERO, ysf = BigDecimal.ZERO, lxzc = BigDecimal.ZERO, bzjzc = BigDecimal.ZERO,
+                                yjzc = BigDecimal.ZERO, total = BigDecimal.ZERO;
+                        Set<String> digestSet = new HashSet<>();
+                        obj.setNo(entity.getCommonCostNo());
+                        obj.setDeptName(entity.getDeptName());
+                        Project project = projectMap.get(stringListEntry.getKey());
+                        obj.setProjectDeptName(deptMap.get(project.getZrbmId()).getName());
+                        List<CommonCostDetailDO> value = stringListEntry.getValue();
+                        for (CommonCostDetailDO commonCostDetailDO : value) {
+                            String exportType = costMap.get(commonCostDetailDO.getCostType());
+                            digestSet.add(costTypeMap.get(commonCostDetailDO.getCostType()).getLabel());
+                            switch (exportType) {
+                                case "分包费":
+                                    fbf = fbf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "外协费":
+                                    wxf = wxf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "软硬件采购":
+                                    ryjcg = ryjcg.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "外包费":
+                                    wbf = wbf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "人工-工资":
+                                    rggz = rggz.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "社保-养老险(公司)":
+                                    sbylxgs = sbylxgs.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "福利":
+                                    fl = fl.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "人工-离职补偿金":
+                                    rglzbcj = rglzbcj.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "差旅费":
+                                    clf = clf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "固定资产":
+                                    gdzc = gdzc.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "车辆保险费":
+                                    clbxf = clbxf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "车辆维修及保养费用":
+                                    clwxjbyfy = clwxjbyfy.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "设备维修费":
+                                    sbwxf = sbwxf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "阿里云及设备租赁费":
+                                    alyjsbzlf = alyjsbzlf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "办公费":
+                                    bgf = bgf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "房租物业费":
+                                    fzwyf = fzwyf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "水电费":
+                                    sdf = sdf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "职工教育经费":
+                                    zgjwjf = zgjwjf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "咨询费":
+                                    zxf = zxf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "快递费":
+                                    kdf = kdf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "材料费":
+                                    cailiaof = cailiaof.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "检测费":
+                                    jcf = jcf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "投标报名费及标书费":
+                                    tbbmfjbsf = tbbmfjbsf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "招标代理费":
+                                    zbdlf = zbdlf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "评估审计费":
+                                    pgsjf = pgsjf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "会务费":
+                                    hwf = hwf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "业务宣传费":
+                                    ywxcf = ywxcf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "验收费":
+                                    ysf = ysf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "业务招待费":
+                                    ywzdf = ywzdf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "礼品采购":
+                                    lpcg = lpcg.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "打印费":
+                                    dyf = dyf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "评审费":
+                                    psf = psf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "利息支出":
+                                    lxzc = lxzc.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "保证金支出":
+                                    bzjzc = bzjzc.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "押金支出":
+                                    yjzc = yjzc.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "无形资产":
+                                    wxzc = wxzc.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                case "挂靠费":
+                                    gkf = gkf.add(commonCostDetailDO.getAmount());
+                                    total = total.add(commonCostDetailDO.getAmount());
+                                    break;
+                                default:
+                                    throw new IllegalStateException("Unexpected value: " + exportType);
+                            }
+                        }
+                        String digest = entity.getUserNickname() + "报";
+                        for (String s : digestSet) {
+                            digest += s;
+                            digest += "、";
+                        }
+                        obj.setDigest(digest.substring(0,digest.length()-1));
+                        obj.setProjectNo(project.getXmbh());
+                        obj.setProjectName(project.getXmmc());
+                        obj.setUserName(entity.getUserNickname());
+                        obj.setTotalAmount(total.toString());
+                        obj.setBzjzc(bzjzc.toString());
+                        obj.setYjzc(yjzc.toString());
+                        obj.setLxzc(lxzc.toString());
+                        obj.setRggz(rggz.toString());
+                        obj.setRgjj(rgjj.toString());
+                        obj.setRglzbcj(rglzbcj.toString());
+                        obj.setSbylxgs(sbylxgs.toString());
+                        obj.setSbyilxgs(sbyilxgs.toString());
+                        obj.setSbgsxgs(sbgsxgs.toString());
+                        obj.setSbylxgr(sbylxgr.toString());
+                        obj.setSbsyxgr(sbsyxgr.toString());
+                        obj.setSbyilxgr(sbyilxgr.toString());
+                        obj.setGjjgs(gjjgs.toString());
+                        obj.setGjjgr(gjjgr.toString());
+                        obj.setFl(fl.toString());
+                        obj.setGkf(gkf.toString());
+                        obj.setWbf(wbf.toString());
+                        obj.setFbf(fbf.toString());
+                        obj.setWxf(wxf.toString());
+                        obj.setRyjcg(ryjcg.toString());
+                        obj.setGdzc(gdzc.toString());
+                        obj.setWxzc(wxzc.toString());
+                        obj.setSbwxf(sbwxf.toString());
+                        obj.setAlyjsbzlf(alyjsbzlf.toString());
+                        obj.setYwzdf(ywzdf.toString());
+                        obj.setLpcg(lpcg.toString());
+                        obj.setClf(clf.toString());
+                        obj.setClbxf(clbxf.toString());
+                        obj.setClwxjbyfy(clwxjbyfy.toString());
+                        obj.setDyf(dyf.toString());
+                        obj.setCailiaof(cailiaof.toString());
+                        obj.setJcf(jcf.toString());
+                        obj.setZgjwjf(zgjwjf.toString());
+                        obj.setFzwyf(fzwyf.toString());
+                        obj.setSdf(sdf.toString());
+                        obj.setKdf(kdf.toString());
+                        obj.setBgf(bgf.toString());
+                        obj.setTbbmfjbsf(tbbmfjbsf.toString());
+                        obj.setZbdlf(zbdlf.toString());
+                        obj.setPsf(psf.toString());
+                        obj.setPgsjf(pgsjf.toString());
+                        obj.setHwf(hwf.toString());
+                        obj.setZxf(zxf.toString());
+                        obj.setYwxcf(ywxcf.toString());
+                        obj.setYsf(ysf.toString());
+                        StaffRecordsDTO recordsDTO = userMap.get(entity.getUserId());
+                        obj.setBankName(recordsDTO.getKhyh());
+                        obj.setBankCard(recordsDTO.getYhzh());
+                        excelList.add(obj);
+                    }
+                }
+            }
+        }
         return excelList;
     }
 }

+ 1 - 1
zjugis-business/src/main/resources/application-dev.yaml

@@ -59,7 +59,7 @@ logging:
 
 xxl:
   job:
-    enabled: true # 是否开启调度中心,默认为 true 开启
+    enabled: false # 是否开启调度中心,默认为 true 开启
     admin:
       addresses: http://10.10.10.7:18080/xxl-job-admin # 调度中心部署跟地址
     executor:

+ 1 - 1
zjugis-business/src/main/resources/templates/Travel/index.ftl

@@ -116,7 +116,7 @@
                 <div class="form-group">
                   <div class="form-item" style="margin: 10px 0;">
                     <div class="z-comp-textarea" name="createReqVO$travelReason">
-                      <textarea> ${formEntity.travelReason!} </textarea>
+                      <textarea>${formEntity.travelReason!}</textarea>
                     </div>
                   </div>
                 </div>

+ 1 - 1
zjugis-module-adm/zjugis-module-adm-biz/src/main/resources/application-dev.yaml

@@ -114,7 +114,7 @@ spring:
 
 xxl:
   job:
-    enabled: true # 是否开启调度中心,默认为 true 开启
+    enabled: false # 是否开启调度中心,默认为 true 开启
     admin:
       addresses: http://10.10.10.7:18080/xxl-job-admin # 调度中心部署跟地址