You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
5.4 KiB
137 lines
5.4 KiB
package com.epmet.controller;
|
|
|
|
import com.epmet.commons.tools.annotation.MaskResponse;
|
|
import com.epmet.commons.tools.aop.NoRepeatSubmit;
|
|
import com.epmet.commons.tools.constant.NumConstant;
|
|
import com.epmet.commons.tools.enums.DictTypeEnum;
|
|
import com.epmet.commons.tools.page.PageData;
|
|
import com.epmet.commons.tools.utils.ExcelUtils;
|
|
import com.epmet.commons.tools.utils.Result;
|
|
import com.epmet.commons.tools.validator.AssertUtils;
|
|
import com.epmet.commons.tools.validator.ValidatorUtils;
|
|
import com.epmet.commons.tools.validator.group.AddGroup;
|
|
import com.epmet.commons.tools.validator.group.DefaultGroup;
|
|
import com.epmet.commons.tools.validator.group.UpdateGroup;
|
|
import com.epmet.dto.PovertyManageDTO;
|
|
import com.epmet.dto.form.povertyManage.PovertyManageFormDto;
|
|
import com.epmet.excel.PovertyManageExcel;
|
|
import com.epmet.feign.EpmetAdminOpenFeignClient;
|
|
import com.epmet.remote.EpmetUserRemoteService;
|
|
import com.epmet.service.PovertyManageService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
* @author generator generator@elink-cn.com
|
|
* @since v1.0.0 2023-06-16
|
|
*/
|
|
@Slf4j
|
|
@RestController
|
|
@RequestMapping("povertyManage")
|
|
public class PovertyManageController {
|
|
|
|
@Autowired
|
|
private PovertyManageService povertyManageService;
|
|
|
|
@Autowired
|
|
private EpmetAdminOpenFeignClient adminOpenFeignClient;
|
|
|
|
@Autowired
|
|
private EpmetUserRemoteService userRemoteService;
|
|
|
|
|
|
@RequestMapping("page")
|
|
@MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
|
|
public Result<PageData<PovertyManageDTO>> page(@RequestParam Map<String, Object> params) {
|
|
PageData<PovertyManageDTO> page = povertyManageService.page(params);
|
|
if (null != page && page.getList().size() > 0) {
|
|
buildData(page.getList());
|
|
}
|
|
return new Result<PageData<PovertyManageDTO>>().ok(page);
|
|
}
|
|
|
|
@RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET})
|
|
public Result<PovertyManageDTO> get(@PathVariable("id") String id) {
|
|
PovertyManageDTO data = povertyManageService.get(id);
|
|
return new Result<PovertyManageDTO>().ok(data);
|
|
}
|
|
|
|
@NoRepeatSubmit
|
|
@PostMapping("save")
|
|
public Result save(@RequestBody PovertyManageFormDto dto) {
|
|
//效验数据
|
|
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
|
Boolean flag = povertyManageService.isExist(dto.getResiUserId());
|
|
if (!flag) {
|
|
povertyManageService.save(dto);
|
|
} else {
|
|
return new Result().error(8000, "该人员已经是贫困户,请勿重复添加!");
|
|
}
|
|
return new Result();
|
|
}
|
|
|
|
@NoRepeatSubmit
|
|
@PostMapping("update")
|
|
public Result update(@RequestBody PovertyManageFormDto dto) {
|
|
//效验数据
|
|
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
|
|
povertyManageService.update(dto);
|
|
return new Result();
|
|
}
|
|
|
|
@PostMapping("delete")
|
|
public Result delete(@RequestBody String[] ids) {
|
|
//效验数据
|
|
AssertUtils.isArrayEmpty(ids, "id");
|
|
povertyManageService.delete(ids);
|
|
return new Result();
|
|
}
|
|
|
|
@RequestMapping(value = "/exportExcel")
|
|
public void exportExcelByEasyExcel(@RequestBody PovertyManageFormDto formDTO, HttpServletResponse response) throws Exception {
|
|
formDTO.setPageNo(NumConstant.ONE);
|
|
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
|
|
// AgencyInfoCache agency = CustomerOrgRedis.getAgencyInfo(userRemoteService.getLoginUserDetails().getAgencyId());
|
|
// String agencyName = agency.getOrganizationName();
|
|
PageData<PovertyManageDTO> data = povertyManageService.search(formDTO);
|
|
formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
|
|
if (null != data && data.getList().size() > 0) {
|
|
buildData(data.getList());
|
|
// for (PovertyManageDTO dto : data.getList()) {
|
|
// dto.setAgencyId(agencyName);
|
|
// dto.setGridId(CustomerOrgRedis.getGridInfo(dto.getGridId()).getGridName());
|
|
// }
|
|
}
|
|
ExcelUtils.exportExcelToTarget(response, "贫困人员名单.xls", data.getList(), PovertyManageExcel.class);
|
|
}
|
|
|
|
|
|
@PostMapping("search")
|
|
@MaskResponse(fieldNames = {"mobile", "idCard"}, fieldsMaskType = {MaskResponse.MASK_TYPE_MOBILE, MaskResponse.MASK_TYPE_ID_CARD})
|
|
public Result<PageData<PovertyManageDTO>> search(@RequestBody PovertyManageFormDto formDto) {
|
|
PageData<PovertyManageDTO> page = povertyManageService.search(formDto);
|
|
if (null != page && page.getList().size() > 0) {
|
|
buildData(page.getList());
|
|
}
|
|
return new Result<PageData<PovertyManageDTO>>().ok(page);
|
|
}
|
|
|
|
private void buildData(List<PovertyManageDTO> dtoList) {
|
|
Result<Map<String, String>> dictMapRes = adminOpenFeignClient.dictMap(DictTypeEnum.POVERTY_TYPE.getCode());
|
|
if (null != dictMapRes.getData() && dictMapRes.getData().size() > 0) {
|
|
Map<String, String> dictMap = dictMapRes.getData();
|
|
for (PovertyManageDTO dto : dtoList) {
|
|
if (null != dto.getPovertyType()) {
|
|
dto.setPovertyType(dictMap.get(dto.getPovertyType()));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|