|  |  |  | 
|---|
|  |  |  | package com.dy.pmsPlatform.station; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.excel.converters.Converter; | 
|---|
|  |  |  | import com.alibaba.fastjson2.JSON; | 
|---|
|  |  |  | import com.dy.common.aop.SsoPowerAop; | 
|---|
|  |  |  | import com.dy.common.webUtil.BaseResponse; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.dy.common.webUtil.QueryResultVo; | 
|---|
|  |  |  | import com.dy.pmsGlobal.aop.Log; | 
|---|
|  |  |  | import com.dy.pmsGlobal.pojoPlt.PltStation; | 
|---|
|  |  |  | import com.dy.pmsGlobal.util.QrCodeUtil; | 
|---|
|  |  |  | import com.google.zxing.WriterException; | 
|---|
|  |  |  | import jakarta.servlet.http.HttpServletResponse; | 
|---|
|  |  |  | import jakarta.validation.Valid; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.validation.BindingResult; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.IOException; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 工站 | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestMapping(path="station") | 
|---|
|  |  |  | @SuppressWarnings("unchecked") | 
|---|
|  |  |  | public class StationCtrl { | 
|---|
|  |  |  | private static final String fileName = "工站信息" ; | 
|---|
|  |  |  | private static final String sheetName = "工站信息" ; | 
|---|
|  |  |  | private static final String stationPrefix = "103" ; | 
|---|
|  |  |  | private StationSv sv; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | public StationCtrl(StationSv sv){ | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 保存 | 
|---|
|  |  |  | * @param station | 
|---|
|  |  |  | * @param bindingResult | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping(path="save") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300001") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300007") | 
|---|
|  |  |  | @Log("保存工站") | 
|---|
|  |  |  | public BaseResponse<PltStation> save(@RequestBody @Valid PltStation station,BindingResult bindingResult){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if (bindingResult != null && bindingResult.hasErrors()) { | 
|---|
|  |  |  | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | station.deleted = false; | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(sv.save(station)); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("保存工站异常", e); | 
|---|
|  |  |  | return BaseResponseUtils.buildException(e.getMessage()); | 
|---|
|  |  |  | public BaseResponse<Boolean> save(@RequestBody @Valid PltStation station){ | 
|---|
|  |  |  | station.deleted = false; | 
|---|
|  |  |  | int count = sv.save(station); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (count <= 0) { | 
|---|
|  |  |  | return BaseResponseUtils.buildFail("数据库存储失败"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(true); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 更新 | 
|---|
|  |  |  | * @param station | 
|---|
|  |  |  | * @param bindingResult | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping(path="update") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300001") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300007") | 
|---|
|  |  |  | @Log("更新工站") | 
|---|
|  |  |  | public BaseResponse<PltStation> update(@RequestBody @Valid PltStation station,BindingResult bindingResult){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if (bindingResult != null && bindingResult.hasErrors()) { | 
|---|
|  |  |  | return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(sv.update(station)); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("更新工站异常", e); | 
|---|
|  |  |  | return BaseResponseUtils.buildException(e.getMessage()); | 
|---|
|  |  |  | public BaseResponse<Boolean> update(@RequestBody @Valid PltStation station){ | 
|---|
|  |  |  | int count = sv.update(station); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (count <= 0) { | 
|---|
|  |  |  | return BaseResponseUtils.buildFail("数据库存储失败"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(true); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping(path="delete") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300001") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300007") | 
|---|
|  |  |  | @Log("删除工站") | 
|---|
|  |  |  | public BaseResponse<PltStation> delete(String id){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(sv.delete(Long.parseLong(id))); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("删除工站异常", e); | 
|---|
|  |  |  | return BaseResponseUtils.buildException(e.getMessage()); | 
|---|
|  |  |  | public BaseResponse<Boolean> delete(String id){ | 
|---|
|  |  |  | int count = sv.delete(Long.parseLong(id)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (count <= 0) { | 
|---|
|  |  |  | return BaseResponseUtils.buildFail("数据库存储失败"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(true); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据ID查询 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @GetMapping(path="one") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300000") //登录与权限同时验证 | 
|---|
|  |  |  | @SsoPowerAop(power = "10300006") //登录与权限同时验证 | 
|---|
|  |  |  | @Log("根据ID查询工站") | 
|---|
|  |  |  | public BaseResponse<PltStation> one(String id){ | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | PltStation param=sv.selectById(id); | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(JSON.toJSON(param)); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("根据ID查询工站异常", e); | 
|---|
|  |  |  | return BaseResponseUtils.buildException(e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PltStation param=sv.selectById(id); | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(JSON.toJSON(param)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @PostMapping(path="some") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300000") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300006") | 
|---|
|  |  |  | @Log("分页查询工站") | 
|---|
|  |  |  | public BaseResponse<QueryResultVo<List<PltStation>>> some(@RequestBody QueryVo vo){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | QueryResultVo<List<PltStation>> list = sv.selectSome(vo) ; | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(list); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("分页查询工站异常", e); | 
|---|
|  |  |  | return BaseResponseUtils.buildException(e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | QueryResultVo<List<PltStation>> list = sv.selectSome(vo) ; | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping(path="disabled") | 
|---|
|  |  |  | @SsoPowerAop(power = "10100011") | 
|---|
|  |  |  | @Log("禁用或启用工站") | 
|---|
|  |  |  | public BaseResponse<Boolean> disabled(@RequestBody PltStation station){ | 
|---|
|  |  |  | int count = sv.disabled(station.id,station.disabled); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (count <= 0) { | 
|---|
|  |  |  | return BaseResponseUtils.buildFail("数据库存储失败"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return BaseResponseUtils.buildSuccess(true); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @PostMapping(path="export") | 
|---|
|  |  |  | @SsoPowerAop(power = "10300000") | 
|---|
|  |  |  | @Log("导出工站信息") | 
|---|
|  |  |  | public void export(HttpServletResponse response){ | 
|---|
|  |  |  | List<Converter> list = new ArrayList<>() ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<PltStation> stations = sv.selectAll(); | 
|---|
|  |  |  | // 使用并行流提高性能 | 
|---|
|  |  |  | stations.parallelStream().forEach(station -> { | 
|---|
|  |  |  | ExcelVo vo = new ExcelVo(); | 
|---|
|  |  |  | vo.name = station.name; | 
|---|
|  |  |  | //                vo.code = "103"+station.id; | 
|---|
|  |  |  | vo.lineName = station.lineName; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | vo.qrCode = QrCodeUtil.genQrCode(stationPrefix+station.id); | 
|---|
|  |  |  | } catch (IOException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } catch (WriterException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | list.add(vo); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | QrCodeUtil.downloadExcel(response, fileName,sheetName,list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|