Leon 4 years ago
commit 32f7be77c1

@ -45,8 +45,7 @@ public class InspectionItemController {
}
@PostMapping("/saveAll")
public R saveAll(@RequestBody InspectionItem inspectionItem){
inspectionItemService.saveAll(inspectionItem);
return R.ok();
return R.ok(inspectionItemService.saveAll(inspectionItem));
}
@GetMapping("/queryAll")
public R queryAll(InspectionItem inspectionItem){

@ -32,7 +32,7 @@ public interface InspectionItemService extends IService<InspectionItem> {
String inspectItemNoGenerationRules(InspectionItem inspectionItem);
void saveAll(InspectionItem inspectionItem);
InspectionItem saveAll(InspectionItem inspectionItem);
void deleteServece(InspectionItem inspectionItem);

@ -27,4 +27,11 @@ public interface SfcDispatchCommonService {
* @return
*/
SfcDispatchDto findResrceBySfc(SfcDispatchDto sfcDispatch);
/**
*
* @param sfcDispatch
* @return
*/
SfcDispatchDto findSfcDispatchBySfc(SfcDispatchDto sfcDispatch);
}

@ -99,7 +99,7 @@ public class InspectionItemServiceImpl extends ServiceImpl<InspectionItemMapper,
}
@Override
public void saveAll(InspectionItem inspectionItem) {
public InspectionItem saveAll(InspectionItem inspectionItem) {
String site = CommonMethods.getSite();
boolean b = false;
if(StringUtil.isEmpty(inspectionItem.getInspectionItemNo())&&inspectionItem.getInspectionItemAdditionList()==null){
@ -207,6 +207,7 @@ public class InspectionItemServiceImpl extends ServiceImpl<InspectionItemMapper,
}
saveOrUpdate(inspectionItem);
}
return inspectionItem;
}
@Override

@ -41,4 +41,6 @@ public interface SfcDispatchMapper extends BaseMapper<SfcDispatch> {
@Param("modifiedDateTime") LocalDateTime modifiedDateTime);
SfcDispatchDto findResrceBySfc(@Param("sfcDispatch")SfcDispatchDto sfcDispatch, @Param("site") String site, @Param("array") String[] array);
SfcDispatchDto findSfcDispatchBySfc(@Param("site")String site, @Param("dto")SfcDispatchDto sfcDispatch);
}

@ -449,6 +449,12 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
return sfcDispatchMapper.findResrceBySfc(sfcDispatch,site,status);
}
@Override
public SfcDispatchDto findSfcDispatchBySfc(SfcDispatchDto sfcDispatch) {
String site = CommonMethods.getSite();
return sfcDispatchMapper.findSfcDispatchBySfc(site,sfcDispatch);
}
// @Override
// public SfcDispatchDto findResrceBySfc(SfcDispatch sfcDispatch) {
// String site = CommonMethods.getSite();

@ -1096,4 +1096,9 @@
</if>
</where>
</select>
<select id="findSfcDispatchBySfc" resultType="com.foreverwin.mesnac.common.dto.SfcDispatchDto">
SELECT *
FROM Z_SFC_DISPATCH zsd where SFC=#{dto.sfc} AND site=#{dto.site} AND STEP_ID=#{dto.stepId} AND OPERATION=#{dto.operation} AND RESRCE=#{dto.resrce}
</select>
</mapper>

@ -1,7 +1,5 @@
package com.foreverwin.mesnac.equip.controller;
import com.foreverwin.mesnac.common.model.InspectionItem;
import com.foreverwin.mesnac.common.model.InspectionItemDetail;
import com.foreverwin.mesnac.common.service.InspectionItemDetailService;
import com.foreverwin.mesnac.common.service.InspectionItemService;
import com.foreverwin.modular.core.util.R;
@ -152,31 +150,6 @@ public class ResourceInspectPlanController {
}
}
/**
* handle
* @param inspectionItem
* @return
*/
@ResponseBody
@RequestMapping("/getAddItemDetailList")
public R getInspectItem(InspectionItem inspectionItem){
String handle = inspectionItem.getHandle();
// String site = CommonMethods.getSite();
// String inspectionItemHandle = HandleEnum.INSPECTION_ITEM.getHandle(site,inspectionType);
QueryWrapper<InspectionItem> itemQueryWrapper = new QueryWrapper<>();
itemQueryWrapper.setEntity(inspectionItem);
List<InspectionItem> inspectionItems = inspectionItemService.list(itemQueryWrapper);
if (inspectionItems.size()<1 || inspectionItems.equals(null)){
return null; //检验编号错误
}
QueryWrapper<InspectionItemDetail> inspectionItemDetail = new QueryWrapper<>();
InspectionItemDetail inspectionItemDetail1 = new InspectionItemDetail();
inspectionItemDetail1.setInspectionItemBo(handle);
inspectionItemDetail.setEntity(inspectionItemDetail1);
List<InspectionItemDetail> inspectionItemDetailList = inspectionItemDetailService.list(inspectionItemDetail);
return R.ok(inspectionItemDetailList);
}
/**
* handle
* @param resourceInspectPlan
@ -204,21 +177,4 @@ public class ResourceInspectPlanController {
return R.ok();
}
/**
*
* @param resourceInspectPlan
* @return
*/
/*@ResponseBody
@RequestMapping("/autoCreateTaskByResourceInspectPlan")
public R autoCreateTaskByResourceInspectPlan(ResourceInspectPlan resourceInspectPlan){
try {
resourceInspectPlanService.deleteInspectionPlanByHandle(resourceInspectPlan);
} catch (Exception e) {
R.failed("计划删除失败:" + e.getMessage());
}
return R.ok();
}*/
}

@ -148,7 +148,7 @@ public class ResourceInspectTaskController {
String resourceTypeNo = resourceInspectTaskDto.getResourceTypeNo();
String workCenter = resourceInspectTaskDto.getWorkCenter();
if (planNo != null){
resourceInspectTaskDto.setResourceInspectPlanBo(HandleEnum.RESOURCE_INSPECT_PLAN.getHandle(site,planNo,"_"));
resourceInspectTaskDto.setResourceInspectPlanBo(HandleEnum.RESOURCE_INSPECT_PLAN.getHandle(site,planNo,resourceInspectTaskDto.getPlanRevision()));
}
if (resourceNo != null){
resourceInspectTaskDto.setResourceBo(HandleEnum.RESOURCE.getHandle(site,resourceNo));

@ -70,6 +70,8 @@ public class ResourceInspectTaskDto implements Serializable {
private String resourceTypeBo;
/**计划编号NO**/
private String planNo;
/**点检计划版本**/
private String planRevision;
/**计划描述**/
private String planDescription;
/**频率**/
@ -146,6 +148,14 @@ public class ResourceInspectTaskDto implements Serializable {
this.resourceDescription = resourceDescription;
}
public String getPlanRevision() {
return planRevision;
}
public void setPlanRevision(String planRevision) {
this.planRevision = planRevision;
}
public String getPlanNo() {
return planNo;
}

@ -33,4 +33,17 @@ public interface ResourceRepairTaskMapper extends BaseMapper<ResourceRepairTask>
*/
ResourceRepairTask findResourceRepairTaskByHandleAndSite(@Param("site") String site,@Param("handle") String handle);
/**
*
* @param handle
* @return
*/
Integer selRepairTaskLogByHandle(@Param("handle")String handle);
/**
*
* @param resourceRepairTask
*/
void insertRepairTaskLog(ResourceRepairTask resourceRepairTask);
}

@ -66,6 +66,11 @@ public interface ResourceRepairTaskService extends IService<ResourceRepairTask>
**/
ResourceRepairTask findResourceRepairTaskByHandleAndSite(String site,String handle);
/**
*
* @param resourceRepairTask
* @return
*/
Boolean updateResourceRepairTaskInfoByHandle(ResourceRepairTask resourceRepairTask);
}

@ -24,10 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.*;
/**
* <p>
@ -122,7 +121,13 @@ public class ResourceInspectTaskServiceImpl extends ServiceImpl<ResourceInspectT
}
}
// 新建且检验项清单未变更/非新建状态,直接返回明细清单数据
List<ResourceInspectTaskParam> itemParamList = resourceInspectTaskParamService.selectList(resourceInspectTaskParam);
HashMap<String, Object> findCondition = new HashMap<>(2);
findCondition.put(ResourceInspectTaskParam.RESOURCE_INSPECT_TASK_BO,resourceInspectTaskParam.getResourceInspectTaskBo());
Collection<ResourceInspectTaskParam> taskParams = resourceInspectTaskParamService.listByMap(findCondition);
List<ResourceInspectTaskParam> itemParamList = new ArrayList<>();
for (ResourceInspectTaskParam param:taskParams) {
itemParamList.add(param);
}
ResourceInspectTaskSpare resourceInspectTaskSpare = new ResourceInspectTaskSpare();
resourceInspectTaskSpare.setResourceInspectTaskBo(taskHandle);
List<ResourceInspectTaskSpare> taskSpareList = resourceInspectTaskSpareService.selectList(resourceInspectTaskSpare);
@ -272,10 +277,16 @@ public class ResourceInspectTaskServiceImpl extends ServiceImpl<ResourceInspectT
resourceInspectTaskParam.setParamUnit(detail.getParamUnit());
// 是否必填、最大最、最小值、标准值
resourceInspectTaskParam.setRequired(detail.getIsRequired());
resourceInspectTaskParam.setMaxValue(detail.getMaxValue().doubleValue());
resourceInspectTaskParam.setMinValue(detail.getMinValue().doubleValue());
BigDecimal maxValue = detail.getMaxValue();
BigDecimal minValue = detail.getMinValue();
if (maxValue != null){
resourceInspectTaskParam.setMaxValue(maxValue.doubleValue());
}
if (minValue != null){
resourceInspectTaskParam.setMinValue(minValue.doubleValue());
}
resourceInspectTaskParam.setStandardValue(detail.getStandardValue());
resourceInspectTaskParam.setCreateUser("测试数据DEL");
resourceInspectTaskParam.setCreateUser(CommonMethods.getUser());
resourceInspectTaskParam.setCreatedDateTime(LocalDateTime.now());
paramList.add(resourceInspectTaskParam);
}

@ -5,7 +5,10 @@ import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.helper.NextNumberHelper;
import com.foreverwin.mesnac.equip.model.ResourceInspectTaskSpare;
import com.foreverwin.mesnac.equip.service.ResourceInspectTaskSpareService;
import com.foreverwin.mesnac.meapi.model.NcCode;
import com.foreverwin.mesnac.meapi.model.NwaUser;
import com.foreverwin.mesnac.meapi.service.NcCodeService;
import com.foreverwin.mesnac.meapi.service.NwaUserService;
import com.foreverwin.mesnac.meapi.service.ResrceService;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.CommonMethods;
@ -22,8 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
import java.util.*;
/**
* <p>
@ -49,6 +51,8 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
private ResourceInspectTaskSpareService resourceInspectTaskSpareService;
@Autowired
private ResrceService resrceService;
@Autowired
private NwaUserService nwaUserService;
@Override
public IPage<ResourceRepairTask> selectPage(FrontPage<ResourceRepairTask> frontPage, ResourceRepairTask resourceRepairTask) {
@ -81,11 +85,22 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
throw BusinessException.build("设备编号错误!!!");
}
// 不良代码
/*String ncCOdeNo = resourceRepairTask.getNcCodeNo();
String ncCodeHandle = HandleEnum.NC_CODE.getHandle(site, ncCOdeNo);
if ( ncCodeService.getById(ncCodeHandle) == null ){
String ncCodeNo = resourceRepairTask.getNcCodeNo();
String[] ncSplit = ncCodeNo.split(",");
/* Collection<String> collection = new ArrayList<>();
for (int i = 0; i < ncSplit.length; i++) {
collection.add(HandleEnum.NC_CODE.getHandle(site,ncSplit[i]));
}
Collection<NcCode> ncCodes = ncCodeService.listByIds(collection);
if ( ncCodes.size() != ncSplit.length ){
throw BusinessException.build("不良代码错误!!!");
}*/
for (int i = 0; i < ncSplit.length; i++) {
String ncCodeHandle = HandleEnum.NC_CODE.getHandle(site, ncSplit[i]);
if ( ncCodeService.getById(ncCodeHandle) == null ){
throw BusinessException.build("不良代码错误!!!");
}
}
// 维修单号、维修HANDLE
List<String> nextNumber = nextNumberHelper.getNextNumber(site, Constants.RESOURCE_REPAIR_TASK, 1);
resourceRepairTask.setRepairNo(nextNumber.get(0));
@ -162,7 +177,16 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
repairTask.setSpareList(spareList);
// 完成时间、维修人员
repairTask.setActualCompleteDate(LocalDateTime.now());
repairTask.setRepairUsers(resourceRepairTask.getRepairUsers());
String repairUsers = resourceRepairTask.getRepairUsers();
String[] split = repairUsers.split(",");
for (int i = 0; i < split.length; i++) {
NwaUser nwaUser = new NwaUser();
nwaUser.setUserName(split[i]);
if (nwaUserService.selectList(nwaUser).size() < 1){
throw BusinessException.build("用户编号" + split[i] + "不存在!");
}
}
repairTask.setRepairUsers(repairUsers);
// 处理方式、处理方式描述、初步原因
repairTask.setDealWay(resourceRepairTask.getDealWay());
repairTask.setDealWayDescription(resourceRepairTask.getDealWayDescription());
@ -203,52 +227,6 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
repairTask.setWaitTime(waitHours);
break;
}
/*
// 维修完成
if (status.equals("301")){
// 耗用备品清单
List<ResourceInspectTaskSpare> spareList = resourceRepairTask.getSpareList();
for (ResourceInspectTaskSpare spare:spareList) {
spare.setResourceInspectTaskBo(handle);
}
repairTask.setSpareList(spareList);
// 完成时间、维修人员
repairTask.setActualCompleteDate(LocalDateTime.now());
repairTask.setRepairUsers(resourceRepairTask.getRepairUsers());
// 处理方式、处理方式描述、初步原因
repairTask.setDealWay(resourceRepairTask.getDealWay());
repairTask.setDealWayDescription(resourceRepairTask.getDealWayDescription());
repairTask.setPreliminaryReason(resourceRepairTask.getPreliminaryReason());
// 根本原因、根本原因描述、预防措施描述
repairTask.setPrimaryReason(resourceRepairTask.getPrimaryReason());
repairTask.setPrimaryReasonDescription(resourceRepairTask.getPrimaryReasonDescription());
repairTask.setPrecautionMeasureDescription(resourceRepairTask.getPrecautionMeasureDescription());
}
// 取消任务
if (status.equals("302")){
// 取消代码、取消描述、取消时间、取消人员
repairTask.setCancelCode(resourceRepairTask.getCancelCode());
repairTask.setCancelDescription(resourceRepairTask.getCancelDescription());
repairTask.setCancelDate(LocalDateTime.now());
repairTask.setCancelUser(CommonMethods.getUser());
}
// 开始等待
if (status.equals("502")){
if (repairTask.getWaitStartDate() != null){
throw BusinessException.build("已有等待记录,不能再次进入等待状态!!!");
}else {
repairTask.setWaitStartDate(LocalDateTime.now());
}
}
// 结束等待
if (status.equals("501")){
// 结束时间、等待时长
repairTask.setWaitEndDate(LocalDateTime.now());
Duration betweenTime = Duration.between(repairTask.getWaitStartDate(), repairTask.getWaitEndDate());
Long waitTime = betweenTime.toHours();
double v = waitTime.doubleValue();
repairTask.setWaitTime(v);
}*/
// 状态、修改人、修改时间
repairTask.setStatus(status);
repairTask.setModifyUser(user);
@ -269,6 +247,13 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl<ResourceRepairTas
@Override
public Boolean updateResourceRepairTaskInfoByHandle(ResourceRepairTask resourceRepairTask) {
// 记录日志
String repairHandle = resourceRepairTask.getHandle();
ResourceRepairTask byId = resourceRepairTaskService.getById(repairHandle);
Integer cnt = resourceRepairTaskMapper.selRepairTaskLogByHandle(repairHandle);
if (cnt < 1){
resourceRepairTaskMapper.insertRepairTaskLog(byId);
}
String user = CommonMethods.getUser();
String site = CommonMethods.getSite();
String handle = resourceRepairTask.getHandle();

@ -0,0 +1,515 @@
--
CREATE TABLE "Z_RESOURCE_INSPECT_PLAN"(
HANDLE NVARCHAR2(412) NOT NULL,
SITE NVARCHAR2(6 ) NOT NULL,
PLAN_NO NVARCHAR2(128) ,
REVISION NVARCHAR2(6 ) ,
CURRENT_REVISION NVARCHAR2(5 ) ,
PLAN_TASK_COUNT NUMBER(38,0) ,
DESCRIPTION NVARCHAR2(500) ,
STATUS NVARCHAR2(10 ) ,
CATEGORY NVARCHAR2(10 ) ,
SCHEDULE_TYPE NVARCHAR2(10 ) ,
FREQUENCY NUMBER(38,2) ,
FREQUENCY_UNIT NVARCHAR2(10) ,
BEFORE_TOLERANCE NUMBER(38,0) ,
AFTER_TOLERANCE NUMBER(38,0) ,
INDATE_START DATE ,
INDATE_END DATE ,
INSPECTION_ITEM_BO NVARCHAR2(412) ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."SITE" IS '站点';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."PLAN_NO" IS '设备检验计划编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."REVISION" IS '版本';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."CURRENT_REVISION" IS '是否当前版本(true/false)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."PLAN_TASK_COUNT" IS '任务数量';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."DESCRIPTION" IS '设备检验计划描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."STATUS" IS '检验计划状态(新建、启动、禁用)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."CATEGORY" IS '保养类别(日常保养/一级保养/二级保养/日点检/周点检/月点检/年点检)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."SCHEDULE_TYPE" IS '排程方式(周期/执行间隔时间)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."FREQUENCY" IS '频率';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."FREQUENCY_UNIT" IS '频率单位(M月W周D日H时F分S秒)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."BEFORE_TOLERANCE" IS '前容差时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."AFTER_TOLERANCE" IS '后容差时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."INDATE_START" IS '检验计划有效期(开始时间)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."INDATE_END" IS '检验计划有效期(结束时间)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."INSPECTION_ITEM_BO" IS '检验项目清单HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_PLAN"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_INSPECT_PLAN" IS '设备检验计划表';
commit;
--HANDLE-HANDLE
CREATE TABLE "Z_RESOURCE_INSPECT_RESOURCE"(
HANDLE NVARCHAR2(412) NOT NULL,
RESOURCE_INSPECT_PLAN_BO NVARCHAR2(412) ,
RESOURCE_BO NVARCHAR2(412) ,
STATUS NVARCHAR2(10 ) ,
TASK_CREATE_DATE DATE ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."RESOURCE_INSPECT_PLAN_BO" IS '设备检验计划HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."RESOURCE_BO" IS '设备编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."STATUS" IS '任务状态(启用/禁用)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."TASK_CREATE_DATE" IS '任务生成时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_RESOURCE"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_INSPECT_RESOURCE" IS '设备检验计划从表';
COMMIT;
--
CREATE TABLE "Z_RESOURCE_INSPECT_TASK"(
HANDLE NVARCHAR2(412) NOT NULL,
SITE NVARCHAR2(6 ) NOT NULL,
TASK_NO NVARCHAR2(128) ,
CATEGORY NVARCHAR2(10 ) ,
DESCRIPTION NVARCHAR2(500) ,
STATUS NVARCHAR2(10 ) ,
RESOURCE_INSPECT_PLAN_BO NVARCHAR2(412) ,
INSPECTION_ITEM_BO NVARCHAR2(412) ,
RESOURCE_BO NVARCHAR2(128) ,
RESULT NVARCHAR2(500) ,
TASK_CREATE_DATE DATE ,
PLAN_START_DATE DATE ,
PLAN_COMPLETE_DATE DATE ,
ACTUAL_START_DATE DATE ,
ACTUAL_COMPLETE_DATE DATE ,
EXECUTOR NVARCHAR2(128) ,
REMARK NVARCHAR2(500) ,
CREATE_USER NVARCHAR2(30 ) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."SITE" IS '站点';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."TASK_NO" IS '任务编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."CATEGORY" IS '类型(自动AUTO/手动)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."DESCRIPTION" IS '任务描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."STATUS" IS '任务状态(新建/处理中/完成/关闭)';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."RESOURCE_INSPECT_PLAN_BO" IS '设备检验计划HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."INSPECTION_ITEM_BO" IS '检验项目清单HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."RESOURCE_BO" IS '设备HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."RESULT" IS '检验结果';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."TASK_CREATE_DATE" IS '任务创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."PLAN_START_DATE" IS '计划开始时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."PLAN_COMPLETE_DATE" IS '计划完成时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."ACTUAL_START_DATE" IS '实际开始时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."ACTUAL_COMPLETE_DATE" IS '实际完成时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."EXECUTOR" IS '执行人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."REMARK" IS '备注';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_INSPECT_TASK" IS '设备检验任务表';
COMMIT;
--
CREATE TABLE "Z_RESOURCE_INSPECT_TASK_PARAM"(
HANDLE NVARCHAR2(412) NOT NULL,
RESOURCE_INSPECT_TASK_BO NVARCHAR2(412) NOT NULL,
INSPECT_NO NVARCHAR2(10 ) ,
DESCRIPTION NVARCHAR2(128) ,
INSPECT_METHOD NVARCHAR2(10 ) ,
INSPECT_DATA_TYPE NVARCHAR2(4 ) ,
PARAM_UNIT NVARCHAR2(10 ) ,
REQUIRED NVARCHAR2(5 ) ,
MIN_VALUE NUMBER(38,2) ,
MAX_VALUE NUMBER(38,2) ,
STANDARD_VALUE NVARCHAR2(500) ,
RESULT_VALUE NVARCHAR2(500) ,
RESULT NVARCHAR2(10 ) ,
REMARK NVARCHAR2(500) ,
CREATE_USER NVARCHAR2(30 ) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."RESOURCE_INSPECT_TASK_BO" IS '任务HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."INSPECT_NO" IS '检验项目编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."DESCRIPTION" IS '检验项目编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."INSPECT_METHOD" IS '检验方式/方法';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."INSPECT_DATA_TYPE" IS '检验数据类型文本T、数字N、布尔值B';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."PARAM_UNIT" IS '参数单位';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."REQUIRED" IS '是否必填【Y必填N非必填】';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."MIN_VALUE" IS '最小值';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."MAX_VALUE" IS '最大值';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."STANDARD_VALUE" IS '标准值';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."RESULT_VALUE" IS '结果值';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."RESULT" IS '结果【Y/N】';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."REMARK" IS '备注';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_INSPECT_TASK_PARAM" IS '设备检验任务从表';
COMMIT;
--HANDLE-HANDLE
CREATE TABLE "Z_RESOURCE_INSPECT_TASK_SPARE"(
HANDLE NVARCHAR2(412) NOT NULL,
RESOURCE_INSPECT_TASK_BO NVARCHAR2(412) NOT NULL,
SPARE_BO NVARCHAR2(412) ,
SPARE_NO NVARCHAR2(24) ,
DESCRIPTION NVARCHAR2(128) ,
QTY NUMBER(38,2) ,
UNIT NVARCHAR2(10) ,
REMARK NVARCHAR2(500) ,
CREATE_USER NVARCHAR2(30 ) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."RESOURCE_INSPECT_TASK_BO" IS '任务HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."SPARE_BO" IS '备品HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."SPARE_NO" IS '备品编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."DESCRIPTION" IS '备品描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."QTY" IS '数量';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."UNIT" IS '单位';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."REMARK" IS '备注';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_INSPECT_TASK_SPARE" IS '设备检验任务-备品表';
COMMIT;
--HANDLE-HANDLE
CREATE TABLE "Z_INSPECT_PLAN_USER_GROUP"(
HANDLE NVARCHAR2(412) NOT NULL,
USER_GROUP_BO NVARCHAR2(412) ,
RESOURCE_INSPECT_PLAN_BO NVARCHAR2(412) ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."USER_GROUP_BO" IS '用户组HANDLE';
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."RESOURCE_INSPECT_PLAN_BO" IS '检验计划HANDLE';
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_INSPECT_PLAN_USER_GROUP"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_INSPECT_PLAN_USER_GROUP" IS '设备检验计划从表';
COMMIT;
--
--
CREATE TABLE "Z_RESOURCE_REPAIR_TASK"(
HANDLE NVARCHAR2(412) NOT NULL, --'主键';
SITE NVARCHAR2(6) NOT NULL, --'站点';
REPAIR_NO NVARCHAR2(128) , --'维修编号';
DESCRIPTION NVARCHAR2(128) , --'描述';
STATUS NVARCHAR2(16) , --'状态';
RESOURCE_NO NVARCHAR2(412) , --'设备编号';
REPORT_USER NVARCHAR2(30) , --'提报人';
NC_CODE_NO NVARCHAR2(412) , --'不良代码';
REPAIR_TYPE NVARCHAR2(16) , --'维修类型';
STOP_MACHINE NVARCHAR2(412) , --'是否停机';
BREAK_DOWN_DESCRIPTION NVARCHAR2(500) , --'故障描述补充';
FIND_LINK NVARCHAR2(16) , --'发现环节';
REPORT_SOURCE NVARCHAR2(16) , --'上报来源';
OBJECT_BO NVARCHAR2(412) , --'关联来源-异常转维修';
PLAN_START_DATE DATE , --'建议开始维修时间';
PLAN_COMPLETE_DATE DATE , --'建议完成时间';
ACTUAL_START_DATE DATE , --'实际开始维修时间';
ACTUAL_COMPLETE_DATE DATE , --'实际完成时间';
REPAIR_USERS NVARCHAR2(256) , --'维修用户';
CANCEL_CODE NVARCHAR2(412) , --'取消代码';
CANCEL_DATE DATE , --'取消时间';
CANCEL_DESCRIPTION NVARCHAR2(500) , --'取消描述';
CANCEL_USER NVARCHAR2(30) , --'取消用户';
DEAL_WAY NVARCHAR2(16) , --'处理方式';
PRELIMINARY_REASON NVARCHAR2(500) , --'初步原因';
DEAL_WAY_DESCRIPTION NVARCHAR2(500) , --'处理方式描述';
WAIT_TIME NUMBER(38,2) , --'等待时间';
WAIT_START_DATE DATE , --'等待开始时间';
WAIT_END_DATE DATE , --'等待结束时间';
WAIT_DESCRIPTION NVARCHAR2(500) , --'等待描述';
PRIMARY_REASON NVARCHAR2(16) , --'根本原因';
PRIMARY_REASON_DESCRIPTION NVARCHAR2(500) , --'根本原因描述';
PRECAUTION_MEASURE_DESCRIPTION NVARCHAR2(500) , --'预防措施描述';
REMARK NVARCHAR2(500) , --'备注';
OTHER NVARCHAR2(16) , --'预留字段1';
ANOTHER NVARCHAR2(32) , --'预留字段2';
CREATE_USER NVARCHAR2(30) NOT NULL, --'创建人';
CREATED_DATE_TIME DATE NOT NULL, --'创建时间';
MODIFY_USER NVARCHAR2(30) , --'修改人';
MODIFIED_DATE_TIME DATE , --'修改时间';
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."SITE" IS '站点';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."REPAIR_NO" IS '维修编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."DESCRIPTION" IS '描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."STATUS" IS '状态';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."RESOURCE_NO" IS '设备编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."REPORT_USER" IS '提报人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."NC_CODE_NO" IS '不良代码HANDLE';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."REPAIR_TYPE" IS '维修类型';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."STOP_MACHINE" IS '是否停机';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."BREAK_DOWN_DESCRIPTION" IS '故障描述补充';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."FIND_LINK" IS '发现环节';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."REPORT_SOURCE" IS '上报来源';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."OBJECT_BO" IS '关联来源-异常转维修';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."PLAN_START_DATE" IS '建议维修时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."PLAN_COMPLETE_DATE" IS '建议完成时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."ACTUAL_START_DATE" IS '实际维修时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."ACTUAL_COMPLETE_DATE" IS '实际完成时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."REPAIR_USER" IS '维修用户';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."CANCEL_CODE" IS '取消代码';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."CANCEL_DATE" IS '取消时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."CANCEL_DESCRIPTION" IS '取消描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."CANCEL_USER" IS '取消用户';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."DEAL_WAY" IS '处理方式';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."PRELIMINARY_REASON" IS '初步原因';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."DEAL_WAY_DESCRIPTION" IS '处理方式描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."WAIT_TIME" IS '等待时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."WAIT_START_DATE" IS '等待开始时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."WAIT_END_DATE" IS '等待结束时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."WAIT_DESCRIPTION" IS '等待描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."PRIMARY_REASON" IS '根本原因';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."PRIMARY_REASON_DESCRIPTION" IS '根本原因描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."PRECAUTION_MEASURE_DESCRIPTION" IS '预防措施描述';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."REMARK" IS '备注';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."OTHER" IS '预留字段1';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."ANOTHER" IS '预留字段2';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_REPAIR_TASK"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_REPAIR_TASK" IS '设备报修/维修表';
COMMIT;
--
CREATE TABLE "Z_RESOURCE_STATUS_RECEIVE"(
HANDLE NVARCHAR2(412) NOT NULL,
SITE NVARCHAR2(6) ,
RESRCE NVARCHAR2(36) ,
STATUS NVARCHAR2(8) ,
DATE_TIME DATE ,
CHANGE_STATUS NVARCHAR2(8) ,
CHANGE_DATE_TIME DATE ,
INTERVAL_TIME NUMBER(38,2) ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."SITE" IS '站点';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."RESRCE" IS '设备编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."STATUS" IS '当前状态';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."DATE_TIME" IS '当前状态获取时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."CHANGE_STATUS" IS '接收的状态';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."CHANGE_DATE_TIME" IS '接收时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."INTERVAL_TIME" IS '间隔时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_STATUS_RECEIVE"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_STATUS_RECEIVE" IS '设备状态表-接口';
COMMIT;
--
CREATE TABLE "Z_RESOURCE_FAULT_RECEIVE"(
HANDLE NVARCHAR2(412) NOT NULL,
SITE NVARCHAR2(6) ,
RESRCE NVARCHAR2(36) ,
FAULT_CODE NVARCHAR2(36) ,
FAULT_DATE DATE ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."SITE" IS '站点';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."RESRCE" IS '设备编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."FAULT_CODE" IS '设备故障编码';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."FAULT_DATE" IS '故障接收时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_FAULT_RECEIVE"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_FAULT_RECEIVE" IS '设备故障信息接收表-接口';
COMMIT;
--
CREATE TABLE "Z_EDC_DATA_RESOURCE_NO"(
HANDLE NVARCHAR2(412) NOT NULL,
SITE NVARCHAR2(6) ,
RESRCE NVARCHAR2(36) ,
SEND_DATE DATE ,
S1 NVARCHAR2(128) ,
N1 NUMBER(38,2) ,
D1 DATE ,
PARAM NVARCHAR2(128) ,
PARAM_VALUE NVARCHAR2(500) ,
PARAM_DATE DATE ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."SITE" IS '备注';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."RESRCE" IS '设备编号';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."RARAM_NODE" IS '数据接收时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."PARAM" IS '参数名称';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."PARAM_VALUE" IS '参数值';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."PARAM_DATE" IS '参数时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_RESOURCE_PARAM_RECEIVE"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_RESOURCE_PARAM_RECEIVE" IS '设备参数接收表-接口';
COMMIT;
CREATE TABLE "WIP"."Z_EDC_DATA_RESOURCE_NO"
(
"HANDLE" NVARCHAR2(412) NOT NULL,
"SITE" NVARCHAR2(6) ,
"RESRCE" NVARCHAR2(412) ,
"DC_GROUP_BO" NVARCHAR2(412) ,
"DATE_TIME" DATE ,
"CREATED_DATE_TIME" DATE ,
"CREATE_USER" NVARCHAR2(30) ,
"S1" NVARCHAR2(100),
"S2" NVARCHAR2(100),
"S3" NVARCHAR2(100),
"S4" NVARCHAR2(100),
"S5" NVARCHAR2(100),
"S6" NVARCHAR2(100),
"S7" NVARCHAR2(100),
"S8" NVARCHAR2(100),
"S9" NVARCHAR2(100),
"S10" NVARCHAR2(100),
"S11" NVARCHAR2(100),
"S12" NVARCHAR2(100),
"S13" NVARCHAR2(100),
"S14" NVARCHAR2(100),
"S15" NVARCHAR2(100),
"S16" NVARCHAR2(100),
"S17" NVARCHAR2(100),
"S18" NVARCHAR2(100),
"S19" NVARCHAR2(100),
"S20" NVARCHAR2(100),
"S21" NVARCHAR2(100),
"S22" NVARCHAR2(100),
"S23" NVARCHAR2(100),
"S24" NVARCHAR2(100),
"S25" NVARCHAR2(100),
"S26" NVARCHAR2(100),
"S27" NVARCHAR2(100),
"S28" NVARCHAR2(100),
"S29" NVARCHAR2(100),
"S30" NVARCHAR2(100),
"N1" NUMBER(38,6),
"N2" NUMBER(38,6),
"N3" NUMBER(38,6),
"N4" NUMBER(38,6),
"N5" NUMBER(38,6),
"N6" NUMBER(38,6),
"N7" NUMBER(38,6),
"N8" NUMBER(38,6),
"N9" NUMBER(38,6),
"N10" NUMBER(38,6),
"N11" NUMBER(38,6),
"N12" NUMBER(38,6),
"N13" NUMBER(38,6),
"N14" NUMBER(38,6),
"N15" NUMBER(38,6),
"N16" NUMBER(38,6),
"N17" NUMBER(38,6),
"N18" NUMBER(38,6),
"N19" NUMBER(38,6),
"N20" NUMBER(38,6),
"N21" NUMBER(38,6),
"N22" NUMBER(38,6),
"N23" NUMBER(38,6),
"N24" NUMBER(38,6),
"N25" NUMBER(38,6),
"N26" NUMBER(38,6),
"N27" NUMBER(38,6),
"N28" NUMBER(38,6),
"N29" NUMBER(38,6),
"N30" NUMBER(38,6),
PRIMARY KEY ("HANDLE")
);
--
CREATE TABLE "Z_TOOL" (
HANDLE NVARCHAR2(412) NOT NULL,
SITE NVARCHAR2(6) ,
TOOL NVARCHAR2(36) ,
DESCRIPTION NVARCHAR2(36) ,
STATUS NVARCHAR2(16) ,
TOOL_TYPE NVARCHAR2(36) ,
SPECIFICATION NVARCHAR2(36) ,
BRAND NVARCHAR2(128) ,
REMARK NVARCHAR2(500) ,
CREATE_USER NVARCHAR2(30) NOT NULL,
CREATED_DATE_TIME DATE NOT NULL,
MODIFY_USER NVARCHAR2(30) ,
MODIFIED_DATE_TIME DATE ,
PRIMARY KEY ("HANDLE")
);
COMMENT ON COLUMN "WIP"."Z_TOOL"."HANDLE" IS '主键';
COMMENT ON COLUMN "WIP"."Z_TOOL"."SITE" IS '站点';
COMMENT ON COLUMN "WIP"."Z_TOOL"."TOOL" IS '工具具编号';
COMMENT ON COLUMN "WIP"."Z_TOOL"."DESCRIPTION" IS '描述';
COMMENT ON COLUMN "WIP"."Z_TOOL"."STATUS" IS '状态';
COMMENT ON COLUMN "WIP"."Z_TOOL"."TOOL_TYPE" IS '类型';
COMMENT ON COLUMN "WIP"."Z_TOOL"."SPECIFICATION" IS '规格';
COMMENT ON COLUMN "WIP"."Z_TOOL"."BRAND" IS '品牌';
COMMENT ON COLUMN "WIP"."Z_TOOL"."REMARK" IS '备注';
COMMENT ON COLUMN "WIP"."Z_TOOL"."CREATE_USER" IS '创建人';
COMMENT ON COLUMN "WIP"."Z_TOOL"."CREATED_DATE_TIME" IS '创建时间';
COMMENT ON COLUMN "WIP"."Z_TOOL"."MODIFY_USER" IS '修改人';
COMMENT ON COLUMN "WIP"."Z_TOOL"."MODIFIED_DATE_TIME" IS '修改时间';
COMMENT ON TABLE "WIP"."Z_TOOL" IS '工具表';
COMMIT;

@ -129,7 +129,7 @@
</if>
</select>
<select id="selectList" resultMap="BaseResultMap">
<select id="selectList" resultMap="BaseResultMap" >
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_RESOURCE_INSPECT_TASK
<where>
<if test="ew!=null">

@ -883,14 +883,11 @@
<!--批量获取维修任务-->
<select id="findResourceRepairTaskList" resultType="com.foreverwin.mesnac.equip.model.ResourceRepairTask">
SELECT DISTINCT RRT.*,R.DESCRIPTION AS RESOURCE_DESCRIPTION,R.RESRCE AS RESOURCE_NO,
NCT.DESCRIPTION AS NC_CODE_DESCRIPTION,
WCMA.WORK_CENTER_BO AS WORK_CENTER_BO,
WCT.DESCRIPTION AS WORK_CENTER_DESCRIPTION
FROM
WIP.Z_RESOURCE_REPAIR_TASK RRT
INNER JOIN WIP.RESRCE R ON RRT.SITE = R.SITE AND R.RESRCE = RRT.RESOURCE_NO
INNER JOIN WIP.NC_CODE NC ON RRT.SITE = NC.SITE AND NC.NC_CODE = RRT.NC_CODE_NO
LEFT JOIN WIP.NC_CODE_T NCT ON NCT.NC_CODE_BO = NC.HANDLE AND NCT.LOCALE = 'zh'
LEFT JOIN WIP.WORK_CENTER_MEMBER WCM ON WCM.WORK_CENTER_OR_RESOURCE_GBO = R.HANDLE
LEFT JOIN WIP.WORK_CENTER_MEMBER WCMA ON WCMA.WORK_CENTER_OR_RESOURCE_GBO = WCM.WORK_CENTER_BO
LEFT JOIN WIP.WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WCMA.WORK_CENTER_BO
@ -933,7 +930,7 @@
WIP.Z_RESOURCE_REPAIR_TASK RRT
LEFT JOIN WIP.RESRCE R ON R.RESRCE = RRT.RESOURCE_NO AND R.SITE = RRT.SITE
LEFT JOIN WIP.NC_CODE NC ON NC.NC_CODE = RRT.NC_CODE_NO AND NC.SITE = RRT.SITE
LEFT JOIN WIP.NC_CODE_T NCT ON NCT.NC_CODE_BO = NC.HANDLE AND NC.LOCALE = 'zh'
LEFT JOIN WIP.NC_CODE_T NCT ON NCT.NC_CODE_BO = NC.HANDLE
LEFT JOIN WIP.WORK_CENTER_MEMBER WCM ON WCM.WORK_CENTER_OR_RESOURCE_GBO = R.HANDLE
LEFT JOIN WIP.WORK_CENTER_MEMBER WCMA ON WCMA.WORK_CENTER_OR_RESOURCE_GBO = WCM.WORK_CENTER_BO
LEFT JOIN WIP.WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WCMA.WORK_CENTER_BO
@ -941,6 +938,99 @@
WHERE RRT.SITE = #{site} AND RRT.HANDLE = #{handle}
</select>
<!--查询日志表中是否已有记录-->
<select id="selRepairTaskLogByHandle" resultType="java.lang.Integer">
SELECT COUNT(*) FROM WIP.Z_RESOURCE_REPAIR_TASK_LOG WHERE HANDLE = #{handle}
</select>
<!--插入日志信息-->
<insert id="insertRepairTaskLog" parameterType="com.foreverwin.mesnac.equip.model.ResourceRepairTask">
INSERT INTO Z_RESOURCE_REPAIR_TASK_LOG
<trim prefix="(" suffix=")" suffixOverrides=",">
HANDLE,
<if test="site!=null">SITE,</if>
<if test="repairNo!=null">REPAIR_NO,</if>
<if test="description!=null">DESCRIPTION,</if>
<if test="status!=null">STATUS,</if>
<if test="resourceNo!=null">RESOURCE_NO,</if>
<if test="reportUser!=null">REPORT_USER,</if>
<if test="ncCodeNo!=null">NC_CODE_NO,</if>
<if test="repairType!=null">REPAIR_TYPE,</if>
<if test="stopMachine!=null">STOP_MACHINE,</if>
<if test="breakDownDescription!=null">BREAK_DOWN_DESCRIPTION,</if>
<if test="findLink!=null">FIND_LINK,</if>
<if test="reportSource!=null">REPORT_SOURCE,</if>
<if test="objectBo!=null">OBJECT_BO,</if>
<if test="planStartDate!=null">PLAN_START_DATE,</if>
<if test="planCompleteDate!=null">PLAN_COMPLETE_DATE,</if>
<if test="actualStartDate!=null">ACTUAL_START_DATE,</if>
<if test="actualCompleteDate!=null">ACTUAL_COMPLETE_DATE,</if>
<if test="repairUsers!=null">REPAIR_USERS,</if>
<if test="cancelCode!=null">CANCEL_CODE,</if>
<if test="cancelDate!=null">CANCEL_DATE,</if>
<if test="cancelDescription!=null">CANCEL_DESCRIPTION,</if>
<if test="cancelUser!=null">CANCEL_USER,</if>
<if test="dealWay!=null">DEAL_WAY,</if>
<if test="preliminaryReason!=null">PRELIMINARY_REASON,</if>
<if test="dealWayDescription!=null">DEAL_WAY_DESCRIPTION,</if>
<if test="waitTime!=null">WAIT_TIME,</if>
<if test="waitStartDate!=null">WAIT_START_DATE,</if>
<if test="waitEndDate!=null">WAIT_END_DATE,</if>
<if test="waitDescription!=null">WAIT_DESCRIPTION,</if>
<if test="primaryReason!=null">PRIMARY_REASON,</if>
<if test="primaryReasonDescription!=null">PRIMARY_REASON_DESCRIPTION,</if>
<if test="precautionMeasureDescription!=null">PRECAUTION_MEASURE_DESCRIPTION,</if>
<if test="remark!=null">REMARK,</if>
<if test="other!=null">OTHER,</if>
<if test="another!=null">ANOTHER,</if>
<if test="createUser!=null">CREATE_USER,</if>
<if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
<if test="modifyUser!=null">MODIFY_USER,</if>
<if test="modifiedDateTime!=null">MODIFIED_DATE_TIME,</if>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
<if test="site!=null">#{site},</if>
<if test="repairNo!=null">#{repairNo},</if>
<if test="description!=null">#{description},</if>
<if test="status!=null">#{status},</if>
<if test="resourceNo!=null">#{resourceNo},</if>
<if test="reportUser!=null">#{reportUser},</if>
<if test="ncCodeNo!=null">#{ncCodeNo},</if>
<if test="repairType!=null">#{repairType},</if>
<if test="stopMachine!=null">#{stopMachine},</if>
<if test="breakDownDescription!=null">#{breakDownDescription},</if>
<if test="findLink!=null">#{findLink},</if>
<if test="reportSource!=null">#{reportSource},</if>
<if test="objectBo!=null">#{objectBo},</if>
<if test="planStartDate!=null">#{planStartDate},</if>
<if test="planCompleteDate!=null">#{planCompleteDate},</if>
<if test="actualStartDate!=null">#{actualStartDate},</if>
<if test="actualCompleteDate!=null">#{actualCompleteDate},</if>
<if test="repairUsers!=null">#{repairUsers},</if>
<if test="cancelCode!=null">#{cancelCode},</if>
<if test="cancelDate!=null">#{cancelDate},</if>
<if test="cancelDescription!=null">#{cancelDescription},</if>
<if test="cancelUser!=null">#{cancelUser},</if>
<if test="dealWay!=null">#{dealWay},</if>
<if test="preliminaryReason!=null">#{preliminaryReason},</if>
<if test="dealWayDescription!=null">#{dealWayDescription},</if>
<if test="waitTime!=null">#{waitTime},</if>
<if test="waitStartDate!=null">#{waitStartDate},</if>
<if test="waitEndDate!=null">#{waitEndDate},</if>
<if test="waitDescription!=null">#{waitDescription},</if>
<if test="primaryReason!=null">#{primaryReason},</if>
<if test="primaryReasonDescription!=null">#{primaryReasonDescription},</if>
<if test="precautionMeasureDescription!=null">#{precautionMeasureDescription},</if>
<if test="remark!=null">#{remark},</if>
<if test="other!=null">#{other},</if>
<if test="another!=null">#{another},</if>
<if test="createUser!=null">#{createUser},</if>
<if test="createdDateTime!=null">#{createdDateTime},</if>
<if test="modifyUser!=null">#{modifyUser},</if>
<if test="modifiedDateTime!=null">#{modifiedDateTime},</if>
</trim>
</insert>
<!--自定义sql-->

@ -45,6 +45,8 @@ public class BomController {
@ResponseBody
@GetMapping("")
public R getBomList(Bom bom){
String site = CommonMethods.getSite();
bom.setSite(site);
List<Bom> result;
QueryWrapper<Bom> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(bom);

@ -45,6 +45,8 @@ public class DcGroupController {
@ResponseBody
@GetMapping("")
public R getDcGroupList(DcGroup dcGroup){
String site = CommonMethods.getSite();
dcGroup.setSite(site);
List<DcGroup> result;
QueryWrapper<DcGroup> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(dcGroup);

@ -1,5 +1,6 @@
package com.foreverwin.mesnac.meapi.controller;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.R;
import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -45,6 +46,8 @@ public class UserGroupController {
@ResponseBody
@GetMapping("")
public R getUserGroupList(UserGroup userGroup){
String site = CommonMethods.getSite();
userGroup.setSite(site);
List<UserGroup> result;
QueryWrapper<UserGroup> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(userGroup);

@ -448,7 +448,7 @@
</select>
<select id="selectPage" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Full_Column_List"></include></otherwise></choose>
SELECT item,IT.description,revision
FROM ITEM I
LEFT JOIN ITEM_T IT ON I.HANDLE = IT.ITEM_BO AND IT.LOCALE = 'zh'
<where>

@ -166,7 +166,7 @@
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
and ${ew.sqlSegment}
</if>
</if>
</where>

@ -0,0 +1,135 @@
package com.foreverwin.mesnac.production.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.production.model.SfcDataAssemble;
import com.foreverwin.mesnac.production.service.SfcDataAssembleService;
import com.foreverwin.modular.core.util.FrontPage;
import com.foreverwin.modular.core.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
* @author Philip
* @since 2021-07-19
*/
@RestController
@RequestMapping("/Z-SFC-DATA-ASSEMBLE")
public class SfcDataAssembleController {
@Autowired
public SfcDataAssembleService sfcDataAssembleService;
/**
* sfc
* @param sfcDto
* @return
*/
@ResponseBody
@GetMapping("/loadSfcAssemble")
public R loadSfcAssemble(SfcDto sfcDto) {
return R.ok(sfcDataAssembleService.loadSfcAssemble(sfcDto));
}
/**
* id
*
* @param id
* @return
*/
@ResponseBody
@GetMapping("/{id:.+}")
public R getSfcDataAssembleById(@PathVariable String id) {
return R.ok( sfcDataAssembleService.getById(id));
}
/**
*
*
* @return
*/
@ResponseBody
@GetMapping("")
public R getSfcDataAssembleList(SfcDataAssemble sfcDataAssemble){
List<SfcDataAssemble> result;
QueryWrapper<SfcDataAssemble> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(sfcDataAssemble);
result = sfcDataAssembleService.list(queryWrapper);
return R.ok(result);
}
/**
*
*
* @param frontPage
* @return
*/
@ResponseBody
@GetMapping("/page")
public R page(FrontPage<SfcDataAssemble> frontPage, SfcDataAssemble sfcDataAssemble){
IPage result;
QueryWrapper<SfcDataAssemble> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(sfcDataAssemble);
if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) {
//TODO modify global query
queryWrapper.lambda().and(wrapper -> wrapper
.like(SfcDataAssemble::getHandle, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getSite, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getSfcDispatchBo, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getStatus, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getInventoryBo, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getItemBo, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getCreatedUser, frontPage.getGlobalQuery())
.or().like(SfcDataAssemble::getModifyUser, frontPage.getGlobalQuery())
);
}
result = sfcDataAssembleService.page(frontPage.getPagePlus(), queryWrapper);
return R.ok(result);
}
/**
*
* @param sfcDataAssemble
* @return null
*/
@PostMapping
public R save(@RequestBody SfcDataAssemble sfcDataAssemble) {
return R.ok(sfcDataAssembleService.save(sfcDataAssemble));
}
/**
*
* @param sfcDataAssemble
* @return null
*/
@PutMapping
public R updateById(@RequestBody SfcDataAssemble sfcDataAssemble) {
return R.ok(sfcDataAssembleService.updateById(sfcDataAssemble));
}
/**
* id
* @param id ID
* @return 0 1
*/
@ResponseBody
@RequestMapping(method = RequestMethod.DELETE, value = "/{id:.+}")
public R removeById(@PathVariable("id") String id){
return R.ok(sfcDataAssembleService.removeById(id));
}
/**
*
* @param ids ID
* @return 0 1
*/
@ResponseBody
@RequestMapping(method = RequestMethod.POST, value = "/delete-batch")
public R removeByIds(List<String> ids){
return R.ok(sfcDataAssembleService.removeByIds(ids));
}
}

@ -65,7 +65,7 @@ public interface SfcCrossMapper extends BaseMapper {
Map<String, Object> getSfcInfo(@Param("site")String site, @Param("sfc")String sfc, @Param("operation")String operation);
Integer getSfcDispatch(@Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation, @Param("stepId") String stepId,@Param("resrce")String resrce);
String getSfcDispatch(@Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation, @Param("stepId") String stepId,@Param("resrce")String resrce);
List<SfcDto> getSfcListByResrce(@Param("site") String site, @Param("resrce") String resrce,@Param("locale") String locale);

@ -0,0 +1,69 @@
package com.foreverwin.mesnac.production.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.production.model.SfcDataAssemble;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* <p>
* Mapper
* </p>
*
* @author Philip
* @since 2021-07-19
*/
@Repository
public interface SfcDataAssembleMapper extends BaseMapper<SfcDataAssemble> {
/**
*
* @param sfcDispatchBo BO
* @return
*/
List<Map<String, Object>> querySfcAssemble(@Param("sfcDispatchBo") String sfcDispatchBo);
/**
*
* @param site
* @param sfc
* @param inventoryId
* @param itemBo
* @return
*/
List<Map<String, Object>> queryAssembleDate(@Param("site") String site, @Param("sfc") String sfc, @Param("inventoryId") String inventoryId, @Param("itemBo") String itemBo);
/**
*
* @param handle
* @return
*/
List<Map<String, Object>> sfcAssembleDate(@Param("handle") String handle);
/**
*
* @param
* @return
*/
List<Map<String, Object>> validateSfcAssemble(@Param(value = "site") String site, @Param(value = "inventoryId") String inventoryId, @Param(value = "handle") String handle);
/**
*
* @param handle
* @return
*/
Map<String, Object> querySfcDismantling(@Param("handle") String handle);
List<Map<String, Object>> selectInventoryAnomaly(@Param("site") String site, @Param("inventory") String inventory);
List<Map<String, Object>> selectSfcBomComponent(@Param("sfcDataMainBo") String sfcDataMainBo, @Param("sfcBo") String sfcBo, @Param("stepId") String stepId, @Param("item") String item);
/**
* sfc
* @param site
* @param sfcorinv
* @return
*/
List<Map<String, Object>> queryDrawBySfcOrInv(@Param("site") String site, @Param("sfcorinv") String sfcorinv);
}

@ -0,0 +1,233 @@
package com.foreverwin.mesnac.production.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author Philip
* @since 2021-07-19
*/
@TableName("Z_SFC_DATA_ASSEMBLE")
public class SfcDataAssemble extends Model<SfcDataAssemble> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "HANDLE", type = IdType.INPUT)
private String handle;
/**
*
*/
@TableField("SITE")
private String site;
/**
*
*/
@TableField("SFC_DISPATCH_BO")
private String sfcDispatchBo;
/**
* A/D/
*/
@TableField("STATUS")
private String status;
/**
* BO
*/
@TableField("INVENTORY_BO")
private String inventoryBo;
/**
*
*/
@TableField("ASSEMBLE_QTY")
private BigDecimal assembleQty;
/**
*
*/
@TableField("ITEM_BO")
private String itemBo;
/**
*
*/
@TableField("CREATED_DATE_TIME")
private LocalDateTime createdDateTime;
/**
*
*/
@TableField("CREATED_USER")
private String createdUser;
/**
*
*/
@TableField("MODIFIED_DATE_TIME")
private LocalDateTime modifiedDateTime;
/**
*
*/
@TableField("MODIFY_USER")
private String modifyUser;
/**
*
*/
@TableField("SEQ")
private Double seq;
public String getHandle() {
return handle;
}
public void setHandle(String handle) {
this.handle = handle;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getSfcDispatchBo() {
return sfcDispatchBo;
}
public void setSfcDispatchBo(String sfcDispatchBo) {
this.sfcDispatchBo = sfcDispatchBo;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getInventoryBo() {
return inventoryBo;
}
public void setInventoryBo(String inventoryBo) {
this.inventoryBo = inventoryBo;
}
public BigDecimal getAssembleQty() {
return assembleQty;
}
public void setAssembleQty(BigDecimal assembleQty) {
this.assembleQty = assembleQty;
}
public String getItemBo() {
return itemBo;
}
public void setItemBo(String itemBo) {
this.itemBo = itemBo;
}
public LocalDateTime getCreatedDateTime() {
return createdDateTime;
}
public void setCreatedDateTime(LocalDateTime createdDateTime) {
this.createdDateTime = createdDateTime;
}
public String getCreatedUser() {
return createdUser;
}
public void setCreatedUser(String createdUser) {
this.createdUser = createdUser;
}
public LocalDateTime getModifiedDateTime() {
return modifiedDateTime;
}
public void setModifiedDateTime(LocalDateTime modifiedDateTime) {
this.modifiedDateTime = modifiedDateTime;
}
public String getModifyUser() {
return modifyUser;
}
public void setModifyUser(String modifyUser) {
this.modifyUser = modifyUser;
}
public Double getSeq() {
return seq;
}
public void setSeq(Double seq) {
this.seq = seq;
}
public static final String HANDLE = "HANDLE";
public static final String SITE = "SITE";
public static final String SFC_DISPATCH_BO = "SFC_DISPATCH_BO";
public static final String STATUS = "STATUS";
public static final String INVENTORY_BO = "INVENTORY_BO";
public static final String ASSEMBLE_QTY = "ASSEMBLE_QTY";
public static final String ITEM_BO = "ITEM_BO";
public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
public static final String CREATED_USER = "CREATED_USER";
public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
public static final String MODIFY_USER = "MODIFY_USER";
public static final String SEQ = "SEQ";
@Override
protected Serializable pkVal() {
return this.handle;
}
@Override
public String toString() {
return "SfcDataAssemble{" +
"handle = " + handle +
", site = " + site +
", sfcDispatchBo = " + sfcDispatchBo +
", status = " + status +
", inventoryBo = " + inventoryBo +
", assembleQty = " + assembleQty +
", itemBo = " + itemBo +
", createdDateTime = " + createdDateTime +
", createdUser = " + createdUser +
", modifiedDateTime = " + modifiedDateTime +
", modifyUser = " + modifyUser +
", seq = " + seq +
"}";
}
}

@ -15,4 +15,5 @@ public interface PodTemplateService {
void sfcStart(Map<String, Object> map);
void sfcComplete(Map<String, Object> map);
}

@ -0,0 +1,35 @@
package com.foreverwin.mesnac.production.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.production.model.SfcDataAssemble;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.util.FrontPage;
import java.util.List;
import java.util.Map;
/**
* <p>
*
* </p>
*
* @author Philip
* @since 2021-07-19
*/
public interface SfcDataAssembleService extends IService<SfcDataAssemble> {
/**
*
* @param frontPage
* @return
*/
IPage<SfcDataAssemble> selectPage(FrontPage<SfcDataAssemble> frontPage, SfcDataAssemble sfcDataAssemble);
List<SfcDataAssemble> selectList(SfcDataAssemble sfcDataAssemble);
Object loadSfcAssemble(SfcDto sfcDto);
Map<String, Object> assembleInventory(Map<String, Object> paramMap) throws BaseException;
}

@ -111,8 +111,8 @@ public class PodTemplateServiceImpl implements PodTemplateService {
throw new BaseException("产品条码"+sfc+"在"+operationBySfcBo.getOperation()+"/"+operationBySfcBo.getDescription()+"工序");
}*/
//校验SFC+工序+设备+STEP_ID是否与当前设备确认的派工单匹配
Integer integer = sfcCrossMapper.getSfcDispatch(site, sfc, operationBySfcBo.getOperation(), operationBySfcBo.getStepId(), resrce);
if (integer < 1) {
String sfcDispatchStatus = sfcCrossMapper.getSfcDispatch(site, sfc, operationBySfcBo.getOperation(), operationBySfcBo.getStepId(), resrce);
if (StringUtil.isBlank(sfcDispatchStatus)) {
throw new BaseException("产品条码与当前设备工序确认的派工单不匹配");
}
@ -248,6 +248,7 @@ public class PodTemplateServiceImpl implements PodTemplateService {
sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.COMPLETE.getCode());
});
}
void senErp() throws RemoteException {
String shopOrder = "SO20210714";
String stepId = "OP001";

@ -0,0 +1,320 @@
package com.foreverwin.mesnac.production.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.meapi.model.Inventory;
import com.foreverwin.mesnac.meapi.service.InventoryService;
import com.foreverwin.mesnac.meapi.service.OperationService;
import com.foreverwin.mesnac.production.mapper.SfcCrossMapper;
import com.foreverwin.mesnac.production.mapper.SfcDataAssembleMapper;
import com.foreverwin.mesnac.production.model.SfcDataAssemble;
import com.foreverwin.mesnac.production.service.SfcDataAssembleService;
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.FrontPage;
import com.sap.me.inventory.InventoryServiceInterface;
import com.sap.me.inventory.InventoryValidateAndAddRequest;
import com.sap.me.production.AssembleComponentsRequest;
import com.sap.me.production.AssemblyComponent;
import com.sap.me.production.AssemblyDataField;
import com.sap.me.production.AssemblyServiceInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
/**
* <p>
*
* </p>
*
* @author Philip
* @since 2021-07-19
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class SfcDataAssembleServiceImpl extends ServiceImpl<SfcDataAssembleMapper, SfcDataAssemble> implements SfcDataAssembleService {
@Autowired
private SfcDataAssembleMapper sfcDataAssembleMapper;
@Autowired
private SfcCrossMapper sfcCrossMapper;
@Autowired
private SfcDispatchCommonService sfcDispatchCommonService;
@Autowired
private InventoryService inventoryService;
@Autowired
private OperationService operationService;
@Override
public IPage<SfcDataAssemble> selectPage(FrontPage<SfcDataAssemble> frontPage, SfcDataAssemble sfcDataAssemble) {
QueryWrapper<SfcDataAssemble> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(sfcDataAssemble);
return super.page(frontPage.getPagePlus(), queryWrapper);
}
@Override
public List<SfcDataAssemble> selectList(SfcDataAssemble sfcDataAssemble) {
QueryWrapper<SfcDataAssemble> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(sfcDataAssemble);
return super.list(queryWrapper);
}
@Override
public Object loadSfcAssemble(SfcDto sfcDto) {
//构造参数
String site = CommonMethods.getSite();
String user = CommonMethods.getUser();
String sfc = sfcDto.getSfc();
String operation = sfcDto.getOperation();
String resrce = sfcDto.getResrce();
String workCenter = sfcDto.getWorkCenter();
String stepId = sfcDto.getStepId();
SfcDispatchDto sfcDispatchDto=new SfcDispatchDto();
sfcDispatchDto.setSfc(sfc);
sfcDispatchDto.setStepId(stepId);
sfcDispatchDto.setResrce(resrce);
sfcDispatchDto.setOperation(operation);
SfcDispatchDto sfcDispatchBySfc = sfcDispatchCommonService.findSfcDispatchBySfc(sfcDispatchDto);
if(sfcDispatchBySfc==null||!sfcDispatchBySfc.getDispatchStatus().equals(DispatchStatusEnum.START)){
throw new BaseException("未在生产操作面板中执行开始操作!");
}
Map<String, Object> resultMap = new HashMap<String, Object>();
//查询装配数据
List<Map<String, Object>> assembleList = sfcDataAssembleMapper.querySfcAssemble(sfcDispatchBySfc.getHandle());
resultMap.put("ASSEMBLE_LIST", assembleList);
return resultMap;
}
@Override
public Map<String, Object> assembleInventory(Map<String, Object> paramMap) throws BaseException {
String site = (String) paramMap.get("SITE");
String user = (String) paramMap.get("USER");
String inventoryId = (String) paramMap.get("INVENTORY_ID");
String sfcDispatchBo = (String) paramMap.get("SFC_DATA_MAIN_BO");
String sfc = (String) paramMap.get("SFC");
String barCode = inventoryId;
SfcDispatchDto sfcDispatch=new SfcDispatchDto();
SfcDispatchDto sfcDataMain = sfcDispatchCommonService.findSfcDispatchBySfc(sfcDispatch);
//判断条码是否存在
Inventory inv = inventoryService.getById("InventoryBO:" + site + "," + inventoryId);
/*if(inv.getQtyOnHand() <= 0){
throw new BaseException("物料条码["+inventoryId+"]已无库存数量,无法装配!");
}*/
String[] inventoryIds = null;
if(inv == null){
//一定为拆机,扫描的条码格式为 派工单*步骤标识*物料*SFC*BOM组件顺序
int result1 = inventoryId.indexOf("*");
if (result1 == -1) {
throw new BaseException("物料条码[" + barCode + "]不存在!");
}
inventoryIds = inventoryId.split("\\*");
if (inventoryIds.length != 5) {
throw new BaseException("物料条码[" + barCode + "]不存在!");
}
//判断扫描的条码是否符合
Map<String, Object> sfcDismantling = sfcDataAssembleMapper.querySfcDismantling(sfcDispatchBo);
if(!inventoryIds[0].equals(sfcDismantling.get("DISPATCH_NO")) || !inventoryIds[1].equals(sfcDismantling.get("STEP_ID"))
|| !inventoryIds[3].equals(sfcDismantling.get("SFC"))){
throw new BaseException("物料条码[" + barCode + "]不在装配列表中!");
}
}
//获取需装配数据,判断是为拆机还是装配
List<Map<String, Object>> assembleList = sfcDataAssembleMapper.querySfcAssemble(sfcDispatchBo);
String isFlag = "N";//是否在装配列表中
String isAssemble = "";//装配情况按颜色区分GREEN已装配/拆机完成YELLOW未装配/拆机完成WHITE未进行装配/拆机完成
String item = "";//物料
String isDismantling = "N";//是否为拆机
String itemBo = "";
String bomCompBo = "";
double seq = 0;
BigDecimal qty = BigDecimal.ZERO;
BigDecimal assembleQty = BigDecimal.ZERO;
//for循环判断是否为拆机
for(int i = 0; i < assembleList.size(); i++){
if(inv != null && assembleList.get(i).get("ITEM_BO").equals(inv.getItemBo())){
//为装配或拆机
isDismantling = (String) assembleList.get(i).get("IS_DISMANTLING");
isFlag = "Y";
}else if(inv == null && HandleEnum.ITEM.getPart((String) assembleList.get(i).get("ITEM_BO"),1).equals(inventoryIds[2])
&& "Y".equals(assembleList.get(i).get("IS_DISMANTLING"))){
//一定为拆机
isFlag = "Y";
isDismantling = "Y";
}
}
if(isFlag.equals("N")){
throw new BaseException("物料条码["+barCode+"]不在装配列表中!");
}
//条码不存在且为装配组件提示报错
if(inv == null && "N".equals(isDismantling)){
throw new BaseException("物料条码["+barCode+"]不存在!");
}
//for循环构造数据
isFlag = "N";
for(int i = 0; i < assembleList.size(); i++){
if("N".equals(isDismantling)) {
//装配
if (assembleList.get(i).get("ITEM_BO").equals(inv.getItemBo())) {
isFlag = "Y";
qty = (new BigDecimal(String.valueOf(assembleList.get(i).get("QTY"))));
assembleQty = (new BigDecimal(String.valueOf(assembleList.get(i).get("ASSEMBLE_QTY"))));
item = (String) assembleList.get(i).get("ITEM");
isAssemble = (String) assembleList.get(i).get("IS_ASSEMBLE");
seq = (new BigDecimal(String.valueOf(assembleList.get(i).get("SEQ")))).doubleValue();
itemBo = (String) assembleList.get(i).get("ITEM_BO");
bomCompBo = (String) assembleList.get(i).get("BOM_COMPONENT_BO");
}
}else{
//拆机
if(inv != null){
//条码存在
throw new BaseException("物料条码["+barCode+"]已被拆机,无法再次进行拆机!");
}else{
if(HandleEnum.ITEM.getPart((String) assembleList.get(i).get("ITEM_BO"),1).equals(inventoryIds[2]) && inventoryIds[4].equals(String.valueOf(assembleList.get(i).get("SEQ")))){
isFlag = "Y";
qty = (new BigDecimal(String.valueOf(assembleList.get(i).get("QTY"))));
assembleQty = (new BigDecimal(String.valueOf(assembleList.get(i).get("ASSEMBLE_QTY"))));
item = (String) assembleList.get(i).get("ITEM");
isAssemble = (String) assembleList.get(i).get("IS_ASSEMBLE");
seq = (new BigDecimal(String.valueOf(assembleList.get(i).get("SEQ")))).doubleValue();
itemBo = (String) assembleList.get(i).get("ITEM_BO");
bomCompBo = (String) assembleList.get(i).get("BOM_COMPONENT_BO");
}
}
}
}
if(isFlag.equals("N")){
throw new BaseException("物料条码["+barCode+"]不在装配列表中!");
}
if(isAssemble.equals("GREEN")){
String dismantlingDesc = "N".equals(isDismantling) ? "装配" : "拆机";
throw new BaseException("物料["+item+"]已"+ dismantlingDesc +"完成,无需再进行"+ dismantlingDesc +"");
}
//装配
if("N".equals(isDismantling)) {
if(inv.getQtyOnHand().doubleValue() <= 0){
throw new BaseException("物料条码["+barCode+"]已无库存数量,无法装配!");
}
//校验
List<Map<String, Object>> validateList = sfcDataAssembleMapper.validateSfcAssemble(site, inventoryId, sfcDispatchBo);
if (validateList.size() > 0) {
for (int i = 0; i < validateList.size(); i++) {
Map<String, Object> validateMap = validateList.get(i);
String statusMess = (String) validateMap.get("STATUS_MESS");
String status = statusMess.substring(0, 1);
if ("N".equals(status)) {
String mess = statusMess.substring(2, statusMess.length());
throw new BaseException(mess);
}
}
}
//物料消耗,添加装配数据,无需扣减库存
BigDecimal qtyOnHand = BigDecimal.ZERO;
if (inv.getQtyOnHand().subtract (qty.subtract(assembleQty) ).doubleValue() > 0) {
qtyOnHand = inv.getQtyOnHand() .subtract (qty.subtract(assembleQty));
}
BigDecimal assembleSfcQty = inv.getQtyOnHand() .subtract(qtyOnHand) ;
//inv.setQtyOnHand(qtyOnHand);
//inventoryService.saveOrUpdate(inv);
//标准物料消耗
AssembleComponentsRequest assembleComponentsRequest = new AssembleComponentsRequest();
List<AssemblyComponent> componentList = new ArrayList<AssemblyComponent>();
List<AssemblyDataField> adf = new ArrayList<AssemblyDataField>();
AssemblyComponent ac = new AssemblyComponent();
String[] str = {"INVENTORY_ID_SFC", "SLOT_QTY"};
for (int j = 0; j < str.length; j++) {
AssemblyDataField ad = new AssemblyDataField();
ad.setAttribute(str[j]);
String value = inv.getInventoryId();
if ("SLOT_QTY".equals(str[j])) {
value = String.valueOf(assembleSfcQty);
}
ad.setValue(value);
adf.add(ad);
}
ac.setActualComponentRef(inv.getItemBo());
ac.setTimeBased(false);
ac.setBomComponentRef(bomCompBo);
ac.setAssemblyDataFields(adf);
ac.setQty(assembleSfcQty);
ac.setSetErpSentFlag(false);
componentList.add(ac);
assembleComponentsRequest.setResourceRef("ResourceBO:" + site + "," + sfcDataMain.getResrce());
assembleComponentsRequest.setStepId(sfcDataMain.getStepId());
String operationBo = operationService.getCurrentRevisionRef(site, sfcDataMain.getOperation()).getHandle();
assembleComponentsRequest.setOperationRef(operationBo);
assembleComponentsRequest.setEvent("baseFinished:AssemblyPoint");
assembleComponentsRequest.setComponentList(componentList);
assembleComponentsRequest.setSfcRef("SFCBO:" + site + "," + sfc);
try {
AssemblyServiceInterface assemblyService = null;
assemblyService = MEServices.create("com.sap.me.production", "AssemblyService", site);
assemblyService.assembleComponents(assembleComponentsRequest);
} catch (Exception e) {
ExceptionUtil.throwException(e);
}
SfcDataAssemble assemble = new SfcDataAssemble();
assemble.setHandle("SfcDataAssembleBO:" + site + "," + UUID.randomUUID().toString());
assemble.setSite(site);
assemble.setSfcDispatchBo(sfcDispatchBo);
assemble.setStatus("A");
assemble.setInventoryBo(inv.getHandle());
assemble.setSeq(seq);
assemble.setItemBo(inv.getItemBo());
assemble.setAssembleQty(assembleSfcQty);
assemble.setCreatedUser(user);
assemble.setCreatedDateTime(LocalDateTime.now());
assemble.setModifiedDateTime(LocalDateTime.now());
assemble.setModifyUser(user);
sfcDataAssembleMapper.insert(assemble);
}else{
BigDecimal assembleSfcQty = qty;
//生成库存
InventoryServiceInterface inventoryServiceInterface = null;
try {
inventoryServiceInterface = MEServices.create("com.sap.me.inventory", "InventoryService", site);
} catch (ClassNotFoundException e) {
throw new BaseException(e.getMessage());
}
InventoryValidateAndAddRequest invAddRequest = new InventoryValidateAndAddRequest();
invAddRequest.setInventoryId(inventoryId);
invAddRequest.setQuantityOnHand(assembleSfcQty);
invAddRequest.setItemRef(itemBo);
String shopOrderBo = HandleEnum.SHOP_ORDER.getHandle(site, sfcDataMain.getShopOrder());
invAddRequest.setShopOrderLocationRef(shopOrderBo);
try {
inventoryServiceInterface.validateAndAdd(invAddRequest);
} catch (com.sap.me.frame.domain.BusinessException e) {
ExceptionUtil.throwException( e);
}
}
return null;
}
}

@ -146,8 +146,8 @@ WHERE sfc.site = #{site} and
AND #{operation} = O.OPERATION
WHERE S.SFC=#{sfc} AND S.SITE=#{site}
</select>
<select id="getSfcDispatch" resultType="java.lang.Integer">
SELECT COUNT(HANDLE) FROM Z_SFC_DISPATCH zsd WHERE OPERATION= #{operation} AND SFC= #{sfc} AND STEP_ID= #{stepId} AND SITE= #{site} AND RESRCE=#{resrce}
<select id="getSfcDispatch" resultType="java.lang.String">
SELECT DISPATCH_STATUS FROM Z_SFC_DISPATCH zsd WHERE OPERATION= #{operation} AND SFC= #{sfc} AND STEP_ID= #{stepId} AND SITE= #{site} AND RESRCE=#{resrce}
</select>
<select id="getSfcListByResrce" resultType="com.foreverwin.mesnac.meapi.dto.SfcDto">

@ -0,0 +1,458 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.foreverwin.mesnac.production.mapper.SfcDataAssembleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.foreverwin.mesnac.production.model.SfcDataAssemble">
<id column="HANDLE" property="handle" />
<result column="SITE" property="site" />
<result column="SFC_DISPATCH_BO" property="sfcDispatchBo" />
<result column="STATUS" property="status" />
<result column="INVENTORY_BO" property="inventoryBo" />
<result column="ASSEMBLE_QTY" property="assembleQty" />
<result column="ITEM_BO" property="itemBo" />
<result column="CREATED_DATE_TIME" property="createdDateTime" />
<result column="CREATED_USER" property="createdUser" />
<result column="MODIFIED_DATE_TIME" property="modifiedDateTime" />
<result column="MODIFY_USER" property="modifyUser" />
<result column="SEQ" property="seq" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
HANDLE, SITE, SFC_DISPATCH_BO, STATUS, INVENTORY_BO, ASSEMBLE_QTY, ITEM_BO, CREATED_DATE_TIME, CREATED_USER, MODIFIED_DATE_TIME, MODIFY_USER, SEQ
</sql>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="selectById" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> FROM Z_SFC_DATA_ASSEMBLE WHERE HANDLE=#{handle}
</select>
<select id="selectByMap" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM Z_SFC_DATA_ASSEMBLE
<if test="cm!=null and !cm.isEmpty">
<where>
<foreach collection="cm.keys" item="k" separator="AND">
<if test="cm[k] != null">
${k} = #{cm[${k}]}
</if>
</foreach>
</where>
</if>
</select>
<select id="selectBatchIds" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include>
FROM Z_SFC_DATA_ASSEMBLE WHERE HANDLE IN (
<foreach item="item" index="index" collection="coll" separator=",">#{item}
</foreach>)
</select>
<select id="selectOne" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"></include> FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew.entity.handle!=null">
HANDLE=#{ew.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</where>
</select>
<select id="selectCount" resultType="Integer">
SELECT COUNT(1) FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectList" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectMaps" resultType="HashMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectObjs" resultType="Object">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectPage" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectMapsPage" resultType="HashMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<insert id="insert" parameterType="com.foreverwin.mesnac.production.model.SfcDataAssemble">
INSERT INTO Z_SFC_DATA_ASSEMBLE
<trim prefix="(" suffix=")" suffixOverrides=",">
HANDLE,
<if test="site!=null">SITE,</if>
<if test="sfcDispatchBo!=null">SFC_DISPATCH_BO,</if>
<if test="status!=null">STATUS,</if>
<if test="inventoryBo!=null">INVENTORY_BO,</if>
<if test="assembleQty!=null">ASSEMBLE_QTY,</if>
<if test="itemBo!=null">ITEM_BO,</if>
<if test="createdDateTime!=null">CREATED_DATE_TIME,</if>
<if test="createdUser!=null">CREATED_USER,</if>
<if test="modifiedDateTime!=null">MODIFIED_DATE_TIME,</if>
<if test="modifyUser!=null">MODIFY_USER,</if>
<if test="seq!=null">SEQ,</if>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
<if test="site!=null">#{site},</if>
<if test="sfcDispatchBo!=null">#{sfcDispatchBo},</if>
<if test="status!=null">#{status},</if>
<if test="inventoryBo!=null">#{inventoryBo},</if>
<if test="assembleQty!=null">#{assembleQty},</if>
<if test="itemBo!=null">#{itemBo},</if>
<if test="createdDateTime!=null">#{createdDateTime},</if>
<if test="createdUser!=null">#{createdUser},</if>
<if test="modifiedDateTime!=null">#{modifiedDateTime},</if>
<if test="modifyUser!=null">#{modifyUser},</if>
<if test="seq!=null">#{seq},</if>
</trim>
</insert>
<insert id="insertAllColumn" parameterType="com.foreverwin.mesnac.production.model.SfcDataAssemble">
INSERT INTO Z_SFC_DATA_ASSEMBLE
<trim prefix="(" suffix=")" suffixOverrides=",">
<include refid="Base_Column_List"></include>
</trim> VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{handle},
#{site},
#{sfcDispatchBo},
#{status},
#{inventoryBo},
#{assembleQty},
#{itemBo},
#{createdDateTime},
#{createdUser},
#{modifiedDateTime},
#{modifyUser},
#{seq},
</trim>
</insert>
<update id="updateById">
UPDATE Z_SFC_DATA_ASSEMBLE <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.sfcDispatchBo!=null">SFC_DISPATCH_BO=#{et.sfcDispatchBo},</if>
<if test="et.status!=null">STATUS=#{et.status},</if>
<if test="et.inventoryBo!=null">INVENTORY_BO=#{et.inventoryBo},</if>
<if test="et.assembleQty!=null">ASSEMBLE_QTY=#{et.assembleQty},</if>
<if test="et.itemBo!=null">ITEM_BO=#{et.itemBo},</if>
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
<if test="et.createdUser!=null">CREATED_USER=#{et.createdUser},</if>
<if test="et.modifiedDateTime!=null">MODIFIED_DATE_TIME=#{et.modifiedDateTime},</if>
<if test="et.modifyUser!=null">MODIFY_USER=#{et.modifyUser},</if>
<if test="et.seq!=null">SEQ=#{et.seq},</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>
<update id="updateAllColumnById">
UPDATE Z_SFC_DATA_ASSEMBLE <trim prefix="SET" suffixOverrides=",">
SITE=#{et.site},
SFC_DISPATCH_BO=#{et.sfcDispatchBo},
STATUS=#{et.status},
INVENTORY_BO=#{et.inventoryBo},
ASSEMBLE_QTY=#{et.assembleQty},
ITEM_BO=#{et.itemBo},
CREATED_DATE_TIME=#{et.createdDateTime},
CREATED_USER=#{et.createdUser},
MODIFIED_DATE_TIME=#{et.modifiedDateTime},
MODIFY_USER=#{et.modifyUser},
SEQ=#{et.seq},
</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>
<update id="update">
UPDATE Z_SFC_DATA_ASSEMBLE <trim prefix="SET" suffixOverrides=",">
<if test="et.site!=null">SITE=#{et.site},</if>
<if test="et.sfcDispatchBo!=null">SFC_DISPATCH_BO=#{et.sfcDispatchBo},</if>
<if test="et.status!=null">STATUS=#{et.status},</if>
<if test="et.inventoryBo!=null">INVENTORY_BO=#{et.inventoryBo},</if>
<if test="et.assembleQty!=null">ASSEMBLE_QTY=#{et.assembleQty},</if>
<if test="et.itemBo!=null">ITEM_BO=#{et.itemBo},</if>
<if test="et.createdDateTime!=null">CREATED_DATE_TIME=#{et.createdDateTime},</if>
<if test="et.createdUser!=null">CREATED_USER=#{et.createdUser},</if>
<if test="et.modifiedDateTime!=null">MODIFIED_DATE_TIME=#{et.modifiedDateTime},</if>
<if test="et.modifyUser!=null">MODIFY_USER=#{et.modifyUser},</if>
<if test="et.seq!=null">SEQ=#{et.seq},</if>
</trim>
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
HANDLE=#{ew.entity.handle}
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</update>
<delete id="deleteById">
DELETE FROM Z_SFC_DATA_ASSEMBLE WHERE HANDLE=#{handle}
</delete>
<delete id="deleteByMap">
DELETE FROM Z_SFC_DATA_ASSEMBLE
<if test="cm!=null and !cm.isEmpty">
<where>
<foreach collection="cm.keys" item="k" separator="AND">
<if test="cm[k] != null">
${k} = #{cm[${k}]}
</if>
</foreach>
</where>
</if>
</delete>
<delete id="delete">
DELETE FROM Z_SFC_DATA_ASSEMBLE
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.handle!=null">
HANDLE=#{ew.entity.handle}
</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.status!=null"> AND STATUS=#{ew.entity.status}</if>
<if test="ew.entity.inventoryBo!=null"> AND INVENTORY_BO=#{ew.entity.inventoryBo}</if>
<if test="ew.entity.assembleQty!=null"> AND ASSEMBLE_QTY=#{ew.entity.assembleQty}</if>
<if test="ew.entity.itemBo!=null"> AND ITEM_BO=#{ew.entity.itemBo}</if>
<if test="ew.entity.createdDateTime!=null"> AND CREATED_DATE_TIME=#{ew.entity.createdDateTime}</if>
<if test="ew.entity.createdUser!=null"> AND CREATED_USER=#{ew.entity.createdUser}</if>
<if test="ew.entity.modifiedDateTime!=null"> AND MODIFIED_DATE_TIME=#{ew.entity.modifiedDateTime}</if>
<if test="ew.entity.modifyUser!=null"> AND MODIFY_USER=#{ew.entity.modifyUser}</if>
<if test="ew.entity.seq!=null"> AND SEQ=#{ew.entity.seq}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</delete>
<delete id="deleteBatchIds">
DELETE FROM Z_SFC_DATA_ASSEMBLE WHERE HANDLE IN (
<foreach item="item" index="index" collection="coll" separator=",">#{item}
</foreach>)
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="querySfcAssemble" resultType="map">
WITH SFC_DATA AS(
SELECT DA.ITEM_BO,DA.SEQ, SUM(DA.ASSEMBLE_QTY) ASSEMBLE_QTY FROM Z_SFC_DATA_ASSEMBLE DA
WHERE DA.SFC_DISPATCH_BO = #{sfcDispatchBo}
GROUP BY DA.ITEM_BO, DA.SEQ
)
SELECT CASE WHEN CF2.VALUE='Y' THEN N'-' ELSE N'+' END || N'物料:'||I.ITEM||'/'||I.REVISION||N' 数量:'|| S.QTY * BC.QTY ITEM_REVISION,
S.QTY * BC.QTY QTY,NVL(SD.ASSEMBLE_QTY,0) ASSEMBLE_QTY,I.HANDLE ITEM_BO,I.ITEM,IT.DESCRIPTION ITEM_DESC,
CASE WHEN NVL(SD.ASSEMBLE_QTY,0) = 0 THEN 'WHITE'
WHEN NVL(SD.ASSEMBLE_QTY,0) = S.QTY * BC.QTY THEN 'GREEN'
ELSE 'YELLOW' END IS_ASSEMBLE,BC.HANDLE BOM_COMPONENT_BO,
CASE WHEN CF2.VALUE='Y' THEN 'Y' ELSE 'N' END IS_DISMANTLING, BC."SEQUENCE" SEQ
FROM Z_SFC_DISPATCH DM
INNER JOIN SFC S ON S.SITE = DM.SITE AND S.SFC = DM.SFC
INNER JOIN SFC_BOM SB ON SB.SFC_BO = S.HANDLE
INNER JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
INNER JOIN ITEM I ON I.HANDLE = BC.COMPONENT_GBO
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE ='zh'
INNER JOIN CUSTOM_FIELDS I_CF ON I_CF.HANDLE = I.HANDLE AND I_CF."ATTRIBUTE" = 'ACCESSORY_TYPE' AND I_CF.VALUE ='9'
INNER JOIN BOM_OPERATION BO ON BO.BOM_COMPONENT_BO = BC.HANDLE
AND BO.OPERATION_BO = 'OperationBO:'||S.SITE||','||DM.OPERATION||',#'
INNER JOIN CUSTOM_FIELDS CF ON CF.HANDLE = BC.HANDLE AND CF."ATTRIBUTE" = 'STEP_ID' AND CF.VALUE = DM.STEP_ID
LEFT JOIN SFC_DATA SD ON SD.ITEM_BO = I.HANDLE AND BC."SEQUENCE" = SD.SEQ
WHERE DM.HANDLE = #{sfcDispatchBo}
</select>
</mapper>
Loading…
Cancel
Save