|
@@ -21,7 +21,9 @@ import org.springframework.web.client.RestTemplate;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.math.RoundingMode;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
|
|
+import java.text.NumberFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.time.*;
|
|
import java.time.*;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
@@ -4419,7 +4421,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg getPlanRealTimeProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
|
|
|
|
|
|
+ public HttpRespMsg getProcedureRealTimeProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
|
|
HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
Integer pageStart = null;
|
|
Integer pageStart = null;
|
|
if (pageIndex!=null){
|
|
if (pageIndex!=null){
|
|
@@ -4427,8 +4429,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
HashMap map=new HashMap();
|
|
HashMap map=new HashMap();
|
|
- List<Map<String, Object>> planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
|
|
|
|
- Integer total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId, userId, startDate, endDate);
|
|
|
|
|
|
+ List<Map<String, Object>> planRealTimeProgressList = reportMapper.getProcedureRealTimeProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
|
|
|
|
+ Integer total=reportMapper.getProcedureRealTimeProgressCount(companyId, deptId, userId, startDate, endDate);
|
|
map.put("records",planRealTimeProgressList);
|
|
map.put("records",planRealTimeProgressList);
|
|
map.put("total",total);
|
|
map.put("total",total);
|
|
httpRespMsg.setData(map);
|
|
httpRespMsg.setData(map);
|
|
@@ -4436,9 +4438,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg exportPlanRealTimeProgressList(String deptId, String userId, String startDate, String endDate) {
|
|
|
|
|
|
+ public HttpRespMsg exportProcedureRealTimeProgressList(String deptId, String userId, String startDate, String endDate) {
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
- HttpRespMsg respMsg = getPlanRealTimeProgressList(deptId, userId, startDate, endDate, null, null);
|
|
|
|
|
|
+ HttpRespMsg respMsg = getProcedureRealTimeProgressList(deptId, userId, startDate, endDate, null, null);
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
HashMap resultMap= (HashMap) respMsg.data;
|
|
HashMap resultMap= (HashMap) respMsg.data;
|
|
List<Map<String, Object>> mapList= (List<Map<String, Object>>) resultMap.get("records");
|
|
List<Map<String, Object>> mapList= (List<Map<String, Object>>) resultMap.get("records");
|
|
@@ -4462,7 +4464,175 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
dataList.add(itemMap);
|
|
dataList.add(itemMap);
|
|
}
|
|
}
|
|
Company company = companyMapper.selectById(companyId);
|
|
Company company = companyMapper.selectById(companyId);
|
|
- String fileName=("计划实际工时表_")+company.getCompanyName()+System.currentTimeMillis();
|
|
|
|
|
|
+ String fileName=("工序实时进度表_")+company.getCompanyName()+System.currentTimeMillis();
|
|
|
|
+ String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
|
|
|
|
+ msg.setData(resp);
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg workReportQuery(Integer productId, String vehicleNum, String steelNum, Integer deptId, String userId, String startDate, String endDate,Integer pageIndex,Integer pageSize) {
|
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
|
+ Integer pageStart = null;
|
|
|
|
+ if (pageIndex!=null){
|
|
|
|
+ pageStart = (pageIndex -1) * pageSize;
|
|
|
|
+ }
|
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ Map map=new HashMap();
|
|
|
|
+ List<Map<String,Object>> mapList=reportMapper.workReportQuery(companyId,productId,vehicleNum,steelNum,deptId,userId,startDate,endDate,pageStart,pageSize);
|
|
|
|
+ Integer total = reportMapper.selectCountForWorkQuery(companyId, productId, vehicleNum, steelNum, deptId, userId, startDate, endDate);
|
|
|
|
+ map.put("records",mapList);
|
|
|
|
+ map.put("total",total);
|
|
|
|
+ msg.setData(map);
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg exportWorkReportQuery(Integer productId, String vehicleNum, String steelNum, Integer deptId, String userId, String startDate, String endDate) {
|
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
|
+ HttpRespMsg respMsg = workReportQuery(productId, vehicleNum, steelNum, deptId, userId, startDate,endDate,null,null);
|
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ HashMap resultMap= (HashMap) respMsg.data;
|
|
|
|
+ List<Map<String, Object>> mapList= (List<Map<String, Object>>) resultMap.get("records");
|
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
|
+ List<String> titleList=new ArrayList<>();
|
|
|
|
+ titleList.add("排除工单号");
|
|
|
|
+ titleList.add("产品名称");
|
|
|
|
+ titleList.add("工长");
|
|
|
|
+ titleList.add("开工时间");
|
|
|
|
+ titleList.add("完工时间");
|
|
|
|
+ titleList.add("工长");
|
|
|
|
+ titleList.add("组员");
|
|
|
|
+ titleList.add("报工时间");
|
|
|
|
+ titleList.add("质检人");
|
|
|
|
+ dataList.add(titleList);
|
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
|
+ List<String> itemMap=new ArrayList<>();
|
|
|
|
+ itemMap.add(String.valueOf(map.get("productSchedulingNum")==null?"":map.get("productSchedulingNum")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("productName")==null?"":map.get("productName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("foremanName")==null?"":map.get("foremanName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("startDate")==null?"":map.get("startDate")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("endDate")==null?"":map.get("endDate")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("procedureName")==null?"":map.get("procedureName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("creatorName")==null?"":map.get("creatorName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("createDate")==null?"":map.get("createDate")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("checkName")==null?"":map.get("checkName")));
|
|
|
|
+ dataList.add(itemMap);
|
|
|
|
+ }
|
|
|
|
+ Company company = companyMapper.selectById(companyId);
|
|
|
|
+ String fileName=("报工详情表_")+company.getCompanyName()+System.currentTimeMillis();
|
|
|
|
+ String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
|
|
|
|
+ msg.setData(resp);
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getPlanRealTimeProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
|
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
|
+ NumberFormat format = NumberFormat.getPercentInstance();
|
|
|
|
+ format.setMinimumFractionDigits(2);
|
|
|
|
+ Integer pageStart = null;
|
|
|
|
+ if (pageIndex!=null){
|
|
|
|
+ pageStart = (pageIndex -1) * pageSize;
|
|
|
|
+ }
|
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ HashMap map=new HashMap();
|
|
|
|
+ List<Map<String, Object>> planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
|
|
|
|
+ planRealTimeProgressList.forEach(pt->{
|
|
|
|
+ BigDecimal planWorkTime = new BigDecimal(pt.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("planWorkTime"))));
|
|
|
|
+ BigDecimal nowWorkTime = new BigDecimal(pt.get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("nowWorkTime"))));
|
|
|
|
+ if(nowWorkTime.compareTo(BigDecimal.ZERO)!=0){
|
|
|
|
+ BigDecimal divide = nowWorkTime.divide(planWorkTime, 4, RoundingMode.HALF_UP);
|
|
|
|
+ pt.put("progress",format.format(divide.doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ Integer total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId, userId, startDate, endDate);
|
|
|
|
+ map.put("records",planRealTimeProgressList);
|
|
|
|
+ map.put("total",total);
|
|
|
|
+ httpRespMsg.setData(map);
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg exportPlanRealTimeProgressList(String deptId, String userId, String startDate, String endDate) {
|
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
|
+ HttpRespMsg respMsg = getPlanRealTimeProgressList(deptId, userId, startDate, endDate, null, null);
|
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ HashMap resultMap= (HashMap) respMsg.data;
|
|
|
|
+ List<Map<String, Object>> mapList= (List<Map<String, Object>>) resultMap.get("records");
|
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
|
+ List<String> titleList=new ArrayList<>();
|
|
|
|
+ titleList.add("排产计划");
|
|
|
|
+ titleList.add("工长");
|
|
|
|
+ titleList.add("计划工时");
|
|
|
|
+ titleList.add("当前工时");
|
|
|
|
+ titleList.add("进度");
|
|
|
|
+ dataList.add(titleList);
|
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
|
+ List<String> itemMap=new ArrayList<>();
|
|
|
|
+ itemMap.add(String.valueOf(map.get("taskName")==null?"":map.get("taskName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("userName")==null?"":map.get("userName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("planWorkTime")==null?"":map.get("planWorkTime")+"分钟 "+map.get("planCost")+"元"));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("nowWorkTime")==null?"":map.get("nowWorkTime")+"分钟 "+map.get("nowCost")+"元"));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("progress")==null?0:map.get("progress")));
|
|
|
|
+ dataList.add(itemMap);
|
|
|
|
+ }
|
|
|
|
+ Company company = companyMapper.selectById(companyId);
|
|
|
|
+ String fileName=("计划实时进度表_")+company.getCompanyName()+System.currentTimeMillis();
|
|
|
|
+ String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
|
|
|
|
+ msg.setData(resp);
|
|
|
|
+ return msg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg getDpetStatisticsProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
|
|
|
|
+ HttpRespMsg httpRespMsg=new HttpRespMsg();
|
|
|
|
+ NumberFormat format = NumberFormat.getPercentInstance();
|
|
|
|
+ format.setMinimumFractionDigits(2);
|
|
|
|
+ Integer pageStart = null;
|
|
|
|
+ if (pageIndex!=null){
|
|
|
|
+ pageStart = (pageIndex -1) * pageSize;
|
|
|
|
+ }
|
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ HashMap map=new HashMap();
|
|
|
|
+ List<Map<String, Object>> dpetStatisticsProgressList = reportMapper.getDpetStatisticsProgressList(companyId, deptId, userId, startDate, endDate, pageStart, pageSize);
|
|
|
|
+ dpetStatisticsProgressList.forEach(pt->{
|
|
|
|
+ BigDecimal planWorkTime = new BigDecimal(pt.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("planWorkTime"))));
|
|
|
|
+ BigDecimal nowWorkTime = new BigDecimal(pt.get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(pt.get("nowWorkTime"))));
|
|
|
|
+ if(nowWorkTime.compareTo(BigDecimal.ZERO)!=0){
|
|
|
|
+ BigDecimal divide = nowWorkTime.divide(planWorkTime, 4, RoundingMode.HALF_UP);
|
|
|
|
+ pt.put("progress",format.format(divide.doubleValue()));
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ Integer total=reportMapper.getDpetStatisticsProgressCount(companyId, deptId, userId, startDate, endDate);
|
|
|
|
+ map.put("records",dpetStatisticsProgressList);
|
|
|
|
+ map.put("total",total);
|
|
|
|
+ httpRespMsg.setData(map);
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public HttpRespMsg exportDpetStatisticsProgressList(String deptId, String userId, String startDate, String endDate) {
|
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
|
+ HttpRespMsg respMsg = getDpetStatisticsProgressList(deptId, userId, startDate, endDate, null, null);
|
|
|
|
+ Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
|
|
+ HashMap resultMap= (HashMap) respMsg.data;
|
|
|
|
+ List<Map<String, Object>> mapList= (List<Map<String, Object>>) resultMap.get("records");
|
|
|
|
+ List<List<String>> dataList=new ArrayList<>();
|
|
|
|
+ List<String> titleList=new ArrayList<>();
|
|
|
|
+ titleList.add("部门名称");
|
|
|
|
+ titleList.add("计划进度");
|
|
|
|
+ titleList.add("工时");
|
|
|
|
+ dataList.add(titleList);
|
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
|
+ List<String> itemMap=new ArrayList<>();
|
|
|
|
+ itemMap.add(String.valueOf(map.get("departmentName")==null?"":map.get("departmentName")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("progress")==null?"":map.get("progress")));
|
|
|
|
+ itemMap.add(String.valueOf(map.get("nowWorkTime")==null?"":map.get("nowWorkTime")+"分钟 "+map.get("nowCost")+"元"));
|
|
|
|
+ dataList.add(itemMap);
|
|
|
|
+ }
|
|
|
|
+ Company company = companyMapper.selectById(companyId);
|
|
|
|
+ String fileName=("部门生产统计表_")+company.getCompanyName()+System.currentTimeMillis();
|
|
String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
|
|
String resp = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, dataList, path);
|
|
msg.setData(resp);
|
|
msg.setData(resp);
|
|
return msg;
|
|
return msg;
|