package com.moral.api.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections4.CollectionUtils; import org.aspectj.apache.bcel.generic.RET; 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.moral.api.entity.Allocation; import com.moral.api.entity.ResponsibilityUnit; import com.moral.api.pojo.dto.allocation.AllocationUnitViewDto; import com.moral.api.service.AllocationService; import com.moral.api.utils.EasyExcelUtils; import com.moral.api.utils.NoModelWriteData; import com.moral.constant.Constants; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; @Api(tags = {"立行立改"}) @RestController @RequestMapping("allocation") public class AllocationController { @Autowired private AllocationService allocationService; @ApiOperation(value = "污染类型", notes = "污染类型") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "contaminate", method = RequestMethod.GET) public ResultMessage contaminate() { List> professions = allocationService.sysDictData(Constants.WU_RAN_LEI_XING); return ResultMessage.ok(professions); } @ApiOperation(value = "责任单位", notes = "责任单位") @ApiImplicitParams({ @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") }) @RequestMapping(value = "unit", method = RequestMethod.GET) public ResultMessage unit() { List responsibilityUnits = allocationService.seleteUnit(); return ResultMessage.ok(responsibilityUnits); } /** * 添加交办单 * @return */ @PostMapping("insert") public ResultMessage insert(@RequestBody Allocation allocation){ allocationService.insertAllocation(allocation); return ResultMessage.ok(); } /** * 查看交办单 * @return */ @GetMapping("check") public ResultMessage check(Integer id){ allocationService.check(id); return ResultMessage.ok(); } /** * 修改表单 * @param allocation * @return */ @PostMapping("update") public ResultMessage update(@RequestBody Allocation allocation){ allocationService.updateAll(allocation); return ResultMessage.ok(); } /** * 根据条件查询 * @return */ @GetMapping("selectAll") public ResultMessage selectAll(Map map){ allocationService.selectAll(map); return ResultMessage.ok(); } /** * 查询表单总览 * @return */ @GetMapping("selectUnitView") public ResultMessage selectUnitView(HttpServletRequest request){ Map params = WebUtils.getParametersStartingWith(request, null); Map map1 = allocationService.selectUnitView(params); return ResultMessage.ok(map1); } @GetMapping("unitExel") public void unitExel(HttpServletResponse response,HttpServletRequest request){ Map params = WebUtils.getParametersStartingWith(request, null); //数据集合 Map map1 = allocationService.selectUnitView(params); List unitView = (List) map1.get("unitView"); ArrayList> mapArrayList = new ArrayList<>(); for (AllocationUnitViewDto allocationUnitViewDto : unitView) { Map map = entityToMap(allocationUnitViewDto); mapArrayList.add(map); } if (CollectionUtils.isEmpty(mapArrayList)) { return; } Map map = mapArrayList.get(0); List list = new ArrayList<>(); for (String key : map.keySet()) { list.add(key); } String[] s2 = new String[list.size()]; list.toArray(s2); NoModelWriteData d = new NoModelWriteData(); d.setFileName("数据导出"); d.setHeadMap(s2); d.setDataStrMap(s2); d.setDataList(mapArrayList); try { EasyExcelUtils easyExcelUtils = new EasyExcelUtils(); easyExcelUtils.noModleWrite(d, response); } catch (Exception e) { int i = 0; } } /** 实体类转Map */ public static Map entityToMap(Object object) { Map map = new HashMap<>(); for (Field field : object.getClass().getDeclaredFields()) { try { boolean flag = field.isAccessible(); field.setAccessible(true); Object o = field.get(object); map.put(field.getName(), o); field.setAccessible(flag); } catch (Exception e) { e.printStackTrace(); } } return map; } }