| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- package cn.com.goldenwater.dcproj.service.impl.tac;
- import cn.com.goldenwater.dcproj.dao.*;
- import cn.com.goldenwater.dcproj.dto.TacCountDto;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.*;
- import cn.com.goldenwater.dcproj.service.GwComFileService;
- import cn.com.goldenwater.dcproj.service.TacExprRcmmService;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.dcproj.utils.InspUtils;
- import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil;
- import cn.com.goldenwater.dcproj.utils.impexcel.FileUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.collections.map.HashedMap;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.poi.ss.usermodel.Row;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.multipart.MultipartFile;
- 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
- */
- @Service
- @Transactional
- public class TacExprRcmmServiceImpl extends AbstractCrudService<TacExprRcmm, TacExprRcmmParam> implements TacExprRcmmService {
- @Autowired
- private TacExprRcmmDao tacExprRcmmDao;
- @Autowired
- private GwComFileService gwComFileService;
- @Autowired
- private TacWorkerBDao tacWorkerBDao;
- @Autowired
- private TacExprRcmmIndbDao indbDao;
- @Autowired
- private BisInspAllRlationPersDao bisInspAllRlationPersDao;
- @Autowired
- private TacExprRcmmRcrdDao rcrdDao;
- @Value("${getFile.prefix}")
- public String prefix;
- @Value("${web.upload-path}")
- public String fileDir;
- public TacExprRcmmServiceImpl(TacExprRcmmDao tacExprRcmmDao) {
- super(tacExprRcmmDao);
- this.tacExprRcmmDao = tacExprRcmmDao;
- }
- @Override
- public Map<String, Object> insertList(MultipartFile file, TacExprRcmmParam tacWorkerBParam) {
- Map<String,Object> map = new HashedMap();
- int success = 0;
- int fail = 0;
- List<Row> rowList = ExportUtil.getRowListByFile(file);
- List<Object> list = new ArrayList<>();
- if (rowList.size() > 2) {
- List<Map<String,Object>> mapList = ExportUtil.rowToMap(rowList, 1);
- if (mapList.size() > 0) {
- list = ExportUtil.mapToObj(mapList, TacExprRcmm.class);
- }
- }
- for (Object b : list) {
- if (b instanceof TacExprRcmm) {
- TacExprRcmm rcmm = (TacExprRcmm)b;
- if (StringUtils.isBlank(rcmm.getName()) && StringUtils.isBlank(rcmm.getMobilenumb())) {
- continue;
- }
- if (StringUtils.isBlank(rcmm.getMobilenumb())) {
- fail++;
- }
- fieldFormat(rcmm);
- TacExprRcmmParam rcmmParam = new TacExprRcmmParam();
- rcmmParam.setMobilenumb(rcmm.getMobilenumb());
- List<TacExprRcmm> rcmmList = tacExprRcmmDao.findList(rcmmParam);
- if (rcmmList == null || rcmmList.size() == 0) {
- rcmm.setDataStat("0");
- rcmm.setIntm(new Date());
- rcmm.setUptm(new Date());
- rcmm.setId(UuidUtil.uuid());
- rcmm.setProvince(tacWorkerBParam.getProvince());
- tacExprRcmmDao.insert(rcmm);
- } else {
- TacExprRcmm toRcmm = rcmmList.get(0);
- List<String> cols = new ArrayList<>();
- cols.add("id");
- cols.add("depCode");
- cols.add("intm");
- cols.add("persId");
- cols.add("dataStat");
- cols.add("state");
- BeanUtil.copyObject(rcmm,toRcmm,cols);
- toRcmm.setUptm(new Date());
- tacExprRcmmDao.update(toRcmm);
- }
- success++;
- }
- }
- map.put("success",success);
- map.put("fail",fail);
- return map;
- }
- private void fieldFormat(TacExprRcmm workerB ){
- 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()));
- }
- @Override
- public int uploadBio(MultipartFile file, TacExprRcmmParam tacExprRcmmParam) throws Exception{
- List<GwComFile> list = FileUtil.getFileList(file, prefix, fileDir);
- if (list != null && list.size() > 0) {
- list.forEach(gwComFile -> {
- String persNameAndIdNum = gwComFile.getFileName();
- String persName = persNameAndIdNum.split("-")[0];
- String idNum = persNameAndIdNum.split("-")[1].substring(0,persNameAndIdNum.split("-")[1].indexOf("."));
- TacExprRcmmParam param = new TacExprRcmmParam();
- param.setIdNo(idNum);
- param.setName(persName);
- TacExprRcmm rcmm = tacExprRcmmDao.getBy(param);
- if (rcmm != null) {
- List<GwComFile> gwComFiles = gwComFileService.findFileByBiz(rcmm.getId());
- if (gwComFiles.size() > 0) {
- //删除关联简历
- GwComFileParam gwComFileParam = new GwComFileParam();
- gwComFileParam.setBizId(rcmm.getId());
- gwComFileService.deleteBy(gwComFileParam);
- }
- gwComFile.setBizId(rcmm.getId());
- gwComFileService.insert(gwComFile);
- }
- });
- }
- return 0;
- }
- @Override
- public List<TacExprRcmm> getRcmmList(TacExprRcmmParam tacExprRcmmParam) {
- List<TacExprRcmm> list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
- return list;
- }
- @Override
- public int insertRcmmToWorkerList(TacExprRcmmParam tacExprRcmmParam) {
- String persId = tacExprRcmmParam.getPersId();
- if (StringUtils.isNotBlank(tacExprRcmmParam.getPersId())) {
- tacExprRcmmParam.setPersId("");
- }
- tacExprRcmmParam.setOrgCode(InspUtils.setOrgIds(tacExprRcmmParam.getOrgCode()));
- tacExprRcmmParam.setWorkAd(InspUtils.setOrgIds(tacExprRcmmParam.getWorkAd()));
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- List<TacExprRcmm> list = null;
- if (tacExprRcmmParam.getRcmms() != null && tacExprRcmmParam.getRcmms().size() > 0) {
- list = tacExprRcmmParam.getRcmms();
- } else {
- list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
- }
- Date date = new Date();
- if (list.size() > 0) {
- list.forEach(rcmm -> {
- TacWorkerBParam bParam = new TacWorkerBParam();
- bParam.setMobilenumb(rcmm.getMobilenumb());
- List<TacWorkerB> bList = tacWorkerBDao.findList(bParam);
- if (bList == null || bList.size() == 0) {
- TacWorkerB workerB = new TacWorkerB();
- BeanUtil.copyObject1(rcmm, workerB);
- workerB.setId(UuidUtil.uuid());
- workerB.setProvince(tacExprRcmmParam.getProvince());
- workerB.setLoginId(getPersLoginId(rcmm, rcmm.getMobilenumb(), rcmm.getName()));
- workerB.setDataStat("0");
- workerB.setInTm(new Date());
- workerB.setUpTm(new Date());
- tacWorkerBDao.insert(workerB);
- } else {
- TacWorkerB workerB = bList.get(0);
- List<String> columns = new ArrayList<>();
- columns.add("id");
- columns.add("loginId");
- columns.add("inTm");
- columns.add("upTm");
- BeanUtil.copyObject(rcmm, workerB, columns);
- tacWorkerBDao.update(workerB);
- }
- TacExprRcmmIndb indb = new TacExprRcmmIndb();
- indb.setId(UuidUtil.uuid());
- indb.setExprRcmmId(rcmm.getId());
- indb.setGroupType(rcmm.getGroupType());
- indb.setRoleType(rcmm.getRoleType());
- indb.setIntm(date);
- indb.setUptm(date);
- indb.setDataStat("0");
- indb.setPersId(persId);
- indbDao.insert(indb);
- TacExprRcmmRcrdParam tacExprRcmmRcrdParam = new TacExprRcmmRcrdParam();
- tacExprRcmmRcrdParam.setExprRcmmId(rcmm.getId());
- tacExprRcmmRcrdParam.setState("3");
- rcrdDao.updateRcrdByRcmmId(tacExprRcmmRcrdParam);
- rcmm.setState("3");
- tacExprRcmmDao.update(rcmm);
- });
- }
- return list.size();
- }
- private String getPersLoginId(Object rcmm, String mobilenumb, String name) {
- BisInspAllRlationPersParam param = new BisInspAllRlationPersParam();
- param.setMobilenumb(mobilenumb);
- List<BisInspAllRlationPers> persList = bisInspAllRlationPersDao.findList(param);
- if (persList.size() == 0 ){
- BisInspAllRlationPers pers = new BisInspAllRlationPers();
- BeanUtil.copyObject1(rcmm,pers);
- pers.setGuid(UuidUtil.uuid());
- pers.setPwd("JinShui@433");
- if (StringUtils.isNotBlank(pers.getSex())) {
- pers.setSex("男".equals(pers.getSex())?"1":"2");
- }
- pers.setPersName(name);
- bisInspAllRlationPersDao.insert(pers);
- return pers.getGuid();
- }
- return persList.get(0).getGuid();
- }
- @Override
- public PageInfo<TacExprRcmm> getRcmmPage(TacExprRcmmParam tacExprRcmmParam) {
- PageHelper.startPage(tacExprRcmmParam);
- List<TacExprRcmm> list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
- PageInfo<TacExprRcmm> pageInfo = new PageInfo<>(list);
- return pageInfo;
- }
- @Override
- public int removeRvmmList(TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setOrgCode(InspUtils.setOrgIds(tacExprRcmmParam.getOrgCode()));
- tacExprRcmmParam.setWorkAd(InspUtils.setOrgIds(tacExprRcmmParam.getWorkAd()));
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- List<TacExprRcmm> list = null;
- if (tacExprRcmmParam.getRcmms() != null && tacExprRcmmParam.getRcmms().size() > 0) {
- list = tacExprRcmmParam.getRcmms();
- } else {
- list = tacExprRcmmDao.getRcmmList(tacExprRcmmParam);
- }
- if (list.size() > 0) {
- list.forEach(rcmm -> {
- rcmm.setState("4");
- tacExprRcmmDao.update(rcmm);
- TacExprRcmmRcrdParam tacExprRcmmRcrdParam = new TacExprRcmmRcrdParam();
- tacExprRcmmRcrdParam.setExprRcmmId(rcmm.getId());
- tacExprRcmmRcrdParam.setState("4");
- tacExprRcmmRcrdParam.setNote(tacExprRcmmParam.getDescribe());
- rcrdDao.updateRcrdByRcmmId(tacExprRcmmRcrdParam);
- });
- }
- return 0;
- }
- @Override
- public List<TacExprRcmm> getRcmmListByTime(TacExprRcmmParam tacExprRcmmParam) {
- List<TacExprRcmm> list = tacExprRcmmDao.getRcmmListByTime(tacExprRcmmParam);
- return list;
- }
- @Override
- public List<TacCountDto> countRcmmByTitles(TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
- tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
- List<TacCountDto> result = tacExprRcmmDao.countRcmmByTitles(tacExprRcmmParam);
- return result;
- }
- @Override
- public List<TacCountDto> countRcmmByRoleType(TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
- tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
- List<TacCountDto> result = tacExprRcmmDao.countRcmmByRoleType(tacExprRcmmParam);
- return result;
- }
- @Override
- public List<TacCountDto> countRcmmByEducation(TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
- tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
- List<TacCountDto> result = tacExprRcmmDao.countRcmmByEducation(tacExprRcmmParam);
- return result;
- }
- @Override
- public List<TacCountDto> countRcmmByIsOffice(TacExprRcmmParam tacExprRcmmParam) {
- tacExprRcmmParam.setRoleType(InspUtils.setOrgIds(tacExprRcmmParam.getRoleType()));
- tacExprRcmmParam.setEducation(InspUtils.setOrgIds(tacExprRcmmParam.getEducation()));
- tacExprRcmmParam.setTitles(InspUtils.setOrgIds(tacExprRcmmParam.getTitles()));
- List<TacCountDto> result = tacExprRcmmDao.countRcmmByIsOffice(tacExprRcmmParam);
- return result;
- }
- }
|