Selaa lähdekoodia

威派格定制

Min 1 vuosi sitten
vanhempi
commit
879e97298c

+ 4 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -1106,12 +1106,12 @@ public class ProjectController {
         return projectService.getTimeCostByGroup(startDate,endDate,pageIndex,pageSize,groupId,projectId,request);
     }
     @RequestMapping("/getTimeCostByGroupProject")
-    public HttpRespMsg getTimeCostByGroupProject(String startDate,String endDate,Integer pageIndex,Integer pageSize,Integer groupId,Integer projectId){
-        return projectService.getTimeCostByGroupProject(startDate,endDate,pageIndex,pageSize,groupId,projectId,request);
+    public HttpRespMsg getTimeCostByGroupProject(String startDate,String endDate,Integer pageIndex,Integer pageSize,Integer groupId,Integer projectId,Integer projectMainId){
+        return projectService.getTimeCostByGroupProject(startDate,endDate,pageIndex,pageSize,groupId,projectId,projectMainId,request);
     }
     @RequestMapping("exportGroupWithProjectTimeCost")
-    public HttpRespMsg exportGroupWithProjectTimeCost(String startDate,String endDate,Integer pageIndex,Integer pageSize,Integer groupId,Integer projectId){
-        return projectService.exportGroupWithProjectTimeCost(startDate,endDate,pageIndex,pageSize,groupId,projectId,request);
+    public HttpRespMsg exportGroupWithProjectTimeCost(String startDate,String endDate,Integer pageIndex,Integer pageSize,Integer groupId,Integer projectId,Integer projectMainId){
+        return projectService.exportGroupWithProjectTimeCost(startDate,endDate,pageIndex,pageSize,groupId,projectId,projectMainId,request);
     }
     @RequestMapping("/getProjectBaseCost")
     public HttpRespMsg getProjectBaseCost(Integer projectId,HttpServletRequest request,Integer pageIndex,Integer pageSize){

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectMapper.java

@@ -125,9 +125,9 @@ public interface ProjectMapper extends BaseMapper<Project> {
 
     long selectCountWithGroup(Integer companyId, String startDate, String endDate, Integer startIndex, Integer endIndex, Integer projectId, List<Integer> inchagerIds, Integer groupId);
 
-    List<Map<String, Object>> selectWithGroupProject(Integer companyId, String startDate, String endDate,  Integer startIndex, Integer endIndex, Integer projectId, List<Integer> inchagerIds, Integer groupId);
+    List<Map<String, Object>> selectWithGroupProject(Integer companyId, String startDate, String endDate,  Integer startIndex, Integer endIndex, Integer projectId,Integer projectMainId, List<Integer> inchagerIds, Integer groupId);
 
-    long selectCountWithGroupProject(Integer companyId, String startDate, String endDate, Integer startIndex, Integer endIndex, Integer projectId, List<Integer> inchagerIds, Integer groupId);
+    long selectCountWithGroupProject(Integer companyId, String startDate, String endDate, Integer startIndex, Integer endIndex, Integer projectId,Integer projectMainId,List<Integer> inchagerIds, Integer groupId);
 
     List<Map<String, Object>> getCostByUserCustom(String startDate, String endDate, Integer companyId, List<Integer> deptIds, Integer customId, String subCustomName,String fieldName);
 

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

@@ -187,9 +187,9 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg getTimeCostByGroup(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId,HttpServletRequest request);
 
-    HttpRespMsg getTimeCostByGroupProject(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId, HttpServletRequest request);
+    HttpRespMsg getTimeCostByGroupProject(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId,Integer projectMainId, HttpServletRequest request);
 
-    HttpRespMsg exportGroupWithProjectTimeCost(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId, HttpServletRequest request);
+    HttpRespMsg exportGroupWithProjectTimeCost(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId,Integer projectMainId, HttpServletRequest request);
 
     HttpRespMsg getProjectBaseCost(Integer projectId, HttpServletRequest request, Integer pageIndex, Integer pageSize);
 

+ 18 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -7892,7 +7892,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getTimeCostByGroupProject(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId, HttpServletRequest request) {
+    public HttpRespMsg  getTimeCostByGroupProject(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId,Integer projectMainId, HttpServletRequest request) {
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
         Integer companyId = user.getCompanyId();
@@ -7919,11 +7919,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         if(pageIndex!=null&&pageSize!=null){
             Integer startIndex = (pageIndex-1)*pageSize;
             Integer endIndex = pageSize*pageIndex;
-            record = projectMapper.selectWithGroupProject(companyId,startDate,endDate, startIndex, endIndex, projectId,inchagerIds,groupId);
+            record = projectMapper.selectWithGroupProject(companyId,startDate,endDate, startIndex, endIndex, projectId,projectMainId,inchagerIds,groupId);
         }else {
-            record=projectMapper.selectWithGroupProject(companyId,startDate,endDate, null, null, projectId,inchagerIds,groupId);
+            record=projectMapper.selectWithGroupProject(companyId,startDate,endDate, null, null, projectId,projectMainId,inchagerIds,groupId);
         }
-        total =projectMapper.selectCountWithGroupProject(companyId,startDate,endDate, null, null, projectId,inchagerIds,groupId);
+        total =projectMapper.selectCountWithGroupProject(companyId,startDate,endDate, null, null, projectId,projectMainId,inchagerIds,groupId);
         HashMap<String, Object> map = new HashMap<>();
         map.put("records", record);
         map.put("total", total);
@@ -7932,10 +7932,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg exportGroupWithProjectTimeCost(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId, HttpServletRequest request) {
+    public HttpRespMsg exportGroupWithProjectTimeCost(String startDate, String endDate, Integer pageIndex, Integer pageSize, Integer groupId, Integer projectId,Integer projectMainId, HttpServletRequest request) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         HttpRespMsg timeCostByGroup = getTimeCostByGroup(startDate, endDate, null, null, groupId, projectId, request);
-        HttpRespMsg timeCostByGroupProject = getTimeCostByGroupProject(startDate, endDate, null, null, groupId, projectId, request);
+        HttpRespMsg timeCostByGroupProject = getTimeCostByGroupProject(startDate, endDate, null, null, groupId, projectId,projectMainId, request);
         HashMap<String,Object> timeCostByGroupData = (HashMap<String, Object>) timeCostByGroup.data;
         HashMap<String,Object>  timeCostByGroupProjectData =  (HashMap<String, Object>) timeCostByGroupProject.data;
         List<Map<String,Object>> timeCostByGroupList= (List<Map<String, Object>>) timeCostByGroupData.get("records");
@@ -8544,6 +8544,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             sb.append("项目同步操作,新增的项目编号:[");
             if(projectList!=null &&projectList.size()>0){
                 for (Project project : projectList) {
+                    if(project.getProjectCode()==null){
+                        continue;
+                    }
                     if(timeType.getMainProjectState()==1){
                         Optional<ProjectMain> mainOptional = projectMainList.stream().filter(pm ->pm.getName()!=null&& pm.getName().equals(project.getProjectMainName())).findFirst();
                         if(!mainOptional.isPresent()){
@@ -8567,6 +8570,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     }
                 }
                 for (Project project : projectList) {
+                    if(project.getProjectCode()==null){
+                        continue;
+                    }
                     Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
                     if(first.isPresent()){
                         message+="已存在项目["+first.get().getProjectName()+"]";
@@ -8656,6 +8662,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             sb.append("项目同步操作,更新的项目编号:[");
             if(projectList!=null &&projectList.size()>0){
                 for (Project project : projectList) {
+                    if(project.getProjectCode()==null){
+                        continue;
+                    }
                     Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
                     Optional<User> user = userList.stream().filter(ul ->ul.getJobNumber()!=null&&ul.getJobNumber().equals(project.getInchargerId())).findFirst();
                     if(user.isPresent()){
@@ -8727,6 +8736,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         }else if(changeType.equals("delete_project")){
             sb.append("项目同步操作,删除的项目名称:[");
             for (Project project : projectList) {
+                if(project.getProjectCode()==null){
+                    continue;
+                }
                 Optional<Project> first = allProject.stream().filter(ap ->ap.getProjectCode()!=null&& ap.getProjectCode().equals(project.getProjectCode())).findFirst();
                 if(first.isPresent()){
                     project.setId(first.get().getId());

+ 12 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -1243,6 +1243,9 @@
         from report a
         left join task_group b on a.group_id=b.id
         left join project c on a.project_id=c.id
+        <if test="projectMainId!=null">
+            left join project_main pm on pm.id=c.project_main_id
+        </if>
         where c.company_id=#{companyId} and a.state=1
         <if test="startDate!=null and endDate!=null">
             and a.create_date &gt;=#{startDate} and a.create_date &lt;=#{endDate}
@@ -1250,6 +1253,9 @@
         <if test="projectId!=null">
             and c.id=#{projectId}
         </if>
+        <if test="projectMainId!=null">
+            and pm.id=#{projectMainId}
+        </if>
         <if test="inchagerIds!=null and inchagerIds.size()>0">
             and c.id in
             <foreach collection="inchagerIds" open="(" separator="," close=")" item="item">
@@ -1272,6 +1278,9 @@
         from report a
         left join task_group b on a.group_id=b.id
         left join project c on a.project_id=c.id
+        <if test="projectMainId!=null">
+            left join project_main pm on pm.id=c.project_main_id
+        </if>
         where c.company_id=#{companyId} and a.state=1
         <if test="startDate!=null and endDate!=null">
             and a.create_date &gt;=#{startDate} and a.create_date &lt;=#{endDate}
@@ -1279,6 +1288,9 @@
         <if test="projectId!=null">
             and c.id=#{projectId}
         </if>
+        <if test="projectMainId!=null">
+            and pm.id=#{projectMainId}
+        </if>
         <if test="inchagerIds!=null and inchagerIds.size()>0">
             and c.id in
             <foreach collection="inchagerIds" open="(" separator="," close=")" item="item">

+ 37 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -94,6 +94,12 @@
             <span style="float: right;font-size: 13px;margin-left: 20px">{{ item.projectName }}</span>
           </el-option>
         </el-select>
+        <el-select v-if="ins==12 && user.companyId==936" v-model="projectMainId" :placeholder="'请选择主项目'" clearable filterable size="small" @change="selcts()" style="margin-left:10px">
+          <el-option v-for="(item) in mainProjectList" :key="item.id" :label="item.name + (item.code ? item.code : '')" :value="item.id">
+            <span style="float: left;color: #8492a6;">{{ item.code }}</span>
+            <span style="float: right;font-size: 13px;margin-left: 20px">{{ item.name }}</span>
+          </el-option>
+        </el-select>
         <!-- 月份选择 -->
         <el-date-picker v-if="ins == 14 || ins == 15 || ins == 19" value-format="yyyy-MM" v-model="monthPersonnel" type="month" :placeholder="$t('Selectmonth')" :clearable="false" @change="selcts()" size="small"></el-date-picker>
           
@@ -1181,6 +1187,7 @@ export default {
       overTimeList: [], // 项目加班情况统计列表
       proList: [],
       proJuctId: '',
+      projectMainId: '',
       createDate: '2020-01-01',
       rangeDatas: this.getCurrentRangeTime(),
       userId: '',
@@ -1243,7 +1250,9 @@ export default {
       taskRestartArr: [], // 任务重启表数据
       fTEDataList: [], // FTE数据
 
-      baobiaoList: []
+      baobiaoList: [],
+
+      mainProjectList:[],//主项目列表
     };
   },
   computed: {},
@@ -1587,6 +1596,7 @@ export default {
                   this.groupWorktimeList.right = []
                     this.getGroupWorktimeList()
                     this.getGroupWorktimeAll()
+                    this.getMainProjectList()
                 }else if(this.ins == 13){
                   this.getOutputValueList()
                 } else if(this.ins == 14) {
@@ -2482,6 +2492,9 @@ export default {
       if(this.proJuctId){
         parameter.projectId = this.proJuctId
       }
+      if(this.projectMainId){
+        parameter.projectMainId = this.projectMainId
+      }
       this.listLoading = true
       this.http.post('/project/getTimeCostByGroupProject',parameter,
         res => {
@@ -2619,6 +2632,29 @@ export default {
             });
         });
     },
+    getMainProjectList() {
+        this.http.post('/project-main/list', {
+            pageIndex: 1,
+            // pageSize: 9999,
+            pageSize: -1,
+        },
+        res => {
+            if (res.code == "ok") {
+                this.mainProjectList = res.data
+            } else {
+                this.$message({
+                message: res.msg,
+                type: "error"
+                });
+            }
+        },
+        error => {
+            this.$message({
+                message: error,
+                type: "error"
+            });
+        });
+    },
     // 获取客户列表
     getcustomerList(){
       this.http.post('/customer-info/getAll',{},

+ 5 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -433,7 +433,11 @@
         <el-dialog :title="title" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="960px" :top="'6vh'">
             <div style="height: 72vh;overflow-y: auto;overflow-x: hidden;">
                 <el-form ref="form1" :model="addForm" :rules="rules" label-width="120px">
-                    <el-form-item :label="$t('Itemno')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''">
+                    <el-form-item :label="$t('Itemno')" :class="title == $t('newproject')" v-if="user.companyId!=936">
+                        <!-- <el-input v-model="addForm.code" :disabled="!permissions.projectManagement && addForm.creatorId != user.id" placeholder="请输入项目编号" clearable></el-input> -->
+                        <el-input v-model="addForm.code" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName)" maxlength="50" show-word-limit="true"></el-input>
+                    </el-form-item>
+                    <el-form-item :label="$t('Itemno')" :class="title == $t('newproject') && user.companyId == 936 ? 'wpgCssClass' : ''" v-if="user.companyId==936" prop="code">
                         <!-- <el-input v-model="addForm.code" :disabled="!permissions.projectManagement && addForm.creatorId != user.id" placeholder="请输入项目编号" clearable></el-input> -->
                         <el-input v-model="addForm.code" :placeholder="$t('peaseenterthe')" clearable :disabled="canOnlyModParticipator || (!permissions.projectManagement && addForm.creatorId != user.id && !permissions.projectCodeAndName)" maxlength="50" show-word-limit="true"></el-input>
                     </el-form-item>