Merge remote-tracking branch 'origin/master'

master
赵嘉伟 4 years ago
commit 6dacb22566

@ -1,22 +1,17 @@
package com.foreverwin.mesnac.common.aspect; package com.foreverwin.mesnac.common.aspect;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import com.foreverwin.mesnac.common.export.ColumnConvert; import com.foreverwin.mesnac.common.export.ColumnConvert;
import com.foreverwin.mesnac.common.export.DateConvert;
import com.foreverwin.mesnac.common.model.ExportTemplate; import com.foreverwin.mesnac.common.model.ExportTemplate;
import com.foreverwin.mesnac.common.service.ExportTemplateService; import com.foreverwin.mesnac.common.service.ExportTemplateService;
import com.foreverwin.mesnac.common.util.DateUtil;
import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.FrontPage;
import com.foreverwin.modular.core.util.SpringUtil; import com.foreverwin.modular.core.util.SpringUtil;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.hssf.util.HSSFColor;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
@ -32,7 +27,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@Aspect @Aspect
@ -55,7 +49,7 @@ public class ExportAspect {
String exportCode = ""; String exportCode = "";
//------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------
if (paramtes == null || args == null || args.length == 0) return joinPoint.proceed(); if (paramtes == null || args == null || args.length == 0) return joinPoint.proceed();
Boolean isDuoDuo = (args != null && args.length == 1) ? false : true; Boolean isDuoDuo = (args != null && (args.length == 1 && args[0].getClass() != String.class)) ? false : true;
//------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------
request.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8");
//------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------
@ -73,9 +67,12 @@ public class ExportAspect {
while (paramtes.hasMoreElements()) { while (paramtes.hasMoreElements()) {
String param = paramtes.nextElement(); String param = paramtes.nextElement();
String value = request.getParameter(param); String value = request.getParameter(param);
if (param != null && param.equals("export")) export = true; if (param != null && param.equals("export")) {
if (param != null && param.equals("exportCode")) exportCode = value; export = true;
}
if (param != null && param.equals("exportCode")) {
exportCode = value;
}
paramMap.put(param, value); paramMap.put(param, value);
}//while }//while
args[0] = paramMap; args[0] = paramMap;

@ -132,4 +132,15 @@ public class ReportDataController {
} }
} }
@GetMapping("/userPassRate")
public R findUserPassRate(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = reportDataService.findUserPassRate(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
} }

@ -27,4 +27,6 @@ public interface ReportDataMapper {
List<Map<String, Object>> findCheckUserPassRate(Map paramMap); List<Map<String, Object>> findCheckUserPassRate(Map paramMap);
List<Map<String, Object>> findUserPassRate(Map paramMap);
} }

@ -47,4 +47,6 @@ public interface ReportDataService {
List<Map<String, Object>> findCheckUserPassRate(Map paramMap); List<Map<String, Object>> findCheckUserPassRate(Map paramMap);
List<Map<String, Object>> findUserPassRate(Map paramMap);
} }

@ -72,4 +72,9 @@ public class ReportDataServiceImpl implements ReportDataService{
public List<Map<String, Object>> findCheckUserPassRate(Map paramMap) { public List<Map<String, Object>> findCheckUserPassRate(Map paramMap) {
return reportDataMapper.findCheckUserPassRate(paramMap); return reportDataMapper.findCheckUserPassRate(paramMap);
} }
@Override
public List<Map<String, Object>> findUserPassRate(Map paramMap) {
return reportDataMapper.findUserPassRate(paramMap);
}
} }

@ -262,6 +262,8 @@
</if> </if>
GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, WT.DESCRIPTION,ZSD.DISPATCH_QTY GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, WT.DESCRIPTION,ZSD.DISPATCH_QTY
) GROUP BY DESCRIPTION, "MONTH" ) GROUP BY DESCRIPTION, "MONTH"
ORDER BY DESCRIPTION,"MONTH"
</select> </select>
<select id="findCheckUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findCheckUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
@ -278,7 +280,7 @@
JOIN WORK_CENTER WC ON WC.SITE = zit.SITE AND WC.WORK_CENTER = zit.WORK_CENTER JOIN WORK_CENTER WC ON WC.SITE = zit.SITE AND WC.WORK_CENTER = zit.WORK_CENTER
LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WC.HANDLE AND WT.LOCALE = 'zh' LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WC.HANDLE AND WT.LOCALE = 'zh'
LEFT JOIN Z_ABNORMAL_BILL ZAB ON zit.SFC=ZAB.SFC AND zit.SITE=ZAB.SITE AND zit.STEP_ID=ZAB.STEP_ID AND zab."TYPE"='Z' LEFT JOIN Z_ABNORMAL_BILL ZAB ON zit.SFC=ZAB.SFC AND zit.SITE=ZAB.SITE AND zit.STEP_ID=ZAB.STEP_ID AND zab."TYPE"='Z'
LEFT JOIN Z_NWA_USER ZNU ON ZNU.SITE = ZIT.SITE AND ZNU.USER_NAME = ZIT.MODIFY_USER LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZIT.MODIFY_USER
WHERE zit.SITE= #{site} AND zit.CATEGORY='P' AND zit.STATUS='COMPLETE' WHERE zit.SITE= #{site} AND zit.CATEGORY='P' AND zit.STATUS='COMPLETE'
<if test="workCenter != null and workCenter != ''" > <if test="workCenter != null and workCenter != ''" >
AND zit.WORK_CENTER = #{workCenter} AND zit.WORK_CENTER = #{workCenter}
@ -289,7 +291,54 @@
<if test="startToDate != null and startToDate != ''" > <if test="startToDate != null and startToDate != ''" >
AND TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') &lt;= #{startToDate} AND TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') &lt;= #{startToDate}
</if> </if>
<if test="userId != null and userId != ''" >
AND ZIT.MODIFY_USER = #{userId}
</if>
GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, ZNU.FULL_NAME,WT.DESCRIPTION GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, ZNU.FULL_NAME,WT.DESCRIPTION
) GROUP BY DESCRIPTION, "MONTH",FULL_NAME ) GROUP BY DESCRIPTION, "MONTH",FULL_NAME
ORDER BY DESCRIPTION,"MONTH"
</select>
<select id="findUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT ZNU.FULL_NAME,DESCRIPTION WORK_CENTER_DESCRIPTION, "MONTH",sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,round(sum(OK_QTY)*100/sum(DISPATCH_QTY),2)||'% ' OK_RATE FROM
(
SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='OK' THEN 0
WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='NG' THEN TO_NUMBER(zab.NC_QTY)
ELSE 0 END NG_QTY , TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') "MONTH",
CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='OK' THEN zsd.DISPATCH_QTY
WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='NG' THEN 0
ELSE 0 END OK_QTY,E.EMPLOYEE
,ZSD.DISPATCH_QTY, WT.DESCRIPTION,
ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC) seq,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit
JOIN sfc S ON S.SFC=zit.SFC AND s.SITE=zit.SITE
JOIN Z_SFC_DISPATCH ZSD ON ZSD.SFC=zit.SFC AND ZSD.SITE=zit.SITE AND zit.STEP_ID=ZSD.STEP_ID
JOIN WORK_CENTER WC ON WC.SITE = zit.SITE AND WC.WORK_CENTER = zit.WORK_CENTER
JOIN (
SELECT HANDLE,
REGEXP_SUBSTR(EMPLOYEE, '[^,]+', 1, l) AS EMPLOYEE
FROM Z_SFC_DISPATCH c,
(SELECT LEVEL l FROM DUAL CONNECT BY LEVEL &lt;= 5)
WHERE l &lt;= LENGTH(EMPLOYEE) - LENGTH(REPLACE(EMPLOYEE, ',')) + 1) E ON ZSD.HANDLE=E.HANDLE
LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WC.HANDLE AND WT.LOCALE = 'zh'
LEFT JOIN Z_ABNORMAL_BILL ZAB ON zit.SFC=ZAB.SFC AND zit.SITE=ZAB.SITE AND zit.STEP_ID=ZAB.STEP_ID AND zab."TYPE"='Z'
WHERE zit.SITE= '1000' AND zit.CATEGORY='P' AND zit.STATUS='COMPLETE'
<if test="workCenter != null and workCenter != ''" >
AND zit.WORK_CENTER = #{workCenter}
</if>
<if test="startFromDate != null and startFromDate != ''" >
AND TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') >=#{startFromDate}
</if>
<if test="startToDate != null and startToDate != ''" >
AND TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') &lt;= #{startToDate}
</if>
<if test="userId != null and userId != ''" >
AND E.EMPLOYEE = #{userId}
</if>
GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, WT.DESCRIPTION,ZSD.DISPATCH_QTY,E.EMPLOYEE
) D
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = D.EMPLOYEE
GROUP BY DESCRIPTION, "MONTH",ZNU.FULL_NAME
ORDER BY DESCRIPTION,"MONTH"
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save