package cn.com.goldenwater.dcproj.controller.wintu; import cn.com.goldenwater.core.web.BaseController; import cn.com.goldenwater.core.web.BaseResponse; import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto; import cn.com.goldenwater.dcproj.model.Aqsxkspqk; import cn.com.goldenwater.dcproj.model.BisInspWintuRgstr; import cn.com.goldenwater.dcproj.param.BisInspWintuRgstrParam; import cn.com.goldenwater.dcproj.param.FileParam; import cn.com.goldenwater.dcproj.param.TypeParam; import cn.com.goldenwater.dcproj.service.BisInspWintuRgstrService; import cn.com.goldenwater.dcproj.service.OlBisInspOrgService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.Constant; import cn.com.goldenwater.dcproj.utils.impexcel.ExpAndImpUtil; import cn.com.goldenwater.dcproj.utils.impexcel.ImportExcel; import cn.com.goldenwater.dcproj.utils.impexcel.format.WintuFieldFromatImp; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import static cn.com.goldenwater.dcproj.utils.impexcel.ImpUtil.getDateFormatPath; /** * @author lune * @date 2020-7-15 */ @Api(value = "BIS 取用水督查登记表管理",tags="BIS 取用水督查登记表管理") @RestController @RequestMapping("/bis/insp/wintu/rgstr") public class BisInspWintuRgstrController extends BaseController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private BisInspWintuRgstrService bisInspWintuRgstrService; @Autowired private OlBisInspOrgService olBisInspOrgService; @Autowired private RedisTemplate redisTemplate; @Value("${export.templatePath}") private String templatePath; @Value("${impExcel.basePath}") private String impExcelPath; @ApiOperation(value = "添加/修改取用水督查登记表") @RequestMapping(value = "", method = RequestMethod.POST) public BaseResponse insert(@ApiParam(name = "bisInspWintuRgstr", value = "BisInspWintuRgstr", required = true) @RequestBody BisInspWintuRgstr bisInspWintuRgstr) { if(StringUtils.isBlank(bisInspWintuRgstr.getId())) { // 生成uuid String uuid = UuidUtil.uuid(); bisInspWintuRgstr.setId(uuid); bisInspWintuRgstr.setInTm(new Date()); bisInspWintuRgstr.setMendLiftStat(Constant.STRING_ZERO); bisInspWintuRgstr.setChkInStat(Constant.STRING_ZERO); bisInspWintuRgstrService.insert(bisInspWintuRgstr); }else{ bisInspWintuRgstr.setUpTm(new Date()); bisInspWintuRgstrService.update(bisInspWintuRgstr); } return buildSuccessResponse(bisInspWintuRgstr); } @ApiOperation(value = "根据ID删除取用水督查登记表") @RequestMapping(value = "/del/{id}", method = RequestMethod.GET) public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { int ret = bisInspWintuRgstrService.delete(id); return buildSuccessResponse(); } @ApiOperation(value = "根据ID获取取用水督查登记表(单表)") @RequestMapping(value = "/{id}", method = RequestMethod.GET) public BaseResponse get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) { BisInspWintuRgstr bisInspWintuRgstr = bisInspWintuRgstrService.get(id); return buildSuccessResponse(bisInspWintuRgstr); } @ApiOperation(value = "获取取用水督查登记表(列表所有)") @RequestMapping(value = "/list", method = RequestMethod.POST) public BaseResponse> list(@ApiParam(name = "bisInspWintuRgstrParam", value = "bisInspWintuRgstrParam", required = true) @RequestBody BisInspWintuRgstrParam bisInspWintuRgstrParam) { List bisInspWintuRgstrList = bisInspWintuRgstrService.findList(bisInspWintuRgstrParam); return buildSuccessResponse(bisInspWintuRgstrList); } @ApiOperation(value = "获取取用水督查登记表(列表--分页)") @RequestMapping(value = "/page", method = RequestMethod.POST) public BaseResponse> page(@ApiParam(name = "bisInspWintuRgstrParam", value = "bisInspWintuRgstrParam", required = true) @RequestBody BisInspWintuRgstrParam bisInspWintuRgstrParam) { PageInfo bisInspWintuRgstrList = bisInspWintuRgstrService.findPageInfo(bisInspWintuRgstrParam); return buildSuccessResponse(bisInspWintuRgstrList); } @ApiOperation(value = "获取取用水督查列表") @RequestMapping(value = "/findWintuPage", method = RequestMethod.POST) public BaseResponse> findWintuPage(@RequestBody TypeParam param) { param.setProvince(AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId()))); String adPr = AdLevelUtil.getAddvcd(olBisInspOrgService.getProvince(getCurrentOrgId())); if (StringUtils.isBlank(param.getAdCode())) { param.setAdCode(adPr); } PageInfo bisInspWintuRgstrList = bisInspWintuRgstrService.findWintuPage(param); return buildSuccessResponse(bisInspWintuRgstrList); } @ApiOperation(value = "获取取水许可信息") @GetMapping("/permission/{id}") public BaseResponse findPermissionInfo(@PathVariable String id){ return buildSuccessResponse(bisInspWintuRgstrService.findPermissionInfo(id)); } @ApiOperation(value = "获取问题信息") @GetMapping("/issue/{id}") public BaseResponse findIssueInfo(@PathVariable String id){ return buildSuccessResponse(bisInspWintuRgstrService.findIssueInfo(id)); } @ApiOperation(value = "下载模板") @RequestMapping(value = "/downTemplate", method = {RequestMethod.GET, RequestMethod.POST}) public BaseResponse downTemplate(HttpServletResponse response, TypeParam param) { try { bisInspWintuRgstrService.downloadTemplate(response, param); } catch (Exception e) { return buildFailResponse(e); } return buildSuccessResponse(); } @ApiOperation(value = "上传模板") @RequestMapping(value = "/uploadTemplate", method = RequestMethod.POST) public BaseResponse uploadTemplate(MultipartFile file) { String filaPath = ""; try { filaPath = ExpAndImpUtil.upload(file, getDateFormatPath(impExcelPath)); } catch (Exception e) { return buildFailResponse(e); } return buildSuccessResponse(filaPath); } @ApiOperation(value = "解析文件上传数据") @RequestMapping(value = "/parseUpload", method = RequestMethod.POST) public BaseResponse> parseUpload(FileParam param) { Map map = new LinkedHashMap<>(); try { List> list = ExpAndImpUtil.parseData(param.getPath(), param.getStartRow(), BisInspRgstrDto.class); if (list.size() > 0) { String uuid = UuidUtil.uuid(); redisTemplate.opsForList().rightPushAll(uuid, list); map.put("dataId", uuid); } map.put("list", list); } catch (IOException e) { logger.error(String.valueOf(e)); buildFailResponse(e.getMessage()); } return buildSuccessResponse(map); } @ApiOperation(value = "文件数据入库") @RequestMapping(value = "/insertIntoData", method = RequestMethod.POST) public BaseResponse insertIntoData(FileParam param) { if (StringUtils.isBlank(param.getDataId())) { return buildFailResponse(); } List> list = redisTemplate.opsForList().range(param.getDataId(), 0, -1); redisTemplate.delete(param.getDataId()); try { List> showDataList = ImportExcel.getShowData(list, WintuFieldFromatImp.class); bisInspWintuRgstrService.insertIntoData(showDataList, param); } catch (Exception e) { return buildFailResponse(); } return buildSuccessResponse(); } }