| 
					
				 | 
			
			
				@ -4,6 +4,7 @@ import com.yihu.base.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.dao.device.IotDeviceOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.dao.device.IotDeviceQualityInspectionPlanDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.dao.device.IotOrderPurchaseDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.service.dict.IotSystemDictService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.iot.device.IotDeviceQualityInspectionPlanDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.iot.device.IotOrderPurchaseDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.common.Envelop; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -38,6 +39,8 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private IotDeviceOrderDao iotDeviceOrderDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JdbcTemplate jdbcTempalte; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private IotSystemDictService iotSystemDictService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -57,7 +60,7 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlan.setStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.create.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlan.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //更新采购清单的质检信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(purchaseDO.getQualityStatus()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(purchaseDO.getQualityStatus()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                ||(iotDeviceQualityInspectionPlan.getPlanTime().getTime()-purchaseDO.getNextQualityTime().getTime())<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setQualityStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.create.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setNextQualityTime(iotDeviceQualityInspectionPlan.getPlanTime()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -89,25 +92,108 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 完成质检计划 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param purchaseId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void completePlan(String id,String time){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotDeviceQualityInspectionPlanDO planDO = iotDeviceQualityInspectionPlanDao.findById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        planDO.setStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.complete.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        planDO.setActualTime(DateUtil.strToDate(time)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //更新采购清单的质检信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void completePlanByPurchaseId(String purchaseId,String time){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotDeviceQualityInspectionPlanDO planDO = iotDeviceQualityInspectionPlanDao.findLastByPurchaseId(purchaseId,IotDeviceQualityInspectionPlanDO.QualityPlanStatus.create.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planDO.setStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.complete.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planDO.setActualTime(DateUtil.strToDate(time)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            iotDeviceQualityInspectionPlanDao.save(planDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            updatePurchase(purchaseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 更新采购清单的质检信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param purchaseId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private void updatePurchase(String purchaseId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanDO> list = iotDeviceQualityInspectionPlanDao. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                findListByPurchaseId(planDO.getPurchaseId(),IotDeviceQualityInspectionPlanDO.QualityPlanStatus.create.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                findListByPurchaseId(purchaseId,IotDeviceQualityInspectionPlanDO.QualityPlanStatus.create.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(list==null||list.size()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            IotDeviceQualityInspectionPlanDO last = iotDeviceQualityInspectionPlanDao.findLastByPurchaseId(planDO.getPurchaseId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            IotOrderPurchaseDO purchaseDO = iotOrderPurchaseDao.findById(planDO.getPurchaseId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            IotDeviceQualityInspectionPlanDO last = iotDeviceQualityInspectionPlanDao.findLastByPurchaseId(purchaseId,IotDeviceQualityInspectionPlanDO.QualityPlanStatus.complete.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            IotOrderPurchaseDO purchaseDO = iotOrderPurchaseDao.findById(purchaseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setQualityStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.complete.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setNextQualityTime(last.getPlanTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setQualityLeader(last.getQualityLeader()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            iotOrderPurchaseDao.save(purchaseDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            IotDeviceQualityInspectionPlanDO last = list.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            IotOrderPurchaseDO purchaseDO = iotOrderPurchaseDao.findById(purchaseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setQualityStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.create.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setNextQualityTime(last.getPlanTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            purchaseDO.setQualityLeader(last.getQualityLeader()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            iotOrderPurchaseDao.save(purchaseDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlanDao.save(planDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 完成质检计划 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 质检id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void completePlan(String id,String time){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotDeviceQualityInspectionPlanDO planDO = iotDeviceQualityInspectionPlanDao.findById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planDO.setStatus(IotDeviceQualityInspectionPlanDO.QualityPlanStatus.complete.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planDO.setActualTime(DateUtil.strToDate(time)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            iotDeviceQualityInspectionPlanDao.save(planDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            updatePurchase(planDO.getPurchaseId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 字典翻译 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param planDO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public IotDeviceQualityInspectionPlanVO transforOne(IotDeviceQualityInspectionPlanDO planDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planDO==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotDeviceQualityInspectionPlanVO planVO = convertToModel(planDO,IotDeviceQualityInspectionPlanVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planDO.getPlanTime()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planVO.setPlanTime(DateUtil.dateToStrShort(planDO.getPlanTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(planDO.getActualTime()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planVO.setActualTime(DateUtil.dateToStrShort(planDO.getActualTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(planDO.getStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,String> qualityStatusMap = iotSystemDictService.findByDictName("QUALITY_STATUS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            planVO.setStatusName(qualityStatusMap.get(planDO.getStatus())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return planVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 字典翻译 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<IotDeviceQualityInspectionPlanVO> transforList(List<IotDeviceQualityInspectionPlanDO> list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanVO> qualityInspectionPlanVOList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(list!=null&&list.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,String> qualityStatusMap = iotSystemDictService.findByDictName("QUALITY_STATUS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            list.forEach(planDO->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                IotDeviceQualityInspectionPlanVO planVO = convertToModel(planDO,IotDeviceQualityInspectionPlanVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(planDO.getPlanTime()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    planVO.setPlanTime(DateUtil.dateToStrShort(planDO.getPlanTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(planDO.getActualTime()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    planVO.setActualTime(DateUtil.dateToStrShort(planDO.getActualTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNotBlank(planDO.getStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    planVO.setStatusName(qualityStatusMap.get(planDO.getStatus())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                qualityInspectionPlanVOList.add(planVO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return qualityInspectionPlanVOList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -149,7 +235,7 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long count = Long.valueOf(countList.get(0).get("count").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //DO转VO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanVO> qualityInspectionPlanVOList = convertToModels(list,new ArrayList<>(list.size()),IotDeviceQualityInspectionPlanVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanVO> qualityInspectionPlanVOList = transforList(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return Envelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find_functions,qualityInspectionPlanVOList, page, size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 |