package com.tianbo.analysis.controller; import com.github.pagehelper.PageInfo; import com.tianbo.analysis.annotation.UserPermissionCheck; import com.tianbo.analysis.dao.DOMTRANSITMapper; import com.tianbo.analysis.model.DOMTRANSIT; import com.tianbo.analysis.model.ResultJson; import com.tianbo.analysis.service.DomTransitService; import com.tianbo.analysis.service.ValidateAudit; import com.tianbo.analysis.service.ValidateUpdate; import com.tianbo.util.Date.DateUtil; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.LinkedHashMap; import java.util.List; /** * 国内转运接口 */ @RestController @RequestMapping("/trans/") public class DomTransController { @Autowired DomTransitService domTransitService; @Resource DOMTRANSITMapper domtransitMapper; @ApiOperation(value = "添加转运申请") @PostMapping("dom") @UserPermissionCheck public ResultJson add(@RequestBody DOMTRANSIT domtransit,@CookieValue("username") String username,@CookieValue("userid") String userid){ domtransit.setUserName(username); return domTransitService.insertSelective(domtransit)>0 ? new ResultJson("200","添加成功") :new ResultJson("400","添加失败"); } @ApiOperation(value = "删除转运申请") @DeleteMapping("dom") @UserPermissionCheck public ResultJson del(@RequestBody DOMTRANSIT domtransit,@CookieValue("username") String username,@CookieValue("userid") String userid){ return domTransitService.deleteByPrimaryKey(domtransit.getId())>0 ? new ResultJson("200","删除成功") :new ResultJson("400","删除失败"); } @ApiOperation(value = "删除转运申请,非RESFUL支持IIS",notes = "id必须传") @PostMapping("domDel") @UserPermissionCheck public ResultJson delDom(@RequestBody DOMTRANSIT domtransit,@CookieValue("username") String username,@CookieValue("userid") String userid){ return domTransitService.deleteByPrimaryKey(domtransit.getId())>0 ? new ResultJson("200","删除成功") :new ResultJson("400","删除失败"); } @ApiOperation(value = "修改转运申请",notes = "id必须传") @PutMapping("dom") @UserPermissionCheck public ResultJson update(@Validated(ValidateUpdate.class) @RequestBody DOMTRANSIT domtransit,@CookieValue("username") String username,@CookieValue("userid") String userid){ return domTransitService.updateByPrimaryKeySelective(domtransit)>0 ? new ResultJson("200","修改成功") :new ResultJson("400","修改失败"); } @ApiOperation(value = "修改转运申请非RESFUL,IIS不支持",notes = "id必须传") @PostMapping("domUpdate") @UserPermissionCheck public ResultJson updateDom(@Validated(ValidateUpdate.class) @RequestBody DOMTRANSIT domtransit,@CookieValue("username") String username,@CookieValue("userid") String userid){ return domTransitService.updateByPrimaryKeySelective(domtransit)>0 ? new ResultJson("200","修改成功") :new ResultJson("400","修改失败"); } @ApiOperation(value = "转运申请查询搜索",notes = "awba转运前主单,awbh转运前分单,flightDate,flightNo转运前航班信息") @GetMapping("dom") @UserPermissionCheck public ResultJson<PageInfo<DOMTRANSIT>> select(@RequestParam(value = "pageNum",required = false,defaultValue = "1") int pageNum, @RequestParam(value = "pageSize",required = false,defaultValue = "10") int pageSize, @RequestParam(value = "originMasterwaybill",required = false) String awba, @RequestParam(value = "originHousewaybill",required = false) String awbh, @RequestParam(value = "originFlightdate",required = false) String flightDate, @RequestParam(value = "originFlightdateEnd",required = false) String originFlightdateEnd, @RequestParam(value = "originFlightno",required = false) String flightNo, @RequestParam(value = "transType",required = false) String transType, @RequestParam(value = "agentName",required = false) String agentName, @CookieValue("username") String username, @CookieValue("userid") String userid){ DOMTRANSIT domtransit = new DOMTRANSIT(); domtransit.setOriginMasterwaybill(awba); domtransit.setOriginHousewaybill(awbh); domtransit.setOriginFlightno(flightNo); domtransit.setTransitType(transType); domtransit.setAgentName(agentName); //todo:权限校验,有管理权限的 显示全部数据 if (!"admin".equals(username)){ domtransit.setUserName(username); } if(StringUtils.isNotEmpty(flightDate) && StringUtils.isNotEmpty(originFlightdateEnd)){ domtransit.setOriginFlightdate(DateUtil.parseDate(flightDate,"yyyy-MM-dd")); domtransit.setOriginFlightdateEnd(DateUtil.parseDate(originFlightdateEnd,"yyyy-MM-dd")); } return new ResultJson<PageInfo<DOMTRANSIT>>("200","success",domTransitService.selectList(domtransit,pageNum,pageSize)); } @ApiOperation(value = "审核接口",notes = "中转审核,id及状态必填") @PostMapping("audit") @UserPermissionCheck public ResultJson audit(@Validated(ValidateAudit.class) @RequestBody DOMTRANSIT domtransit, @CookieValue("username") String username, @CookieValue("userid") String userid){ domtransit.setApproverAccount(username); int i = domTransitService.updateByAudit(domtransit); return i >0 ?new ResultJson("200", "审核通过"):new ResultJson("403", "审核失败"); } @ApiOperation(value = "今日转运统计接口",notes = "开始日期为今日,结束日期为今日加一") @GetMapping("analysisTodayWeight") public ResultJson analysisTodayWeight( @RequestParam(value = "startDate") String startDate, @RequestParam(value = "endDate") String endDate){ List<LinkedHashMap> result = domtransitMapper.analysisTodayWeight(startDate,endDate); return new ResultJson("200","success",result); } @ApiOperation(value = "excel导出数据",notes = "awba转运前主单,awbh转运前分单,flightDate,flightNo转运前航班信息") @GetMapping("excelDom") @UserPermissionCheck public ResultJson<List<DomTransController>> excelDom(@RequestParam(value = "pageNum",required = false,defaultValue = "1") int pageNum, @RequestParam(value = "pageSize",required = false,defaultValue = "10") int pageSize, @RequestParam(value = "originMasterwaybill",required = false) String awba, @RequestParam(value = "originHousewaybill",required = false) String awbh, @RequestParam(value = "originFlightdate",required = false) String flightDate, @RequestParam(value = "originFlightdateEnd",required = false) String originFlightdateEnd, @RequestParam(value = "originFlightno",required = false) String flightNo, @RequestParam(value = "transType",required = false) String transType, @RequestParam(value = "agentName",required = false) String agentName, @CookieValue("username") String username, @CookieValue("userid") String userid){ DOMTRANSIT domtransit = new DOMTRANSIT(); domtransit.setOriginMasterwaybill(awba); domtransit.setOriginHousewaybill(awbh); domtransit.setOriginFlightno(flightNo); domtransit.setTransitType(transType); domtransit.setAgentName(agentName); //todo:权限校验,有管理权限的 显示全部数据 if (!"admin".equals(username)){ domtransit.setUserName(username); } if(StringUtils.isNotEmpty(flightDate) && StringUtils.isNotEmpty(originFlightdateEnd)){ domtransit.setOriginFlightdate(DateUtil.parseDate(flightDate,"yyyy-MM-dd")); domtransit.setOriginFlightdateEnd(DateUtil.parseDate(originFlightdateEnd,"yyyy-MM-dd")); } return new ResultJson("200","success", domTransitService.excelDom(domtransit)); } }