| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 |
- package cn.com.goldenwater.dcproj.controller.tac;
- import cn.com.goldenwater.dcproj.dto.TacCountDto;
- import cn.com.goldenwater.dcproj.model.TacExprRcmm;
- import cn.com.goldenwater.dcproj.param.TacExprRcmmParam;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.service.TacExprRcmmService;
- import cn.com.goldenwater.core.web.BaseController;
- import cn.com.goldenwater.core.web.BaseResponse;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.InspUtils;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.apache.commons.collections.map.HashedMap;
- import org.apache.commons.lang3.StringUtils;
- import com.github.pagehelper.PageInfo;
- 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.web.bind.annotation.PathVariable;
- 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.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import static cn.com.goldenwater.dcproj.utils.FormatFieldUtil.*;
- /**
- * @author lune
- * @date 2019-11-13
- */
- @Api(value = "TAC 专家推荐名单管理", tags = "TAC 专家推荐名单管理")
- @RestController
- @RequestMapping("/tac/expr/rcmm")
- public class TacExprRcmmController extends BaseController {
- private Logger logger = LoggerFactory.getLogger(getClass());
- @Autowired
- private TacExprRcmmService tacExprRcmmService;
- @Value("${export.templatePath}")
- private String templatePath;
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- @ApiOperation(value = "添加/修改专家推荐名单")
- @RequestMapping(value = "", method = RequestMethod.POST)
- public BaseResponse<TacExprRcmm> insert(@ApiParam(name = "tacExprRcmm", value = "TacExprRcmm", required = true) @RequestBody TacExprRcmm tacExprRcmm) {
- if (StringUtils.isBlank(tacExprRcmm.getId())) {
- tacExprRcmm.setIntm(new Date());
- tacExprRcmm.setUptm(new Date());
- String uuid = UuidUtil.uuid(); // 生成uuid
- tacExprRcmm.setId(uuid);
- tacExprRcmmService.insert(tacExprRcmm);
- } else {
- tacExprRcmm.setUptm(new Date());
- tacExprRcmmService.update(tacExprRcmm);
- }
- return buildSuccessResponse(tacExprRcmm);
- }
- @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 = tacExprRcmmService.delete(id);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "根据ID获取专家推荐名单(单表)")
- @RequestMapping(value = "/{id}", method = RequestMethod.GET)
- public BaseResponse<TacExprRcmm> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
- TacExprRcmm tacExprRcmm = tacExprRcmmService.get(id);
- return buildSuccessResponse(tacExprRcmm);
- }
- @ApiOperation(value = "获取专家推荐名单(列表所有)")
- @RequestMapping(value = "/list", method = RequestMethod.POST)
- public BaseResponse<List<TacExprRcmm>> list(@ApiParam(name = "tacExprRcmmParam", value = "tacExprRcmmParam", required = true) @RequestBody TacExprRcmmParam tacExprRcmmParam) {
- List<TacExprRcmm> tacExprRcmmList = tacExprRcmmService.findList(tacExprRcmmParam);
- return buildSuccessResponse(tacExprRcmmList);
- }
- @ApiOperation(value = "获取专家推荐名单(列表--分页)")
- @RequestMapping(value = "/page", method = RequestMethod.POST)
- public BaseResponse<PageInfo<TacExprRcmm>> page(@ApiParam(name = "tacExprRcmmParam", value = "tacExprRcmmParam", required = true) @RequestBody TacExprRcmmParam tacExprRcmmParam) {
- if (StringUtils.isNotBlank(tacExprRcmmParam.getState()) && StringUtils.isNotBlank(tacExprRcmmParam.getIsAppro())) {
- if ("0".equals(tacExprRcmmParam.getState())) {
- return buildSuccessResponse(new PageInfo<>());
- } else if ("1".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState(tacExprRcmmParam.getIsAppro());
- }
- }
- PageInfo<TacExprRcmm> tacExprRcmmList = tacExprRcmmService.findPageInfo(tacExprRcmmParam);
- return buildSuccessResponse(tacExprRcmmList);
- }
- @ApiOperation(value = "导出基本信息")
- @RequestMapping(value = "/downRcmmExcel", method = RequestMethod.GET)
- public BaseResponse downRcmmExcel(TacExprRcmmParam tacExprRcmmParam, HttpServletResponse response) {
- List<TacExprRcmm> tacExprRcmmList = tacExprRcmmService.findList(tacExprRcmmParam);
- try {
- if (tacExprRcmmList.size() > 0) {
- fieldFormat(tacExprRcmmList);
- List<Map<String, Object>> map = listToMap(tacExprRcmmList);
- ExportUtil.download(response, map, templatePath + File.separator + "rcmmList.xls");
- } else {
- ExportUtil.download(response, new ArrayList<Map<String, Object>>(), templatePath + File.separator + "rcmmList.xls");
- }
- } catch (IOException e) {
- return buildFailResponse();
- }
- return buildSuccessResponse();
- }
- private List<Map<String, Object>> listToMap(List<TacExprRcmm> list) {
- List<Map<String, Object>> mapList = new ArrayList<>();
- if (list == null || list.size() == 0) {
- return mapList;
- }
- list.forEach(tacExprRcmm -> {
- Map<String, Object> map = ExportUtil.objToMap(tacExprRcmm, true);
- if (map != null) {
- mapList.add(map);
- }
- });
- return mapList;
- }
- private void fieldFormat(List<TacExprRcmm> list) {
- for (TacExprRcmm workerB : list) {
- workerB.setGroupType(groupFormat(workerB.getGroupType()));
- workerB.setRoleType(roleFormat(workerB.getRoleType()));
- workerB.setEducation(educationFormat(workerB.getEducation()));
- workerB.setUnitRanks(unitRanksFormat(workerB.getUnitRanks()));
- workerB.setTitles(titlesFormat(workerB.getTitles()));
- workerB.setIsOffice(commonFormat(workerB.getIsOffice()));
- workerB.setIsTraining(commonFormat(workerB.getIsTraining()));
- }
- }
- @ApiOperation(value = "导入人员")
- @RequestMapping(value = "insertList", method = RequestMethod.POST)
- public BaseResponse<Map<String, Object>> insertList(MultipartFile file, TacExprRcmmParam tacExprRcmmParam, HttpServletRequest request) {
- tacExprRcmmParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
- Map<String, Object> map = tacExprRcmmService.insertList(file, tacExprRcmmParam);
- return buildSuccessResponse(map);
- }
- @ApiOperation(value = "批量关联简历")
- @RequestMapping(value = "/uploadBio", method = RequestMethod.POST)
- public BaseResponse uploadBip(@RequestParam("file") MultipartFile file, TacExprRcmmParam tacExprRcmmParam) {
- try {
- tacExprRcmmParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
- int a = tacExprRcmmService.uploadBio(file, tacExprRcmmParam);
- } catch (Exception e) {
- e.printStackTrace();
- return buildFailResponse("上传失败");
- }
- return buildSuccessResponse();
- }
- @ApiOperation(value = "获取推荐的人员信息列表")
- @RequestMapping(value = "/getRcmmList", method = RequestMethod.POST)
- public BaseResponse<List<TacExprRcmm>> getRcmmList(@RequestBody TacExprRcmmParam tacExprRcmmParam, HttpServletResponse response) {
- tacExprRcmmParam.setOrgCode(InspUtils.setOrgIds(tacExprRcmmParam.getOrgCode()));
- tacExprRcmmParam.setWorkAd(InspUtils.setOrgIds(tacExprRcmmParam.getWorkAd()));
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- tacExprRcmmParam.setRcmmIds(InspUtils.setOrgIds(tacExprRcmmParam.getRcmmIds()));
- List<TacExprRcmm> list = null;
- if (StringUtils.isNotBlank(tacExprRcmmParam.getState()) && StringUtils.isNotBlank(tacExprRcmmParam.getIsAppro())) {
- if ("0".equals(tacExprRcmmParam.getState())) {
- list = new ArrayList<>();
- } else if ("1".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState(tacExprRcmmParam.getIsAppro());
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- list = tacExprRcmmService.getRcmmList(tacExprRcmmParam);
- }
- } else {
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- list = tacExprRcmmService.getRcmmList(tacExprRcmmParam);
- }
- if ("1".equals(tacExprRcmmParam.getIsExport())) {
- try {
- if (list.size() > 0) {
- fieldFormat(list);
- List<Map<String, Object>> map = listToMap(list);
- ExportUtil.download(response, map, templatePath + File.separator + "rcmmList.xls");
- } else {
- ExportUtil.download(response, new ArrayList<Map<String, Object>>(), templatePath + File.separator + "rcmmList.xls");
- }
- } catch (IOException e) {
- return buildFailResponse();
- }
- }
- return buildSuccessResponse(list);
- }
- @ApiOperation(value = "获取推荐的人员信息列表")
- @RequestMapping(value = "/getRcmmPage", method = RequestMethod.POST)
- public BaseResponse<PageInfo<TacExprRcmm>> getRcmmPage(@RequestBody TacExprRcmmParam tacExprRcmmParam, HttpServletResponse response) {
- tacExprRcmmParam.setOrgCode(InspUtils.setOrgIds(tacExprRcmmParam.getOrgCode()));
- tacExprRcmmParam.setWorkAd(InspUtils.setOrgIds(tacExprRcmmParam.getWorkAd()));
- tacExprRcmmParam.setProvince(AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(getCurrentOrgId())));
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- if (tacExprRcmmParam.getRcmms() != null && tacExprRcmmParam.getRcmms().size() > 0) {
- StringBuilder sb = new StringBuilder("");
- String splitChar = "'";
- tacExprRcmmParam.getRcmms().forEach(rcmm -> {
- sb.append(splitChar).append(rcmm.getId()).append(splitChar).append(",");
- });
- if (sb.length() > 0) {
- tacExprRcmmParam.setRcmmIds(sb.substring(0, sb.length() - 1));
- }
- }
- if ("1".equals(tacExprRcmmParam.getIsExport())) {
- try {
- List<TacExprRcmm> list = tacExprRcmmService.getRcmmList(tacExprRcmmParam);
- if (list.size() > 0) {
- fieldFormat(list);
- if (StringUtils.isNotBlank(tacExprRcmmParam.getWorkAd()) || StringUtils.isNotBlank(tacExprRcmmParam.getOrgCode())) {
- Map<String, List<TacExprRcmm>> map = listToMap(list, tacExprRcmmParam.getWorkAd(), tacExprRcmmParam.getOrgCode());
- List<String> columns = new ArrayList<>();
- columns.add("id");
- columns.add("depCode");
- columns.add("orgCode");
- columns.add("state");
- columns.add("persId");
- columns.add("intm");
- columns.add("uptm");
- columns.add("dataStat");
- ExportUtil.exportExcel(map, response, "人员列表", columns);
- } else {
- List<Map<String, Object>> map = listToMap(list);
- ExportUtil.download(response, map, templatePath + File.separator + "rcmmList.xls");
- }
- } else {
- ExportUtil.download(response, new ArrayList<Map<String, Object>>(), templatePath + File.separator + "rcmmList.xls");
- }
- } catch (IOException e) {
- return buildFailResponse();
- }
- }
- PageInfo<TacExprRcmm> pageInfo = tacExprRcmmService.getRcmmPage(tacExprRcmmParam);
- return buildSuccessResponse(pageInfo);
- }
- private Map<String, List<TacExprRcmm>> listToMap(List<TacExprRcmm> list, String workAd, String orgCode) {
- Map<String, List<TacExprRcmm>> result = new HashedMap();
- if (list == null) {
- return result;
- }
- if (list.size() > 0) {
- list.forEach(rcmm -> {
- StringBuilder sb = new StringBuilder();
- if (StringUtils.isNotBlank(workAd) && StringUtils.isNotBlank(orgCode)) {
- sb.append(rcmm.getOrgNm()).append("(").append(rcmm.getWorkAdNm()).append(")");
- } else if (StringUtils.isNotBlank(workAd)) {
- sb.append(rcmm.getWorkDpNm());
- } else if (StringUtils.isNotBlank(orgCode)) {
- sb.append(rcmm.getOrgNm());
- }
- if (result.containsKey(sb.toString())) {
- result.get(sb.toString()).add(rcmm);
- } else {
- List<TacExprRcmm> rcmmList = new ArrayList<>();
- rcmmList.add(rcmm);
- result.put(sb.toString(), rcmmList);
- }
- });
- }
- return result;
- }
- @ApiOperation(value = "移入推荐库")
- @RequestMapping(value = "/insertRcmmToWorker", method = RequestMethod.POST)
- public BaseResponse insertRcmmToWorkerList(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
- int a = tacExprRcmmService.insertRcmmToWorkerList(tacExprRcmmParam);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "回绝接口")
- @RequestMapping(value = "/removeRvmmList", method = RequestMethod.POST)
- public BaseResponse removeRvmmList(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- int a = tacExprRcmmService.removeRvmmList(tacExprRcmmParam);
- return buildSuccessResponse();
- }
- @ApiOperation(value = "根据推荐时间获取人员列表")
- @RequestMapping(value = "/getRcmmListByTime", method = RequestMethod.POST)
- public BaseResponse<List<TacExprRcmm>> getRcmmListByTime(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- List<TacExprRcmm> list = tacExprRcmmService.getRcmmListByTime(tacExprRcmmParam);
- return buildSuccessResponse(list);
- }
- @ApiOperation("导出推荐人员列表")
- @RequestMapping(value = "/exportRcmmExcel", method = RequestMethod.POST)
- public BaseResponse exportRcmmExcel(@RequestBody TacExprRcmmParam tacExprRcmmParam, HttpServletResponse response) {
- try {
- if (tacExprRcmmParam.getRcmms()!= null) {
- fieldFormat(tacExprRcmmParam.getRcmms());
- List<Map<String,Object>> map = listToMap(tacExprRcmmParam.getRcmms());
- ExportUtil.download(response,map,templatePath+ File.separator +"rcmmList.xls");
- } else {
- ExportUtil.download(response,new ArrayList<Map<String, Object>>(),templatePath+ File.separator +"rcmmList.xls");
- }
- } catch (IOException e) {
- return buildFailResponse();
- }
- return buildSuccessResponse();
- }
- @ApiOperation(value = "根据职称统计人数")
- @RequestMapping(value = "/countRcmmByTitles", method = RequestMethod.POST)
- public BaseResponse<List<TacCountDto>> countRcmmByTitles(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- if (StringUtils.isNotBlank(tacExprRcmmParam.getState()) && StringUtils.isNotBlank(tacExprRcmmParam.getIsAppro())) {
- if ("0".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("9");
- } else {
- tacExprRcmmParam.setState(tacExprRcmmParam.getIsAppro());
- }
- } else {
- if ("1".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("1,2,3");
- }
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- }
- }
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- List<TacCountDto> result = tacExprRcmmService.countRcmmByTitles(tacExprRcmmParam);
- return buildSuccessResponse(result);
- }
- @ApiOperation(value = "根据角色分类统计人数")
- @RequestMapping(value = "/countRcmmByRoleType", method = RequestMethod.POST)
- public BaseResponse<List<TacCountDto>> countRcmmByRoleType(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- if (StringUtils.isNotBlank(tacExprRcmmParam.getState()) && StringUtils.isNotBlank(tacExprRcmmParam.getIsAppro())) {
- if ("0".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("9");
- } else {
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- } else {
- tacExprRcmmParam.setState(tacExprRcmmParam.getIsAppro());
- }
- }
- } else {
- if ("1".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("1,2,3");
- }
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- }
- }
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- List<TacCountDto> result = tacExprRcmmService.countRcmmByRoleType(tacExprRcmmParam);
- return buildSuccessResponse(result);
- }
- @ApiOperation(value = "根据学历统计人数")
- @RequestMapping(value = "/countRcmmByEducation", method = RequestMethod.POST)
- public BaseResponse<List<TacCountDto>> countRcmmByEducation(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- if (StringUtils.isNotBlank(tacExprRcmmParam.getState()) && StringUtils.isNotBlank(tacExprRcmmParam.getIsAppro())) {
- if ("0".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("9");
- } else {
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- } else {
- tacExprRcmmParam.setState(tacExprRcmmParam.getIsAppro());
- }
- }
- } else {
- if ("1".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("1,2,3");
- }
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- }
- }
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- List<TacCountDto> result = tacExprRcmmService.countRcmmByEducation(tacExprRcmmParam);
- return buildSuccessResponse(result);
- }
- @ApiOperation(value = "根据在职情况统计人数")
- @RequestMapping(value = "/countRcmmByIsOffice", method = RequestMethod.POST)
- public BaseResponse<List<TacCountDto>> countRcmmByIsOffice(@RequestBody TacExprRcmmParam tacExprRcmmParam) {
- if (StringUtils.isNotBlank(tacExprRcmmParam.getState()) && StringUtils.isNotBlank(tacExprRcmmParam.getIsAppro())) {
- if ("0".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("9");
- } else {
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- } else {
- tacExprRcmmParam.setState(tacExprRcmmParam.getIsAppro());
- }
- }
- } else {
- if ("1".equals(tacExprRcmmParam.getState())) {
- tacExprRcmmParam.setState("1,2,3");
- }
- if ("0".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("3");
- } else if ("1".equals(tacExprRcmmParam.getIsAppro())) {
- tacExprRcmmParam.setState("2");
- }
- }
- tacExprRcmmParam.setState(InspUtils.setOrgIds(tacExprRcmmParam.getState()));
- List<TacCountDto> result = tacExprRcmmService.countRcmmByIsOffice(tacExprRcmmParam);
- return buildSuccessResponse(result);
- }
- }
|