|  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.Wrapper; | 
 |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
 |  |  | import com.zy.asrs.entity.StaDesc; | 
 |  |  | import com.zy.asrs.entity.param.StaDescInitParam; | 
 |  |  | import com.zy.asrs.mapper.StaDescMapper; | 
 |  |  | import com.zy.asrs.service.StaDescService; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | import com.core.annotations.ManagerAuth; | 
 |  |  | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.DateUtils; | 
 |  |  | import com.core.common.R; | 
 |  |  | import org.apache.ibatis.session.ExecutorType; | 
 |  |  | import org.apache.ibatis.session.SqlSession; | 
 |  |  | import org.apache.ibatis.session.SqlSessionFactory; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  | @RestController | 
 |  |  | public class StaDescController extends BaseController { | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(StaDescController.class); | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private StaDescService staDescService; | 
 |  |  |     @Autowired | 
 |  |  |     private SqlSessionFactory sqlSessionFactory; | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/staDesc/init/auth") | 
 |  |  |     @ManagerAuth(memo = "初始化站点路径") | 
 |  |  |     public R init(StaDescInitParam param) { | 
 |  |  |         try{ | 
 |  |  |             if (param.getTypeDesc()==1){ | 
 |  |  |                 staDescService.delete(new EntityWrapper<>()); | 
 |  |  |             } | 
 |  |  |             String[] startStaList = param.getStartStaList().split(";"); | 
 |  |  |             String[] endStaList = param.getEndStaList().split(";"); | 
 |  |  |             List<StaDesc> staDescList = new ArrayList<>(); | 
 |  |  |             SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH,false); | 
 |  |  |             StaDescMapper sqlSessionMapper = sqlSession.getMapper(StaDescMapper.class); | 
 |  |  |             for (String startSta : startStaList){ | 
 |  |  |                 for (String endSta : endStaList){ | 
 |  |  |                     for (Integer type:param.getType()){ | 
 |  |  |                         int sameRes = staDescService.selectCount(new EntityWrapper<StaDesc>() | 
 |  |  |                                 .eq("type_no", type) | 
 |  |  |                                 .eq("stn_no", Integer.parseInt(startSta)) | 
 |  |  |                                 .eq("crn_no", param.getCrnNo()) | 
 |  |  |                                 .eq("crn_stn", Integer.parseInt(endSta))); | 
 |  |  |                         if (sameRes > 0) { | 
 |  |  |                             continue; | 
 |  |  |                         } | 
 |  |  |                         StaDesc staDesc = new StaDesc(); | 
 |  |  |                         staDesc.setCrnNo(param.getCrnNo()); | 
 |  |  |                         staDesc.setTypeNo(type); | 
 |  |  |                         staDesc.setStnNo(Integer.parseInt(startSta)); | 
 |  |  |                         staDesc.setCrnStn(Integer.parseInt(endSta)); | 
 |  |  |                         staDesc.setModiUser(getUserId()); | 
 |  |  |                         staDesc.setModiTime(new Date()); | 
 |  |  |                         staDesc.setAppeUser(getUserId()); | 
 |  |  |                         staDesc.setAppeTime(new Date()); | 
 |  |  | //                        staDescList.add(staDesc); | 
 |  |  |                         sqlSessionMapper.insert(staDesc); | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             try{ | 
 |  |  |                 sqlSession.commit(); | 
 |  |  |                 sqlSession.close(); | 
 |  |  |             }catch (Exception e){ | 
 |  |  |                 log.error("初始化站点路径异常===>sql异常:{}",e.getMessage()); | 
 |  |  |             } | 
 |  |  | //            staDescService.insertBatch(staDescList); | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("初始化站点路径异常:{}",e.getMessage()); | 
 |  |  |             return R.error("初始化站点路径异常:"+e.getMessage()); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return R.ok("ok1").add("ok2"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/staDesc/{id}/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  | 
 |  |  |         return R.ok(staDescService.selectPage(new Page<>(curr, limit), wrapper)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void convert(Map<String, Object> map, EntityWrapper wrapper){ | 
 |  |  |     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ | 
 |  |  |         for (Map.Entry<String, Object> entry : map.entrySet()){ | 
 |  |  |             if (entry.getKey().endsWith(">")) { | 
 |  |  |                 wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue()))); | 
 |  |  |             } else if (entry.getKey().endsWith("<")) { | 
 |  |  |                 wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue()))); | 
 |  |  |             String val = String.valueOf(entry.getValue()); | 
 |  |  |             if (val.contains(RANGE_TIME_LINK)){ | 
 |  |  |                 String[] dates = val.split(RANGE_TIME_LINK); | 
 |  |  |                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); | 
 |  |  |                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); | 
 |  |  |             } else { | 
 |  |  |                 wrapper.eq(entry.getKey(), String.valueOf(entry.getValue())); | 
 |  |  |                 wrapper.like(entry.getKey(), val); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | 
 |  |  |     @RequestMapping(value = "/staDesc/add/auth") | 
 |  |  |     @ManagerAuth(memo = "站点路径添加") | 
 |  |  |     public R add(StaDesc staDesc) { | 
 |  |  |         int sameRes = staDescService.selectCount(new EntityWrapper<StaDesc>() | 
 |  |  |                 .eq("type_no", staDesc.getTypeNo()) | 
 |  |  |                 .eq("stn_no", staDesc.getStnNo()) | 
 |  |  |                 .eq("crn_no", staDesc.getCrnNo()) | 
 |  |  |                 .eq("crn_stn", staDesc.getCrnStn())); | 
 |  |  |         if (sameRes > 0) { | 
 |  |  |             return R.error("路径已存在"); | 
 |  |  |         } | 
 |  |  |         staDesc.setModiUser(getUserId()); | 
 |  |  |         staDesc.setModiTime(new Date()); | 
 |  |  |         staDesc.setAppeUser(getUserId()); | 
 |  |  | 
 |  |  |    @RequestMapping(value = "/staDesc/update/auth") | 
 |  |  |    @ManagerAuth(memo = "站点路径修改") | 
 |  |  |     public R update(StaDesc staDesc){ | 
 |  |  |         if (Cools.isEmpty(staDesc) || null==staDesc.getCrnNo()){ | 
 |  |  |         if (Cools.isEmpty(staDesc) || null==staDesc.getTypeId()){ | 
 |  |  |             return R.error(); | 
 |  |  |         } | 
 |  |  |         staDesc.setModiUser(getUserId()); |