| | |
| | | */ |
| | | public String equipCycleContent; |
| | | /** |
| | | * 状态: 1:组装中,2:完成,3:维修,4:报废 |
| | | * 状态: 1:组装中,2:完成,3:维修,4:报废,5:测试不通过,6:品检不通过 |
| | | */ |
| | | public Integer status; |
| | | /** |
| | |
| | | */ |
| | | public Integer result; |
| | | /** |
| | | * 维修节点返回的错误码 |
| | | * 维修节点返回的错误信息 |
| | | */ |
| | | public String errorCode; |
| | | public String errorMsg; |
| | | /** |
| | | * 辅助人员:辅助员工id,以逗号隔开 |
| | | */ |
| | |
| | | */ |
| | | public Integer result; |
| | | /** |
| | | * 维修节点返回的错误码 |
| | | * 维修节点返回的错信息 |
| | | */ |
| | | public String errorCode; |
| | | public String errorMsg; |
| | | /** |
| | | * 辅助人员:辅助员工id,以逗号隔开 |
| | | */ |
| | |
| | | /** |
| | | * |
| | | */ |
| | | public String errorCode; |
| | | public String errorMsg; |
| | | /** |
| | | * 辅助人员:辅助员工id,以逗号隔开 |
| | | */ |
New file |
| | |
| | | package com.dy.pmsGlobal.util; |
| | | |
| | | public enum DeviceStatus { |
| | | ASSEMBLING(1, "组装中"), |
| | | COMPLETED(2, "完成"), |
| | | REPAIR(3, "维修"), |
| | | WASTE(4, "报废"), |
| | | TEST_FAILED(5, "测试不通过"), |
| | | INSPECTION_FAILED(6, "品检不通过"); |
| | | |
| | | private final int code; |
| | | private final String description; |
| | | |
| | | DeviceStatus(int code, String description) { |
| | | this.code = code; |
| | | this.description = description; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public String getDescription() { |
| | | return description; |
| | | } |
| | | |
| | | // 根据code值获取对应的枚举值 |
| | | public static DeviceStatus fromCode(int code) { |
| | | for (DeviceStatus status : values()) { |
| | | if (status.code == code) { |
| | | return status; |
| | | } |
| | | } |
| | | throw new IllegalArgumentException("未知的枚举code: " + code); |
| | | } |
| | | } |
| | |
| | | <result property="equipCycleContent" column="equip_cycle_content" jdbcType="VARCHAR"/> |
| | | <result property="status" column="status" jdbcType="TINYINT"/> |
| | | <result property="result" column="result" jdbcType="TINYINT"/> |
| | | <result property="errorCode" column="error_code" jdbcType="VARCHAR"/> |
| | | <result property="errorMsg" column="error_msg" jdbcType="VARCHAR"/> |
| | | <result property="assistants" column="assistants" jdbcType="VARCHAR"/> |
| | | <result property="updatedBy" column="updated_by" jdbcType="BIGINT"/> |
| | | <result property="inTime" column="in_time" jdbcType="TIMESTAMP"/> |
| | |
| | | repair_id,plan_id,station_id, |
| | | curr_node,node_content,equip_cycle_content, |
| | | status,result, |
| | | error_code,assistants, |
| | | error_msg,assistants, |
| | | updated_by,in_time,out_time, |
| | | memo |
| | | </sql> |
| | |
| | | ,repair_id,plan_id,station_id |
| | | ,curr_node,node_content,equip_cycle_content |
| | | ,status,result |
| | | ,error_code,assistants |
| | | ,error_msg,assistants |
| | | ,updated_by,in_time,out_time |
| | | ,memo) |
| | | values (#{id,jdbcType=BIGINT},#{equipNo,jdbcType=VARCHAR},#{workId,jdbcType=BIGINT} |
| | | ,#{repairId,jdbcType=BIGINT},#{planId,jdbcType=BIGINT},#{stationId,jdbcType=BIGINT} |
| | | ,#{currNode,jdbcType=BIGINT},#{nodeContent,jdbcType=VARCHAR},#{equipCycleContent,jdbcType=VARCHAR} |
| | | ,#{status,jdbcType=TINYINT},#{result,jdbcType=TINYINT} |
| | | ,#{errorCode,jdbcType=VARCHAR},#{assistants,jdbcType=VARCHAR} |
| | | ,#{errorMsg,jdbcType=VARCHAR},#{assistants,jdbcType=VARCHAR} |
| | | ,#{updatedBy,jdbcType=BIGINT},#{inTime,jdbcType=TIMESTAMP},#{outTime,jdbcType=TIMESTAMP} |
| | | ,#{memo,jdbcType=VARCHAR}) |
| | | </insert> |
| | |
| | | <if test="equipCycleContent != null">equip_cycle_content,</if> |
| | | <if test="status != null">status,</if> |
| | | <if test="result != null">result,</if> |
| | | <if test="errorCode != null">error_code,</if> |
| | | <if test="errorMsg != null">error_msg,</if> |
| | | <if test="assistants != null">assistants,</if> |
| | | <if test="updatedBy != null">updated_by,</if> |
| | | <if test="inTime != null">in_time,</if> |
| | |
| | | <if test="equipCycleContent != null">#{equipCycleContent,jdbcType=VARCHAR},</if> |
| | | <if test="status != null">#{status,jdbcType=TINYINT},</if> |
| | | <if test="result != null">#{result,jdbcType=TINYINT},</if> |
| | | <if test="errorCode != null">#{errorCode,jdbcType=VARCHAR},</if> |
| | | <if test="errorMsg != null">#{errorMsg,jdbcType=VARCHAR},</if> |
| | | <if test="assistants != null">#{assistants,jdbcType=VARCHAR},</if> |
| | | <if test="updatedBy != null">#{updatedBy,jdbcType=BIGINT},</if> |
| | | <if test="inTime != null">#{inTime,jdbcType=TIMESTAMP},</if> |
| | |
| | | <if test="result != null"> |
| | | result = #{result,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="errorCode != null"> |
| | | error_code = #{errorCode,jdbcType=VARCHAR}, |
| | | <if test="errorMsg != null"> |
| | | error_msg = #{errorMsg,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="assistants != null"> |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | |
| | | equip_cycle_content = #{equipCycleContent,jdbcType=VARCHAR}, |
| | | status = #{status,jdbcType=TINYINT}, |
| | | result = #{result,jdbcType=TINYINT}, |
| | | error_code = #{errorCode,jdbcType=VARCHAR}, |
| | | error_msg = #{errorMsg,jdbcType=VARCHAR}, |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | | updated_by = #{updatedBy,jdbcType=BIGINT}, |
| | | in_time = #{inTime,jdbcType=TIMESTAMP}, |
| | |
| | | <result property="equipCycleContent" column="equip_cycle_content" jdbcType="VARCHAR"/> |
| | | <result property="status" column="status" jdbcType="TINYINT"/> |
| | | <result property="result" column="result" jdbcType="TINYINT"/> |
| | | <result property="errorCode" column="error_code" jdbcType="VARCHAR"/> |
| | | <result property="errorMsg" column="error_msg" jdbcType="VARCHAR"/> |
| | | <result property="assistants" column="assistants" jdbcType="VARCHAR"/> |
| | | <result property="inTime" column="in_time" jdbcType="TIMESTAMP"/> |
| | | <result property="outTime" column="out_time" jdbcType="TIMESTAMP"/> |
| | |
| | | repair_id,plan_id,station_id, |
| | | curr_node,node_content,equip_cycle_content, |
| | | status,result, |
| | | error_code,assistants,in_time, |
| | | error_msg,assistants,in_time, |
| | | out_time,updated_by,memo |
| | | </sql> |
| | | |
| | |
| | | ,repair_id,plan_id,station_id |
| | | ,curr_node,node_content,equip_cycle_content |
| | | ,status,result |
| | | ,error_code,assistants,in_time |
| | | ,error_msg,assistants,in_time |
| | | ,out_time,updated_by,memo |
| | | ) |
| | | values (#{id,jdbcType=BIGINT},#{equipNo,jdbcType=VARCHAR},#{workId,jdbcType=BIGINT} |
| | | ,#{repairId,jdbcType=BIGINT},#{planId,jdbcType=BIGINT},#{stationId,jdbcType=BIGINT} |
| | | ,#{currNode,jdbcType=BIGINT},#{nodeContent,jdbcType=VARCHAR},#{equipCycleContent,jdbcType=VARCHAR} |
| | | ,#{status,jdbcType=TINYINT},#{result,jdbcType=TINYINT} |
| | | ,#{errorCode,jdbcType=VARCHAR},#{assistants,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP} |
| | | ,#{errorMsg,jdbcType=VARCHAR},#{assistants,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP} |
| | | ,#{outTime,jdbcType=TIMESTAMP},#{updatedBy,jdbcType=BIGINT},#{memo,jdbcType=VARCHAR} |
| | | ) |
| | | </insert> |
| | |
| | | <if test="equipCycleContent != null">equip_cycle_content,</if> |
| | | <if test="status != null">status,</if> |
| | | <if test="result != null">result,</if> |
| | | <if test="errorCode != null">error_code,</if> |
| | | <if test="errorMsg != null">error_msg,</if> |
| | | <if test="assistants != null">assistants,</if> |
| | | <if test="inTime != null">in_time,</if> |
| | | <if test="outTime != null">out_time,</if> |
| | |
| | | <if test="equipCycleContent != null">#{equipCycleContent,jdbcType=VARCHAR},</if> |
| | | <if test="status != null">#{status,jdbcType=TINYINT},</if> |
| | | <if test="result != null">#{result,jdbcType=TINYINT},</if> |
| | | <if test="errorCode != null">#{errorCode,jdbcType=VARCHAR},</if> |
| | | <if test="errorMsg != null">#{errorMsg,jdbcType=VARCHAR},</if> |
| | | <if test="assistants != null">#{assistants,jdbcType=VARCHAR},</if> |
| | | <if test="inTime != null">#{inTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="outTime != null">#{outTime,jdbcType=TIMESTAMP},</if> |
| | |
| | | <if test="result != null"> |
| | | result = #{result,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="errorCode != null"> |
| | | error_code = #{errorCode,jdbcType=VARCHAR}, |
| | | <if test="errorMsg != null"> |
| | | error_msg = #{errorMsg,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="assistants != null"> |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | |
| | | equip_cycle_content = #{equipCycleContent,jdbcType=VARCHAR}, |
| | | status = #{status,jdbcType=TINYINT}, |
| | | result = #{result,jdbcType=TINYINT}, |
| | | error_code = #{errorCode,jdbcType=VARCHAR}, |
| | | error_msg = #{errorMsg,jdbcType=VARCHAR}, |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | | in_time = #{inTime,jdbcType=TIMESTAMP}, |
| | | out_time = #{outTime,jdbcType=TIMESTAMP}, |
| | |
| | | <result property="equipCycleContent" column="equip_cycle_content" jdbcType="VARCHAR"/> |
| | | <result property="status" column="status" jdbcType="TINYINT"/> |
| | | <result property="result" column="result" jdbcType="TINYINT"/> |
| | | <result property="errorCode" column="error_code" jdbcType="VARCHAR"/> |
| | | <result property="errorMsg" column="error_msg" jdbcType="VARCHAR"/> |
| | | <result property="assistants" column="assistants" jdbcType="VARCHAR"/> |
| | | <result property="inTime" column="in_time" jdbcType="TIMESTAMP"/> |
| | | <result property="outTime" column="out_time" jdbcType="TIMESTAMP"/> |
| | |
| | | repair_id,plan_id,station_id, |
| | | curr_node,node_content,equip_cycle_content, |
| | | status,result, |
| | | error_code,assistants,in_time, |
| | | error_msg,assistants,in_time, |
| | | out_time,updated_by,memo |
| | | </sql> |
| | | |
| | |
| | | ,repair_id,plan_id,station_id |
| | | ,curr_node,node_content,equip_cycle_content |
| | | ,status,result |
| | | ,error_code,assistants,in_time |
| | | ,error_msg,assistants,in_time |
| | | ,out_time,updated_by,memo |
| | | ) |
| | | values (#{id,jdbcType=BIGINT},#{equipNo,jdbcType=VARCHAR},#{workId,jdbcType=BIGINT} |
| | | ,#{repairId,jdbcType=BIGINT},#{planId,jdbcType=BIGINT},#{stationId,jdbcType=BIGINT} |
| | | ,#{currNode,jdbcType=BIGINT},#{nodeContent,jdbcType=VARCHAR},#{equipCycleContent,jdbcType=VARCHAR} |
| | | ,#{status,jdbcType=TINYINT},#{result,jdbcType=TINYINT} |
| | | ,#{errorCode,jdbcType=VARCHAR},#{assistants,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP} |
| | | ,#{errorMsg,jdbcType=VARCHAR},#{assistants,jdbcType=VARCHAR},#{inTime,jdbcType=TIMESTAMP} |
| | | ,#{outTime,jdbcType=TIMESTAMP},#{updatedBy,jdbcType=BIGINT},#{memo,jdbcType=VARCHAR} |
| | | ) |
| | | </insert> |
| | |
| | | <if test="equipCycleContent != null">equip_cycle_content,</if> |
| | | <if test="status != null">status,</if> |
| | | <if test="result != null">result,</if> |
| | | <if test="errorCode != null">error_code,</if> |
| | | <if test="errorMsg != null">error_msg,</if> |
| | | <if test="assistants != null">assistants,</if> |
| | | <if test="inTime != null">in_time,</if> |
| | | <if test="outTime != null">out_time,</if> |
| | |
| | | <if test="equipCycleContent != null">#{equipCycleContent,jdbcType=VARCHAR},</if> |
| | | <if test="status != null">#{status,jdbcType=TINYINT},</if> |
| | | <if test="result != null">#{result,jdbcType=TINYINT},</if> |
| | | <if test="errorCode != null">#{errorCode,jdbcType=VARCHAR},</if> |
| | | <if test="errorMsg != null">#{errorMsg,jdbcType=VARCHAR},</if> |
| | | <if test="assistants != null">#{assistants,jdbcType=VARCHAR},</if> |
| | | <if test="inTime != null">#{inTime,jdbcType=TIMESTAMP},</if> |
| | | <if test="outTime != null">#{outTime,jdbcType=TIMESTAMP},</if> |
| | |
| | | <if test="result != null"> |
| | | result = #{result,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="errorCode != null"> |
| | | error_code = #{errorCode,jdbcType=VARCHAR}, |
| | | <if test="errorMsg != null"> |
| | | error_msg = #{errorMsg,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="assistants != null"> |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | |
| | | equip_cycle_content = #{equipCycleContent,jdbcType=VARCHAR}, |
| | | status = #{status,jdbcType=TINYINT}, |
| | | result = #{result,jdbcType=TINYINT}, |
| | | error_code = #{errorCode,jdbcType=VARCHAR}, |
| | | error_msg = #{errorMsg,jdbcType=VARCHAR}, |
| | | assistants = #{assistants,jdbcType=VARCHAR}, |
| | | in_time = #{inTime,jdbcType=TIMESTAMP}, |
| | | out_time = #{outTime,jdbcType=TIMESTAMP}, |
| | |
| | | List<PltProductTestInspectionItems> result = sv.getTestItems(proId); |
| | | return BaseResponseUtils.buildSuccess(result); |
| | | } |
| | | |
| | | /** |
| | | * 测试或品检都调用这个接口 |
| | | * @param vo |
| | | * @return |
| | | */ |
| | | @PostMapping(path = "testing") |
| | | public BaseResponse testing(@RequestBody @Valid QueryVo vo) { |
| | | log.info("AssemblyStepCtrl.testing()"); |
| | | int count = sv.testing(vo); |
| | | if (count <= 0) { |
| | | return BaseResponseUtils.buildFail("数据库存储失败"); |
| | | } else { |
| | | return BaseResponseUtils.buildSuccess(true); |
| | | } |
| | | } |
| | | } |
| | |
| | | package com.dy.pmsStation.assemblyStep; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.dy.pmsGlobal.daoPlt.PltProductMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltProductQualityInspectionItemsMapper; |
| | | import com.dy.pmsGlobal.daoPlt.PltProductTestInspectionItemsMapper; |
| | | import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper; |
| | | import com.dy.pmsGlobal.daoPr.PrProductionNodeMapper; |
| | | import com.dy.pmsGlobal.daoSta.*; |
| | | import com.dy.pmsGlobal.pojoPlt.PltProduct; |
| | | import com.dy.pmsGlobal.pojoPlt.PltProductQualityInspectionItems; |
| | | import com.dy.pmsGlobal.pojoPlt.PltProductTestInspectionItems; |
| | | import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan; |
| | | import com.dy.pmsGlobal.pojoPr.PrProductionNode; |
| | | import com.dy.pmsGlobal.pojoSta.*; |
| | | import com.dy.pmsGlobal.util.DeviceStatus; |
| | | import com.dy.pmsGlobal.util.QrCodeConstant; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class AssemblyStepSv { |
| | | private static final int STATUS_OK = 1; |
| | | private static final int STATUS_COMPLETE = 2; |
| | | private static final int STATUS_REPAIR = 3; |
| | | private static final int STATUS_WASTE = 4; |
| | | private static final String WORK_TYPE_ASSEMBLY = "1"; |
| | | private static final String WORK_TYPE_TEST = "2"; |
| | | private static final String WORK_TYPE_INSPECTION = "3"; |
| | | private static final String WORK_TYPE_REPAIR = "4"; |
| | | |
| | | private StaDeviceLastMapper deviceLastDao; |
| | | private StaDeviceLifeMapper deviceLifeDao; |
| | |
| | | private StaRepairInfoMapper repairInfoDao; |
| | | private PltProductQualityInspectionItemsMapper qualityItemsDao; |
| | | private PltProductTestInspectionItemsMapper testItemsDao; |
| | | |
| | | private PltProductMapper productDao; |
| | | @Autowired |
| | | public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) { |
| | | this.deviceLastDao = deviceLastDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setDeviceLifeDao(StaDeviceLifeMapper deviceLifeDao) { |
| | | this.deviceLifeDao = deviceLifeDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setWipSnExDao(StaWipSnExMapper wipSnExDao) { |
| | | this.wipSnExDao = wipSnExDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setDeviceProductionLogDao(StaDeviceProductionLogMapper deviceProductionLogDao) { |
| | | this.deviceProductionLogDao = deviceProductionLogDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setAssemblyWorkLastDao(StaAssemblyWorkLastMapper assemblyWorkLastDao) { |
| | | this.assemblyWorkLastDao = assemblyWorkLastDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setAssemblyPlanDao(PrAssemblyPlanMapper assemblyPlanDao) { |
| | | this.assemblyPlanDao = assemblyPlanDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setNodeDao(PrProductionNodeMapper nodeDao) { |
| | | this.nodeDao = nodeDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setRepairInfoDao(StaRepairInfoMapper repairInfoDao) { |
| | | this.repairInfoDao = repairInfoDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setQualityItemsDao(PltProductQualityInspectionItemsMapper qualityItemsDao) { |
| | | this.qualityItemsDao = qualityItemsDao; |
| | | } |
| | | |
| | | @Autowired |
| | | public void setTestItemsDao(PltProductTestInspectionItemsMapper testItemsDao) { |
| | | this.testItemsDao = testItemsDao; |
| | | } |
| | | @Autowired |
| | | public void setProductDao(PltProductMapper productDao) { |
| | | this.productDao = productDao; |
| | | } |
| | | |
| | | @Transactional |
| | |
| | | // 分类设备号和物料号 |
| | | List<String> deviceList = new ArrayList<>(); |
| | | List<String> materialList = new ArrayList<>(); |
| | | |
| | | List<PltProduct> productList = productDao.selectAll(null); |
| | | deviceSet.forEach(device -> { |
| | | if (device.contains(plan.batchNo)) { |
| | | deviceList.add(device); |
| | | } else { |
| | | } else if(isOurProduct(device,productList)){ |
| | | materialList.add(device); |
| | | } |
| | | }); |
| | |
| | | deviceLifeDao.insertSelective(life); |
| | | } |
| | | |
| | | private StaDeviceLast buildDeviceLast(QueryVo params, StaAssemblyWorkLast workLast, String deviceNo) { |
| | | private StaDeviceLast buildDeviceLast(QueryVo params, StaAssemblyWorkLast workLast,String deviceNo) { |
| | | //组装数据 |
| | | StaDeviceLast record = new StaDeviceLast(); |
| | | |
| | |
| | | record.stationId = workLast.stationId; |
| | | record.equipNo = deviceNo; |
| | | record.currNode = workLast.nodeId; |
| | | // record.setNextNode(getNextNode(params.status,workLast.nodeId)); |
| | | |
| | | record.updatedBy = workLast.userId; |
| | | record.assistants = params.assistants; |
| | |
| | | if (node.isRecord) { |
| | | record.equipCycleContent = node.equipCycleContent; |
| | | } |
| | | record.status = getStatus(params.status, node.isEnd); |
| | | record.status = getStatus(params.status, node.isEnd,params.workType); |
| | | return record; |
| | | } |
| | | |
| | |
| | | * @param isEndNode 是否结束节点 |
| | | * @return 状态 |
| | | */ |
| | | private int getStatus(String status, boolean isEndNode) { |
| | | return switch (status) { |
| | | case QrCodeConstant.MarkOk -> isEndNode ? STATUS_COMPLETE : STATUS_OK; |
| | | case QrCodeConstant.MarkUnqualified -> STATUS_REPAIR; |
| | | case QrCodeConstant.MarkWaste -> STATUS_WASTE; |
| | | default -> throw new RuntimeException("状态错误"); |
| | | }; |
| | | private int getStatus(String status, boolean isEndNode,String workType) { |
| | | //组装,维修 |
| | | if (WORK_TYPE_ASSEMBLY.equals(workType)||WORK_TYPE_REPAIR.equals(workType)) { |
| | | return switch (status) { |
| | | case QrCodeConstant.MarkOk -> isEndNode? DeviceStatus.COMPLETED.getCode(): DeviceStatus.ASSEMBLING.getCode(); |
| | | case QrCodeConstant.MarkUnqualified, QrCodeConstant.MarkPreUnqualified -> DeviceStatus.REPAIR.getCode(); |
| | | case QrCodeConstant.MarkWaste -> DeviceStatus.WASTE.getCode(); |
| | | default -> throw new RuntimeException("状态错误"); |
| | | }; |
| | | //品检,测试 |
| | | }else if(WORK_TYPE_INSPECTION.equals(workType)||WORK_TYPE_TEST.equals(workType)){ |
| | | return switch (status) { |
| | | case QrCodeConstant.MarkOk -> DeviceStatus.COMPLETED.getCode(); |
| | | case QrCodeConstant.MarkUnqualified -> DeviceStatus.TEST_FAILED.getCode(); |
| | | case QrCodeConstant.MarkWaste -> DeviceStatus.WASTE.getCode(); |
| | | default -> throw new RuntimeException("状态错误"); |
| | | }; |
| | | } |
| | | throw new RuntimeException("状态错误,无效的节点类型: " + workType); |
| | | } |
| | | |
| | | public int repair(QueryVo vo) { |
| | |
| | | repairInfo.fromNode = preDeviceRecord.currNode; |
| | | repairInfoDao.insertSelective(repairInfo); |
| | | |
| | | StaDeviceLast deviceLast = new StaDeviceLast(); |
| | | BeanUtils.copyProperties(preDeviceRecord, deviceLast); |
| | | deviceLast.repairId = repairInfo.id; |
| | | deviceLast.errorCode = vo.errorMsg; |
| | | deviceLast.assistants = vo.assistants; |
| | | //如果原节点是结束节点或之后的节点,是则更新为完成,否则更新为组装中(默认维修节点的状态只能为 确定或 报废) |
| | | boolean isEndNode = nodeDao.isEndNode(preDeviceRecord.currNode); |
| | | if (QrCodeConstant.MarkWaste.equals(vo.status)) { |
| | | deviceLast.status = STATUS_WASTE; |
| | | } else { |
| | | deviceLast.status = isEndNode ? STATUS_COMPLETE : STATUS_OK; |
| | | } |
| | | StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo); |
| | | |
| | | int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : |
| | | deviceLastDao.updateByPrimaryKeySelective(deviceLast); |
| | | saveDeviceProductionLog(deviceLast); |
| | | |
| | | boolean isEndNode = nodeDao.isEndNode(preDeviceRecord.currNode); |
| | | if (isEndNode) { |
| | | saveDeviceLife(deviceLast); |
| | | } |
| | | return count; |
| | | } |
| | | |
| | | public int testing(QueryVo vo) { |
| | | long workId = Long.parseLong(vo.workId); |
| | | StaAssemblyWorkLast workLast = assemblyWorkLastDao.selectByPrimaryKey(workId); |
| | | if (workLast == null) { |
| | | throw new RuntimeException("系统中没有该条登录信息"); |
| | | } |
| | | |
| | | StaDeviceLast deviceLast = buildDeviceLast(vo, workLast, vo.deviceNo); |
| | | int count = deviceLast.id == null ? deviceLastDao.insertSelective(deviceLast) : |
| | | deviceLastDao.updateByPrimaryKeySelective(deviceLast); |
| | | saveDeviceProductionLog(deviceLast); |
| | | return count; |
| | | } |
| | | |
| | |
| | | params.put("proId", proId); |
| | | return testItemsDao.selectSome(params); |
| | | } |
| | | |
| | | private boolean isOurProduct(String deviceNo, List<PltProduct> products){ |
| | | if(StringUtils.isNotEmpty(deviceNo) && deviceNo.length() ==22 ){ |
| | | for(PltProduct product:products){ |
| | | if(deviceNo.startsWith(QrCodeConstant.TypeProduct + product.getCode())){ |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | } |
| | |
| | | * 辅助人员 |
| | | */ |
| | | public String assistants; |
| | | @NotNull(message = "工作类型不能为空") |
| | | public String workType; |
| | | |
| | | } |