Sfoglia il codice sorgente

正北公司项目需求

lxy_01 1 mese fa
parent
commit
0d1d3911ca

+ 3 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java

@@ -11,6 +11,7 @@ import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.MessageUtils;
 import org.apache.poi.util.StringUtil;
 import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -248,7 +249,6 @@ public class ReportExtraDegreeController {
                     }
 
                 }
-                System.out.println(degree.getDepartmentIdList());
             }
         }
 
@@ -260,8 +260,8 @@ public class ReportExtraDegreeController {
        return reportExtraDegreeService.importData(request,file);
     }
     @RequestMapping("/exportData")
-    public HttpRespMsg exportData(HttpServletRequest request){
-        return reportExtraDegreeService.exportData(request);
+    public HttpRespMsg exportData(@RequestBody List<ReportExtraDegree> list, HttpServletRequest request){
+        return reportExtraDegreeService.exportData(list,request);
     }
 }
 

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportExtraDegreeService.java

@@ -6,6 +6,7 @@ import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * <p>
@@ -19,5 +20,5 @@ public interface ReportExtraDegreeService extends IService<ReportExtraDegree> {
 
     HttpRespMsg importData(HttpServletRequest request, MultipartFile file);
 
-    HttpRespMsg exportData(HttpServletRequest request);
+    HttpRespMsg exportData(List<ReportExtraDegree> list, HttpServletRequest request);
 }

+ 41 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportExtraDegreeServiceImpl.java

@@ -8,12 +8,12 @@ import com.management.platform.mapper.TimeTypeMapper;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.mapper.WxCorpInfoMapper;
 import com.management.platform.service.CompanyDingdingService;
+import com.management.platform.service.DepartmentService;
 import com.management.platform.service.ExcelExportService;
 import com.management.platform.service.ReportExtraDegreeService;
 import com.management.platform.util.ExcelUtil;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.MessageUtils;
-import com.qq.weixin.mp.aes.WXBizMsgCrypt;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.ss.usermodel.Row;
@@ -57,6 +57,9 @@ public class ReportExtraDegreeServiceImpl extends ServiceImpl<ReportExtraDegreeM
     ExcelExportService excelExportService;
     @Resource
     private CompanyDingdingService companyDingdingService;
+    @Resource
+    private DepartmentService departmentService;
+
     @Override
     public HttpRespMsg importData(HttpServletRequest request, MultipartFile multipartFile) {
         HttpRespMsg msg=new HttpRespMsg();
@@ -114,6 +117,16 @@ public class ReportExtraDegreeServiceImpl extends ServiceImpl<ReportExtraDegreeM
                 ReportExtraDegree reportExtraDegree=new ReportExtraDegree();
                 List<ReportExtraDegree> collect = allReportExtraDegree.stream().filter(ap -> ap.getName().equals(row.getCell(0).toString())).collect(Collectors.toList());
                 reportExtraDegree.setName(row.getCell(0).toString());
+                /*
+                * 正北公司需导入部门
+                * */
+                boolean isZhengbei = companyId.equals(8138) || companyId.equals(8261)|| companyId.equals(8264)||companyId.equals(8268);
+                if(isZhengbei && row.getCell(1)!= null){
+                    Department department = departmentService.getOne(new QueryWrapper<Department>().eq("department_name",row.getCell(1).toString()).eq("company_id", companyId));
+                    if(department!=null){
+                        reportExtraDegree.setDepartmentId(department.getDepartmentId());
+                    }
+                }
                 reportExtraDegree.setCompanyId(companyId);
                 if(collect.size()>0){
                     Integer id=collect.get(0).getId();
@@ -157,21 +170,46 @@ public class ReportExtraDegreeServiceImpl extends ServiceImpl<ReportExtraDegreeM
     }
 
     @Override
-    public HttpRespMsg exportData(HttpServletRequest request) {
+    public HttpRespMsg exportData(List<ReportExtraDegree> list, HttpServletRequest request) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
+        /*
+        *判断是不是正北的四家公司
+         *
+         */
+        boolean isZhengbei = user.getCompanyId().equals(8138) || user.getCompanyId().equals(8261)|| user.getCompanyId().equals(8264)||user.getCompanyId().equals(8268);
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
         CompanyDingding dingding = companyDingdingService.getOne(new QueryWrapper<CompanyDingding>().eq("company_id", user.getCompanyId()));
         List<ReportExtraDegree> reportExtraDegreeList = reportExtraDegreeMapper.selectList(new QueryWrapper<ReportExtraDegree>().eq("company_id", user.getCompanyId()));
         TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
         List<String> titleList=new ArrayList<>();
         titleList.add(timeType.getCustomDegreeName()+MessageUtils.message("excel.name"));
+        /*
+            正北企业需要加部门
+         * */
+        if (isZhengbei) {
+            String name=MessageUtils.message("excel.department");
+            titleList.add(name);
+        }
         List<List<String>> dataList=new ArrayList<>();
         dataList.add(titleList);
         for (ReportExtraDegree reportExtraDegree : reportExtraDegreeList) {
             List<String> itemList=new ArrayList<>();
             itemList.add(reportExtraDegree.getName());
-            dataList.add(itemList);
+            /*
+            正北企业需要加部门
+            * */
+            if (isZhengbei && reportExtraDegree.getDepartmentId() != null) {
+                String departmentName= departmentService.getById(reportExtraDegree.getDepartmentId()).getDepartmentName();
+                itemList.add(departmentName);
+            }
+            /*
+            更加list筛选结果
+            * */
+            boolean exists = list.stream().anyMatch(item -> reportExtraDegree.getId().equals(item.getId()));
+            if (exists){
+                dataList.add(itemList);
+            }
         }
         //生成excel文件导出
         String fileName = timeType.getCustomDegreeName()+"_"+System.currentTimeMillis();

+ 26 - 18
fhKeeper/formulahousekeeper/timesheet/src/views/centerManage/centerManage.vue

@@ -3,7 +3,7 @@
         <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
             <el-form :inline="true">
                 <el-form-item :label="$t('lable.department')" style="width: 165px">
-                      <el-cascader v-if="zhengbeiCompanysId.includes(user.companyId)" v-model="searchDepartmentId" :placeholder="$t('defaultText.pleaseChoose')" style="width: 125px"
+                      <el-cascader @change="handleCascaderChange" v-if="zhengbeiCompanysId.includes(user.companyId)" v-model="searchDepartmentId" :placeholder="$t('defaultText.pleaseChoose')" style="width: 125px"
                       :options="option" :props="{ checkStrictly: false,expandTrigger: 'hover' }" :show-all-levels="false" clearable
                        size="mini"></el-cascader>
 
@@ -21,7 +21,8 @@
                 <!-- <el-link type="primary" :underline="false" @click="intoCenterRatio" class="tanjia">批量导入{{user.timeType.customDegreeName}}</el-link>
                 <el-link icon="el-icon-circle-plus-outline" type="primary" :underline="false" class="tanjia" @click="addNewSubProject()">添加{{user.timeType.customDegreeName}}</el-link>
                 <el-link type="primary" :underline="false" @click="batchDelete" class="tanjia">批量删除{{user.timeType.customDegreeName}}</el-link> -->
-                <el-link type="primary" :underline="false" @click="batchDelete" class="tanjia">{{ $t('Batchdelete')
+                <!---->
+                <el-link type="primary" :underline="false" @click="batchDelete" class="tanjia">{{  $t('Batchdelete') 
                 }}</el-link>
                 <el-link type="primary" :underline="false" @click="outoCenterRatio" class="tanjia">{{ $t('Exportdata')
                 }}</el-link>
@@ -103,7 +104,7 @@
         <el-dialog :title="$t('dao-ru') + user.timeType.customDegreeName + $t('shu-ju')" v-if="intoCenterDialog"
             :visible.sync="intoCenterDialog" customClass="customWidth" width="500px">
             <p>1. {{ $t('other.download') }}
-                <el-link type="primary" style="margin-left:5px;" :underline="false" href="./upload/研究中心导入模板.xlsx"
+                <el-link type="primary" style="margin-left:5px;" :underline="false" :href="downloadHref"
                     :download="user.timeType.customDegreeName + $t('importTemplate') + '.xlsx'">{{
                         user.timeType.customDegreeName
                         + $t('importTemplate') }}.xlsx</el-link>
@@ -126,13 +127,10 @@ export default {
             const list = this.subProjectList
             const searchDepartmentId = this.searchDepartmentId
             let result = []
-            if(!searchDepartmentId){
-                return this.subProjectList
+            if(!searchDepartmentId || !this.subProjectList){
+                return list
             }
             for(const item of list){
-                console.log(item)
-                console.log(item.departmentIdList + " searchDepartmentId: " + searchDepartmentId)
-                console.log("ListItem:" + typeof(item.departmentIdList) + "searchDepartmentId type:" + typeof(searchDepartmentId))
                 for(const id of item.departmentIdList){
                     if(id == searchDepartmentId){
                         result.push(item)
@@ -140,7 +138,18 @@ export default {
                 }
             }
             return result
-        }
+        },
+        downloadHref() {
+            
+            const companyId = this.user.companyId
+            const zhengbeiCompanysIdList = this.zhengbeiCompanysId
+            for(const id of zhengbeiCompanysIdList){
+                if(id == companyId){
+                    return "./upload/正北/工作内容导入模板.xlsx"
+                }
+            }
+            return "./upload/工作内容导入模板.xlsx"
+        },
 
     },
     data() {
@@ -176,6 +185,11 @@ export default {
         aabbcc() {
             console.log(12345)
         },  
+        handleCascaderChange(value){
+            if (!value || value.length === 0) {
+              this.searchDepartmentId = null
+            }
+        },
         searchName() {
             var val = this.searchNameVal
             let arr = []
@@ -206,7 +220,7 @@ export default {
                     nametext += this.selectionArr[i].name + '、'
                 }
                 nametext = nametext.substring(0, nametext.length - 1)
-                this.$confirm(this.$t('makesuretodeleteinbatches') + this.user.timeType.customDegreeName + this.$t('shu-ju') + ':' + nametext + '\u3000' + $t('ma'), this.$t('btn.delete'), {
+                this.$confirm(this.$t('makesuretodeleteinbatches') + this.user.timeType.customDegreeName + this.$t('shu-ju') + ':' + nametext + '\u3000' + this.$t('ma'), this.$t('btn.delete'), {
                     confirmButtonText: this.$t('btn.determine'),
                     cancelButtonText: this.$t('btn.cancel'),
                     type: 'warning'
@@ -246,7 +260,8 @@ export default {
             this.intoCenterDialog = true;
         },
         outoCenterRatio() {
-            this.http.post('/report-extra-degree/exportData', {},
+            const list = this.filteredSubProjectList
+            this.http.JSONPost('/report-extra-degree/exportData', list,
                 res => {
                     if (res.code == 'ok') {
                         let filePath = res.data;
@@ -331,8 +346,6 @@ export default {
             );
         },
         addNewSubProject(subProject) {
-            console.log(this.user)
-            console.log(this.option)
             // console.log(1234)
             // if (subProject == null) {
             //     this.addForm = {projectId: this.currentProject.id, level:1}
@@ -391,13 +404,11 @@ export default {
                 .catch(() => { });
         },
         submitInsertSubProject() {
-            console.log(this.addfm.departmentIdList)
             this.$refs.form2.validate(valid => {
                 if (valid) {
                     var slp = this.addfm
                     if(this.addfm.departmentIdList){
                         slp.departmentId = this.addfm.departmentIdList[this.addfm.departmentIdList.length - 1]
-                        console.log(slp)
                     }
                     else{
                         slp.departmentId = null
@@ -488,12 +499,9 @@ export default {
         },
         getDepartmentName(id) {
             if (!id || !this.option) return null
-            console.log(this.option)
-            console.log(id)
             const findName = (list) => {
                 for (let item of list) {
                     if (item.value === id) {
-                        console.log(item.value + "id:" + id)
                         return item.label
                     }
                     if (item.children && item.children.length) {