c37b809713d2732b61f0d5476fb5bde6daddb7c0.svn-base 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. package cn.com.goldenwater.dcproj.controller.tac;
  2. import cn.com.goldenwater.core.web.BaseController;
  3. import cn.com.goldenwater.core.web.BaseResponse;
  4. import cn.com.goldenwater.dcproj.constValue.AdCodeLabel;
  5. import cn.com.goldenwater.dcproj.constValue.SmsCodeEnum;
  6. import cn.com.goldenwater.dcproj.dao.BisInspAllRlationPersDao;
  7. import cn.com.goldenwater.dcproj.dao.RoleDao;
  8. import cn.com.goldenwater.dcproj.dao.TacWorkerTypeDao;
  9. import cn.com.goldenwater.dcproj.dao.UserRoleDao;
  10. import cn.com.goldenwater.dcproj.dto.TacCountDto;
  11. import cn.com.goldenwater.dcproj.dto.TacWorkerBCountDto;
  12. import cn.com.goldenwater.dcproj.dto.TacWorkerBDto;
  13. import cn.com.goldenwater.dcproj.dto.TacWorkerbAuditDto;
  14. import cn.com.goldenwater.dcproj.enums.SystemFlagEnum;
  15. import cn.com.goldenwater.dcproj.model.*;
  16. import cn.com.goldenwater.dcproj.param.BisInspAllRlationPersParam;
  17. import cn.com.goldenwater.dcproj.param.RoleParam;
  18. import cn.com.goldenwater.dcproj.param.TacWorkerBParam;
  19. import cn.com.goldenwater.dcproj.param.TacWorkerTypeParam;
  20. import cn.com.goldenwater.dcproj.service.BisInspAllRlationPersService;
  21. import cn.com.goldenwater.dcproj.service.BisInspPersOrgService;
  22. import cn.com.goldenwater.dcproj.service.GwComFileService;
  23. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  24. import cn.com.goldenwater.dcproj.service.TacWorkerBService;
  25. import cn.com.goldenwater.dcproj.utils.BeanUtil;
  26. import cn.com.goldenwater.dcproj.utils.InspUtils;
  27. import cn.com.goldenwater.dcproj.utils.MD5;
  28. import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
  29. import cn.com.goldenwater.dcproj.utils.impexcel.ExpAndImpUtil;
  30. import cn.com.goldenwater.id.util.UuidUtil;
  31. import com.github.pagehelper.PageInfo;
  32. import io.swagger.annotations.Api;
  33. import io.swagger.annotations.ApiOperation;
  34. import io.swagger.annotations.ApiParam;
  35. import org.apache.commons.lang3.StringUtils;
  36. import org.slf4j.Logger;
  37. import org.slf4j.LoggerFactory;
  38. import org.springframework.beans.factory.annotation.Autowired;
  39. import org.springframework.beans.factory.annotation.Value;
  40. import org.springframework.web.bind.annotation.PathVariable;
  41. import org.springframework.web.bind.annotation.RequestBody;
  42. import org.springframework.web.bind.annotation.RequestMapping;
  43. import org.springframework.web.bind.annotation.RequestMethod;
  44. import org.springframework.web.bind.annotation.RequestParam;
  45. import org.springframework.web.bind.annotation.RestController;
  46. import org.springframework.web.multipart.MultipartFile;
  47. import javax.servlet.http.HttpServletResponse;
  48. import java.io.File;
  49. import java.text.ParseException;
  50. import java.text.SimpleDateFormat;
  51. import java.time.LocalDateTime;
  52. import java.util.*;
  53. /**
  54. * @author lune
  55. * @date 2019-9-6
  56. */
  57. @Api(value = "TAC 稽察人员信息表管理", tags = "TAC 稽察人员信息表管理")
  58. @RestController
  59. @RequestMapping("/tac/worker/b")
  60. public class TacWorkerBController extends BaseController {
  61. private Logger logger = LoggerFactory.getLogger(getClass());
  62. @Autowired
  63. private TacWorkerBService tacWorkerBService;
  64. @Autowired
  65. private BisInspAllRlationPersService persService;
  66. @Autowired
  67. private GwComFileService comFileService;
  68. @Autowired
  69. private OlBisInspOrgService olBisInspOrgService;
  70. @Autowired
  71. private BisInspPersOrgService persOrgService;
  72. @Autowired
  73. private TacWorkerTypeDao tacWorkerTypeDao;
  74. @Autowired
  75. private UserRoleDao userRoleDao;
  76. @Autowired
  77. private RoleDao roleDao;
  78. @Autowired
  79. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  80. @Value("${export.templatePath}")
  81. private String templatePath;
  82. @ApiOperation(value = "添加/修改稽察人员信息表")
  83. @RequestMapping(value = "", method = RequestMethod.POST)
  84. public BaseResponse<TacWorkerB> insert(@ApiParam(name = "tacWorkerB", value = "TacWorkerB", required = true) @RequestBody TacWorkerB tacWorkerB) {
  85. tacWorkerB.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  86. BisInspAllRlationPersParam param = new BisInspAllRlationPersParam();
  87. param.setMobilenumb(tacWorkerB.getMobilenumb());
  88. List<TacWorkerB> tacWorkerBList = tacWorkerBService.findListExist(tacWorkerB);
  89. if(!tacWorkerBList.isEmpty()){
  90. return buildFailResponse("人员已经存在");
  91. }
  92. List<BisInspAllRlationPers> list = persService.findList(param);
  93. if (StringUtils.isBlank(tacWorkerB.getId())) {
  94. String idNo = tacWorkerB.getIdNo();
  95. String borthDate = idNo.substring(6, 14);
  96. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
  97. try {
  98. Date date = dateFormat.parse(borthDate);
  99. tacWorkerB.setBirthdate(date);
  100. } catch (ParseException e) {
  101. e.printStackTrace();
  102. }
  103. LocalDateTime dateTime = LocalDateTime.now();
  104. tacWorkerB.setAge(Double.valueOf(dateTime.getYear() - Integer.valueOf(idNo.substring(6, 10))));
  105. String uuid = UuidUtil.uuid(); // 生成uuid
  106. tacWorkerB.setId(uuid);
  107. if (list.size() == 0) {
  108. BisInspAllRlationPers pers = new BisInspAllRlationPers();
  109. BeanUtil.copyObject1(tacWorkerB, pers);
  110. pers.setGuid(UuidUtil.uuid());
  111. pers.setPwd(MD5.getMD5("JinShui@433"));
  112. pers.setOwnerSystem(SystemFlagEnum.DC_ALL.getValue());
  113. if (StringUtils.isNotBlank(pers.getSex())) {
  114. pers.setSex("男".equals(pers.getSex()) ? "1" : "2");
  115. }
  116. OlBisInspOrg olBisInspOrg = olBisInspOrgService.get(getCurrentOrgId());
  117. if (olBisInspOrg != null) {
  118. pers.setOrgNm(olBisInspOrg.getOrgNm());
  119. }
  120. pers.setOrgId(getCurrentOrgId());
  121. pers.setPersName(tacWorkerB.getName());
  122. pers.setMobilenumb(tacWorkerB.getMobilenumb());
  123. pers.setPersType("3");
  124. persService.insert(pers);
  125. tacWorkerB.setLoginId(pers.getGuid());
  126. BisInspPersOrg inspPersOrg = new BisInspPersOrg();
  127. inspPersOrg.setOrgId(pers.getOrgId());
  128. inspPersOrg.setPersId(pers.getGuid());
  129. if (StringUtils.isNotBlank(pers.getPersType())) {
  130. inspPersOrg.setUserType(pers.getPersType());
  131. } else {
  132. inspPersOrg.setUserType(AdCodeLabel.GROUP_LEADER);
  133. }
  134. persOrgService.insert(inspPersOrg);
  135. } else {
  136. tacWorkerB.setLoginId(list.get(0).getGuid());
  137. }
  138. if (StringUtils.isNotBlank(tacWorkerB.getRoleType())) {
  139. String[] roleTypes = null;
  140. if (tacWorkerB.getRoleType().contains(",")) {
  141. roleTypes = tacWorkerB.getRoleType().split(",");
  142. } else {
  143. roleTypes = new String[]{tacWorkerB.getRoleType()};
  144. }
  145. for (String roleType : roleTypes) {
  146. TacWorkerType tacWorkerType = new TacWorkerType();
  147. tacWorkerType.setId(UuidUtil.uuid());
  148. tacWorkerType.setType("1");
  149. tacWorkerType.setWorkerid(tacWorkerB.getId());
  150. tacWorkerType.setValue(roleType);
  151. tacWorkerTypeDao.insert(tacWorkerType);
  152. }
  153. }
  154. tacWorkerBService.insert(tacWorkerB);
  155. // 新增角色信息(新增人员信息后,给新增人员默认角色:稽查专家)
  156. RoleParam roleParam = new RoleParam();
  157. roleParam.setRoleName("稽察专家");
  158. roleParam.setOwnerSystem("DC_ALL");
  159. roleParam.setPersType("0");
  160. List<Role> rolList = roleDao.findList(roleParam);
  161. if(null!=rolList && rolList.size()>0){
  162. UserRole role = new UserRole();
  163. role.setRoleId(rolList.get(0).getId());
  164. role.setUserId(tacWorkerB.getLoginId());
  165. userRoleDao.insert(role);
  166. }
  167. } else {
  168. if (StringUtils.isBlank(tacWorkerB.getLoginId())) {
  169. if (list.size() != 0) {
  170. tacWorkerB.setLoginId(list.get(0).getGuid());
  171. }
  172. }
  173. TacWorkerTypeParam tacWorkerTypeParam = new TacWorkerTypeParam();
  174. tacWorkerTypeParam.setType("1");
  175. tacWorkerTypeParam.setWorkerid(tacWorkerB.getId());
  176. List<TacWorkerType> tacWorkerTypes = tacWorkerTypeDao.findList(tacWorkerTypeParam);
  177. if (StringUtils.isNotBlank(tacWorkerB.getRoleType())) {
  178. String[] roleTypes = null;
  179. if (tacWorkerB.getRoleType().contains(",")) {
  180. roleTypes = tacWorkerB.getRoleType().split(",");
  181. } else {
  182. roleTypes = new String[]{tacWorkerB.getRoleType()};
  183. }
  184. for (String roleType : roleTypes) {
  185. if (isContain(tacWorkerTypes, roleType)) {
  186. continue;
  187. }
  188. TacWorkerType tacWorkerType = new TacWorkerType();
  189. tacWorkerType.setId(UuidUtil.uuid());
  190. tacWorkerType.setType("1");
  191. tacWorkerType.setWorkerid(tacWorkerB.getId());
  192. tacWorkerType.setValue(roleType);
  193. tacWorkerTypeDao.insert(tacWorkerType);
  194. }
  195. }
  196. if (tacWorkerTypes != null && tacWorkerTypes.size() > 0) {
  197. for (TacWorkerType tacWorkerType : tacWorkerTypes) {
  198. tacWorkerTypeDao.delete(tacWorkerType.getId());
  199. }
  200. }
  201. tacWorkerBService.update(tacWorkerB);
  202. }
  203. return buildSuccessResponse(tacWorkerB);
  204. }
  205. private boolean isContain(List<TacWorkerType> tacWorkerTypes, String roleType) {
  206. Iterator<TacWorkerType> iterator = tacWorkerTypes.iterator();
  207. while (iterator.hasNext()) {
  208. TacWorkerType tacWorkerType = iterator.next();
  209. if (roleType.equals(tacWorkerType.getValue())) {
  210. tacWorkerTypes.remove(tacWorkerType);
  211. return true;
  212. }
  213. }
  214. return false;
  215. }
  216. @ApiOperation(value = "根据ID删除稽察人员信息表")
  217. @RequestMapping(value = "/del/{id}", method = RequestMethod.GET)
  218. public BaseResponse delete(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  219. // 1.删除用户和角色关联关系
  220. TacWorkerB tacWorkerB = tacWorkerBService.get(id);
  221. userRoleDao.delete(tacWorkerB.getLoginId());
  222. // 2.删除用户信息
  223. bisInspAllRlationPersDao.delete(tacWorkerB.getLoginId());
  224. // 3.再删除人员信息
  225. int ret = tacWorkerBService.delete(id);
  226. TacWorkerTypeParam tacWorkerTypeParam = new TacWorkerTypeParam();
  227. tacWorkerTypeParam.setWorkerid(id);
  228. tacWorkerTypeDao.deleteBy(tacWorkerTypeParam);
  229. return buildSuccessResponse();
  230. }
  231. @ApiOperation(value = "处理数据关系-导入数据后使用")
  232. @RequestMapping(value = "/makeData/{orgId}", method = RequestMethod.GET)
  233. public BaseResponse makeData(@PathVariable String orgId) {
  234. int ret = tacWorkerBService.makeData(orgId);
  235. return buildSuccessResponse();
  236. }
  237. @ApiOperation(value = "获取要导出的字段")
  238. @RequestMapping(value = "/getExportColumns", method = RequestMethod.POST)
  239. public BaseResponse<List<Map<String, Object>>> getExportColumns() {
  240. List<String> list = new ArrayList<>();
  241. list.add("id");
  242. list.add("loginId");
  243. list.add("orgCode");
  244. list.add("isNew");
  245. list.add("persId");
  246. list.add("upTm");
  247. list.add("dataStat");
  248. list.add("count");
  249. List<Map<String, Object>> mapList = ExportUtil.getExoportColumns(TacWorkerB.class, list);
  250. return buildSuccessResponse(mapList);
  251. }
  252. @ApiOperation(value = "根据ID获取稽察人员信息表(单表)")
  253. @RequestMapping(value = "/{id}", method = RequestMethod.GET)
  254. public BaseResponse<TacWorkerB> get(@ApiParam(name = "id", value = "id", required = true) @PathVariable String id) {
  255. TacWorkerB tacWorkerB = tacWorkerBService.get(id);
  256. List<GwComFile> gwComFiles = comFileService.findFileByBiz(tacWorkerB.getId());
  257. tacWorkerB.setGwComFiles(gwComFiles);
  258. return buildSuccessResponse(tacWorkerB);
  259. }
  260. @ApiOperation(value = "获取稽察人员信息表(列表所有)")
  261. @RequestMapping(value = "/list", method = RequestMethod.POST)
  262. public BaseResponse<List<TacWorkerB>> list(@ApiParam(name = "tacWorkerBParam", value = "tacWorkerBParam", required = true) @RequestBody TacWorkerBParam tacWorkerBParam) {
  263. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  264. List<TacWorkerB> tacWorkerBList = tacWorkerBService.findList(tacWorkerBParam);
  265. return buildSuccessResponse(tacWorkerBList);
  266. }
  267. @ApiOperation(value = "获取稽察人员信息表(列表--分页)")
  268. @RequestMapping(value = "/page", method = RequestMethod.POST)
  269. public BaseResponse<PageInfo<TacWorkerB>> page(@ApiParam(name = "tacWorkerBParam", value = "tacWorkerBParam", required = true) @RequestBody TacWorkerBParam tacWorkerBParam, HttpServletResponse response) {
  270. //设置多重
  271. tacWorkerBParam.setGroupType(InspUtils.setOrgIds(tacWorkerBParam.getGroupType()));
  272. tacWorkerBParam.setRoleType(InspUtils.setOrgIds(tacWorkerBParam.getRoleType()));
  273. tacWorkerBParam.setWorkAd(InspUtils.setOrgIds(tacWorkerBParam.getWorkAd()));
  274. tacWorkerBParam.setOrgCode(InspUtils.setOrgIds(tacWorkerBParam.getOrgCode()));
  275. tacWorkerBParam.setEducation(InspUtils.setOrgIds(tacWorkerBParam.getEducation()));
  276. tacWorkerBParam.setTitles(InspUtils.setOrgIds(tacWorkerBParam.getTitles()));
  277. tacWorkerBParam.setUnitRanks(InspUtils.setOrgIds(tacWorkerBParam.getUnitRanks()));
  278. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  279. if ("1".equals(tacWorkerBParam.getIsExport())) {
  280. ExportUtil.exportExcel(this.tacWorkerBService.findList(tacWorkerBParam), response, "稽察人员列表");
  281. }
  282. PageInfo<TacWorkerB> tacWorkerBList = tacWorkerBService.findPageInfo(tacWorkerBParam);
  283. return buildSuccessResponse(tacWorkerBList);
  284. }
  285. @ApiOperation(value = "获取稽察人员信息列表分页")
  286. @RequestMapping(value = "/getWorkerbsPage", method = RequestMethod.POST)
  287. public BaseResponse<PageInfo<TacWorkerB>> getWorkerbsPage(@RequestBody TacWorkerBParam tacWorkerBParam,
  288. HttpServletResponse response) {
  289. //设置多重
  290. tacWorkerBParam.setGroupType(InspUtils.setOrgIds(tacWorkerBParam.getGroupType()));
  291. tacWorkerBParam.setRoleType(InspUtils.setOrgIds(tacWorkerBParam.getRoleType()));
  292. tacWorkerBParam.setWorkAd(InspUtils.setOrgIds(tacWorkerBParam.getWorkAd()));
  293. tacWorkerBParam.setOrgCode(InspUtils.setOrgIds(tacWorkerBParam.getOrgCode()));
  294. tacWorkerBParam.setEducation(InspUtils.setOrgIds(tacWorkerBParam.getEducation()));
  295. tacWorkerBParam.setTitles(InspUtils.setOrgIds(tacWorkerBParam.getTitles()));
  296. tacWorkerBParam.setUnitRanks(InspUtils.setOrgIds(tacWorkerBParam.getUnitRanks()));
  297. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  298. if (StringUtils.isNotBlank(tacWorkerBParam.getAgeLimits())) {
  299. String ageLimits = "";
  300. if (tacWorkerBParam.getAgeLimits().contains(",")) {
  301. ageLimits = "and (";
  302. StringBuilder age = new StringBuilder();
  303. for (String s : tacWorkerBParam.getAgeLimits().split(",")) {
  304. if (s.contains("-")) {
  305. age.insert(0, " or AGE Between " + s.split("-")[0] + " and " + s.split("-")[1]);
  306. } else {
  307. if (Integer.parseInt(s) > 50) {
  308. age.insert(0, " or age >= " + s);
  309. }
  310. if (Integer.parseInt(s) < 50) {
  311. age.insert(0, " or age <= " + s);
  312. }
  313. }
  314. }
  315. ageLimits = ageLimits + " " + age.toString().trim().substring(2) + " )";
  316. } else {
  317. if (tacWorkerBParam.getAgeLimits().contains("-")) {
  318. ageLimits = "AND AGE Between " + tacWorkerBParam.getAgeLimits().split("-")[0] + " and " + tacWorkerBParam.getAgeLimits().split("-")[1];
  319. } else {
  320. if (Integer.parseInt(tacWorkerBParam.getAgeLimits()) > 50) {
  321. ageLimits = "AND age >=" + tacWorkerBParam.getAgeLimits();
  322. } else {
  323. ageLimits = "AND age <= " + tacWorkerBParam.getAgeLimits();
  324. }
  325. }
  326. }
  327. tacWorkerBParam.setAgeLimits(ageLimits);
  328. }
  329. if (StringUtils.isNotBlank(tacWorkerBParam.getIsAll())) {
  330. String[] isAll = tacWorkerBParam.getIsAll().split("");
  331. StringBuilder isAllCon = new StringBuilder();
  332. for (String s : isAll) {
  333. if ("A".equalsIgnoreCase(s)) {
  334. isAllCon.insert(0, " or IS_A ='1'");
  335. }
  336. if ("B".equalsIgnoreCase(s)) {
  337. isAllCon.insert(0, " or IS_B ='1'");
  338. }
  339. if ("C".equalsIgnoreCase(s)) {
  340. isAllCon.insert(0, " or IS_C ='1'");
  341. }
  342. if ("D".equalsIgnoreCase(s)) {
  343. isAllCon.insert(0, " or IS_D = '1'");
  344. }
  345. if ("A".equalsIgnoreCase(s)) {
  346. isAllCon.insert(0, " or IS_E = '1'");
  347. }
  348. }
  349. if (isAllCon.length() > 0) {
  350. isAllCon = new StringBuilder("and (" + isAllCon.toString().trim().substring(2) + ")");
  351. }
  352. tacWorkerBParam.setIsAll(isAllCon.toString());
  353. }
  354. if ("1".equals(tacWorkerBParam.getIsExport())) {
  355. ExportUtil.exportExcelColumn(this.tacWorkerBService.getWorkerbsList(tacWorkerBParam), response, "稽察人员列表", new ArrayList<>(Arrays.asList(tacWorkerBParam.getColumns().split(","))), TacWorkerB.class);
  356. }
  357. return buildSuccessResponse(tacWorkerBService.getWorkerbsPage(tacWorkerBParam));
  358. }
  359. @ApiOperation(value = "获取组内的其他成员")
  360. @RequestMapping(value = "/getWorkerbsListById", method = RequestMethod.POST)
  361. public BaseResponse<List<TacWorkerB>> getWorkerbsListById(@RequestBody TacWorkerBParam tacWorkerBParam) {
  362. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  363. return buildSuccessResponse(this.tacWorkerBService.getWorkerbsListExpId(tacWorkerBParam));
  364. }
  365. @ApiOperation(value = "根据区域统计数量")
  366. @RequestMapping(value = "/countByAdCode", method = RequestMethod.POST)
  367. public BaseResponse<List<TacCountDto>> countByAdCode(@RequestBody TacWorkerBParam tacWorkerBParam) {
  368. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  369. List<TacCountDto> list = this.tacWorkerBService.countByAdCode(tacWorkerBParam);
  370. return buildSuccessResponse(list);
  371. }
  372. @ApiOperation(value = "根据职称统计数量")
  373. @RequestMapping(value = "/countByTitles", method = RequestMethod.POST)
  374. public BaseResponse<List<TacCountDto>> countByTitles(@RequestBody TacWorkerBParam tacWorkerBParam) {
  375. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  376. List<TacCountDto> list = this.tacWorkerBService.countByTitles(tacWorkerBParam);
  377. return buildSuccessResponse(list);
  378. }
  379. @ApiOperation(value = "根据角色统计数量")
  380. @RequestMapping(value = "/countByRole", method = RequestMethod.POST)
  381. public BaseResponse<List<TacCountDto>> countByRole(@RequestBody TacWorkerBParam tacWorkerBParam) {
  382. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  383. List<TacCountDto> list = this.tacWorkerBService.countByRole(tacWorkerBParam);
  384. return buildSuccessResponse(list);
  385. }
  386. @ApiOperation(value = "根据学历统计数量")
  387. @RequestMapping(value = "/countByEdu", method = RequestMethod.POST)
  388. public BaseResponse<List<TacCountDto>> countByEdu(@RequestBody TacWorkerBParam tacWorkerBParam) {
  389. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  390. List<TacCountDto> list = this.tacWorkerBService.countByEdu(tacWorkerBParam);
  391. return buildSuccessResponse(list);
  392. }
  393. @ApiOperation(value = "根据年龄统计数量")
  394. @RequestMapping(value = "/countByAge", method = RequestMethod.POST)
  395. public BaseResponse<List<TacCountDto>> countByAge(@RequestBody TacWorkerBParam tacWorkerBParam) {
  396. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  397. List<TacCountDto> list = this.tacWorkerBService.countByAge(tacWorkerBParam);
  398. return buildSuccessResponse(list);
  399. }
  400. @ApiOperation(value = "根据在职情况统计数量")
  401. @RequestMapping(value = "/countByOffice", method = RequestMethod.POST)
  402. public BaseResponse<List<TacCountDto>> countByOffice(@RequestBody TacWorkerBParam tacWorkerBParam) {
  403. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  404. List<TacCountDto> list = this.tacWorkerBService.countByOffice(tacWorkerBParam);
  405. return buildSuccessResponse(list);
  406. }
  407. @ApiOperation(value = "根据规则id抽取人员")
  408. @RequestMapping(value = "/getWorkerListById", method = RequestMethod.POST)
  409. public BaseResponse<List<TacWorkerB>> getWorkerListById(@RequestBody TacWorkerBParam tacWorkerBParam) {
  410. if (StringUtils.isBlank(tacWorkerBParam.getPrisId())) {
  411. return buildFailResponse(17001, "请先确定专家人数及原则");
  412. }
  413. List<TacWorkerB> list = null;
  414. try {
  415. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  416. list = this.tacWorkerBService.getWorkerListById(tacWorkerBParam);
  417. } catch (Exception e) {
  418. return buildFailResponse(10010, e.getMessage());
  419. }
  420. return buildSuccessResponse(list);
  421. }
  422. @ApiOperation(value = "根据规则对象抽取人员")
  423. @RequestMapping(value = "/getWorkerListByPris", method = RequestMethod.POST)
  424. public BaseResponse<List<TacWorkerB>> getWorkerListByPris(@RequestBody TacInspPersAreaPris tacInspPersAreaPris) {
  425. tacInspPersAreaPris.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  426. List<TacWorkerB> list = null;
  427. try {
  428. list = this.tacWorkerBService.getWorkerListByPris(tacInspPersAreaPris);
  429. } catch (Exception e) {
  430. return buildFailResponse(10010, "人员抽取失败");
  431. }
  432. return buildSuccessResponse(list);
  433. }
  434. @ApiOperation(value = "得到人员列表 -- 新人")
  435. @RequestMapping(value = "/getWorkerList", method = RequestMethod.POST)
  436. public BaseResponse<List<TacWorkerB>> getWorkerList(@RequestBody TacWorkerBParam tacWorkerBParam) {
  437. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  438. List<TacWorkerB> list = this.tacWorkerBService.getWorkerList(tacWorkerBParam);
  439. return buildSuccessResponse(list);
  440. }
  441. @ApiOperation(value = "得到人员列表 -- 新人分页")
  442. @RequestMapping(value = "/getWorkerPage", method = RequestMethod.POST)
  443. public BaseResponse<PageInfo<TacWorkerB>> getWorkerPage(@RequestBody TacWorkerBParam tacWorkerBParam) {
  444. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  445. PageInfo<TacWorkerB> pageInfo = this.tacWorkerBService.getWorkerPage(tacWorkerBParam);
  446. return buildSuccessResponse(pageInfo);
  447. }
  448. @ApiOperation(value = "导入人员")
  449. @RequestMapping(value = "insertList", method = RequestMethod.POST)
  450. public BaseResponse<Map<String, Object>> insertList(MultipartFile file, TacWorkerBParam tacWorkerBParam) {
  451. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  452. Map<String, Object> map = this.tacWorkerBService.insertList(file, tacWorkerBParam, getCurrentOrgId());
  453. return buildSuccessResponse(map);
  454. }
  455. @ApiOperation(value = "分配人员")
  456. @RequestMapping(value = "/distributePers", method = RequestMethod.POST)
  457. public BaseResponse<List<TacWorkerB>> distributePers(@RequestBody TacWorkerBParam tacWorkerBParam) {
  458. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  459. int a = this.tacWorkerBService.distributePers(tacWorkerBParam);
  460. return buildSuccessResponse();
  461. }
  462. @ApiOperation(value = "统计出勤情况")
  463. @RequestMapping(value = "countPersBatch", method = RequestMethod.POST)
  464. public BaseResponse<List<TacWorkerB>> countPersBatch(TacWorkerBParam tacWorkerBParam) {
  465. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  466. List<TacWorkerB> list = this.tacWorkerBService.countPersBatch(tacWorkerBParam);
  467. return buildSuccessResponse(list);
  468. }
  469. @ApiOperation(value = "获取新人的数量")
  470. @RequestMapping(value = "/countRoleNew", method = RequestMethod.POST)
  471. public BaseResponse<List<TacCountDto>> countRoleNew(TacWorkerBParam tacWorkerBParam) {
  472. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  473. List<TacCountDto> list = this.tacWorkerBService.countRoleNew(tacWorkerBParam);
  474. return buildSuccessResponse(list);
  475. }
  476. @ApiOperation(value = "添加人员")
  477. @RequestMapping(value = "/insertTacWorkerB", method = RequestMethod.POST)
  478. public BaseResponse<List<TacWorkerB>> insertTacWorkerB(@RequestBody TacWorkerBDto bDto) {
  479. bDto.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  480. List<TacWorkerB> list = this.tacWorkerBService.insertTacWorkerB(bDto);
  481. return buildSuccessResponse(list);
  482. }
  483. @ApiOperation(value = "得到未分配人员")
  484. @RequestMapping(value = "/getNotDisPersList", method = RequestMethod.POST)
  485. public BaseResponse<List<TacWorkerB>> getNotDisPersList(@RequestBody TacWorkerBParam tacWorkerBParam) {
  486. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  487. if (StringUtils.isBlank(tacWorkerBParam.getYearBatchId())) {
  488. return buildSuccessResponse(new ArrayList<TacWorkerB>());
  489. }
  490. List<TacWorkerB> list = tacWorkerBService.getNotDisPersList(tacWorkerBParam);
  491. return buildSuccessResponse(list);
  492. }
  493. @ApiOperation(value = "得到稽察人员列表")
  494. @RequestMapping(value = "/getObjTacWorkerbList", method = RequestMethod.POST)
  495. public BaseResponse<List<TacWorkerB>> getObjTacWorkerbList(@RequestBody TacWorkerBParam tacWorkerBParam) {
  496. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  497. List<TacWorkerB> list = tacWorkerBService.getObjTacWorkerbList(tacWorkerBParam);
  498. return buildSuccessResponse(list);
  499. }
  500. @ApiOperation(value = "得到稽察人员列表")
  501. @RequestMapping(value = "/getObjTacWorkerbPage", method = RequestMethod.POST)
  502. public BaseResponse<PageInfo<TacWorkerB>> getObjTacWorkerbPage(@RequestBody TacWorkerBParam tacWorkerBParam) {
  503. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  504. PageInfo<TacWorkerB> pageInfo = tacWorkerBService.getObjTacWorkerbPage(tacWorkerBParam);
  505. return buildSuccessResponse(pageInfo);
  506. }
  507. @ApiOperation(value = "批量修改稽察人员列表")
  508. @RequestMapping(value = "/updateWorkerbList", method = RequestMethod.POST)
  509. public BaseResponse updateWorkerbList(@RequestBody TacWorkerBDto dto) {
  510. dto.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  511. boolean flag = tacWorkerBService.updateWorkerbList(dto);
  512. if (!flag) {
  513. return buildFailResponse("批量修改失败");
  514. }
  515. return buildSuccessResponse();
  516. }
  517. @ApiOperation(value = "统计稽察人数,稽察次数")
  518. @RequestMapping(value = "/countWorkerAudit", method = RequestMethod.POST)
  519. public BaseResponse<PageInfo<TacWorkerbAuditDto>> countWorkerAudit(@RequestBody TacWorkerBParam tacWorkerBParam) {
  520. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  521. PageInfo<TacWorkerbAuditDto> list = tacWorkerBService.countWorkerAudit(tacWorkerBParam);
  522. return buildSuccessResponse(list);
  523. }
  524. @ApiOperation(value = "批量修改下载内容")
  525. @RequestMapping(value = "/downWorkerExcel", method = RequestMethod.POST)
  526. public BaseResponse downWorkerExcel(@RequestBody TacWorkerBDto dto, HttpServletResponse response) {
  527. dto.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  528. int a = tacWorkerBService.downWorkerExcel(dto, response);
  529. return buildSuccessResponse();
  530. }
  531. @ApiOperation(value = "批量上传修改内容")
  532. @RequestMapping(value = "/uploadWorkerExcel", method = RequestMethod.POST)
  533. public BaseResponse uploadWorkerExcel(MultipartFile file, TacWorkerBParam tacWorkerBParam) {
  534. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  535. Map<String, Object> map = this.tacWorkerBService.uploadWorkerExcel(file, tacWorkerBParam);
  536. return buildSuccessResponse(map);
  537. }
  538. @ApiOperation(value = "获取人员未参加稽察次数")
  539. @RequestMapping(value = "/getWorkerNotJoinCount", method = RequestMethod.POST)
  540. public BaseResponse<PageInfo<TacWorkerBCountDto>> getWorkerNotJoinCount(@RequestBody TacWorkerBParam tacWorkerBParam) {
  541. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  542. PageInfo<TacWorkerBCountDto> pageInfo = tacWorkerBService.getWorkerNotJoinCount(tacWorkerBParam);
  543. return buildSuccessResponse(pageInfo);
  544. }
  545. @ApiOperation(value = "下载为参加稽察人员接口")
  546. @RequestMapping(value = "/downWorkerNotJoinExcel", method = RequestMethod.GET)
  547. public BaseResponse downWorkerNotJoinExcel(TacWorkerBParam param, HttpServletResponse response) {
  548. param.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  549. int a = tacWorkerBService.downWorkerNotJoinExcel(param, response);
  550. return buildSuccessResponse();
  551. }
  552. @ApiOperation(value = "根据批次id发送短信")
  553. @RequestMapping(value = "/sendMessage", method = RequestMethod.POST)
  554. public BaseResponse sendMessage(@RequestBody TacWorkerBParam tacWorkerBParam) throws Exception {
  555. if (StringUtils.isBlank(tacWorkerBParam.getYearBatchId())) {
  556. return buildFailResponse(17001, "批次id不能为空");
  557. }
  558. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  559. String resultCode = tacWorkerBService.sendMessage(tacWorkerBParam);
  560. if (SmsCodeEnum.SUCCESS.getKey().equals(resultCode)) {
  561. return buildSuccessResponse(SmsCodeEnum.SUCCESS.getDesc());
  562. } else if (SmsCodeEnum.NO_USER.getKey().equals(resultCode)) {
  563. return buildFailResponse(10002, SmsCodeEnum.NO_USER.getDesc());
  564. } else if (SmsCodeEnum.NO_MEET.getKey().equals(resultCode)) {
  565. return buildFailResponse(10003, SmsCodeEnum.NO_MEET.getDesc());
  566. }
  567. return buildFailResponse(10001, SmsCodeEnum.ERROR.getDesc());
  568. }
  569. @ApiOperation(value = "批量关联简历")
  570. @RequestMapping(value = "/uploadBio", method = RequestMethod.POST)
  571. public BaseResponse uploadBip(@RequestParam("file") MultipartFile file, TacWorkerBParam tacWorkerBParam) {
  572. try {
  573. tacWorkerBParam.setProvince(olBisInspOrgService.getRlProvince(getCurrentOrgId()));
  574. int a = tacWorkerBService.uploadBio(file, tacWorkerBParam);
  575. } catch (Exception e) {
  576. e.printStackTrace();
  577. return buildFailResponse("上传失败");
  578. }
  579. return buildSuccessResponse();
  580. }
  581. @ApiOperation(value = "数据角色类型插入")
  582. @RequestMapping(value = "/insertIntoData/{province}", method = RequestMethod.GET)
  583. public BaseResponse insertIntoData(@PathVariable(required = true) String province) {
  584. TacWorkerType tacWorkerType = new TacWorkerType();
  585. tacWorkerType.setType("1");
  586. tacWorkerType.setProvince(province);
  587. int a = tacWorkerBService.insertIntoData(tacWorkerType);
  588. return buildSuccessResponse();
  589. }
  590. @ApiOperation("下载人员基本信息模板")
  591. @RequestMapping(value = "/downTemplateExcel", method = RequestMethod.GET)
  592. public BaseResponse downTemplateExcel(TacWorkerBParam tacWorkerBParam, HttpServletResponse response) {
  593. try {
  594. ExpAndImpUtil.downloadFile(response, templatePath + File.separator + "wkBaseList.xls", "稽察人员列表");
  595. } catch (Exception e) {
  596. buildFailResponse(e.getMessage());
  597. }
  598. return buildSuccessResponse();
  599. }
  600. }