ca3fc4fcbb16aefc2e0e3ddacfcdddb4365bd3f0.svn-base 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. package cn.com.goldenwater.dcproj.service.impl.tac;
  2. import cn.com.goldenwater.dcproj.dao.*;
  3. import cn.com.goldenwater.dcproj.dto.TacCountDto;
  4. import cn.com.goldenwater.dcproj.model.*;
  5. import cn.com.goldenwater.dcproj.param.*;
  6. import cn.com.goldenwater.dcproj.service.GwComFileService;
  7. import cn.com.goldenwater.dcproj.service.TacExprRcmmService;
  8. import cn.com.goldenwater.core.service.AbstractCrudService;
  9. import cn.com.goldenwater.dcproj.utils.BeanUtil;
  10. import cn.com.goldenwater.dcproj.utils.InspUtils;
  11. import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
  12. import cn.com.goldenwater.dcproj.utils.impexcel.FileUtil;
  13. import cn.com.goldenwater.id.util.UuidUtil;
  14. import com.github.pagehelper.PageHelper;
  15. import com.github.pagehelper.PageInfo;
  16. import org.apache.commons.collections.map.HashedMap;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.apache.poi.ss.usermodel.Row;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.beans.factory.annotation.Value;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import org.springframework.web.multipart.MultipartFile;
  24. import java.util.ArrayList;
  25. import java.util.Date;
  26. import java.util.List;
  27. import java.util.Map;
  28. import static cn.com.goldenwater.dcproj.utils.FormatFieldUtil.*;
  29. /**
  30. * @author lune
  31. * @date 2019-11-13
  32. */
  33. @Service
  34. @Transactional
  35. public class TacExprRcmmServiceImpl extends AbstractCrudService<TacExprRcmm, TacExprRcmmParam> implements TacExprRcmmService {
  36. @Autowired
  37. private TacExprRcmmDao tacExprRcmmDao;
  38. @Autowired
  39. private GwComFileService gwComFileService;
  40. @Autowired
  41. private TacWorkerBDao tacWorkerBDao;
  42. @Autowired
  43. private TacExprRcmmIndbDao indbDao;
  44. @Autowired
  45. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  46. @Autowired
  47. private TacExprRcmmRcrdDao rcrdDao;
  48. @Value("${getFile.prefix}")
  49. public String prefix;
  50. @Value("${web.upload-path}")
  51. public String fileDir;
  52. public TacExprRcmmServiceImpl(TacExprRcmmDao tacExprRcmmDao) {
  53. super(tacExprRcmmDao);
  54. this.tacExprRcmmDao = tacExprRcmmDao;
  55. }
  56. @Override
  57. public Map<String, Object> insertList(MultipartFile file, TacExprRcmmParam tacWorkerBParam) {
  58. Map<String,Object> map = new HashedMap();
  59. int success = 0;
  60. int fail = 0;
  61. List<Row> rowList = ExportUtil.getRowListByFile(file);
  62. List<Object> list = new ArrayList<>();
  63. if (rowList.size() > 2) {
  64. List<Map<String,Object>> mapList = ExportUtil.rowToMap(rowList, 1);
  65. if (mapList.size() > 0) {
  66. list = ExportUtil.mapToObj(mapList, TacExprRcmm.class);
  67. }
  68. }
  69. for (Object b : list) {
  70. if (b instanceof TacExprRcmm) {
  71. TacExprRcmm rcmm = (TacExprRcmm)b;
  72. if (StringUtils.isBlank(rcmm.getName()) && StringUtils.isBlank(rcmm.getMobilenumb())) {
  73. continue;
  74. }
  75. if (StringUtils.isBlank(rcmm.getMobilenumb())) {
  76. fail++;
  77. }
  78. fieldFormat(rcmm);
  79. TacExprRcmmParam rcmmParam = new TacExprRcmmParam();
  80. rcmmParam.setMobilenumb(rcmm.getMobilenumb());
  81. List<TacExprRcmm> rcmmList = tacExprRcmmDao.findList(rcmmParam);
  82. if (rcmmList == null || rcmmList.size() == 0) {
  83. rcmm.setDataStat("0");
  84. rcmm.setIntm(new Date());
  85. rcmm.setUptm(new Date());
  86. rcmm.setId(UuidUtil.uuid());
  87. rcmm.setProvince(tacWorkerBParam.getProvince());
  88. tacExprRcmmDao.insert(rcmm);
  89. } else {
  90. TacExprRcmm toRcmm = rcmmList.get(0);
  91. List<String> cols = new ArrayList<>();
  92. cols.add("id");
  93. cols.add("depCode");
  94. cols.add("intm");
  95. cols.add("persId");
  96. cols.add("dataStat");
  97. cols.add("state");
  98. BeanUtil.copyObject(rcmm,toRcmm,cols);
  99. toRcmm.setUptm(new Date());
  100. tacExprRcmmDao.update(toRcmm);
  101. }
  102. success++;
  103. }
  104. }
  105. map.put("success",success);
  106. map.put("fail",fail);
  107. return map;
  108. }
  109. private void fieldFormat(TacExprRcmm workerB ){
  110. workerB.setGroupType(groupFormat(workerB.getGroupType()));
  111. workerB.setRoleType(roleFormat(workerB.getRoleType()));
  112. workerB.setEducation(educationFormat(workerB.getEducation()));
  113. workerB.setUnitRanks(unitRanksFormat(workerB.getUnitRanks()));
  114. workerB.setTitles(titlesFormat(workerB.getTitles()));
  115. workerB.setIsOffice(commonFormat(workerB.getIsOffice()));
  116. workerB.setIsTraining(commonFormat(workerB.getIsTraining()));
  117. }
  118. @Override
  119. public int uploadBio(MultipartFile file, TacExprRcmmParam tacExprRcmmParam) throws Exception{
  120. List<GwComFile> list = FileUtil.getFileList(file, prefix, fileDir);
  121. if (list != null && list.size() > 0) {
  122. list.forEach(gwComFile -> {
  123. String persNameAndIdNum = gwComFile.getFileName();
  124. String persName = persNameAndIdNum.split("-")[0];
  125. String idNum = persNameAndIdNum.split("-")[1].substring(0,persNameAndIdNum.split("-")[1].indexOf("."));
  126. TacExprRcmmParam param = new TacExprRcmmParam();
  127. param.setIdNo(idNum);
  128. param.setName(persName);
  129. TacExprRcmm rcmm = tacExprRcmmDao.getBy(param);
  130. if (rcmm != null) {
  131. List<GwComFile> gwComFiles = gwComFileService.findFileByBiz(rcmm.getId());
  132. if (gwComFiles.size() > 0) {
  133. //删除关联简历
  134. GwComFileParam gwComFileParam = new GwComFileParam();
  135. gwComFileParam.setBizId(rcmm.getId());
  136. gwComFileService.deleteBy(gwComFileParam);
  137. }
  138. gwComFile.setBizId(rcmm.getId());
  139. gwComFileService.insert(gwComFile);
  140. }
  141. });
  142. }
  143. return 0;
  144. }
  145. @Override
  146. public List<TacExprRcmm> getRcmmList(TacExprRcmmParam tacExprRcmmParam) {
  147. List<TacExprRcmm> list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
  148. return list;
  149. }
  150. @Override
  151. public int insertRcmmToWorkerList(TacExprRcmmParam tacExprRcmmParam) {
  152. String persId = tacExprRcmmParam.getPersId();
  153. if (StringUtils.isNotBlank(tacExprRcmmParam.getPersId())) {
  154. tacExprRcmmParam.setPersId("");
  155. }
  156. tacExprRcmmParam.setOrgCode(InspUtils.setOrgIds(tacExprRcmmParam.getOrgCode()));
  157. tacExprRcmmParam.setWorkAd(InspUtils.setOrgIds(tacExprRcmmParam.getWorkAd()));
  158. tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
  159. List<TacExprRcmm> list = null;
  160. if (tacExprRcmmParam.getRcmms() != null && tacExprRcmmParam.getRcmms().size() > 0) {
  161. list = tacExprRcmmParam.getRcmms();
  162. } else {
  163. list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
  164. }
  165. Date date = new Date();
  166. if (list.size() > 0) {
  167. list.forEach(rcmm -> {
  168. TacWorkerBParam bParam = new TacWorkerBParam();
  169. bParam.setMobilenumb(rcmm.getMobilenumb());
  170. List<TacWorkerB> bList = tacWorkerBDao.findList(bParam);
  171. if (bList == null || bList.size() == 0) {
  172. TacWorkerB workerB = new TacWorkerB();
  173. BeanUtil.copyObject1(rcmm, workerB);
  174. workerB.setId(UuidUtil.uuid());
  175. workerB.setProvince(tacExprRcmmParam.getProvince());
  176. workerB.setLoginId(getPersLoginId(rcmm, rcmm.getMobilenumb(), rcmm.getName()));
  177. workerB.setDataStat("0");
  178. workerB.setInTm(new Date());
  179. workerB.setUpTm(new Date());
  180. tacWorkerBDao.insert(workerB);
  181. } else {
  182. TacWorkerB workerB = bList.get(0);
  183. List<String> columns = new ArrayList<>();
  184. columns.add("id");
  185. columns.add("loginId");
  186. columns.add("inTm");
  187. columns.add("upTm");
  188. BeanUtil.copyObject(rcmm, workerB, columns);
  189. tacWorkerBDao.update(workerB);
  190. }
  191. TacExprRcmmIndb indb = new TacExprRcmmIndb();
  192. indb.setId(UuidUtil.uuid());
  193. indb.setExprRcmmId(rcmm.getId());
  194. indb.setGroupType(rcmm.getGroupType());
  195. indb.setRoleType(rcmm.getRoleType());
  196. indb.setIntm(date);
  197. indb.setUptm(date);
  198. indb.setDataStat("0");
  199. indb.setPersId(persId);
  200. indbDao.insert(indb);
  201. TacExprRcmmRcrdParam tacExprRcmmRcrdParam = new TacExprRcmmRcrdParam();
  202. tacExprRcmmRcrdParam.setExprRcmmId(rcmm.getId());
  203. tacExprRcmmRcrdParam.setState("3");
  204. rcrdDao.updateRcrdByRcmmId(tacExprRcmmRcrdParam);
  205. rcmm.setState("3");
  206. tacExprRcmmDao.update(rcmm);
  207. });
  208. }
  209. return list.size();
  210. }
  211. private String getPersLoginId(Object rcmm, String mobilenumb, String name) {
  212. BisInspAllRlationPersParam param = new BisInspAllRlationPersParam();
  213. param.setMobilenumb(mobilenumb);
  214. List<BisInspAllRlationPers> persList = bisInspAllRlationPersDao.findList(param);
  215. if (persList.size() == 0 ){
  216. BisInspAllRlationPers pers = new BisInspAllRlationPers();
  217. BeanUtil.copyObject1(rcmm,pers);
  218. pers.setGuid(UuidUtil.uuid());
  219. pers.setPwd("JinShui@433");
  220. if (StringUtils.isNotBlank(pers.getSex())) {
  221. pers.setSex("男".equals(pers.getSex())?"1":"2");
  222. }
  223. pers.setPersName(name);
  224. bisInspAllRlationPersDao.insert(pers);
  225. return pers.getGuid();
  226. }
  227. return persList.get(0).getGuid();
  228. }
  229. @Override
  230. public PageInfo<TacExprRcmm> getRcmmPage(TacExprRcmmParam tacExprRcmmParam) {
  231. PageHelper.startPage(tacExprRcmmParam);
  232. List<TacExprRcmm> list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
  233. PageInfo<TacExprRcmm> pageInfo = new PageInfo<>(list);
  234. return pageInfo;
  235. }
  236. @Override
  237. public int removeRvmmList(TacExprRcmmParam tacExprRcmmParam) {
  238. tacExprRcmmParam.setOrgCode(InspUtils.setOrgIds(tacExprRcmmParam.getOrgCode()));
  239. tacExprRcmmParam.setWorkAd(InspUtils.setOrgIds(tacExprRcmmParam.getWorkAd()));
  240. tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
  241. List<TacExprRcmm> list = null;
  242. if (tacExprRcmmParam.getRcmms() != null && tacExprRcmmParam.getRcmms().size() > 0) {
  243. list = tacExprRcmmParam.getRcmms();
  244. } else {
  245. list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
  246. }
  247. if (list.size() > 0) {
  248. list.forEach(rcmm -> {
  249. rcmm.setState("4");
  250. tacExprRcmmDao.update(rcmm);
  251. TacExprRcmmRcrdParam tacExprRcmmRcrdParam = new TacExprRcmmRcrdParam();
  252. tacExprRcmmRcrdParam.setExprRcmmId(rcmm.getId());
  253. tacExprRcmmRcrdParam.setState("4");
  254. tacExprRcmmRcrdParam.setNote(tacExprRcmmParam.getDescribe());
  255. rcrdDao.updateRcrdByRcmmId(tacExprRcmmRcrdParam);
  256. });
  257. }
  258. return 0;
  259. }
  260. @Override
  261. public List<TacExprRcmm> getRcmmListByTime(TacExprRcmmParam tacExprRcmmParam) {
  262. List<TacExprRcmm> list = tacExprRcmmDao.getRcmmListByTime(tacExprRcmmParam);
  263. return list;
  264. }
  265. @Override
  266. public List<TacCountDto> countRcmmByTitles(TacExprRcmmParam tacExprRcmmParam) {
  267. tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
  268. tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
  269. tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
  270. List<TacCountDto> result = tacExprRcmmDao.countRcmmByTitles(tacExprRcmmParam);
  271. return result;
  272. }
  273. @Override
  274. public List<TacCountDto> countRcmmByRoleType(TacExprRcmmParam tacExprRcmmParam) {
  275. tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
  276. tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
  277. tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
  278. List<TacCountDto> result = tacExprRcmmDao.countRcmmByRoleType(tacExprRcmmParam);
  279. return result;
  280. }
  281. @Override
  282. public List<TacCountDto> countRcmmByEducation(TacExprRcmmParam tacExprRcmmParam) {
  283. tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
  284. tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
  285. tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
  286. List<TacCountDto> result = tacExprRcmmDao.countRcmmByEducation(tacExprRcmmParam);
  287. return result;
  288. }
  289. @Override
  290. public List<TacCountDto> countRcmmByIsOffice(TacExprRcmmParam tacExprRcmmParam) {
  291. tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
  292. tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
  293. tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
  294. List<TacCountDto> result = tacExprRcmmDao.countRcmmByIsOffice(tacExprRcmmParam);
  295. return result;
  296. }
  297. }