根据工单早自定义数据中的工作令和项目号,如果找不到的话就找异常单中的工作令和图号

master
赵嘉伟 3 years ago
parent 92119476ad
commit 7ba813244a

@ -12,6 +12,7 @@ import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.meapi.service.NcCodeService;
import com.foreverwin.modular.core.util.FrontPage;
import com.foreverwin.modular.core.util.R;
import com.sap.me.frame.service.CommonMethods;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -79,6 +80,8 @@ public class AbnormalBillController {
public R page(FrontPage<AbnormalBill> frontPage, AbnormalBill abnormalBill){
IPage result;
QueryWrapper<AbnormalBill> queryWrapper = new QueryWrapper<>();
String site = CommonMethods.getSite();
abnormalBill.setSite(site);
queryWrapper.setEntity(abnormalBill);
if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) {
//TODO modify global query

@ -266,7 +266,6 @@ public class ReportServiceImpl implements ReportService {
Map<String, List<DataFieldList>> dataFieldListMap = new HashMap<>();
DataField dataField = new DataField();
dataField.setSite(site);
dataField.setDataField("REASON_CATEGORY");
//责任部门
dataField.setDataField("RESPONSIBILITY_DEPARTMENT");
List<DataFieldList> dataFieldList = dataFieldListMapper.findDataFieldList(dataField);

@ -713,7 +713,8 @@
ZAB."TYPE" "TYPE" ,ZAB.SFC SFC,ZAB.MESSAGE_TYPE MESSAGE_TYPE,ZAB.SHOP_ORDER SHOP_ORDER,
ZAB.WORK_CENTER WORK_CENTER,ZAB.RESRCE RESRCE,
/* WORKORDER.VALUE WORK_ORDER,ITEMNUMBER.VALUE ITEM_NUMBER,*/
ZAB.WORK_ORDER WORK_ORDER,ZAB.ITEM_NUMBER ITEM_NUMBER,
COALESCE(WORKORDER.VALUE,ZAB.WORK_ORDER) WORK_ORDER,
COALESCE(ITEMNUMBER.VALUE,ZAB.ITEM_NUMBER) ITEM_NUMBER,
ZAB.PRODUCT_CATEGORY PRODUCT_CATEGORY,
listagg(NG.DESCRIPTION || '/'||NCT.DESCRIPTION || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION,
ZAB.PB_DESCRIPTION PB_DESCRIPTION ,ZAB.NC_QTY NC_QTY,
@ -762,7 +763,7 @@
GROUP BY
ZAB.ABNORMAL_NO ,ZAB.STATUS ,I.ITEM ,IT.DESCRIPTION ,
ZAB."TYPE" ,ZAB.SFC ,ZAB.MESSAGE_TYPE ,ZAB.SHOP_ORDER ,
ZAB.WORK_CENTER ,ZAB.RESRCE , /*WORKORDER.VALUE ,ITEMNUMBER.VALUE ,*/ZAB.WORK_ORDER ,ZAB.ITEM_NUMBER ,
ZAB.WORK_CENTER ,ZAB.RESRCE , WORKORDER.VALUE ,ITEMNUMBER.VALUE ,ZAB.WORK_ORDER ,ZAB.ITEM_NUMBER ,
ZAB.PB_DESCRIPTION ,ZAB.NC_QTY ,ZAB.PRODUCT_CATEGORY,
ZAB.PB_GRADE ,NWA.FULL_NAME ,ZAB.PB_QTY ,ZAB.DISCOVER ,
NWA2.FULL_NAME ,ZAB.ENTITY_LOCATION ,ZAB.REPORT_FROM ,SUBSTR(ZAB.OBJECT_BO,INSTR(ZAB.OBJECT_BO,',')+1),
@ -771,7 +772,7 @@
R.ROUTER ,ZABD.RESOLVE_SHOP_ORDER ,ZABD.RESOLVE_REMARK ,ZABD.RESOLVE_SEND_USER_GROUP ,
ZABD.ABNORMAL_REASON ,ZABD.BEFORE_MEASURE ,"MAP".VALUE,ZABD.ROUTER_BO,ZAB.OPERATION,I.HANDLE,
ZAB.REPORT_SEND_USER_GROUP,ZAB.CORRECTION,ZAB.PROGRAM,WCT.DESCRIPTION,ZAB.SHUT_DOWN,RS.DESCRIPTION,
OT.DESCRIPTION,R.DESCRIPTION, ZAB.PRODUCT_CATEGORY ,ZAB.STEP_ID
OT.DESCRIPTION,R.DESCRIPTION, ZAB.STEP_ID
</select>

@ -462,12 +462,12 @@
<if test="ew.entity.itemNumber!=null"> AND ITEM_NUMBER=#{ew.entity.itemNumber}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
AND ${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
AND ${ew.sqlSegment}
</if>
</select>
@ -1034,7 +1034,8 @@
AND zab.REPORT_FROM = #{abnormalBill.reportFrom}
</if>
<if test="abnormalBill.workOrder != null and abnormalBill.workOrder != ''">
AND CF.VALUE LIKE '%${abnormalBill.workOrder}%'
AND (CASE WHEN CF.VALUE IS NOT NULL THEN CF.VALUE ELSE zab.WORK_ORDER END ) = #{abnormalBill.workOrder}
</if>
<if test="abnormalBill.productionCategory != null and abnormalBill.productionCategory != ''">
AND zab.PRODUCT_CATEGORY LIKE '%${abnormalBill.productionCategory}'
@ -1263,7 +1264,11 @@
<select id="findReplaceMessageByAbnormal" resultType="java.util.HashMap">
SELECT wct.DESCRIPTION WORKCENTER,so.SHOP_ORDER SHOPORDER ,
it.DESCRIPTION ITEM,zab.WORK_ORDER WORK_ORDER,zab.ITEM_NUMBER PROJECT,
it.DESCRIPTION ITEM,
/* zab.WORK_ORDER WORK_ORDER,*/
COALESCE(workOrder.VALUE,zab.WORK_ORDER) WORK_ORDER,
COALESCE(item.VALUE,zab.ITEM_NUMBER) PROJECT,
/* zab.ITEM_NUMBER PROJECT,*/
LISTAGG(nct.DESCRIPTION , ',') WITHIN GROUP(ORDER BY zab.ABNORMAL_NO) NC,
r.DESCRIPTION "RESOURCE",r2.DESCRIPTION WORKCENTER_LIN,
CASE WHEN zabd.ABNORMAL_METHOD = 'X' THEN '线下换料'
@ -1287,8 +1292,8 @@
LEFT JOIN WORK_CENTER wc ON wc.WORK_CENTER = zab.WORK_CENTER AND wc.SITE = zab.SITE
LEFT JOIN WORK_CENTER_T wct ON wct.WORK_CENTER_BO = wc.HANDLE AND wct.LOCALE = 'zh'
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zab.SHOP_ORDER AND so.SITE = zab.SITE
-- LEFT JOIN CUSTOM_FIELDS item ON item.HANDLE = so.HANDLE AND item."ATTRIBUTE" = 'ITEM_NUMBER'
-- LEFT JOIN CUSTOM_FIELDS workOrder on workOrder.HANDLE = so.HANDLE AND workOrder."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN CUSTOM_FIELDS item ON item.HANDLE = so.HANDLE AND item."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS workOrder on workOrder.HANDLE = so.HANDLE AND workOrder."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN ROUTER r2 ON r2.HANDLE = so.PLANNED_ROUTER_BO
<where>
<if test="abnormalBill != null">
@ -1302,7 +1307,7 @@
</if>
</where>
GROUP BY wct.DESCRIPTION ,so.SHOP_ORDER ,it.DESCRIPTION,r.DESCRIPTION,r2.DESCRIPTION,
zab.WORK_ORDER,zab.ITEM_NUMBER,zabd.ABNORMAL_METHOD,zab.ABNORMAL_NO
zab.WORK_ORDER,zab.ITEM_NUMBER,zabd.ABNORMAL_METHOD,zab.ABNORMAL_NO,item.VALUE,workOrder.VALUE
</select>
</mapper>

@ -263,7 +263,8 @@
SELECT zab.CREATED_DATE_TIME,zab.ABNORMAL_NO ABNORMAL_NO,
dflt.DATA_TAG PRODUCT_CATEGORY,
dflt2.DATA_TAG DISCOVER,
i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,itemNumber.VALUE ITEM_NUMBER,
i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,
COALESCE(itemNumber.VALUE,zab.ITEM_NUMBER) ITEM_NUMBER,
mapNo.VALUE MAP_NO,zab.PB_DESCRIPTION PB_DESCRIPTION,zsd.EMPLOYEE_DESCRIPTION OPERATOR,
CASE WHEN zab."TYPE" = 'Z' THEN '质量异常'
WHEN zab."TYPE" = 'Q' THEN '其他异常'
@ -331,7 +332,7 @@
AND (wc.WORK_CENTER LIKE '%${workCenter}%' OR wct.DESCRIPTION LIKE '%${workCenter}%')
</if>
<if test="itemNumber != null and itemNumber != ''">
AND itemNumber.VALUE = #{itemNumber}
AND (CASE WHEN itemNumber.VALUE IS NOT NULL THEN itemNumber.VALUE ELSE zab.ITEM_NUMBER END) = #{itemNumber}
</if>
<if test="productCategory != null and productCategory != ''">
AND (dflt.DATA_TAG = #{productCategory} OR
@ -356,7 +357,7 @@
</if>
</where>
GROUP BY zab.CREATED_DATE_TIME ,zab.ABNORMAL_NO ,
i.ITEM ,it.DESCRIPTION ,itemNumber.VALUE ,
i.ITEM ,it.DESCRIPTION ,itemNumber.VALUE ,zab.ITEM_NUMBER,
mapNo.VALUE ,zab.PB_DESCRIPTION ,zsd.EMPLOYEE_DESCRIPTION ,
zab."TYPE" ,zab.REPORT_SEND_USER_GROUP ,zabd.DUTY_DEPART ,zabd.PRINCIPAL_USER,
zab.PB_GRADE,zabd.DUTY_CAUSE_DESCRIPTION ,zabd.BEFORE_MEASURE,ABNORMAL_METHOD,
@ -370,7 +371,10 @@
</select>
<select id="findAbnormalRecord" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT wct.DESCRIPTION WORK_CENTER,zab.ITEM_NUMBER ITEM_NUMBER,zab.PRODUCT_CATEGORY ,cf.VALUE WORK_ORDER,so.SHOP_ORDER SHOP_ORDER ,
SELECT wct.DESCRIPTION WORK_CENTER,
COALESCE(cf2.VALUE,zab.ITEM_NUMBER) ITEM_NUMBER,
COALESCE(zab.WORK_ORDER,cf.VALUE) WORK_ORDER,
so.SHOP_ORDER SHOP_ORDER ,
i.ITEM ITEM,it.DESCRIPTION ITEM_DESCRIPTION,zab.SFC SFC,zab.ABNORMAL_NO ABNORMAL_NO,
CASE WHEN zab."TYPE" = 'Z' THEN '质量异常'
WHEN zab."TYPE" = 'S' THEN '设备异常'
@ -413,6 +417,7 @@
LEFT JOIN NC_CODE_T nct ON nct.NC_CODE_BO = nc.HANDLE AND nct.LOCALE = 'zh'
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zab.SHOP_ORDER AND so.SITE = zab.SITE
LEFT JOIN CUSTOM_FIELDS cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN ITEM i ON i.HANDLE = zab.ITEM_BO
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE AND it.LOCALE = 'zh'
LEFT JOIN OPERATION o ON o.OPERATION = zab.OPERATION AND o.SITE = zab.SITE
@ -430,10 +435,10 @@
AND (wc.WORK_CENTER = #{workCenter} OR wct.DESCRIPTION = #{workCenter})
</if>
<if test="itemNumber != null and itemNumber != ''">
AND zab.ITEM_NUMBER = #{itemNumber}
AND (CASE WHEN cf2.VALUE IS NOT NULL THEN cf2.VALUE ELSE zab.ITEM_NUMBER END) = #{itemNumber}
</if>
<if test="workOrder != null and workOrder != ''">
AND cf.VALUE = #{workOrder}
AND (CASE WHEN zab.WORK_ORDER IS NOT NULL THEN zab.WORK_ORDER ELSE cf2.VALUE END) = #{workOrder}
</if>
<if test="operation != null and operation != ''">
AND (zab.OPERATION LIKE '%${operation}%'
@ -462,12 +467,13 @@
znu3.FULL_NAME,zabd.CLOSED_DATE_TIME ,znu4.FULL_NAME,
zabd.RESOLVE_REMARK,zabd.ABNORMAL_REASON,zabd.BEFORE_MEASURE,
zsr.CREATED_DATE_TIME,zab.ITEM_NUMBER,
zabd.DUTY_DEPART,ug.DESCRIPTION
zabd.DUTY_DEPART,ug.DESCRIPTION,cf2.VALUE,zab.WORK_ORDER
ORDER BY zab.CREATED_DATE_TIME DESC
</select>
<select id="shopOrderSchedule" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT wct.DESCRIPTION WORK_CENTER_DESCRIPTION,cf.VALUE ITEM_NUMBER,cf2.VALUE PRODUCT_CATEGORY,
SELECT wct.DESCRIPTION WORK_CENTER_DESCRIPTION,cf.VALUE ITEM_NUMBER,
COALESCE(dflt.DATA_TAG,cf2.VALUE) PRODUCT_CATEGORY,
zsd.SHOP_ORDER,it.DESCRIPTION ITEM_DESCRIPTION,zsd.PLANNED_START_DATE,
zsd.PLANNED_COMP_DATE ,zsd.ACTUAL_START_DATE ,ot.DESCRIPTION CURRENT_OPERATION_DESCRIPTION,
ot2.DESCRIPTION OPERATION_DESCRIPTION,
@ -502,6 +508,9 @@
LEFT JOIN ROUTER_STEP rs ON zsd.ROUTER_BO = rs.ROUTER_BO AND rs.STEP_ID = zsd.STEP_ID
LEFT JOIN ROUTER_OPERATION ro ON ro.ROUTER_STEP_BO = rs.HANDLE AND ro.OPERATION_BO = ss.OPERATION_BO
LEFT JOIN CUSTOM_FIELDS cf3 ON cf3.HANDLE = ro.HANDLE AND cf3."ATTRIBUTE" = 'PROD_TIME'
INNER JOIN DATA_FIELD df ON df.DATA_FIELD = 'PRODUCT_CATEGORY'
LEFT JOIN DATA_FIELD_LIST dfl ON dfl.DATA_FIELD_BO = df.HANDLE AND dfl.DATA_VALUE = zab.PRODUCT_CATEGORY
LEFT JOIN DATA_FIELD_LIST_T dflt ON dflt.DATA_FIELD_LIST_BO = dfl.HANDLE AND dflt.LOCALE = #{locale}
<where>
zsd.SITE = #{site}
<if test="workCenter != null and workCenter != ''">
@ -511,7 +520,10 @@
AND cf.VALUE = #{itemNumber}
</if>
<if test="productCategory != null and productCategory != ''">
AND cf2.VALUE = #{productCategory}
AND (dflt.DATA_TAG = #{productCategory} OR
zab.PRODUCT_CATEGORY = #{productCategory} OR
cf2.VALUE = #{productCategory}
)
</if>
<if test="shopOrder != null and shopOrder != ''">
AND so.SHOP_ORDER LIKE '%${shopOrder}%'

Loading…
Cancel
Save