package com.sercurityControl.proteam.controller; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.securityControl.common.core.utils.aes.Aes; import com.securityControl.common.core.utils.poi.ExcelUtil; import com.securityControl.common.core.web.controller.BaseController; import com.securityControl.common.core.web.domain.AjaxResult; import com.securityControl.common.core.web.page.TableDataInfo; import com.securityControl.common.log.annotation.Log; import com.securityControl.common.log.enums.BusinessType; import com.securityControl.common.log.enums.OperationType; import com.sercurityControl.proteam.domain.ClassData; import com.sercurityControl.proteam.domain.ProClassMettingVo; import com.sercurityControl.proteam.domain.ProData; import com.sercurityControl.proteam.domain.TicketData; import com.sercurityControl.proteam.service.ProDataService; import com.sercurityControl.proteam.util.RedisCache; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.List; import java.util.Map; @Api(tags = "工程信息") @Slf4j @RestController @RequestMapping("/pot/newPro") public class ProDataController extends BaseController { @Autowired private ProDataService service; /** * 作业票 * * @param ticketData 条件 * @return 集合 */ @PostMapping("/getTicketLists") @Log(title = "工程明细", menu = "工程信息->工程明细", businessType = BusinessType.QUERY, details = "作业票列表") public TableDataInfo getTicketLists(TicketData ticketData) { startPage(); return getDataTable(service.getTicketLists(ticketData)); } /** * 站班会 * * @param classData 条件 * @return 集合 */ @PostMapping("/getClassLists") @Log(title = "工程明细", menu = "工程信息->工程明细", businessType = BusinessType.QUERY, details = "站班会列表") public TableDataInfo getClassLists(ClassData classData) { startPage(); return getDataTable(service.getClassLists(classData)); } /** * 工程列表 * * @param proData 条件 * @return 集合 */ @PostMapping("/getProList") @Log(title = "工程明细", menu = "工程信息->工程明细", businessType = BusinessType.QUERY, details = "工程列表") public TableDataInfo getProList(ProData proData) { startPage(); return getDataTable(service.getProList(proData)); } @PostMapping("/getProdDetail") @Log(title = "工程明细", menu = "工程信息->工程详情", businessType = BusinessType.QUERY, details = "工程详情") public ProData getProdDetail(ProData proData) { return service.getProdDetail(proData); } /** * 工程列表导出Pro * * @param proData 条件 * @return 集合 */ @GetMapping("/exportProData") @Log(title = "工程明细", menu = "工程信息->工程明细", businessType = BusinessType.EXPORT, details = "工程列表导出", grade = OperationType.EXPORT_BUSINESS) public void exportProData(HttpServletResponse response, ProData proData) { List list = service.getProList(proData); ExcelUtil util = new ExcelUtil(ProData.class); util.exportExcel(response, list, "工程明细"); } /** * 工程数量 * * @return 集合 */ @PostMapping("/getBasicInfoData") @Log(title = "工程明细", menu = "工程信息->工程明细", businessType = BusinessType.EXPORT, details = "工程数量") public AjaxResult getBasicInfoData(String params) { String aesParams = Aes.aesDecrypt(params); ProData entity = com.alibaba.fastjson2.JSON.parseObject(aesParams, ProData.class); return service.getBasicInfoData(entity); } /** * 获取工程下拉框 * * @return 集合 */ @PostMapping("/getProject") public AjaxResult getProject(String params) { String aesParams = Aes.aesDecrypt(params); ProData entity = com.alibaba.fastjson2.JSON.parseObject(aesParams, ProData.class); return service.getProject(entity); } /** * 获取工程下拉框 * * @return 集合 */ @PostMapping("/getProjectSelect") public AjaxResult getProjectSelect( ProData entity) { try{ return service.getProjectSelect(entity); }catch (Exception e){ log.error(e.toString(),e); return null; } } /** * 查询改工程下所有的施工的班组 * @param proData * @return */ @PostMapping(value = "getProWorkTeam") @Log(title = "工程管理", menu = "班组记录", businessType = BusinessType.QUERY, details = "班组记录") public Map getProWorkTeam(ProData proData) { Map map = new HashMap(16); try { PageHelper.startPage(Integer.parseInt(proData.getPage()), Integer.parseInt(proData.getLimit())); PageInfo pageInfo = service.getProWorkTeam(proData); map.put("code", 200); map.put("msg", "获取数据成功"); map.put("count", pageInfo.getTotal()); map.put("curr", Integer.parseInt(proData.getPage())); map.put("limit", Integer.parseInt(proData.getLimit())); map.put("data", pageInfo.getList()); } catch (Exception e) { map.put("code", 500); map.put("msg", "服务异常请稍后重试"); map.put("count", 0); map.put("curr", Integer.parseInt(proData.getPage())); map.put("limit", Integer.parseInt(proData.getLimit())); map.put("data", null); } return map; } /** * 获取该工程的站班会记录 * @param proClassMettingVo * @return */ @PostMapping(value = "getClassMettingList") @Log(title = "工程管理", menu = "站班会记录", businessType = BusinessType.QUERY, details = "站班会记录") public Map getClassMettingList(ProClassMettingVo proClassMettingVo) { Map map = new HashMap(16); try { PageHelper.startPage(Integer.parseInt(proClassMettingVo.getPage()), Integer.parseInt(proClassMettingVo.getLimit())); PageInfo pageInfo = service.getClassMettingList(proClassMettingVo); map.put("code", 200); map.put("msg", "获取数据成功"); map.put("count", pageInfo.getTotal()); map.put("curr", Integer.parseInt(proClassMettingVo.getPage())); map.put("limit", Integer.parseInt(proClassMettingVo.getLimit())); map.put("data", pageInfo.getList()); } catch (Exception e) { map.put("code", 500); map.put("msg", "服务异常请稍后重试"); map.put("count", 0); map.put("curr", Integer.parseInt(proClassMettingVo.getPage())); map.put("limit", Integer.parseInt(proClassMettingVo.getLimit())); map.put("data", null); } return map; } }