Merge remote-tracking branch 'origin/master'

master
zpl 4 years ago
commit 339620004b

@ -108,7 +108,7 @@ public class ExportAspect {
//------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------
HSSFWorkbook workbook = new HSSFWorkbook(); HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet(); HSSFSheet sheet = workbook.createSheet();
sheet.setDefaultColumnWidth(15); sheet.setDefaultColumnWidth(20);
HSSFRow row = sheet.createRow(0); HSSFRow row = sheet.createRow(0);
//-------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------
HSSFCellStyle headerStyle = getHeaderStyle(workbook);// 获取列头样式对象 HSSFCellStyle headerStyle = getHeaderStyle(workbook);// 获取列头样式对象

@ -397,14 +397,14 @@
<select id="findWorkShopPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findWorkShopPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT 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 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 SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC )=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) WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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", 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 CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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 WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN 0
ELSE 0 END OK_QTY ELSE 0 END OK_QTY
,ZSD.DISPATCH_QTY, WT.DESCRIPTION, ,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, ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC) seq,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit 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 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 Z_SFC_DISPATCH ZSD ON ZSD.SFC=zit.SFC AND ZSD.SITE=zit.SITE AND zit.STEP_ID=ZSD.STEP_ID
@ -429,11 +429,11 @@
<select id="findCheckUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findCheckUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT DESCRIPTION WORK_CENTER_DESCRIPTION, FULL_NAME,"MONTH",sum(NG_QTY) NC_QTY, sum(CHECK_QTY) CHECK_QTY FROM SELECT DESCRIPTION WORK_CENTER_DESCRIPTION, FULL_NAME,"MONTH",sum(NG_QTY) NC_QTY, sum(CHECK_QTY) CHECK_QTY 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 SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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) WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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" ELSE 0 END NG_QTY , TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') "MONTH"
, WT.DESCRIPTION,ZNU.FULL_NAME, , WT.DESCRIPTION,ZNU.FULL_NAME,
ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC) seq, ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC) seq,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit 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 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 Z_SFC_DISPATCH ZSD ON ZSD.SFC=zit.SFC AND ZSD.SITE=zit.SITE AND zit.STEP_ID=ZSD.STEP_ID
@ -462,14 +462,14 @@
<select id="findUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT ZNU.FULL_NAME,DUTY_USER,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 ZNU.FULL_NAME,DUTY_USER,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 SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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) WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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", 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 CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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 WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN 0
ELSE 0 END OK_QTY,E.EMPLOYEE,ZABD.DUTY_USER ELSE 0 END OK_QTY,E.EMPLOYEE,ZABD.DUTY_USER
,ZSD.DISPATCH_QTY, WT.DESCRIPTION, ,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, ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC) seq,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit 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 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 Z_SFC_DISPATCH ZSD ON ZSD.SFC=zit.SFC AND ZSD.SITE=zit.SITE AND zit.STEP_ID=ZSD.STEP_ID
@ -506,12 +506,12 @@
<select id="findInspectionDetailPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findInspectionDetailPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT DATE_TIME,sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,sum(DISPATCH_QTY) DISPATCH_QTY,FULL_NAME,DUTY_USER,DUTY_DEPART,WORK_ORDER,ITEM_NUMBER,ITEM,ITEM_DESC,OPERATION_DESC,CATEGORY,EMPLOYEE_DESCRIPTION,COMMENTS,DESCRIPTION WORK_CENTER_DESCRIPTION FROM SELECT DATE_TIME,sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,sum(DISPATCH_QTY) DISPATCH_QTY,FULL_NAME,DUTY_USER,DUTY_DEPART,WORK_ORDER,ITEM_NUMBER,ITEM,ITEM_DESC,OPERATION_DESC,CATEGORY,EMPLOYEE_DESCRIPTION,COMMENTS,DESCRIPTION WORK_CENTER_DESCRIPTION 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 SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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) WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN TO_NUMBER(zab.NC_QTY)
ELSE 0 END NG_QTY, WT.DESCRIPTION,ZNU.FULL_NAME,ZSD.EMPLOYEE,ZSD.EMPLOYEE_DESCRIPTION,CFA.VALUE WORK_ORDER,CFB.VALUE ITEM_NUMBER,O.OPERATION,OT.DESCRIPTION OPERATION_DESC, ELSE 0 END NG_QTY, WT.DESCRIPTION,ZNU.FULL_NAME,ZSD.EMPLOYEE,ZSD.EMPLOYEE_DESCRIPTION,CFA.VALUE WORK_ORDER,CFB.VALUE ITEM_NUMBER,O.OPERATION,OT.DESCRIPTION OPERATION_DESC,
ROW_NUMBER() OVER(PARTITION BY zit.sfc,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC) seq,I.ITEM,IT.DESCRIPTION ITEM_DESC,TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM-DD') DATE_TIME, ROW_NUMBER() OVER(PARTITION BY zit.sfc,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC) seq,I.ITEM,IT.DESCRIPTION ITEM_DESC,TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM-DD') DATE_TIME,
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 CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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 WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN 0
ELSE 0 END OK_QTY,zsd.DISPATCH_QTY, ELSE 0 END OK_QTY,zsd.DISPATCH_QTY,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.STEP_ID,zit.CATEGORY,zit.COMMENTS,ZABD.DUTY_USER,ZABD.DUTY_DEPART zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.STEP_ID,zit.CATEGORY,zit.COMMENTS,ZABD.DUTY_USER,ZABD.DUTY_DEPART
FROM Z_INSPECTION_TASK zit FROM Z_INSPECTION_TASK zit
@ -551,14 +551,14 @@
<select id="findSectionPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findSectionPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT "SECTION","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 "SECTION","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 SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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) WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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", 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 CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=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 WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC)=1 AND zit."RESULT"='NG' THEN 0
ELSE 0 END OK_QTY,CS1.VALUE "SECTION" ELSE 0 END OK_QTY,CS1.VALUE "SECTION"
,ZSD.DISPATCH_QTY, ,ZSD.DISPATCH_QTY,
ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC) seq, ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME ASC) seq,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit
JOIN RESRCE R ON zit.SITE = R.SITE AND R.RESRCE = zit.RESRCE JOIN RESRCE R ON zit.SITE = R.SITE AND R.RESRCE = zit.RESRCE
LEFT JOIN CUSTOM_FIELDS CS1 ON CS1.HANDLE = R.HANDLE AND CS1.ATTRIBUTE = 'SECTION' LEFT JOIN CUSTOM_FIELDS CS1 ON CS1.HANDLE = R.HANDLE AND CS1.ATTRIBUTE = 'SECTION'

@ -513,10 +513,6 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService {
throw BusinessException.build("工艺路线工序[" +operation+ "]的自定义字段加工工时不是数值"); throw BusinessException.build("工艺路线工序[" +operation+ "]的自定义字段加工工时不是数值");
} }
if (prodHours.contains(".")) {
return prodHours.substring(0, prodHours.indexOf("."));
}
return prodHours; return prodHours;
} }
} }

@ -2,6 +2,8 @@ package com.foreverwin.mesnac.production.dto;
import com.foreverwin.mesnac.production.model.WorkShopTransfer; import com.foreverwin.mesnac.production.model.WorkShopTransfer;
import java.time.LocalDate;
public class WorkShopTransferDto extends WorkShopTransfer { public class WorkShopTransferDto extends WorkShopTransfer {
private String lastOperation; private String lastOperation;
private String lastOperationDesc; private String lastOperationDesc;
@ -15,7 +17,24 @@ public class WorkShopTransferDto extends WorkShopTransfer {
private String resrce; private String resrce;
private String workCenterDesc; private String workCenterDesc;
private String employeeDescription; private String employeeDescription;
private String lastStepId;
private LocalDate localDate;
public LocalDate getLocalDate() {
return localDate;
}
public void setLocalDate(LocalDate localDate) {
this.localDate = localDate;
}
public String getLastStepId() {
return lastStepId;
}
public void setLastStepId(String lastStepId) {
this.lastStepId = lastStepId;
}
public String getEmployeeDescription() { public String getEmployeeDescription() {
return employeeDescription; return employeeDescription;

@ -1,15 +1,19 @@
package com.foreverwin.mesnac.production.service.impl; package com.foreverwin.mesnac.production.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.model.InspectionTask;
import com.foreverwin.mesnac.common.service.InspectionTaskService;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService; import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.common.util.DateUtil; import com.foreverwin.mesnac.common.util.DateUtil;
import com.foreverwin.mesnac.common.util.ExceptionUtil; import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.mapper.WorkCenterMapper;
import com.foreverwin.mesnac.meapi.model.Operation; import com.foreverwin.mesnac.meapi.model.Operation;
import com.foreverwin.mesnac.meapi.model.Router; import com.foreverwin.mesnac.meapi.model.Router;
import com.foreverwin.mesnac.meapi.service.CustomFieldsService;
import com.foreverwin.mesnac.meapi.service.OperationService; import com.foreverwin.mesnac.meapi.service.OperationService;
import com.foreverwin.mesnac.meapi.service.RouterService; import com.foreverwin.mesnac.meapi.service.RouterService;
import com.foreverwin.mesnac.production.dto.WorkShopTransferDto; import com.foreverwin.mesnac.production.dto.WorkShopTransferDto;
@ -17,7 +21,6 @@ import com.foreverwin.mesnac.production.mapper.SfcCrossMapper;
import com.foreverwin.mesnac.production.mapper.WorkShopTransferMapper; import com.foreverwin.mesnac.production.mapper.WorkShopTransferMapper;
import com.foreverwin.mesnac.production.model.StepOperation; import com.foreverwin.mesnac.production.model.StepOperation;
import com.foreverwin.mesnac.production.model.WorkShopTransfer; import com.foreverwin.mesnac.production.model.WorkShopTransfer;
import com.foreverwin.mesnac.production.service.SfcCrossService;
import com.foreverwin.mesnac.production.service.WorkShopTransferService; import com.foreverwin.mesnac.production.service.WorkShopTransferService;
import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
@ -28,6 +31,7 @@ import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -50,11 +54,11 @@ public class WorkShopTransferServiceImpl extends ServiceImpl<WorkShopTransferMap
@Autowired @Autowired
private WorkShopTransferMapper workShopTransferMapper; private WorkShopTransferMapper workShopTransferMapper;
@Autowired @Autowired
private OperationService operationService; private InspectionTaskService inspectionTaskService;
@Autowired @Autowired
private WorkCenterMapper workCenterMapper; private CustomFieldsService customFieldsService;
@Autowired @Autowired
private SfcCrossService sfcCrossService; private OperationService operationService;
@Autowired @Autowired
private SfcCrossMapper sfcCrossMapper; private SfcCrossMapper sfcCrossMapper;
@Autowired @Autowired
@ -162,8 +166,28 @@ public class WorkShopTransferServiceImpl extends ServiceImpl<WorkShopTransferMap
queryWrapper.eq(WorkShopTransfer.SFC_DISPATCH_BO, dto.getSfcDispatchBo()); queryWrapper.eq(WorkShopTransfer.SFC_DISPATCH_BO, dto.getSfcDispatchBo());
List<WorkShopTransfer> workShopTransfers = list(queryWrapper); List<WorkShopTransfer> workShopTransfers = list(queryWrapper);
if (!workShopTransfers.isEmpty()) { if (!workShopTransfers.isEmpty()) {
throw BusinessException.build("产品已转出"); throw BusinessException.build("产品"+sfc+"已转出");
} }
//检查是否检验合格
Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, transferDto.getLastOperation());
String special = customFieldsService.getCustomFieldsValue(currentRevisionRef.getHandle(), "SPECIAL");
if(StringUtil.isBlank(special) || !special.equals("N")){
String lastStepId = transferDto.getLastStepId();
QueryWrapper<InspectionTask> taskQueryWrapper=new QueryWrapper<>();
taskQueryWrapper.eq(InspectionTask.SFC,sfc);
taskQueryWrapper.eq(InspectionTask.STEP_ID,lastStepId);
taskQueryWrapper.orderByDesc(InspectionTask.CREATED_DATE_TIME);
List<InspectionTask> inspectionTaskList = inspectionTaskService.list(taskQueryWrapper);
if(!inspectionTaskList.isEmpty()){
String status = inspectionTaskList.get(0).getStatus();
String result = inspectionTaskList.get(0).getResult();
if(!status.equals(Constants.INSPECTION_TASK_STATUS_COMPLETE) ||StringUtil.isBlank(result)||!result.equals(Constants.RSESULT_OK)){
throw BusinessException.build("产品"+sfc+"专检任务未完成或不合格");
}
}
}
transferLog.setSfcDispatchBo(dto.getSfcDispatchBo()); transferLog.setSfcDispatchBo(dto.getSfcDispatchBo());
transferLog.setSite(site); transferLog.setSite(site);
transferLog.setTransferNo(taskNo); transferLog.setTransferNo(taskNo);
@ -188,6 +212,7 @@ public class WorkShopTransferServiceImpl extends ServiceImpl<WorkShopTransferMap
dto.setBlankingSize(transferDto.getBlankingSize()); dto.setBlankingSize(transferDto.getBlankingSize());
dto.setTransferNo(taskNo); dto.setTransferNo(taskNo);
dto.setEmployeeDescription(transferDto.getEmployeeDescription()); dto.setEmployeeDescription(transferDto.getEmployeeDescription());
dto.setLocalDate(LocalDate.now());
returnList.add(dto); returnList.add(dto);
} }
return returnList; return returnList;

@ -631,7 +631,7 @@
</delete> </delete>
<!-- BaseMapper标准查询/修改/删除 --> <!-- BaseMapper标准查询/修改/删除 -->
<select id="getOutList" resultType="com.foreverwin.mesnac.production.dto.WorkShopTransferDto"> <select id="getOutList" resultType="com.foreverwin.mesnac.production.dto.WorkShopTransferDto">
SELECT zsd.handle SFC_DISPATCH_BO,zsd.sfc, PREZSD.OPERATION LAST_OPERATION,PREZSD.WORK_CENTER TRANSFER_WORK_CENTER,zsd.WORK_CENTER,WCT.DESCRIPTION WORK_CENTER_DESC,zsd.SHOP_ORDER,c1.VALUE WORK_ORDER,IT.DESCRIPTION ITEM_DESC,ZSD.BLANKING_SIZE,SFC.QTY,PREOT.DESCRIPTION LAST_OPERATION_DESC,PREZSD.EMPLOYEE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESC, SELECT zsd.handle SFC_DISPATCH_BO,zsd.sfc, PREZSD.OPERATION LAST_OPERATION,PREZSD.STEP_ID LAST_STEP_ID,PREZSD.WORK_CENTER TRANSFER_WORK_CENTER,zsd.WORK_CENTER,WCT.DESCRIPTION WORK_CENTER_DESC,zsd.SHOP_ORDER,c1.VALUE WORK_ORDER,IT.DESCRIPTION ITEM_DESC,ZSD.BLANKING_SIZE,SFC.QTY,PREOT.DESCRIPTION LAST_OPERATION_DESC,PREZSD.EMPLOYEE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESC,
CASE WHEN ZWST.IS_IN='Y' THEN '已接收' WHEN ZWST.IS_OUT='Y' THEN '转序中' ELSE '待转出' END STATUS CASE WHEN ZWST.IS_IN='Y' THEN '已接收' WHEN ZWST.IS_OUT='Y' THEN '转序中' ELSE '待转出' END STATUS
FROM Z_SFC_DISPATCH zsd FROM Z_SFC_DISPATCH zsd
JOIN sfc sfc ON sfc.sfc=zsd.sfc AND zsd.site=sfc.site JOIN sfc sfc ON sfc.sfc=zsd.sfc AND zsd.site=sfc.site

Loading…
Cancel
Save