Переглянути джерело

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Lijy 1 рік тому
батько
коміт
008b0a1cb0

+ 31 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -7268,6 +7268,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 .eq("creator_id", userId).between("create_date", startDate, endDate).groupBy("create_date"));
         //获取日报详情
         List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("creator_id", userId).between("create_date", startDate, endDate).orderByAsc("create_date"));
+        List<ReportExtraDegree> degreeList = reportExtraDegreeMapper.selectList(new QueryWrapper<ReportExtraDegree>().eq("company_id", user.getCompanyId()));
 
         List<Integer> collect = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
         List<User> auditorList = new ArrayList<>();
@@ -7332,6 +7333,36 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         report.setSapServiceName(optionalSap.get().getServiceName());
                     }
                 }
+                //设置自定义维度
+                if (timeType.getCustomDegreeActive() == 1) {
+                    if (timeType.getCustomDegreeWithPro() == 1) {
+                        String associateDegrees = optional.get().getAssociateDegrees();
+                        List<HashMap> degreeMapList = new ArrayList<>();
+                        if (associateDegrees != null) {
+                            String[] split = associateDegrees.split("\\,");
+                            for (int i=0;i<split.length; i++) {
+                                HashMap map = new HashMap();
+                                if (!StringUtils.isEmpty(split[i])) {
+                                    Integer id = Integer.parseInt(split[i]);
+                                    map.put("id", id);
+                                    map.put("name", degreeList.stream().filter(d->d.getId().equals(id)).findFirst().get().getName());
+                                    degreeMapList.add(map);
+                                }
+                            }
+                        }
+                        report.setDegreeList(degreeMapList);
+                    } else {
+                        //把degreeList改成HashMap结构
+                        List<HashMap> mapDegreeList = new ArrayList<>();
+                        for (ReportExtraDegree degree : degreeList) {
+                            HashMap map = new HashMap();
+                            map.put("id", degree.getId());
+                            map.put("name", degree.getName());
+                            mapDegreeList.add(map);
+                        }
+                        report.setDegreeList(mapDegreeList);
+                    }
+                }
             }
         }
 

+ 3 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -119,6 +119,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             queryWrapper.ne(Plan::getStatus,2);
         }
         queryWrapper.eq(Plan::getIsDelete,0);
+
         if(planType!=2){
             queryWrapper.eq(Plan::getPlanType,0);
         }else {
@@ -141,7 +142,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                 queryWrapper.and(wrapper->wrapper.eq(Plan::getStartDate,now).or().inSql(Plan::getId,"select ppt1.plan_id \n" +
                         "from  plan_procedure_total ppt1\n" +
                         "left join prod_procedure_team  ppt on ppt.plan_procedure_id=ppt1.id\n" +
-                        "where ppt.progress<100")).lt(Plan::getStartDate,now.plusDays(1)).eq(Plan::getHideState,0);
+                        "where ppt.progress IS NULL OR ppt.progress<100")).lt(Plan::getStartDate,now.plusDays(1)).eq(Plan::getHideState,0);
             }else {
                 queryWrapper.eq(Plan::getStartDate,(planType==0||planType==2)?now:now.plusDays(1));
             }
@@ -183,7 +184,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             }
             collect.add(-1);
             List<Integer> finalCollect = collect;
-            queryWrapper.and(wrapper->wrapper.in(Plan::getId, finalCollect).or().eq(Plan::getCreateId,user.getId()).or().in(Plan::getStationId,deptIds)).eq(Plan::getStatus,1);
+            queryWrapper.and(wrapper->wrapper.in(Plan::getId, finalCollect).or().eq(Plan::getForemanId,user.getId()).or().eq(Plan::getCreateId,user.getId()).or().in(Plan::getStationId,deptIds)).eq(Plan::getStatus,1);
         }
         if(!StringUtils.isEmpty(steelStampNumber)){
             QueryWrapper<PlanSteelStampNumber> queryWrapperSSN=new QueryWrapper<>();

+ 10 - 6
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -633,14 +633,16 @@
                         </el-form-item>
 
                         <!-- 相关维度/自定义维度 -->
-                        <el-form-item :label="yonghuUser.customDegreeName" v-if="domain.projectId && yonghuUser.customDegreeActive == 1" :rules="user.timeType.customDegreeStatus == 1 && domain.wuduList != undefined && domain.wuduList.length != 0 ? { required: true, message: $t('defaultText.pleaseChoose') + yonghuUser.customDegreeName, trigger: ['change','blur'] } : null" :prop="'domains.' + index + '.degreeId'">
-                            <el-select v-if="!yonghuUser.customDegreeMultiple" v-model="domain.degreeId" clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:200px;" filterable>
+                        <el-form-item :label="yonghuUser.customDegreeName" v-if="domain.projectId && yonghuUser.customDegreeActive == 1 && !yonghuUser.customDegreeMultiple" :rules="user.timeType.customDegreeStatus == 1 && domain.wuduList != undefined && domain.wuduList.length != 0 ? { required: true, message: $t('defaultText.pleaseChoose') + yonghuUser.customDegreeName, trigger: ['change','blur'] } : null" :prop="'domains.' + index + '.degreeId'">
+                            <el-select v-model="domain.degreeId" clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:200px;" filterable>
                                 <el-option v-for="item in domain.wuduList" :key="item.value" :label="item.name" :value="item.id">
                                 </el-option>
                             </el-select>
-                            <el-select v-else v-model="domain.multiDegrIdArray" multiple clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:75%;margin-right:7%" filterable>
+                        </el-form-item>
+                        <el-form-item :label="yonghuUser.customDegreeName" v-if="domain.projectId && yonghuUser.customDegreeActive == 1 && yonghuUser.customDegreeMultiple" :rules="user.timeType.customDegreeStatus == 1 && domain.wuduList != undefined && domain.wuduList.length != 0 ? { required: true, message: $t('defaultText.pleaseChoose') + yonghuUser.customDegreeName, trigger: ['change','blur'] } : null" :prop="'domains.' + index + '.multiDegrIdArray'">
+                            <el-select v-model="domain.multiDegrIdArray" multiple clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:75%;margin-right:7%" filterable>
                                 <el-option v-for="item in domain.wuduList" :key="item.value" :label="item.name" :value="item.id">
-                                </el-option>
+                                </el-option> 
                             </el-select>
                         </el-form-item>
 
@@ -6031,8 +6033,10 @@
                     }
                 }
                 let errtips = ''
-                if(this.user.timeType.customDegreeStatus == 1 && this.zhoBao.wuduList.length != 0 && !this.zhoBao.degreeId) {
-                    errtips += this.user.timeType.customDegreeName + '、'
+                if(this.user.timeType.customDegreeStatus == 1 && this.zhoBao.wuduList.length != 0) {
+                    if ((!this.user.timeType.customDegreeMultiple && !this.zhoBao.degreeId) || (this.user.timeType.customDegreeMultiple && (!this.zhoBao.multiDegrIdArray || this.zhoBao.multiDegrIdArray.length==0))) {
+                        errtips += this.user.timeType.customDegreeName + '、'
+                    }
                 }
                 if(this.user.timeType.customDataStatus == 1 && !this.zhoBao.customData){
                     errtips += this.user.timeType.customDataName + '、'