|
|
|
|
@ -21,9 +21,17 @@ import org.springblade.core.tool.utils.StringUtil; |
|
|
|
|
import org.springblade.desk.basic.constant.FlowConst; |
|
|
|
|
import org.springblade.desk.basic.service.IProcessAbilityService; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; |
|
|
|
|
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; |
|
|
|
|
import org.springblade.desk.dashboard.service.IBsProcessSetService; |
|
|
|
|
import org.springblade.desk.dashboard.service.IBsTeamSetService; |
|
|
|
|
import org.springblade.desk.dashboard.service.IDsPartService; |
|
|
|
|
import org.springblade.desk.device.pojo.entity.EquipmentEntity; |
|
|
|
|
import org.springblade.desk.device.pojo.entity.FeiBaSetEntity; |
|
|
|
|
import org.springblade.desk.device.pojo.entity.RackSetEntity; |
|
|
|
|
import org.springblade.desk.device.service.IEquipmentService; |
|
|
|
|
import org.springblade.desk.device.service.IFeiBaSetService; |
|
|
|
|
import org.springblade.desk.device.service.IRackSetService; |
|
|
|
|
import org.springblade.desk.order.mapper.YieldOrderMapper; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.YieldOrder; |
|
|
|
|
import org.springblade.desk.order.pojo.enums.YieldOrderEnum; |
|
|
|
|
@ -41,8 +49,11 @@ import org.springblade.desk.produce.pojo.vo.*; |
|
|
|
|
import org.springblade.desk.produce.service.*; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.InspectionTask; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.PlanTest; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.ProReTemplate; |
|
|
|
|
import org.springblade.desk.quality.pojo.entity.WorkPlanItem; |
|
|
|
|
import org.springblade.desk.quality.service.IInspectionTaskService; |
|
|
|
|
import org.springblade.desk.quality.service.IPlanTestService; |
|
|
|
|
import org.springblade.desk.quality.service.IProReTemplateService; |
|
|
|
|
import org.springblade.desk.quality.service.IWorkPlanItemService; |
|
|
|
|
import org.springblade.scheduling.pojo.entity.WorkOrderEntity; |
|
|
|
|
import org.springblade.erpdata.feign.IErpDataProduceClient; |
|
|
|
|
@ -60,6 +71,7 @@ import java.io.ByteArrayOutputStream; |
|
|
|
|
import java.time.Duration; |
|
|
|
|
import java.time.Instant; |
|
|
|
|
import java.time.LocalDateTime; |
|
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
@ -106,6 +118,24 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
private final YieldOrderMapper yieldOrderMapper; |
|
|
|
|
|
|
|
|
|
private final IEquipmentService equipmentService; |
|
|
|
|
|
|
|
|
|
private final IFeiBaSetService feiBaSetService; |
|
|
|
|
|
|
|
|
|
private final IRackSetService rackSetService; |
|
|
|
|
|
|
|
|
|
private final IInspectionTaskService inspectionTaskService; |
|
|
|
|
|
|
|
|
|
private final IBsTeamSetService teamSetService; |
|
|
|
|
|
|
|
|
|
private final IMesRbFilePreserveSlotService mesRbFilePreserveSlotService; |
|
|
|
|
|
|
|
|
|
private final IMesQcProduceRunService qcProduceRunService; |
|
|
|
|
|
|
|
|
|
private final IProReTemplateService proReTemplateService; |
|
|
|
|
|
|
|
|
|
private final IMesRbFilePreserveDetailService mesRbFilePreserveDetailService; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public IPage<WorkOrderVO> selectWorkOrderPage(IPage<WorkOrderVO> page, WorkOrderDTO workOrder) { |
|
|
|
|
return page.setRecords(baseMapper.selectWorkOrderPage(page, workOrder)); |
|
|
|
|
@ -119,8 +149,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
batchPrepareVO.setId(woId); |
|
|
|
|
batchPrepareVO.setYieldOrder(yieldOrder); |
|
|
|
|
batchPrepareVO.setWoCode(this.nextCode(yieldOrder.getYpCode())); |
|
|
|
|
batchPrepareVO.setCardNo(this.nextCardNo(yieldOrder.getYpCode(),workOrder.getCardNo())); |
|
|
|
|
batchPrepareVO.setBatchNo(this.nextBatchNo(yieldOrder.getYpCode(),workOrder.getBatchNo())); |
|
|
|
|
batchPrepareVO.setCardNo(this.nextCardNo(yieldOrder.getYpCode(), workOrder.getCardNo())); |
|
|
|
|
batchPrepareVO.setBatchNo(this.nextBatchNo(yieldOrder.getYpCode(), workOrder.getBatchNo())); |
|
|
|
|
if (workOrder.getMesCardNo() != null) { |
|
|
|
|
batchPrepareVO.setMesCardNo(this.nextMesCardNo(workOrder.getMesCardNo())); |
|
|
|
|
} |
|
|
|
|
@ -164,7 +194,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
List<WorkPlan> wpList = new ArrayList<>(oldList.size()); |
|
|
|
|
for (WorkPlan oldWp : oldList) { |
|
|
|
|
WorkPlan wp = new WorkPlan(); |
|
|
|
|
BeanUtil.copyProperties(oldWp,wp); |
|
|
|
|
BeanUtil.copyProperties(oldWp, wp); |
|
|
|
|
|
|
|
|
|
wp.setId(null); |
|
|
|
|
|
|
|
|
|
@ -303,7 +333,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
PlateAround pa = plateAroundMapper.selectOne(Wrappers.lambdaQuery(PlateAround.class).eq(PlateAround::getWpId, wp.getId()).eq(PlateAround::getPaType, PlateAround.BEFORE_PLAT_IN)); |
|
|
|
|
if (pa == null) { |
|
|
|
|
//下序外协,当前工序需要镀前入库
|
|
|
|
|
throw new ServiceException("未找到工序【"+wp.getPpsId()+"】镀前入库记录,无法转单!"); |
|
|
|
|
throw new ServiceException("未找到工序【" + wp.getPpsId() + "】镀前入库记录,无法转单!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -686,6 +716,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* LocalDateTime 转 Date |
|
|
|
|
* |
|
|
|
|
* @param localDateTime |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@ -834,9 +865,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
private String randSn(int randNum) { |
|
|
|
|
StringBuilder t = new StringBuilder(); |
|
|
|
|
for(int i = 0; i < randNum; ++i) { |
|
|
|
|
for (int i = 0; i < randNum; ++i) { |
|
|
|
|
double dblRnd = Math.random() * 10.0; |
|
|
|
|
int intRnd = (int)dblRnd; |
|
|
|
|
int intRnd = (int) dblRnd; |
|
|
|
|
t.append(intRnd); |
|
|
|
|
} |
|
|
|
|
return t.toString(); |
|
|
|
|
@ -1182,12 +1213,554 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public ProduceMonitorPlanDataVO getPlanDetail(Long wpId) { |
|
|
|
|
return null; |
|
|
|
|
ProduceMonitorPlanDataVO planDataVO = new ProduceMonitorPlanDataVO(); |
|
|
|
|
// 工序信息
|
|
|
|
|
WorkPlan workPlan = workPlanService.getById(wpId); |
|
|
|
|
BeanUtils.copyProperties(workPlan, planDataVO); |
|
|
|
|
|
|
|
|
|
// 加工记录
|
|
|
|
|
List<MakeRec> makeRecs = makeRecService.list(Wrappers.lambdaQuery(MakeRec.class).eq(MakeRec::getWpId, wpId)); |
|
|
|
|
if (CollectionUtils.isNotEmpty(makeRecs)) { |
|
|
|
|
List<ProduceMonitorMakeRecVO> makeRecVos = new ArrayList<>(); |
|
|
|
|
for (MakeRec makeRec : makeRecs) { |
|
|
|
|
ProduceMonitorMakeRecVO makeRecVO = new ProduceMonitorMakeRecVO(); |
|
|
|
|
BeanUtils.copyProperties(makeRec, makeRecVO); |
|
|
|
|
makeRecVO.setWorker(UserCache.getUser(makeRec.getWorker()) != null ? UserCache.getUser(makeRec.getWorker()).getRealName() : ""); |
|
|
|
|
makeRecVos.add(makeRecVO); |
|
|
|
|
} |
|
|
|
|
planDataVO.setMrList(makeRecVos); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.getProcessByWp(planDataVO, workPlan); |
|
|
|
|
|
|
|
|
|
// 设备使用详情
|
|
|
|
|
List<MacToolUse> macToolUses = macToolUseService.list(Wrappers.lambdaQuery(MacToolUse.class).eq(MacToolUse::getWpId, workPlan.getId()).eq(MacToolUse::getMtuIndex, "2").orderBy(true, true, MacToolUse::getMtnCode)); |
|
|
|
|
if (CollectionUtils.isNotEmpty(macToolUses)) { |
|
|
|
|
List<ProduceMonitorMtuListVO> mtuList = new ArrayList<>(); |
|
|
|
|
// 设备信息
|
|
|
|
|
List<EquipmentEntity> equipmentEntities = equipmentService.listByIds(macToolUses.stream().map(MacToolUse::getEquipmentCard).toList()); |
|
|
|
|
Map<Long, EquipmentEntity> equipmentEntityMap = equipmentEntities.stream().collect(Collectors.toMap(EquipmentEntity::getId, eq -> eq)); |
|
|
|
|
// 飞靶信息
|
|
|
|
|
List<FeiBaSetEntity> feiBaSetEntities = feiBaSetService.listByIds(macToolUses.stream().map(MacToolUse::getBsFeiBaSet).toList()); |
|
|
|
|
Map<Long, FeiBaSetEntity> feiBaSetEntityMap = feiBaSetEntities.stream().collect(Collectors.toMap(FeiBaSetEntity::getId, fb -> fb)); |
|
|
|
|
// 挂具信息
|
|
|
|
|
List<RackSetEntity> rackSetEntities = rackSetService.listByIds(macToolUses.stream().map(MacToolUse::getBsRackSet).toList()); |
|
|
|
|
Map<Long, RackSetEntity> rackSetEntityMap = rackSetEntities.stream().collect(Collectors.toMap(RackSetEntity::getId, rack -> rack)); |
|
|
|
|
for (MacToolUse macToolUse : macToolUses) { |
|
|
|
|
ProduceMonitorMtuListVO mtuListVO = new ProduceMonitorMtuListVO(); |
|
|
|
|
mtuListVO.setHangNum(macToolUse.getHangNum()); |
|
|
|
|
mtuListVO.setRsCode(rackSetEntityMap.get(macToolUse.getBsRackSet()) != null ? rackSetEntityMap.get(macToolUse.getBsRackSet()).getRsCode() : ""); |
|
|
|
|
mtuListVO.setFsCode(feiBaSetEntityMap.get(macToolUse.getBsFeiBaSet()) != null ? feiBaSetEntityMap.get(macToolUse.getBsFeiBaSet()).getFsCode() : ""); |
|
|
|
|
mtuListVO.setDeviceCode(equipmentEntityMap.get(macToolUse.getEquipmentCard()) != null ? equipmentEntityMap.get(macToolUse.getEquipmentCard()).getDeviceName() : ""); |
|
|
|
|
mtuList.add(mtuListVO); |
|
|
|
|
} |
|
|
|
|
planDataVO.setMtuList(mtuList); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 检验记录
|
|
|
|
|
InspectionTask prWorkCheckByWpId = inspectionTaskService.getPrWorkCheckByWpId(wpId); |
|
|
|
|
ProduceMonitorWorkCheckVO workCheckVO = new ProduceMonitorWorkCheckVO(); |
|
|
|
|
BeanUtils.copyProperties(prWorkCheckByWpId, workCheckVO); |
|
|
|
|
planDataVO.setPrWorkCheck(workCheckVO); |
|
|
|
|
|
|
|
|
|
// 转试记录
|
|
|
|
|
List<PlanTest> planTests = planTestService.list(Wrappers.lambdaQuery(PlanTest.class).eq(PlanTest::getWpId, wpId)); |
|
|
|
|
if (CollectionUtils.isNotEmpty(planTests)) { |
|
|
|
|
planDataVO.setTrialItemList(planTests); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 检验项目
|
|
|
|
|
List<WorkPlanItem> workPlanItems = workPlanItemService.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId)); |
|
|
|
|
if (CollectionUtils.isNotEmpty(workPlanItems)) { |
|
|
|
|
List<ProduceMonitorPlanItemVO> itemVos = new ArrayList<>(); |
|
|
|
|
for (WorkPlanItem workPlanItem : workPlanItems) { |
|
|
|
|
ProduceMonitorPlanItemVO itemVO = new ProduceMonitorPlanItemVO(); |
|
|
|
|
BeanUtils.copyProperties(workPlanItem, itemVO); |
|
|
|
|
itemVO.setCheckMan(UserCache.getUser(workPlanItem.getCheckUserId()) != null ? UserCache.getUser(workPlanItem.getCheckUserId()).getRealName() : ""); |
|
|
|
|
itemVos.add(itemVO); |
|
|
|
|
} |
|
|
|
|
planDataVO.setItemList(itemVos); |
|
|
|
|
} |
|
|
|
|
return planDataVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void getProcessByWp(ProduceMonitorPlanDataVO planDataVO, WorkPlan workPlan) { |
|
|
|
|
List<MesQcProduceRunEntity> qcProduceRunsList; |
|
|
|
|
if (WorkPlan.PRINT_TYPE_PROCESS.equals(workPlan.getPrintType())) { |
|
|
|
|
// 同槽信息
|
|
|
|
|
planDataVO.setSlotList(macToolUseService.listSlotInfo(workPlan)); |
|
|
|
|
// 过程质量记录
|
|
|
|
|
List<ProduceMonitorFileSlotVO> dsRbFilePreserveSlotList = new ArrayList<>(); |
|
|
|
|
BsTeamSetEntity bsTeamSet = teamSetService.getById(workPlan.getMakeTeam()); |
|
|
|
|
if (bsTeamSet != null) { |
|
|
|
|
MacToolUse prMacToolUse; |
|
|
|
|
List<MesRbFilePreserveSlotEntity> preserveSlotList; |
|
|
|
|
MesQcProduceRunEntity boxInfo; |
|
|
|
|
|
|
|
|
|
// 根据电子档案维护组装数据(上线前) 分槽
|
|
|
|
|
List<MacToolUse> dataByWpIdAndIndexList = macToolUseService.getDataByWpIdAndIndexList(workPlan.getId(), "1"); |
|
|
|
|
if (CollectionUtils.isNotEmpty(dataByWpIdAndIndexList)) { |
|
|
|
|
for (MacToolUse prMacToolUseItem : dataByWpIdAndIndexList) { |
|
|
|
|
if (prMacToolUseItem != null && prMacToolUseItem.getId() != null) { |
|
|
|
|
// 获取模板数据
|
|
|
|
|
preserveSlotList = mesRbFilePreserveSlotService.getByRfpId(Long.valueOf(prMacToolUseItem.getRfpId())); |
|
|
|
|
qcProduceRunsList = qcProduceRunService.listPrByWpIdIndexAndMtnCode(dataByWpIdAndIndexList.stream().map(MacToolUse::getMtnCode).toList(), prMacToolUseItem.getMtnCode()); |
|
|
|
|
// 烘箱信息(从设备,工装使用记录获取)
|
|
|
|
|
boxInfo = macToolUseService.getBoxInfoByWpIdMtnCode(workPlan.getId()); |
|
|
|
|
if (boxInfo.getInDate() != null) { |
|
|
|
|
qcProduceRunsList.add(boxInfo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (qcProduceRunsList != null && !qcProduceRunsList.isEmpty()) { |
|
|
|
|
|
|
|
|
|
// 2025-07-23 线上迁移修改删除了日志打印
|
|
|
|
|
// cdl 20250218 修改分槽同一槽号连续出现
|
|
|
|
|
this.setRbFilePreserveData(preserveSlotList, qcProduceRunsList, workPlan, dsRbFilePreserveSlotList, prMacToolUseItem); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 根据电子档案维护组装数据(自动)
|
|
|
|
|
prMacToolUse = macToolUseService.getDataByWpIdAndIndex(workPlan.getId(), "2"); |
|
|
|
|
if (prMacToolUse != null && prMacToolUse.getId() != null) { |
|
|
|
|
// 获取模板数据
|
|
|
|
|
List<ProReTemplate> dsRbFilePreserveList; |
|
|
|
|
BsProcessSetEntity processSet = bsProcessSetService.getById(workPlan.getPpsId()); |
|
|
|
|
if (workPlan.getPpsId() != null && ("喷砂".equals(processSet.getName()) || "涂色标".equals(processSet.getName()))) { |
|
|
|
|
dsRbFilePreserveList = proReTemplateService.getDataByWcIdAndPpsId(null, workPlan.getPpsId(), Boolean.TRUE); |
|
|
|
|
} else { |
|
|
|
|
dsRbFilePreserveList = proReTemplateService.getDataByWcIdAndPpsId(bsTeamSet.getWcId(), workPlan.getPpsId(), Boolean.TRUE); |
|
|
|
|
} |
|
|
|
|
if (dsRbFilePreserveList != null && !dsRbFilePreserveList.isEmpty()) { |
|
|
|
|
preserveSlotList = mesRbFilePreserveSlotService.getByRfpId(dsRbFilePreserveList.get(0).getId()); |
|
|
|
|
qcProduceRunsList = qcProduceRunService.listPrByWpIdIndex(workPlan.getId(), 2, Boolean.TRUE); |
|
|
|
|
|
|
|
|
|
// 烘箱信息(从设备,工装使用记录获取)
|
|
|
|
|
boxInfo = macToolUseService.getBoxInfoByWpIdMtnCode(workPlan.getId()); |
|
|
|
|
if (qcProduceRunsList != null && !qcProduceRunsList.isEmpty() && boxInfo.getInDate() != null) { |
|
|
|
|
qcProduceRunsList.add(boxInfo); |
|
|
|
|
} |
|
|
|
|
if (qcProduceRunsList != null && !qcProduceRunsList.isEmpty()) { |
|
|
|
|
// cdl 20250218 修改分槽同一槽号连续出现
|
|
|
|
|
this.setRbFilePreserveData(preserveSlotList, qcProduceRunsList, workPlan, dsRbFilePreserveSlotList, prMacToolUse); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 获取额外面积数据
|
|
|
|
|
// BsAdditionalMess dataByMtuCode = bsAdditionalMessDao.getDataByOneData(prMacToolUse.getMtnCode(), BsAdditionalMess.TYPE_ONE);
|
|
|
|
|
// workPlan.setBsAdditionalMess(dataByMtuCode);
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 根据电子档案维护组装数据(线下)
|
|
|
|
|
//zxh 20250117 解决单工序绑定两个手动记录只显示一个问题
|
|
|
|
|
List<MacToolUse> prMacToolUseList = macToolUseService.getDataByWpIdAndIndexList(workPlan.getId(), "3"); |
|
|
|
|
if (prMacToolUseList != null && !prMacToolUseList.isEmpty()) { |
|
|
|
|
for (MacToolUse prMacToolUseSd : prMacToolUseList) { |
|
|
|
|
if (prMacToolUseSd != null && prMacToolUseSd.getId() != null) { |
|
|
|
|
// 获取模板数据
|
|
|
|
|
preserveSlotList = mesRbFilePreserveSlotService.getByRfpId(Long.valueOf(prMacToolUseSd.getRfpId())); |
|
|
|
|
qcProduceRunsList = qcProduceRunService.listPrByWpIdIndexAndMtnCode(prMacToolUseList.stream().map(MacToolUse::getMtnCode).toList(), prMacToolUseSd.getMtnCode()); |
|
|
|
|
// 烘箱信息(从设备,工装使用记录获取)
|
|
|
|
|
boxInfo = macToolUseService.getBoxInfoByWpIdMtnCode(workPlan.getId()); |
|
|
|
|
if (boxInfo.getInDate() != null) { |
|
|
|
|
qcProduceRunsList.add(boxInfo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (qcProduceRunsList != null && !qcProduceRunsList.isEmpty()) { |
|
|
|
|
|
|
|
|
|
// cdl 20250218 修改分槽同一槽号连续出现
|
|
|
|
|
this.setRbFilePreserveData(preserveSlotList, qcProduceRunsList, workPlan, dsRbFilePreserveSlotList, prMacToolUseSd); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
planDataVO.setDsRbFilePreserveSlotList(dsRbFilePreserveSlotList); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setRbFilePreserveData(List<MesRbFilePreserveSlotEntity> preserveSlotList, List<MesQcProduceRunEntity> qcProduceRunsList, WorkPlan workPlan, List<ProduceMonitorFileSlotVO> dsRbFilePreserveSlotList, MacToolUse prMacToolUse) { |
|
|
|
|
List<MesRbFilePreserveDetailEntity> dsRbFilePreserveDetailList = null; |
|
|
|
|
ProduceMonitorFileSlotVO newDsRbFilePreserveSlot = null; |
|
|
|
|
MesRbFilePreserveDetailEntity newDsRbFilePreserveDetail = null; |
|
|
|
|
|
|
|
|
|
Map<String, MesRbFilePreserveSlotEntity> preserveSlotMap = preserveSlotList.stream().collect(Collectors.toMap(MesRbFilePreserveSlotEntity::getSlotName, java.util.function.Function.identity())); |
|
|
|
|
List<ProduceMonitorFileSlotVO> temporaryList = new ArrayList<>(); |
|
|
|
|
for (MesQcProduceRunEntity qcProduceRun : qcProduceRunsList) { |
|
|
|
|
// 根据维护的电子档案的槽号找寻对应生产追溯的的数据
|
|
|
|
|
if (StringUtils.isBlank(qcProduceRun.getWorkSlot())) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
MesRbFilePreserveSlotEntity dsRbFilePreserveSlot = preserveSlotMap.get(qcProduceRun.getWorkSlot().trim()); |
|
|
|
|
|
|
|
|
|
if ("水膜连续性检查".equals(qcProduceRun.getWorkSlot().trim())) { |
|
|
|
|
qcProduceRun.setQualified("1"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// cdl 20250218 修改分槽同一槽号连续出现
|
|
|
|
|
this.setTemplateData(dsRbFilePreserveSlot, qcProduceRun, newDsRbFilePreserveSlot, dsRbFilePreserveDetailList, |
|
|
|
|
newDsRbFilePreserveDetail, workPlan, temporaryList, prMacToolUse); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 判断是不是自动线并且有水墨连续性
|
|
|
|
|
MacToolUse macToolUse = macToolUseService.getHangNumIsNull(workPlan.getId()); |
|
|
|
|
if (macToolUse != null && macToolUse.getId() != null) { |
|
|
|
|
List<MesRbFilePreserveSlotEntity> smSlotList = preserveSlotList.stream().filter(i -> i.getSlotName().contains("水膜连续性")).toList(); |
|
|
|
|
for (MesRbFilePreserveSlotEntity dsRbFilePreserveSlot : smSlotList) { |
|
|
|
|
if (dsRbFilePreserveSlot.getSlotName().contains("水膜连续性")) { |
|
|
|
|
MesQcProduceRunEntity qcProduceRun = new MesQcProduceRunEntity(); |
|
|
|
|
qcProduceRun.setQualified("1"); |
|
|
|
|
// cdl 20250218 修改分槽同一槽号连续出现
|
|
|
|
|
this.setTemplateData(dsRbFilePreserveSlot, qcProduceRun, newDsRbFilePreserveSlot, dsRbFilePreserveDetailList, |
|
|
|
|
newDsRbFilePreserveDetail, workPlan, temporaryList, prMacToolUse); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
dsRbFilePreserveSlotList.addAll(temporaryList.stream().sorted(Comparator.comparing(ProduceMonitorFileSlotVO::getSlotIndex)).toList()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setTemplateData(MesRbFilePreserveSlotEntity dsRbFilePreserveSlot, MesQcProduceRunEntity qcProduceRun, ProduceMonitorFileSlotVO newDsRbFilePreserveSlot, List<MesRbFilePreserveDetailEntity> dsRbFilePreserveDetailList, MesRbFilePreserveDetailEntity newDsRbFilePreserveDetail, WorkPlan workPlan, List<ProduceMonitorFileSlotVO> temporaryList, MacToolUse prMacToolUse) { |
|
|
|
|
if (dsRbFilePreserveSlot != null && dsRbFilePreserveSlot.getId() != null) { |
|
|
|
|
// Date转String
|
|
|
|
|
|
|
|
|
|
// 装入槽子对应的信息
|
|
|
|
|
newDsRbFilePreserveSlot = new ProduceMonitorFileSlotVO(); |
|
|
|
|
newDsRbFilePreserveSlot.setRfpsType(dsRbFilePreserveSlot.getRfpsType()); |
|
|
|
|
newDsRbFilePreserveSlot.setInsertIndex(dsRbFilePreserveSlot.getInsertIndex()); |
|
|
|
|
newDsRbFilePreserveSlot.setSlotName(dsRbFilePreserveSlot.getSlotName()); |
|
|
|
|
newDsRbFilePreserveSlot.setSlotIndex(dsRbFilePreserveSlot.getSlotIndex()); |
|
|
|
|
|
|
|
|
|
List<MesRbFilePreserveDetailEntity> preserveDetailList = mesRbFilePreserveDetailService.getByRfpsId(dsRbFilePreserveSlot.getId()); |
|
|
|
|
if (!preserveDetailList.isEmpty()) { |
|
|
|
|
dsRbFilePreserveDetailList = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < preserveDetailList.size(); i++) { |
|
|
|
|
MesRbFilePreserveDetailEntity dsRbFilePreserveDetail = preserveDetailList.get(i); |
|
|
|
|
Short rfpsType = 0; |
|
|
|
|
if (dsRbFilePreserveDetail != null && dsRbFilePreserveDetail.getRfpsId() != null) { |
|
|
|
|
rfpsType = mesRbFilePreserveSlotService.getById(dsRbFilePreserveDetail.getRfpsId()).getRfpsType(); |
|
|
|
|
} |
|
|
|
|
newDsRbFilePreserveDetail = new MesRbFilePreserveDetailEntity(); |
|
|
|
|
newDsRbFilePreserveDetail.setDetailName(dsRbFilePreserveDetail.getDetailName()); |
|
|
|
|
newDsRbFilePreserveDetail.setDetailIndex(dsRbFilePreserveDetail.getDetailIndex()); |
|
|
|
|
// 工艺要求
|
|
|
|
|
newDsRbFilePreserveDetail.setAsk(dsRbFilePreserveDetail.getAsk()); |
|
|
|
|
newDsRbFilePreserveDetail.setParamName(dsRbFilePreserveDetail.getParamName()); |
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getInDate()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getOutDate()); |
|
|
|
|
} |
|
|
|
|
if (rfpsType == 1) { // 模板一
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 2) { // 模板二
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 3) { // 模板三
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 4) { // 模板四
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 5 || rfpsType == 22) { // 模板五
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 6) { // 模板六
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 7) { // 模板七
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 8) { // 模板八
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 9) { // 模板九
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 10) { // 模板十
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setQualified(qcProduceRun.getQualified()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 11) { // 模板十一
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 12) { // 模板十二
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataThree()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 13) { // 模板十三
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEight()); |
|
|
|
|
} else if (i == 8) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataNine()); |
|
|
|
|
} else if (i == 9) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTen()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 14) { // 模板十四
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 8) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 9) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEight()); |
|
|
|
|
} else if (i == 10) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataNine()); |
|
|
|
|
} else if (i == 11) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTen()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 15) { // 模板十五
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 8) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 9) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEight()); |
|
|
|
|
} else if (i == 10) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataNine()); |
|
|
|
|
} else if (i == 11) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTen()); |
|
|
|
|
} else if (i == 12) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEleven()); |
|
|
|
|
} else if (i == 13) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwelve()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 16) { // 模板十六
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 8) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 9) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEight()); |
|
|
|
|
} else if (i == 10) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataNine()); |
|
|
|
|
} else if (i == 11) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTen()); |
|
|
|
|
} else if (i == 12) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEleven()); |
|
|
|
|
} else if (i == 13) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwelve()); |
|
|
|
|
} else if (i == 14) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThirteen()); |
|
|
|
|
} else if (i == 15) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFourteen()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 17) { // 模板十七
|
|
|
|
|
if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 18) { // 模板十八
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 19) { // 模板十九 //zxh 20250519 新增模板19和模板20
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataEight()); |
|
|
|
|
} else if (i == 8) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataNine()); |
|
|
|
|
} else if (i == 9) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTen()); |
|
|
|
|
} else if (i == 10) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEleven()); |
|
|
|
|
} else if (i == 11) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getDataTwelve()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 20) { // 模板二十
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getInDate()); |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getInDate()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getInDate()); |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getInDate()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getOutDate()); |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getOutDate()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setRfpdTime(qcProduceRun.getOutDate()); |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getOutDate()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEight()); |
|
|
|
|
} |
|
|
|
|
} else if (rfpsType == 21) { // 模板十三
|
|
|
|
|
if (i == 0) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataOne()); |
|
|
|
|
} else if (i == 1) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataTwo()); |
|
|
|
|
} else if (i == 2) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataThree()); |
|
|
|
|
} else if (i == 3) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFour()); |
|
|
|
|
} else if (i == 4) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataFive()); |
|
|
|
|
} else if (i == 5) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSix()); |
|
|
|
|
} else if (i == 6) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataSeven()); |
|
|
|
|
} else if (i == 7) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataEight()); |
|
|
|
|
} else if (i == 8) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getDataNine()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
String detailName = dsRbFilePreserveDetail.getDetailName(); |
|
|
|
|
if (detailName != null) { |
|
|
|
|
if (detailName.contains("温度")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getTempSlot()); |
|
|
|
|
} else if (detailName.contains("电导率")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getEleRate()); |
|
|
|
|
} else if (detailName.contains("电流") && !(detailName.contains("壳体") || detailName.contains("插针"))) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getEleStream()); |
|
|
|
|
} else if (detailName.contains("链速")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getVSpeed()); |
|
|
|
|
} else if (detailName.contains("镍离子")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getNiValue()); |
|
|
|
|
} else if (detailName.contains("pH值")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getPhValue()); |
|
|
|
|
} |
|
|
|
|
//zxh 20250604 新增软起时间和工作电压
|
|
|
|
|
else if (detailName.contains("软起时间")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getSoftWorkTime()); |
|
|
|
|
} else if (detailName.contains("工作电压")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getVoltage()); |
|
|
|
|
} else if (detailName.contains("初始电压")) { |
|
|
|
|
newDsRbFilePreserveDetail.setParamValue(qcProduceRun.getStartVol()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
dsRbFilePreserveDetailList.add(newDsRbFilePreserveDetail); |
|
|
|
|
} |
|
|
|
|
newDsRbFilePreserveSlot.setChildrenList(dsRbFilePreserveDetailList); |
|
|
|
|
} |
|
|
|
|
temporaryList.add(newDsRbFilePreserveSlot); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public String prefix(String stringToFix, String fixChar, int targetLen) { |
|
|
|
|
int len = stringToFix.length(); |
|
|
|
|
for(int i = 0; i < targetLen - len; i += fixChar.length()) { |
|
|
|
|
for (int i = 0; i < targetLen - len; i += fixChar.length()) { |
|
|
|
|
stringToFix = fixChar + stringToFix; |
|
|
|
|
} |
|
|
|
|
return stringToFix; |
|
|
|
|
|