| 
					
				 | 
			
			
				@ -5,16 +5,20 @@ import com.yihu.iot.dao.device.IotDeviceDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				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.dao.dict.IotSystemDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.dao.message.IotMessageDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.iot.service.dict.IotSystemDictService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.iot.device.IotDeviceQualityInspectionPlanDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.iot.device.IotOrderPurchaseDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.iot.dict.IotSystemDictDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.iot.message.IotMessageDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.MixEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.iot.device.IotDeviceQualityInspectionPlanVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.rm.iot.IotRequestMapping; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.http.HttpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.utils.network.HttpUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -48,6 +52,11 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private IotDeviceDao iotDeviceDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private IotSystemDictDao iotSystemDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private final static String jobUrl = "http://localhost:10031/job/reStartById?taskId=data_device_quality_plan_job"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param iotDeviceQualityInspectionPlan 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -56,7 +65,10 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public IotDeviceQualityInspectionPlanDO create(IotDeviceQualityInspectionPlanDO iotDeviceQualityInspectionPlan) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotOrderPurchaseDO purchaseDO = iotOrderPurchaseDao.findById(iotDeviceQualityInspectionPlan.getPurchaseId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotOrderPurchaseDO purchaseDO = iotOrderPurchaseDao.findByOrderNo(iotDeviceQualityInspectionPlan.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlan.setPurchaseId(purchaseDO.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlan.setDeviceId(purchaseDO.getProductId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlan.setOrderNo(purchaseDO.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotDeviceQualityInspectionPlan.setDeviceId(purchaseDO.getProductId()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -225,39 +237,32 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 分页查找 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param purcharseId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<IotDeviceQualityInspectionPlanVO, IotDeviceQualityInspectionPlanVO> queryPage(String purcharseId, String orderNo, String startTime, String endTime, Integer page, Integer size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT c.* from iot_device_quality_inspection_plan c  WHERE c.del=1 "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sqlCount = new StringBuffer("SELECT COUNT(c.id) count from iot_device_quality_inspection_plan c WHERE c.del=1 "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<IotDeviceQualityInspectionPlanVO, IotDeviceQualityInspectionPlanVO> queryPage(String status, String orderNo, String startTime, String endTime, Integer page, Integer size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT  c.* from iot_device_quality_inspection_plan c  WHERE c.del=1 "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Object> args = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(purcharseId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" and c.purchase_id=? "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCount.append(" and c.purchase_id='").append(purcharseId).append("' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            args.add(purcharseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" and c.status=? "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            args.add(status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(orderNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" and c.order_no=? "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCount.append(" and c.order_no='").append(orderNo).append("' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            args.add(orderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append("and c.order_no like'%").append(orderNo).append("%' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(startTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" and c.plan_time>=? "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCount.append(" and c.plan_time>='").append(startTime).append("' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            args.add(startTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(endTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append(" and c.plan_time<=? "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sqlCount.append(" and c.plan_time<='").append(endTime).append("' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            args.add(endTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append("order by c.update_time desc limit ").append((page-1)*size).append(",").append(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql.append(" GROUP BY c.order_no ORDER BY c.plan_time DESC limit ").append((page-1)*size).append(",").append(size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanDO> list = jdbcTempalte.query(sql.toString(),args.toArray(),new BeanPropertyRowMapper(IotDeviceQualityInspectionPlanDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Map<String,Object>> countList = jdbcTempalte.queryForList(sqlCount.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long count = Long.valueOf(countList.get(0).get("count").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long count = list.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //DO转VO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanVO> qualityInspectionPlanVOList = transforList(list); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -271,16 +276,47 @@ public class IotDeviceQualityInspectionPlanService extends BaseJpaService<IotDev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void remindTimePlan(String time) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int remindTime = Integer.valueOf(time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanDO> list = iotDeviceQualityInspectionPlanDao.findListAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        list.forEach(one->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date remind = DateUtil.getPreDays(one.getPlanTime(), -remindTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            one.setRemindTime(remind); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            iotDeviceQualityInspectionPlanDao.save(one); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        IotSystemDictDO qualityRemind= iotSystemDictDao.findByDictName("DEVICE_QUALITY_REMIND").get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        qualityRemind.setTime(time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        qualityRemind.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        iotSystemDictDao.save(qualityRemind); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 查询所有需要提醒的质检信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<IotDeviceQualityInspectionPlanDO>  findListAll(String time){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer sql = new StringBuffer("SELECT c.* FROM  iot_device_quality_inspection_plan c WHERE del=1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<Object> args = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNotBlank(time)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql.append("  and DATEDIFF(c.plan_time,CURRENT_TIMESTAMP)=?"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            args.add(time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanDO> list = jdbcTempalte.query(sql.toString(),args.toArray(),new BeanPropertyRowMapper(IotDeviceQualityInspectionPlanDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据订单编号查找所有计划时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orderNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MixEnvelop<IotDeviceQualityInspectionPlanVO, IotDeviceQualityInspectionPlanVO>  findPlanTimeByOrderNo(String orderNo,Integer page,Integer size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanDO> listOrderNo = iotDeviceQualityInspectionPlanDao.findByOrderNo(orderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<IotDeviceQualityInspectionPlanVO> list = transforList(listOrderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        long count = list.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return MixEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find_functions,list,page,size,count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |