Kaynağa Gözat

日报导出

Min 1 yıl önce
ebeveyn
işleme
b2bc0b1aa8

+ 6 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanController.java

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -148,5 +149,10 @@ public class PlanController {
     public HttpRespMsg stopPlan(Integer id){
         return planService.stopPlan(id);
     }
+
+    @RequestMapping("/allPlanList")
+    public HttpRespMsg allPlanList(HttpServletRequest request){
+        return planService.allPlanList(request);
+    }
 }
 

+ 2 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -201,4 +201,6 @@ public interface ReportMapper extends BaseMapper<Report> {
     List<Map<String, Object>> getDpetStatisticsProgressList(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
 
     Integer getDpetStatisticsProgressCount(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate);
+
+    List<Map<String,Object>> getReportList(String startDate, String endDate, Integer planId, Integer stateKey, Integer departmentId, Integer companyId);
 }

+ 4 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/PlanService.java

@@ -7,6 +7,8 @@ import com.management.platform.entity.ProdProcedureTeam;
 import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * <p>
  *  服务类
@@ -50,4 +52,6 @@ public interface PlanService extends IService<Plan> {
     HttpRespMsg getNowMouthProdProgress();
 
     HttpRespMsg stopPlan(Integer id);
+
+    HttpRespMsg allPlanList(HttpServletRequest request);
 }

+ 4 - 4
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanProcedureTotalServiceImpl.java

@@ -162,10 +162,10 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
 
     public static void main(String[] args) {
         PlanSteelStampNumber planSteelStampNumber=new PlanSteelStampNumber();
-        planSteelStampNumber.setSteelStampNumberStart("LEW00021098-0001");
-        planSteelStampNumber.setSteelStampNumberEnd("LEW00021111-0001");
-        planSteelStampNumber.setRuleIndexStart(9);
-        planSteelStampNumber.setRuleIndexEnd(11);
+        planSteelStampNumber.setSteelStampNumberStart("3941");
+        planSteelStampNumber.setSteelStampNumberEnd("4592");
+        planSteelStampNumber.setRuleIndexStart(1);
+        planSteelStampNumber.setRuleIndexEnd(4);
         //根据起始位置判断位数
         List<String> list=new ArrayList<>();
         Integer startIndex = Integer.valueOf(planSteelStampNumber.getRuleIndexStart());

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

@@ -1274,4 +1274,13 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         }
         return httpRespMsg;
     }
+
+    @Override
+    public HttpRespMsg allPlanList(HttpServletRequest request) {
+        HttpRespMsg msg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<Plan> plans = planMapper.selectList(new LambdaQueryWrapper<Plan>().eq(Plan::getCompanyId, companyId));
+        msg.setData(plans);
+        return msg;
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.management.platform.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -4688,6 +4689,41 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
     @Override
     public HttpRespMsg exportReport(String startDate, String endDate, Integer planId, Integer stateKey, Integer departmentId, HttpServletRequest request) {
-        return null;
+        HttpRespMsg msg=new HttpRespMsg();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        List<Department> departmentList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompanyId, companyId));
+        List<Map<String,Object>> reportList=reportMapper.getReportList(startDate,endDate,planId,stateKey,departmentId,companyId);
+        List<List<String>> dataList=new ArrayList<>();
+        String[] title={"员工","工号","所属部门","排除工单号/任务变更通知号","钢印号","工作时长","产品名称","工序名称","进度","质检类型","质检人","工作日期","填报日期"};
+        List<String> titleList=Arrays.asList(title);
+        dataList.add(titleList);
+        for (Map<String, Object> map : reportList) {
+            List<String> item=new ArrayList<>();
+            item.add(String.valueOf(map.get("userName")));
+            item.add(String.valueOf(map.get("jobNumber")));
+            String departmentName = convertDepartmentIdToCascade(Integer.valueOf(String.valueOf(map.get("departmentId"))), departmentList);
+            item.add(departmentName);
+            Integer planType = Integer.valueOf(String.valueOf(map.get("planType")));
+            if(planType==0){
+                item.add(map.get("productSchedulingNum")==null?"":String.valueOf(map.get("productSchedulingNum")));
+            }else {
+                item.add(map.get("taskChangeNoticeNum")==null?"":String.valueOf(map.get("taskChangeNoticeNum")));
+            }
+            item.add(map.get("steelNumArray")==null?"":String.valueOf(map.get("steelNumArray")));
+            item.add(String.valueOf(map.get("workingTime")));
+            item.add(String.valueOf(map.get("productName")));
+            item.add(String.valueOf(map.get("procedureName")));
+            item.add(String.valueOf(map.get("progress"))+"%");
+            item.add(String.valueOf(map.get("checkType")));
+            item.add(map.get("checkerName")==null?"":String.valueOf(map.get("checkerName")));
+            item.add(String.valueOf(map.get("createDate")));
+            item.add(String.valueOf(map.get("reportTime")));
+            dataList.add(item);
+        }
+        Company company = companyMapper.selectById(companyId);
+        String fileName=("日报统计导出_")+company.getCompanyName()+System.currentTimeMillis();
+        String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
+        msg.setData(resp);
+        return msg;
     }
 }

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

@@ -436,4 +436,26 @@
         ) as total
     </select>
 
+    <select id="getReportList" resultType="java.util.Map">
+        select p.plan_type as planType,u.name as userName,u.job_number as jobNumber,d.department_id as departmentId,p.product_scheduling_num as productSchedulingNum,
+        p.task_change_notice_num as taskChangeNoticeNum,r.steel_num_array as steelNumArray,r.working_time as workingTime,p.product_name as productName,
+        pp.name as procedureName,r.progress as progress,(CASE r.check_type WHEN 0 THEN '自检' WHEN 1 THEN '互检' ELSE '专检' END ) as checkType ,uu.name as checkerName,
+        date_format(r.create_date,'%Y-%m-%d') as createDate,date_format(r.create_time,'%Y-%m-%d %T') as reportTime  from report r
+        left join plan p on p.id=r.plan_id
+        left join department d on d.department_id=p.station_id
+        left join user u on r.creator_id=u.id
+        left join prod_procedure pp on pp.id=r.prod_procedure_id
+        left join user uu on uu.id=r.checker_id
+        where r.company_id=#{companyId}
+        <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
+            and r.create_date between  #{startDate} and #{endDate}
+        </if>
+        <if test="departmentId!=null">
+            and p.station_id=#{departmentId}
+        </if>
+        <if test="planId!=null">
+            and r.plan_id=#{planId}
+        </if>
+    </select>
+
 </mapper>