Min il y a 1 an
Parent
commit
8f8050a300

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

@@ -5497,6 +5497,13 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
     public HttpRespMsg getPlanDataWithUserId(String userId, String startDate, String endDate) {
         HttpRespMsg msg=new HttpRespMsg();
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter dtf1=DateTimeFormatter.ofPattern("yyyyMMdd");
+        List<LocalDate> dates = getDays(LocalDate.parse(startDate, dtf), LocalDate.parse(endDate, dtf));
+        List<String> dataStringList=new ArrayList<>();
+        for (LocalDate localDate : dates) {
+            dataStringList.add(localDate.format(dtf1));
+        }
         List<Map<String, Object>> resultList = reportMapper.getPlanDataWithUserId(companyId,userId, startDate, endDate);
         List<String> procedureIdList = resultList.stream().map(r -> String.valueOf(r.get("procedureId"))).distinct().collect(Collectors.toList());
         Map<Object, List<Map<String, Object>>> listMap = resultList.stream().collect(Collectors.groupingBy(i -> String.valueOf(i.get("procedureId"))));
@@ -5512,6 +5519,28 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             map.put("dataList",mapList);
             lastList.add(map);
         }
+        Map<String,Object> map=new HashMap<>();
+        map.put("productName","小计");
+        List<Map<String,Object>> totalList=new ArrayList<>();
+        for (String date : dataStringList) {
+            Map<String,Object> map1=new HashMap<>();
+            BigDecimal decimalTime=new BigDecimal(0);
+            BigDecimal decimalCost=new BigDecimal(0);
+            BigDecimal decimalNum=new BigDecimal(0);
+            List<Map<String, Object>> list = resultList.stream().filter(r -> String.valueOf(r.get("createDate")).equals(date)).collect(Collectors.toList());
+            for (Map<String, Object> objectMap : list) {
+                decimalTime=decimalTime.add(new BigDecimal(String.valueOf(objectMap.get("workingTime")))).setScale(2,BigDecimal.ROUND_HALF_UP);
+                decimalCost=decimalCost.add(new BigDecimal(String.valueOf(objectMap.get("cost")))).setScale(2,BigDecimal.ROUND_HALF_UP);
+                decimalNum=decimalNum.add(new BigDecimal(String.valueOf(objectMap.get("finishNum")))).setScale(2,BigDecimal.ROUND_HALF_UP);
+            }
+            map1.put("workingTime",decimalTime.doubleValue());
+            map1.put("cost",decimalCost.doubleValue());
+            map1.put("finishNum",decimalNum.doubleValue());
+            map1.put("createDate",date);
+            totalList.add(map1);
+        }
+        map.put("dataList",totalList);
+        lastList.add(map);
         msg.setData(lastList);
         return msg;
     }

+ 2 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml

@@ -463,6 +463,7 @@
         LEFT JOIN department d ON p.station_id=d.department_id
         LEFT JOIN department dd ON d.superior_id=dd.department_id
         <where>
+            p.status!=2 and
             p.company_id=#{companyId}
             <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
                 and p.start_date between #{startDate} and #{endDate}
@@ -490,6 +491,7 @@
         left join department d on u.department_id=d.department_id
         left join plan p on ppt.plan_id=p.id
         <where>
+         p.status!=2 and
          p.company_id=#{companyId}
          <if test="filterDeptId!=null">
              and d.department_id=#{filterDeptId}

+ 3 - 3
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/statistic/index.vue

@@ -55,7 +55,7 @@
 
           <!-- 时间段筛选 -->
           <template>
-            <span>
+            <span v-if="!personnelFlag">
               <span class="demonstration" style="color:#999;padding:0 10px">
                 {{ ins == 15 ? $t('xiang-mu-chuang-jian-shi-jian-duan') : $t('message.period') }}
               </span>
@@ -71,7 +71,7 @@
           <el-input v-if="ins == 2" v-model="steelNum" placeholder="请输入钢印号" @change="selcts()" size="small" style="width:140px"></el-input>
           
       </div>
-      <p :style="`${ins == 9 ? 'width:20%' : ins == 14 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
+      <p  v-if="!personnelFlag" :style="`${ins == 9 ? 'width:20%' : ins == 14 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
         <el-button type="primary" @click="exportExcel" size="mini">{{ $t('reporderived') }}</el-button>
       </p>
     </div>
@@ -224,7 +224,7 @@
                 </el-table-column>
                 <el-table-column v-if="personnelFlag" align="center" prop="departmentCascade" label="产品名称"   min-width="150"  fixed="left">
                   <template slot-scope="scope">
-                    <span class="colorText" >{{scope.row.productName}}</span>
+                    <span>{{scope.row.productName}}</span>
                   </template>
                 </el-table-column>
                 <div v-if="!personnelFlag">