Merge remote-tracking branch 'origin/master'

master
philip 4 years ago
commit 713f59e7fe

@ -208,6 +208,8 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose {
private String routerDescription;;
private String stepId;
public String getAbnormalNo() {
return abnormalNo;
}
@ -547,4 +549,12 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose {
public void setRouterDescription(String routerDescription) {
this.routerDescription = routerDescription;
}
public String getStepId() {
return stepId;
}
public void setStepId(String stepId) {
this.stepId = stepId;
}
}

@ -535,8 +535,8 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
sfcDto.setAbnormalNo(abnormalBill2.getAbnormalNo());
sfcDto.setQty(sfc.getQty());
Map map = sfcMapper.findOperationBySfc(site, sfc.getSfc());
if(StringUtils.isBlank((String)map.get("STEP_ID"))){
throw new BaseException("整批返修失败,根据产品条码找不到STEP_ID");
if(map != null && StringUtils.isBlank((String)map.get("STEP_ID"))){
throw new BaseException("整批返修失败,根据产品条码"+sfc.getSfc()+"找不到STEP_ID");
}
sfcDto.setStepId((String) map.get("STEP_ID"));
this.batchRepair(sfcDto);

@ -78,6 +78,8 @@
<result column="DUTY_TYPE" property="dutyType"/>
<result column="DUTY_CAUSE_TYPE" property="dutyCauseType"/>
<result column="ROUTER_DESCRIPTION" property="routerDescription"/>
<result column="PRODUCT_CATEGORY" property="productCategory"/>
<result column="STEP_ID" property="stepId"/>
</resultMap>
@ -722,7 +724,8 @@
listagg(ZANC.NC_CODE_GROUP || '/'||ZANC.NC_CODE || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE,
ZABD.ROUTER_BO ROUTER_BO,ZAB.OPERATION OPERATION,I.HANDLE ITEM_BO,ZAB.REPORT_SEND_USER_GROUP REPORT_SEND_USER_GROUP,
ZAB.CORRECTION CORRECTION,ZAB.PROGRAM PROGRAM,WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,ZAB.SHUT_DOWN SHUT_DOWN,
RS.DESCRIPTION RESRCE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESCRIPTION,R.DESCRIPTION ROUTER_DESCRIPTION
RS.DESCRIPTION RESRCE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESCRIPTION,R.DESCRIPTION ROUTER_DESCRIPTION,
ZAB.PRODUCT_CATEGORY PRODUCT_CATEGORY,ZAB.STEP_ID STEP_ID
FROM Z_ABNORMAL_BILL ZAB
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZAB.HANDLE = ZABD.ABNORMAL_BILL_BO
LEFT JOIN ITEM I ON I.HANDLE = ZAB.ITEM_BO
@ -766,7 +769,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
OT.DESCRIPTION,R.DESCRIPTION, ZAB.PRODUCT_CATEGORY ,ZAB.STEP_ID
</select>

@ -221,7 +221,7 @@ public enum AnomalyConstant {
public enum AnomalyMethod{
AnomalyMethod1("X","线下换料"),
AnomalyMethod2("S","试装"),
AnomalyMethod3("R","让步放"),
AnomalyMethod3("R","让步放"),
AnomalyMethod4("C","产品报废"),
AnomalyMethod5("P","配作"),
AnomalyMethod6("F","返修");

@ -165,20 +165,24 @@
AND ZSD.SFC = #{sfc}
</if>
<if test="routerType != null and routerType != ''" >
<if test="routerType = 'C'.toString()" >
AND RU.ROUTER_TYPE = #{routerType}
</if>
<if test="routerType != 'C'.toString()" >
AND RU.ROUTER_TYPE != #{routerType}
</if>
<choose>
<when test="routerType != 'OTHER'.toString()">
AND RU.ROUTER_TYPE = #{routerType}
</when>
<otherwise>
AND RU.ROUTER_TYPE != 'C'
</otherwise>
</choose>
</if>
<if test="operationStatus != null and operationStatus != ''" >
<if test="operationStatus = 'OTHER'.toString()" >
AND ZSD.DISPATCH_STATUS != 'START' AND ZSD.DISPATCH_STATUS != 'COMPLETE' AND ZSD.DISPATCH_STATUS != 'CANCEL'
</if>
<if test="operationStatus != 'OTHER'.toString()" >
AND ZSD.DISPATCH_STATUS = #{operationStatus}
</if>
<choose>
<when test="operationStatus != 'OTHER'.toString()">
AND ZSD.DISPATCH_STATUS = #{operationStatus}
</when>
<otherwise>
AND ZSD.DISPATCH_STATUS != 'START' AND ZSD.DISPATCH_STATUS != 'COMPLETE' AND ZSD.DISPATCH_STATUS != 'CANCEL'
</otherwise>
</choose>
</if>
<if test="startFromDate != null and startFromDate != ''" >
AND ZSD.PLANNED_START_DATE >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD') - 8/24

@ -206,6 +206,7 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
String status = resourceRepairTask.getStatus();
String handle = resourceRepairTask.getHandle();
String user = CommonMethods.getUser();
LocalDateTime now = LocalDateTime.now();
ResourceRepairTask repairTask = resourceRepairTaskService.getById(handle);
String site = repairTask.getSite();
switch (status){
@ -215,12 +216,12 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
spare.setCreateUser(user);
spare.setHandle(HandleEnum.RESOURCE_INSPECT_TASK_SPARE.getHandle(site,UUID.randomUUID().toString()));
spare.setResourceInspectTaskBo(handle);
spare.setCreatedDateTime(LocalDateTime.now());
spare.setCreatedDateTime(now);
}
resourceInspectTaskSpareService.saveBatch(spareList);
repairTask.setSpareList(spareList);
// 完成时间、维修人员
repairTask.setActualCompleteDate(LocalDateTime.now());
repairTask.setActualCompleteDate(now);
String repairUsers = resourceRepairTask.getRepairUsers();
String[] split = repairUsers.split(",");
for (int i = 0; i < split.length; i++) {
@ -251,16 +252,31 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
ResourceInspectTask resourceInspectTask = new ResourceInspectTask();
resourceInspectTask.setSite(site);
resourceInspectTask.setCategory(Constants.INSPECTION_TYPE_DM);
LocalDate now = LocalDate.now();
LocalDateTime startDate = LocalDateTime.parse(now + "T00:00:00");
LocalDateTime endDate = LocalDateTime.parse(now.plusDays(1) + "T00:00:00");
LocalDate toDay = LocalDate.now();
LocalDateTime startDate = LocalDateTime.parse(toDay + "T00:00:00");
LocalDateTime endDate = LocalDateTime.parse(toDay.plusDays(1) + "T00:00:00");
resourceInspectTask.setPlanStartDate(startDate);
resourceInspectTask.setPlanCompleteDate(endDate);
resourceInspectTask.setResrce(resourceRepairTask.getResourceNo());
List<ResourceInspectTask> inspectTaskList = resourceInspectTaskMapper.getInspectTaskListByCondition(resourceInspectTask);
for (ResourceInspectTask inspectTask:inspectTaskList) {
// 查询到点检结果为NG的设备创建新的当日点检任务
if (Constants.RSESULT_NG.equals(inspectTask.getResult())){
resourceInspectPlanService.autoCreateTaskByResourceInspectTask(inspectTask);
String taskNo = inspectTask.getTaskNo();
String taskStr = taskNo+now;
inspectTask.setTaskNo(taskStr);
inspectTask.setHandle(HandleEnum.RESOURCE_INSPECT_TASK.getHandle(site,taskStr));
inspectTask.setResult("");
inspectTask.setActualCompleteDate(null);
inspectTask.setExecutor("");
inspectTask.setCreatedDateTime(now);
inspectTask.setTaskCreateDate(now);
inspectTask.setPlanStartDate(now);
inspectTask.setActualStartDate(null);
inspectTask.setStatus(Constants.INSPECTION_TASK_STATUS_NEW);
inspectTask.setModifyUser(null);
inspectTask.setModifiedDateTime(null);
resourceInspectTaskMapper.insert(inspectTask);
break;
}
}
@ -269,7 +285,7 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
// 取消代码、取消描述、取消时间、取消人员
repairTask.setCancelCode(resourceRepairTask.getCancelCode());
repairTask.setCancelDescription(resourceRepairTask.getCancelDescription());
repairTask.setCancelDate(LocalDateTime.now());
repairTask.setCancelDate(now);
repairTask.setCancelUser(user);
NwaUser userByUserName = nwaUserService.findUserByUserName(user);
repairTask.setCancelUserName(userByUserName.getFullName());
@ -278,13 +294,13 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
if (repairTask.getWaitStartDate() != null){
throw BusinessException.build("已有等待记录,不能再次进入等待状态!!!");
}else {
repairTask.setWaitStartDate(LocalDateTime.now());
repairTask.setWaitStartDate(now);
repairTask.setWaitDescription(resourceRepairTask.getWaitDescription());
}
break;
case "501":
// 结束时间、等待时长
repairTask.setWaitEndDate(LocalDateTime.now());
repairTask.setWaitEndDate(now);
Duration betweenTime = Duration.between(repairTask.getWaitStartDate(), repairTask.getWaitEndDate());
Long waitMinutes = betweenTime.toMinutes();
double waitHours = waitMinutes.doubleValue()/60.00;
@ -294,7 +310,7 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
// 状态、修改人、修改时间
repairTask.setStatus(status);
repairTask.setModifyUser(user);
repairTask.setModifiedDateTime(LocalDateTime.now());
repairTask.setModifiedDateTime(now);
resourceRepairTaskService.saveOrUpdate(repairTask);
return repairTask;
}

@ -745,6 +745,7 @@
<if test="planStartDate != null">
AND ZRIT.TASK_CREATE_DATE &gt;= #{planStartDate}
</if>
ORDER BY ZRIT.TASK_CREATE_DATE DESC
</select>
<select id="findResourceTaskByResrceAndCategory" resultType="Integer">

@ -17,8 +17,8 @@ import java.util.List;
/**
*
* @author zjw
* @since 2021-07-30
* @author Leon.L
* @since 2021-09-07
*/
@RestController
@RequestMapping("/Z-SFC-SCRAP")
@ -30,8 +30,6 @@ public class SfcScrapController {
@Autowired
private AnomalyService anomalyService;
/**
* id
*
@ -83,6 +81,7 @@ public class SfcScrapController {
.or().like(SfcScrap::getReason, frontPage.getGlobalQuery())
.or().like(SfcScrap::getCreatedUser, frontPage.getGlobalQuery())
.or().like(SfcScrap::getModifiedUser, frontPage.getGlobalQuery())
.or().like(SfcScrap::getDutyUser, frontPage.getGlobalQuery())
);
}
result = sfcScrapService.page(frontPage.getPagePlus(), queryWrapper);
@ -168,19 +167,4 @@ public class SfcScrapController {
sfcScrapService.generatorWord(shopOrder,sfc,response,request);
return R.ok();
}
// @PostMapping("/import")
// public String importFile(@PathParam("shopOrder") String shopOrder,@PathParam("sfc")String sfc, @RequestParam("file") MultipartFile multipartFile) {
//
// //-----------------------------------------------------------------------------------------------------------------------------------------
// try {
// String transInfo = masterDataImportService.importFile(multipartFile, importRequest);
// return new APResult().getResult(0, transInfo, transInfo);
// } catch (Exception e) {
// e.printStackTrace();
// return new APResult().getResult(9999, e.getMessage(), e.getMessage());
// }
// }
}

@ -16,11 +16,12 @@
<result column="CREATED_DATE_TIME" property="createdDateTime" />
<result column="MODIFIED_USER" property="modifiedUser" />
<result column="MODIFIED_DATE_TIME" property="modifiedDateTime" />
<result column="DUTY_USER" property="dutyUser" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
HANDLE, SITE, SFC, OPERATION, STEP_ID, QTY, TYPE, REASON, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME
HANDLE, SITE, SFC, OPERATION, STEP_ID, QTY, TYPE, REASON, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME, DUTY_USER
</sql>
<!-- BaseMapper标准查询/修改/删除 -->
@ -66,6 +67,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</where>
</select>
@ -88,6 +90,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -118,6 +121,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -148,6 +152,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -178,6 +183,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -208,6 +214,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -238,6 +245,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -264,6 +272,7 @@
<if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
<if test="modifiedUser!=null">MODIFIED_USER,</if>
<if test="modifiedDateTime!=null">MODIFIED_DATE_TIME,</if>
<if test="dutyUser!=null">DUTY_USER,</if>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
@ -278,6 +287,7 @@
<if test="createdDateTime!=null">#{createdDateTime},</if>
<if test="modifiedUser!=null">#{modifiedUser},</if>
<if test="modifiedDateTime!=null">#{modifiedDateTime},</if>
<if test="dutyUser!=null">#{dutyUser},</if>
</trim>
</insert>
@ -299,6 +309,7 @@
#{createdDateTime},
#{modifiedUser},
#{modifiedDateTime},
#{dutyUser},
</trim>
</insert>
@ -316,6 +327,7 @@
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
<if test="et.modifiedUser!=null">MODIFIED_USER=#{et.modifiedUser},</if>
<if test="et.modifiedDateTime!=null">MODIFIED_DATE_TIME=#{et.modifiedDateTime},</if>
<if test="et.dutyUser!=null">DUTY_USER=#{et.dutyUser},</if>
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update>
@ -333,6 +345,7 @@
CREATED_DATE_TIME=#{et.createdDateTime},
MODIFIED_USER=#{et.modifiedUser},
MODIFIED_DATE_TIME=#{et.modifiedDateTime},
DUTY_USER=#{et.dutyUser},
</trim> WHERE HANDLE=#{et.handle} <if test="et instanceof java.util.Map"><if test="et.MP_OPTLOCK_VERSION_ORIGINAL!=null">and ${et.MP_OPTLOCK_VERSION_COLUMN}=#{et.MP_OPTLOCK_VERSION_ORIGINAL}</if></if>
</update>
@ -350,6 +363,7 @@
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
<if test="et.modifiedUser!=null">MODIFIED_USER=#{et.modifiedUser},</if>
<if test="et.modifiedDateTime!=null">MODIFIED_DATE_TIME=#{et.modifiedDateTime},</if>
<if test="et.dutyUser!=null">DUTY_USER=#{et.dutyUser},</if>
</trim>
<where>
<if test="ew!=null">
@ -366,6 +380,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -413,6 +428,7 @@
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.modifiedUser!=null"> AND MODIFIED_USER=#{ew.entity.modifiedUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.dutyUser!=null"> AND DUTY_USER=#{ew.entity.dutyUser}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
@ -430,28 +446,31 @@
</foreach>)
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="generatorWord" resultType="hashmap">
SELECT DISTINCT NVL(WCT.DESCRIPTION,' ') WORK_CENTER,NVL(WO.VALUE,' ') WORK_ORDER,NVL(WO2.VALUE,' ') DWG_NO,NVL(ZSS.QTY,0) QTY,NVL(OT.DESCRIPTION,' ') OPERATION,
NVL(ZSS.REASON,' ') REASON,NVL(ZSS."TYPE",' ') "TYPE",
CASE WHEN I1.VALUE != NULL THEN NVL(I1.VALUE * I.QTY_MULTIPLIER,0)
WHEN I2.VALUE != NULL THEN NVL(I2.VALUE * I.QTY_MULTIPLIER,0)
ELSE NVL(I.QTY_MULTIPLIER,0) END WEIGHT,NVL(I.ITEM,' ') ITEM,NVL(S.SFC,' ') SFC,NVL(it.DESCRIPTION,' ') ITEM_DESCRIPTION,
NVL(SO.SHOP_ORDER,' ') SHOP_ORDER,NVL(ZNU.FULL_NAME,' ') DUTY_USER
WHEN I2.VALUE != NULL THEN NVL(I2.VALUE * I.QTY_MULTIPLIER,0)
ELSE NVL(I.QTY_MULTIPLIER,0) END WEIGHT,NVL(I.ITEM,' ') ITEM,NVL(S.SFC,' ') SFC,NVL(it.DESCRIPTION,' ') ITEM_DESCRIPTION,
NVL(SO.SHOP_ORDER,' ') SHOP_ORDER,NVL(ZNU.FULL_NAME,' ') DUTY_USER
FROM
SHOP_ORDER SO
LEFT JOIN WORK_CENTER WC ON SO.PLANNED_WORK_CENTER_BO = WC.HANDLE
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE AND WCT.LOCALE = #{locale}
LEFT JOIN CUSTOM_FIELDS WO ON WO.HANDLE = SO.HANDLE AND WO."ATTRIBUTE" = 'WORK_ORDER'
INNER JOIN SFC S ON S.SFC = #{sfc} AND S.SITE = #{site}
LEFT JOIN Z_SFC_SCRAP ZSS ON ZSS.SFC = S.SFC
LEFT JOIN OPERATION O ON O.OPERATION = ZSS.OPERATION AND O.SITE = SO.SITE
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = #{locale}
LEFT JOIN ITEM I ON I.HANDLE = SO.PLANNED_ITEM_BO
LEFT JOIN CUSTOM_FIELDS WO2 ON WO2.HANDLE = I.HANDLE AND WO2."ATTRIBUTE" = 'DWG_NO'
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZSS.DUTY_USER
LEFT JOIN ITEM_T it ON it.ITEM_BO = I.HANDLE AND it.LOCALE = #{locale}
LEFT JOIN CUSTOM_FIELDS I1 ON I1.HANDLE = I.HANDLE AND I1."ATTRIBUTE" = 'PER_METER'
LEFT JOIN CUSTOM_FIELDS I2 ON I2.HANDLE = I.HANDLE AND I2."ATTRIBUTE" = 'PER_SQUARE_METER'
SHOP_ORDER SO
LEFT JOIN CUSTOM_FIELDS WO ON WO.HANDLE = SO.HANDLE AND WO."ATTRIBUTE" = 'WORK_ORDER'
INNER JOIN SFC S ON S.SFC = #{sfc} AND S.SITE = #{site}
LEFT JOIN Z_SFC_SCRAP ZSS ON ZSS.SFC = S.SFC
LEFT JOIN OPERATION O ON O.OPERATION = ZSS.OPERATION AND O.SITE = SO.SITE
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = #{locale}
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = SUBSTR(O.OPERATION,1,INSTR(O.OPERATION,'_')-1)
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE AND WCT.LOCALE = #{locale}
LEFT JOIN ITEM I ON I.HANDLE = SO.PLANNED_ITEM_BO
LEFT JOIN CUSTOM_FIELDS WO2 ON WO2.HANDLE = I.HANDLE AND WO2."ATTRIBUTE" = 'DWG_NO'
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZSS.DUTY_USER
LEFT JOIN ITEM_T it ON it.ITEM_BO = I.HANDLE AND it.LOCALE = #{locale}
LEFT JOIN CUSTOM_FIELDS I1 ON I1.HANDLE = I.HANDLE AND I1."ATTRIBUTE" = 'PER_METER'
LEFT JOIN CUSTOM_FIELDS I2 ON I2.HANDLE = I.HANDLE AND I2."ATTRIBUTE" = 'PER_SQUARE_METER'
WHERE SO.SHOP_ORDER = #{shopOrder}
</select>
</mapper>

Loading…
Cancel
Save