批量修改BOM和工艺路线

master
yangwl 3 years ago
parent d2e9078a3e
commit 4badf9f3b7

@ -215,15 +215,15 @@
</if>)
<if test="reportType != null and reportType.contains('true')">
SELECT TD.RESOURCE_TYPE ,TD.RESOURCE_TYPE_DESCRIPTION ,TD.WORK_CENTER, TD.WORK_CENTER_DESCRIPTION,
TD.PLAN_HOUR PLAN_HOUR, SUM(TD.CAPACITY_MAN_HOUR) CAPACITY_MAN_HOUR,
SUM(TD.PLAN_HOUR) PLAN_HOUR, SUM(TD.CAPACITY_MAN_HOUR) CAPACITY_MAN_HOUR,
CASE WHEN SUM(TD.CAPACITY_MAN_HOUR) = 0 THEN 0 || '%'
ELSE ROUND(TD.PLAN_HOUR/SUM(TD.CAPACITY_MAN_HOUR),4)*100 || '%' END RATE_DATA
ELSE ROUND(SUM(TD.PLAN_HOUR)/SUM(TD.CAPACITY_MAN_HOUR),4)*100 || '%' END RATE_DATA
FROM (
</if>
SELECT M.*,M.RATE_DATA_INT || '%' RATE_DATA FROM (
SELECT T.SITE,T.RESOURCE_TYPE, T.RESOURCE_TYPE_DESCRIPTION, T.WORK_CENTER, T.WORK_CENTER_DESCRIPTION,T.DATE_TIME,
T.PLAN_HOUR PLAN_HOUR, SUM(T.CAPACITY_MAN_HOUR) CAPACITY_MAN_HOUR,
CASE WHEN T.PLAN_HOUR = 0 OR SUM(T.CAPACITY_MAN_HOUR) = 0 THEN 0 ELSE ROUND(T.PLAN_HOUR/SUM(T.CAPACITY_MAN_HOUR),4)*100 END RATE_DATA_INT
SUM(T.PLAN_HOUR) PLAN_HOUR, SUM(T.CAPACITY_MAN_HOUR) CAPACITY_MAN_HOUR,
CASE WHEN SUM(T.PLAN_HOUR) = 0 OR SUM(T.CAPACITY_MAN_HOUR) = 0 THEN 0 ELSE ROUND(SUM(T.PLAN_HOUR)/SUM(T.CAPACITY_MAN_HOUR),4)*100 END RATE_DATA_INT
FROM
(
SELECT RDT.* , SUM( (DECODE(A.CNT,NULL,0,A.CNT) + DECODE(B.CNT,NULL,0,B.CNT) + DECODE(C.CNT,NULL,0,C.CNT) + DECODE(D.CNT,NULL,0,D.CNT)
@ -281,7 +281,7 @@
GROUP BY RESRCE , DATE_TIME ) L ON L.DATE_TIME = RDT.DATE_TIME AND L.RESRCE = RDT.RESRCE
GROUP BY RDT.SITE,RDT.RESRCE, RDT.RESOURCE_DESCRIPTION, RDT.DATE_TIME ,RDT.CAPACITY_MAN_HOUR , RDT.WORK_CENTER ,RDT.WORK_CENTER_DESCRIPTION ,RDT.RESOURCE_TYPE ,RDT.RESOURCE_TYPE_DESCRIPTION
) T
GROUP BY T.RESOURCE_TYPE, T.RESOURCE_TYPE_DESCRIPTION, T.WORK_CENTER, T.WORK_CENTER_DESCRIPTION,T.SITE,T.DATE_TIME,T.PLAN_HOUR ) M
GROUP BY T.RESOURCE_TYPE, T.RESOURCE_TYPE_DESCRIPTION, T.WORK_CENTER, T.WORK_CENTER_DESCRIPTION,T.SITE,T.DATE_TIME) M
WHERE M.SITE = #{site}
<if test="startRate != null and startRate != ''">
AND M.RATE_DATA_INT &gt;= #{startRate}
@ -292,7 +292,7 @@
ORDER BY M.WORK_CENTER_DESCRIPTION,M.RESOURCE_TYPE_DESCRIPTION,M.DATE_TIME
<if test="reportType != null and reportType.contains('true')">
) TD
GROUP BY TD.RESOURCE_TYPE ,TD.RESOURCE_TYPE_DESCRIPTION ,TD.WORK_CENTER, TD.WORK_CENTER_DESCRIPTION,TD.PLAN_HOUR
GROUP BY TD.RESOURCE_TYPE ,TD.RESOURCE_TYPE_DESCRIPTION ,TD.WORK_CENTER, TD.WORK_CENTER_DESCRIPTION
ORDER BY TD.WORK_CENTER_DESCRIPTION ,TD.RESOURCE_TYPE_DESCRIPTION
</if>
</select>
@ -346,10 +346,11 @@
<!--每日生产状态报表-->
<select id="findProductStateInfo" resultType="java.util.HashMap" parameterType="java.util.HashMap" >
SELECT CFB.VALUE ITEM_NUMBER , ZSD.SHOP_ORDER , I.ITEM , IT.DESCRIPTION ITEM_DESCRIPTION , S.QTY PLAN_QTY ,CFA.VALUE WORK_ORDER ,
SELECT CFB.VALUE ITEM_NUMBER , ZSD.SHOP_ORDER , I.ITEM , IT.DESCRIPTION ITEM_DESCRIPTION , S.QTY PLAN_QTY ,CFA.VALUE WORK_ORDER ,S.QTY*ZSD.PROD_HOURS TOTAL_HOURS,
ZSD.SFC , ZSD.WORK_CENTER , WCT.DESCRIPTION WORK_CENTER_DESCRIPTION , RU.ROUTER_TYPE , ZSD.STEP_ID , ZSD.OPERATION ,CF.VALUE CHECK_USR,
OT.DESCRIPTION OPERATION_DESCRIPTION, ZSD.RESRCE , R.DESCRIPTION RESOURCE_DESCRIPTION , ZSD.DISPATCH_STATUS OPERATION_STATUS ,
ZSD.PROD_HOURS ,ZSD.ACTUAL_PROD_HOURS , ZSD.PLANNED_START_DATE , ZSD.PLANNED_COMP_DATE , ZSD.ACTUAL_START_DATE , ZSD.ACTUAL_COMPLETE_DATE
ZSD.PROD_HOURS ,ZSD.ACTUAL_PROD_HOURS , ZSD.PLANNED_START_DATE , ZSD.PLANNED_COMP_DATE , ZSD.ACTUAL_START_DATE , ZSD.ACTUAL_COMPLETE_DATE,
ROUND(TO_NUMBER(ZSD.ACTUAL_COMPLETE_DATE- ZSD.PLANNED_COMP_DATE)) TARDINESS_TIME
FROM Z_SFC_DISPATCH ZSD
LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER
LEFT JOIN CUSTOM_FIELDS CFA ON CFA.HANDLE = SO.HANDLE AND CFA."ATTRIBUTE" = 'WORK_ORDER'
@ -414,7 +415,7 @@
</choose>
</if>
<if test="startFromDate != null and startFromDate != ''" >
AND ZSD.PLANNED_START_DATE >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD') - 8/24
AND ZSD.PLANNED_COMP_DATE >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD') - 8/24
</if>
<if test="startToDate != null and startToDate != ''" >
AND ZSD.PLANNED_COMP_DATE &lt;= TO_DATE(#{startToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')

@ -15,9 +15,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.websocket.server.PathParam;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
*
@ -57,7 +56,6 @@ public class SfcDispatchController {
} catch (Exception e) {
return R.failed(e.getMessage());
}
return R.ok(list);
}
@ -74,9 +72,6 @@ public class SfcDispatchController {
} catch (Exception e) {
return R.failed(e.getMessage());
}
if (flag) {
message.insert(0, "派工保存成功");
return R.ok(message.toString());
@ -222,8 +217,6 @@ public class SfcDispatchController {
String site = CommonMethods.getSite();
paramMap.put("site", site);
paramMap.put("status", "('RELEASE','START','COMPLETE')");
result = sfcDispatchService.ganttList(site, paramMap);
} catch (Exception e) {
return R.failed(e.getMessage());

@ -1,12 +1,18 @@
package com.foreverwin.mesnac.dispatch.controller;
import cn.hutool.core.date.DateUtil;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.dispatch.dto.UpdateWKSBparam;
import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease;
import com.foreverwin.mesnac.dispatch.service.ShopOrderReleaseService;
import com.foreverwin.mesnac.dispatch.service.impl.ShopOrderReleaseServiceImpl;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.meext.MEServices;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.R;
import com.sap.me.production.ChangeProductionContext;
import com.sap.me.production.ChangeProductionRequest;
import com.sap.me.production.ChangeProductionServiceInterface;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -16,8 +22,8 @@ import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
*
@ -150,4 +156,56 @@ public class ShopOrderReleaseController {
return R.ok();
}
/**
*
*/
@ResponseBody
@PostMapping("queryShopOrderBatchUpdate")
public R queryShopOrderBatchUpdate(@RequestBody ShopOrderRelease shopOrderRelease) {
List<ShopOrderRelease> list = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
if (shopOrderRelease == null) {
shopOrderRelease = new ShopOrderRelease();
}
shopOrderRelease.setSite(CommonMethods.getSite());
if (shopOrderRelease.getStartFromDate_S() != null) {
shopOrderRelease.setStartFromDate(DateUtil.parse(shopOrderRelease.getStartFromDate_S()));
}
if (shopOrderRelease.getStartToDate_S() != null) {
shopOrderRelease.setStartToDate(DateUtil.parse(shopOrderRelease.getStartToDate_S()));
}
if (shopOrderRelease.getCompleteFromDate_S() != null) {
shopOrderRelease.setCompleteFromDate(DateUtil.parse(shopOrderRelease.getCompleteFromDate_S()));
}
if (shopOrderRelease.getCompleteToDate_S() != null) {
shopOrderRelease.setCompleteToDate(DateUtil.parse(shopOrderRelease.getCompleteToDate_S()));
}
list = shopOrderReleaseService.findShopOrderListBatchUpdate(shopOrderRelease);
} catch (Exception e) {
return R.failed(e.getMessage());
}
return R.ok(list);
}
/**
* 线
*/
@ResponseBody
@PostMapping("/UpdateWorkmanship")
public R updateWorkmanship(@RequestBody UpdateWKSBparam updateWKSBparam){
try{
for (ShopOrderRelease shopOrderRelease:updateWKSBparam.getShopOrderList()){
shopOrderReleaseService.changerouterRevision(shopOrderRelease,updateWKSBparam.getType());
}
}catch (Exception e){
return R.failed(e.getMessage());
}
return R.ok("更改成功!");
}
}

@ -0,0 +1,27 @@
package com.foreverwin.mesnac.dispatch.dto;
import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease;
import java.util.List;
public class UpdateWKSBparam {
public List<ShopOrderRelease> getShopOrderList() {
return shopOrderList;
}
public void setShopOrderList(List<ShopOrderRelease> shopOrderList) {
this.shopOrderList = shopOrderList;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
private List<ShopOrderRelease> shopOrderList;
private String type;
}

@ -2,6 +2,7 @@ package com.foreverwin.mesnac.dispatch.mapper;
import com.foreverwin.mesnac.dispatch.dto.RouterDTO;
import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease;
import com.foreverwin.mesnac.meapi.model.Bom;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -33,4 +34,13 @@ public interface ShopOrderReleaseMapper {
* @return
*/
List<RouterDTO> selectRouterStepGroup(@Param("routerStepBo") String routerStepBo);
List<ShopOrderRelease> findShopOrderListBatchUpdate(ShopOrderRelease shopOrderRelease);
List<String> findSfc(String shopOrder);
RouterDTO findNewRouter(String shopOrder);
Bom findNewBom(String shopOrder);
}

@ -37,6 +37,8 @@ public class ShopOrderRelease extends SfcDispatch {
private String qtyToBuild;
private String status;
private String isMajor;
/**
* -
*/
@ -53,6 +55,58 @@ public class ShopOrderRelease extends SfcDispatch {
* -
*/
private String workOrder;
/**
* -线
*/
private String revision;
/**
* -线
*/
private String router;
public String getBom() {
return bom;
}
public void setBom(String bom) {
this.bom = bom;
}
public String getBomrevision() {
return bomrevision;
}
public void setBomrevision(String bomrevision) {
this.bomrevision = bomrevision;
}
private String bom;
private String bomrevision;
public String getRouter() {
return router;
}
public void setRouter(String router) {
this.router = router;
}
public String getRevision() {
return revision;
}
public void setRevision(String revision) {
this.revision = revision;
}
/**
*
*/

@ -41,6 +41,16 @@ public interface ShopOrderReleaseService {
*/
List<ShopOrderRelease> findShopOrderList(ShopOrderRelease shopOrderRelease);
/**
* BatchUpdate
*
* @param shopOrderRelease
* @return
*/
List<ShopOrderRelease> findShopOrderListBatchUpdate(ShopOrderRelease shopOrderRelease);
/**
* - BOM
*
@ -88,4 +98,8 @@ public interface ShopOrderReleaseService {
* @param routerList
*/
void sfcDispatch(String site, String user, ShopOrder shopOrderModel, Sfc sfcModel, List<RouterDTO> routerList) throws IOException;
void changerouterRevision(ShopOrderRelease shopOrderRelease,String type);
// void changeBomRevision(ShopOrderRelease shopOrderRelease) ;
}

@ -26,7 +26,12 @@ import com.sap.me.demand.ReleaseShopOrderRequest;
import com.sap.me.demand.ReleaseShopOrderResponse;
import com.sap.me.demand.ReleasedSfc;
import com.sap.me.demand.ShopOrderServiceInterface;
import com.sap.me.frame.transitionutils.Exceptions;
import com.sap.me.nonconformance.NCProductionServiceInterface;
import com.sap.me.production.ChangeProductionContext;
import com.sap.me.production.ChangeProductionRequest;
import com.sap.me.production.ChangeProductionServiceInterface;
import com.sap.me.production.OperationPlacementTypeEnum;
import org.apache.commons.net.ftp.FTPClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -91,6 +96,12 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService {
return shopOrderReleaseMapper.findShopOrderList(shopOrderRelease);
}
@Override
public List<ShopOrderRelease> findShopOrderListBatchUpdate(ShopOrderRelease shopOrderRelease) {
return shopOrderReleaseMapper.findShopOrderListBatchUpdate(shopOrderRelease);
}
@Override
public void shopOrderBomComponentUpdate(String site, String user, List<ShopOrderRelease> shopOrderList) {
if (shopOrderList == null || shopOrderList.size() <= 0) {
@ -358,6 +369,59 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService {
sfcDispatchService.saveBatch(sfcDispatchList);
}
@Override
public void changerouterRevision(ShopOrderRelease shopOrderRelease,String type) {
ChangeProductionServiceInterface changeProductionService = null;
ChangeProductionContext changeProductionContext = new ChangeProductionContext();
ChangeProductionRequest changeProductionRequest = new ChangeProductionRequest();
List<String> sfcList = new ArrayList<>();
String shopOrderBo = shopOrderRelease.getShopOrderBo();
ShopOrder shopOrderModel = shopOrderService.getById(shopOrderBo);
/**
* SFC
*/
List<String> stringList = shopOrderReleaseMapper.findSfc(shopOrderModel.getShopOrder());
if (!stringList.isEmpty()){
for (int j = 0; j < stringList.size(); j++) {
sfcList.add(stringList.get(j));
}
}
/**
* 线
*/
RouterDTO routerDTO=shopOrderReleaseMapper.findNewRouter(shopOrderModel.getShopOrder());
if (routerDTO!=null&&type.equals("A")){
changeProductionContext.setNewRouter(routerDTO.getRouter());
changeProductionContext.setNewRouterRevision(routerDTO.getRevision());
changeProductionRequest.setOperationPlacementType(OperationPlacementTypeEnum.CURRENT_OPERATION);
}
/**
* BOM
*/
Bom bom=shopOrderReleaseMapper.findNewBom(shopOrderModel.getShopOrder());
if (bom!=null&&type.equals("B")){
changeProductionContext.setNewBom(bom.getBom());
changeProductionContext.setNewBomRevision(bom.getRevision());
}
try {
changeProductionService = MEServices.create("com.sap.me.production", "ChangeProductionService", CommonMethods.getSite());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
changeProductionRequest.setAllowDoneSfcs(true);
changeProductionRequest.setSfcList(sfcList);
changeProductionRequest.setChangeProductionContextType(changeProductionContext);
try {
changeProductionService.changeProduction(changeProductionRequest);
} catch (com.sap.me.frame.domain.BusinessException e) {
throw com.foreverwin.modular.core.exception.BusinessException.build(Exceptions.convert(e).toString());
} catch (Exception e) {
throw com.foreverwin.modular.core.exception.BusinessException.build(Exceptions.getRootCauseException(e).getMessage());
}
}
//------------------------------------------------------------------------------------------------------------------
@Override
public void dispatchRefresh(String site, String user, List<ShopOrderRelease> shopOrderList) {

@ -117,4 +117,83 @@
WHERE RSG.ROUTER_STEP_BO = #{routerStepBo}
ORDER BY TO_NUMBER(RS.STEP_ID)
</select>
<select id="findShopOrderListBatchUpdate" resultMap="BaseResultMap">
SELECT MVP.*
FROM (
SELECT SO.HANDLE, SO.HANDLE SHOP_ORDER_BO, SO.SITE, SO.SHOP_ORDER,SO.PLANNED_ROUTER_BO, CF1.VALUE WORK_ORDER, CF2.VALUE SHOP_ORDER_TYPE, CF3.VALUE COMMENTS,CF4.VALUE ITEM_NUMBER,RT.REVISION,RT.ROUTER,BOM.BOM,BOM.REVISION BOMREVISION,
IM.ITEM, IMT.DESCRIPTION ITEM_DESCRIPTION, SO.QTY_TO_BUILD, SO.PLANNED_START_DATE, SO.PLANNED_COMP_DATE, MAX(ZSD.PLANNED_COMP_DATE) DISPATCH_COMPLETE_DATE,
SUBSTR(SPLIT(OP.RESOURCE_TYPE_BO, 2),0,INSTR(SPLIT(OP.RESOURCE_TYPE_BO, 2), '_')-1) WORK_CENTER,
CASE WHEN ST.STATUS = '502' OR ST.STATUS = '503' OR ST.STATUS = '504' THEN ST.STATUS
WHEN ST.STATUS = '501' AND SO.QTY_RELEASED &lt;= 0 THEN N'501'
WHEN MAX(SS.SHOP_ORDER_BO) IS NULL THEN N'505' ELSE N'506' END STATUS,
CASE WHEN IM.LOT_SIZE = 1 THEN N'是' ELSE N'否' END IS_MAJOR
FROM SHOP_ORDER SO
INNER JOIN ITEM IM ON SO.PLANNED_ITEM_BO = IM.HANDLE
INNER JOIN STATUS ST ON SO.STATUS_BO = ST.HANDLE AND ST.STATUS_GROUP = 'ORDERS'
INNER JOIN ROUTER RT ON SO.PLANNED_ROUTER_BO = RT.HANDLE OR (SO.PLANNED_ROUTER_BO = 'RouterBO:'||RT.SITE||','||RT.ROUTER||','||RT.ROUTER_TYPE||',#' AND RT.CURRENT_REVISION = 'true')
INNER JOIN BOM BOM ON SO.PLANNED_BOM_BO= BOM.HANDLE OR (SO.PLANNED_BOM_BO = 'BOMBO:'||BOM.SITE||','||BOM.BOM||','||BOM.BOM_TYPE||',#' AND BOM.CURRENT_REVISION = 'true')
INNER JOIN ROUTER_OPERATION RO ON RT.ENTRY_ROUTER_STEP_BO = RO.ROUTER_STEP_BO
INNER JOIN OPERATION OP ON RO.OPERATION_BO = 'OperationBO:'||OP.SITE||','||OP.OPERATION||',#' AND OP.CURRENT_REVISION = 'true'
LEFT JOIN (
SELECT SHOP_ORDER_BO
FROM SFC SC
INNER JOIN STATUS ST ON SC.STATUS_BO = ST.HANDLE AND ST.STATUS_GROUP = 'SFC'
WHERE ST.STATUS != '401'
GROUP BY SHOP_ORDER_BO
) SS ON SS.SHOP_ORDER_BO = SO.HANDLE
LEFT JOIN ITEM_T IMT ON IM.HANDLE = IMT.ITEM_BO AND IMT.LOCALE = 'zh'
LEFT JOIN CUSTOM_FIELDS CF1 ON CF1.HANDLE = SO.HANDLE AND CF1.ATTRIBUTE = 'WORK_ORDER'
LEFT JOIN CUSTOM_FIELDS CF2 ON CF2.HANDLE = SO.HANDLE AND CF2.ATTRIBUTE = 'SHOP_ORDER_TYPE'
LEFT JOIN CUSTOM_FIELDS CF3 ON CF3.HANDLE = SO.HANDLE AND CF3.ATTRIBUTE = 'COMMENTS'
LEFT JOIN CUSTOM_FIELDS CF4 ON CF4.HANDLE = SO.HANDLE AND CF4.ATTRIBUTE = 'ITEM_NUMBER'
LEFT JOIN Z_SFC_DISPATCH ZSD ON SO.SITE = ZSD.SITE AND SO.SHOP_ORDER = ZSD.SHOP_ORDER
WHERE SO.SITE = #{site}
<if test="shopOrder != null and shopOrder != ''">
AND SO.SHOP_ORDER = #{shopOrder}
</if>
<if test="workOrder != null and workOrder != ''">
AND CF1.VALUE LIKE '%'|| #{workOrder} || '%'
</if>
<if test="shopOrderType != null and shopOrderType != ''">
AND CF2.VALUE LIKE '%'|| #{shopOrderType} || '%'
</if>
<if test="item != null and item != ''">
AND IM.ITEM = #{item}
</if>
<if test="startFromDate != null">
AND SO.PLANNED_START_DATE >= #{startFromDate}
</if>
<if test="startToDate != null">
AND SO.PLANNED_START_DATE &lt;= #{startToDate}
</if>
<if test="completeFromDate != null">
AND SO.PLANNED_COMP_DATE >= #{completeFromDate}
</if>
<if test="completeToDate != null">
AND SO.PLANNED_COMP_DATE &lt;= #{completeToDate}
</if>
GROUP BY SO.HANDLE, SO.SITE, SO.SHOP_ORDER,SO.PLANNED_ROUTER_BO, SO.QTY_RELEASED, ST.STATUS, CF1.VALUE, CF2.VALUE, CF3.VALUE,CF4.VALUE,
RT.REVISION,RT.ROUTER,BOM.REVISION,BOM.BOM,OP.RESOURCE_TYPE_BO, IM.ITEM, IMT.DESCRIPTION, SO.QTY_TO_BUILD, SO.PLANNED_START_DATE, SO.PLANNED_COMP_DATE,
SO.PLANNED_WORK_CENTER_BO, IM.LOT_SIZE
) MVP
WHERE 1 = 1
<if test="status != null and status != ''">
AND MVP.STATUS = #{status}
</if>
<if test="workCenter != null and workCenter != ''">
AND MVP.WORK_CENTER = #{workCenter}
</if>
ORDER BY MVP.SHOP_ORDER
</select>
<select id="findSfc" resultType="java.lang.String">
SELECT SFC from SFC SF LEFT JOIN SHOP_ORDER SO ON SO.HANDLE=SF.SHOP_ORDER_BO where SO.SHOP_ORDER=#{shopOrder}
</select>
<select id="findNewRouter" resultType="com.foreverwin.mesnac.dispatch.dto.RouterDTO">
SELECT t.* from (SELECT * FROM ROUTER where ROUTER = #{shopOrder} ORDER BY REVISION DESC) t WHERE rownum = 1
</select>
<select id="findNewBom" resultType="com.foreverwin.mesnac.meapi.model.Bom">
SELECT t.* from (SELECT * FROM BOM where BOM = #{shopOrder} ORDER BY REVISION DESC) t WHERE rownum = 1
</select>
</mapper>
Loading…
Cancel
Save