12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201 |
- package com.sprivacy.pms.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.sprivacy.pms.exception.PmsException;
- import com.sprivacy.pms.form.count.*;
- import com.sprivacy.pms.form.per.*;
- import com.sprivacy.pms.mapper.*;
- import com.sprivacy.pms.model.*;
- import com.sprivacy.pms.service.*;
- import com.sprivacy.pms.util.CompareUtils;
- import com.sprivacy.pms.util.DateUtils;
- import com.sprivacy.pms.util.ExportExcelUtil;
- import com.sprivacy.pms.util.TextUtils;
- import org.apache.commons.collections4.CollectionUtils;
- import org.apache.commons.lang3.StringUtils;
- 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.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author fanglang
- * @date 2018-11-01 13:29
- * @desc 人员业务实现类
- */
- @Service
- @Transactional(rollbackFor = PmsException.class)
- public class PerServiceImpl extends ServiceImpl<PerMapper, Per> implements PerService {
- private final static Logger log = LoggerFactory.getLogger(PerServiceImpl.class);
- @Value("${pms.common.saved-dir}")
- private String savedDir;
- @Value("${pms.common.model-dir}")
- private String modelDir;
- @Autowired
- private EduRecService eduRecService;
- @Autowired
- private WorkRecService workRecService;
- @Autowired
- private FamRelService famRelService;
- @Autowired
- private SocRelService socRelService;
- @Autowired
- private RewRecService rewRecService;
- @Autowired
- private PerMapper perMapper;
- @Autowired
- private EduRecMapper eduRecMapper;
- @Autowired
- private FamRelMapper famRelMapper;
- @Autowired
- private WorkRecMapper workRecMapper;
- @Autowired
- private RewRecMapper rewRecMapper;
- @Autowired
- private SocRelMapper socRelMapper;
- @Autowired
- private TempFileResultMapper tempFileResultMapper;
- @Autowired
- private BirthRemindMapper birthRemindMapper;
- @Autowired
- private DepartureRemindMapper departureRemindMapper;
- private static final int RELATION_TYPE_FAM = 1;
- private static final int RELATION_TYPE_SOC = 2;
- private static final int RELATION_TYPE_FRI = 3;
- /**
- * TODO 批量上传接口。
- * @param forms
- * @return
- * @throws IOException
- */
- @Override
- public List<Long> savePersonnelForms(List<PerForm> forms) throws IOException {
- log.info("savePersonnelForms>>>"+JSON.toJSONString(forms));
- List<Long> results = new ArrayList<>();
- if (null != forms && forms.size() > 0) {
- for (PerForm form : forms) {
- Map<String, Object> map = new HashMap<>();
- map.put("idNumber", form.getPer().getIdNumber());
- List<Per> pers = perMapper.countByParam(map);
- if (pers.size() > 0) {
- log.info("重复数据,不执行{" + form.getPer().getId() + "}入库操作。");
- results.add(-1L);
- } else {
- log.info("未重复数据,{" + form.getPer().getId() + "}已入库。");
- results.add(savePersonnelForm(form));
- }
- }
- }
- return results;
- }
- /**
- * TODO 入库方法。
- * @param form
- * @return
- * @throws IOException
- */
- @Override
- public long savePersonnelForm(PerForm form) throws IOException {
- log.info("savePersonnelForm>>>"+JSON.toJSONString(form));
- Per personnel = form.getPer();
- log.info("savePersonnelForm> 1 personnel>>"+personnel.getId());
- List<PerEduRec> eduRecords = form.getEduRecords();
- List<PerWorkRec> workRecords = form.getWorkRecords();
- List<PerFamRel> familyRelations = form.getFamRelations();
- List<PerSocRel> socialRelations = form.getSocRelations();
- List<PerRewRec> rewards = form.getRewRecords();
- personnel.setCreateTime(DateUtils.getCurrentFromatTime());
- if (null != form.getPer().getIdNumber() && !"".equals(form.getPer().getIdNumber()) && (form.getPer().getIdNumber().trim()).length() >= 18){
- String tempBirthStr = StringUtils.substring(form.getPer().getIdNumber(),6,14);
- String yearStr = StringUtils.substring(tempBirthStr,0,4);
- String monthStr = StringUtils.substring(tempBirthStr,4,6);
- String dayStr = StringUtils.substring(tempBirthStr,6,8);
- String birthStr = yearStr + "-" + monthStr +"-" + dayStr;
- personnel.setBirthday(birthStr);
- String departureTime = getDepartureTime(form.getPer().getBirthday(),form.getPer().getSex(),form.getPer().getPerNature());
- personnel.setDepartureTime(departureTime);
- }else {
- String departureTime = getDepartureTime(form.getPer().getBirthday(),form.getPer().getSex(),form.getPer().getPerNature());
- personnel.setDepartureTime(departureTime);
- }
- baseMapper.insert(personnel);
- if (null != personnel) {
- if (eduRecords.size() > 0) {
- for (PerEduRec eduRecord : eduRecords) {
- eduRecord.setCreateTime(DateUtils.getCurrentFromatTime());
- eduRecord.setPid(personnel.getId());
- }
- eduRecService.saveBatch(eduRecords);
- }
- if (workRecords.size() > 0) {
- for (PerWorkRec workRecord : workRecords) {
- workRecord.setCreateTime(DateUtils.getCurrentFromatTime());
- workRecord.setPid(personnel.getId());
- }
- workRecService.saveBatch(workRecords);
- }
- if (familyRelations.size() > 0) {
- for (PerFamRel familyRelation : familyRelations) {
- familyRelation.setPid(personnel.getId());
- familyRelation.setCreateTime(DateUtils.getCurrentFromatTime());
- }
- famRelService.saveBatch(familyRelations);
- }
- if (socialRelations.size() > 0) {
- for (PerSocRel socialRelation : socialRelations) {
- socialRelation.setPid(personnel.getId());
- socialRelation.setCreateTime(DateUtils.getCurrentFromatTime());
- }
- socRelService.saveBatch(socialRelations);
- }
- if (rewards.size() > 0) {
- for (PerRewRec reward : rewards) {
- reward.setPid(personnel.getId());
- reward.setCreateTime(DateUtils.getCurrentFromatTime());
- }
- rewRecService.saveBatch(rewards);
- }
- // todo 插入数据库后,写入磁盘内
- List<PerForm> perForms = getPerForms(personnel.getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- // 更新temp file 表
- TempFileResult tempFileResult = tempFileResultMapper.selectById(personnel.getFileId());
- log.info("savePersonnelForm> 2 personnel>>"+personnel.getId());
- tempFileResult.setPerId(personnel.getId());
- tempFileResult.setUpdated(true);
- if (tempFileResultMapper.updateById(tempFileResult) > 0){
- return personnel.getId();
- }else {
- return 0;
- }
- }
- return 0;
- }
- /**
- * TODO 根据id获取人员信息&查询详情展示方法。
- * @param id
- * @return
- */
- @Override
- public Map<String, Object> getPersonnelForm(long id) {
- Map<String, Object> form = new HashMap<>();
- List<Per> pers = perMapper.selectByPId(String.valueOf(id));
- Per tempedPersonnel = pers.get(pers.size() - 1);
- if (null != tempedPersonnel){
- List<Per> personnels = perMapper.selectByFileId(String.valueOf(tempedPersonnel.getFileId()));
- Per personnel = personnels.get(personnels.size() - 1);
- if (null != personnel) {
- form.put("per", personnel);
- }else {
- form.put("per", personnel);
- }
- List<PerEduRec> eduRecords = eduRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(eduRecords)) {
- form.put("eduRecords", eduRecords);
- }else {
- form.put("eduRecords", eduRecords);
- }
- List<PerWorkRec> workRecords = workRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(workRecords)) {
- form.put("workRecords", workRecords);
- }else {
- form.put("workRecords", workRecords);
- }
- List<PerFamRel> familyRelations = famRelService.findByPid(id);
- if (CollectionUtils.isNotEmpty(familyRelations)) {
- form.put("famRelations", familyRelations);
- }else {
- form.put("famRelations", familyRelations);
- }
- List<PerSocRel> socialRelations = socRelService.findByPid(id);
- if (CollectionUtils.isNotEmpty(socialRelations)) {
- form.put("socRelations", socialRelations);
- }else {
- form.put("socRelations", socialRelations);
- }
- List<PerRewRec> rewards = rewRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(rewards)) {
- form.put("rewRecords", rewards);
- }else {
- form.put("rewRecords", rewards);
- }
- log.info("getPersonnelForm>根据id:{"+id+"},data>>>" + JSON.toJSONString(form));
- }
- log.info("getPersonnelForm>根据id:{"+id+"},data>>>" + JSON.toJSONString(form));
- return form;
- }
- /**
- * TODO 弃用。
- * @param eduRecords
- */
- @Override
- public void addEduRecords(List<PerEduRec> eduRecords) {
- if (null != eduRecords && eduRecords.size() > 0) {
- eduRecService.saveBatch(eduRecords);
- }
- }
- /**
- * TODO 弃用。
- * @param workRecords
- */
- @Override
- public void addWorkRecords(List<PerWorkRec> workRecords) {
- if (null != workRecords && workRecords.size() > 0) {
- workRecService.saveBatch(workRecords);
- }
- }
- /**
- * TODO 弃用。
- * @param familyRelations
- */
- @Override
- public void addFamilyRelations(List<PerFamRel> familyRelations) {
- if (null != familyRelations && familyRelations.size() > 0) {
- famRelService.saveBatch(familyRelations);
- }
- }
- /**
- * TODO 弃用。
- * @param socialRelations
- */
- @Override
- public void addSocialRelations(List<PerSocRel> socialRelations) {
- if (null != socialRelations && socialRelations.size() > 0) {
- socRelService.saveBatch(socialRelations);
- }
- }
- /**
- * TODO 弃用。
- * @param rewards
- */
- @Override
- public void addRewards(List<PerRewRec> rewards) {
- if (null != rewards && rewards.size() > 0) {
- rewRecService.saveBatch(rewards);
- }
- }
- /**
- * TODO 弃用。
- * @param param
- * @return
- */
- @Override
- public List<Per> query(QueryParam param) {
- QueryWrapper<Per> wrapper = new QueryWrapper<>();
- wrapper.like(param.getColumn(), param.getParam());
- return baseMapper.selectList(wrapper);
- }
- /**
- * TODO 弃用。
- * @param id
- * @return
- */
- @Override
- public List<PerRelation> getPersonnelRelations(long id) {
- List<PerRelation> personnelRelations = new ArrayList<>();
- Per target = baseMapper.selectById(id);
- if (null != target) {
- // 家庭关系
- List<PerFamRel> familyRelations = famRelService.findByPid(id);
- if (null != familyRelations && familyRelations.size() > 0) {
- PerRelation relation;
- for (PerFamRel familyRelation : familyRelations) {
- relation = new PerRelation();
- relation.setTarget(target.getName());
- relation.setSource(familyRelation.getName());
- relation.setName(familyRelation.getRelation());
- relation.setType(RELATION_TYPE_FAM);
- personnelRelations.add(relation);
- }
- }
- // 社会关系
- List<PerSocRel> socialRelations = socRelService.findByPid(id);
- if (null != socialRelations && socialRelations.size() > 0) {
- PerRelation relation;
- for (PerSocRel socialRelation : socialRelations) {
- relation = new PerRelation();
- relation.setTarget(target.getName());
- relation.setSource(socialRelation.getName());
- relation.setName(socialRelation.getRelation());
- relation.setType(RELATION_TYPE_SOC);
- personnelRelations.add(relation);
- }
- }
- }
- return personnelRelations;
- }
- /**
- * TODO 弃用。
- * @param id
- * @return
- */
- @Override
- public Map<String, Object> getPersonnelRecords(long id) {
- Map<String, Object> map = new HashMap<>();
- List<PerEduRec> eduRecs = eduRecService.findByPid(id);
- if (null != eduRecs && eduRecs.size() > 0) {
- map.put("edu", eduRecs);
- }
- List<PerWorkRec> workRecs = workRecService.findByPid(id);
- if (null != workRecs && workRecs.size() > 0) {
- map.put("work", workRecs);
- }
- return map;
- }
- /**
- * TODO 多条件查询方法。
- * @param perQueryParam
- * @return
- */
- @Override
- public List<PerForm> multipleQuery(PerQueryParam perQueryParam) {
- // 封装查询参数
- QueryWrapper<Per> perQueryWrapper = new QueryWrapper<>();
- if(!perQueryParam.getName().isEmpty()){
- perQueryWrapper.like("name",perQueryParam.getName());
- }
- if (!perQueryParam.getSex().isEmpty()){
- perQueryWrapper.like("sex", perQueryParam.getSex());
- }
- if (!perQueryParam.getStartBirthday().isEmpty() && !perQueryParam.getEndBirthday().isEmpty()){
- perQueryWrapper.between("birthday",perQueryParam.getStartBirthday(),perQueryParam.getEndBirthday());
- }
- if (!perQueryParam.getWorkingTime().isEmpty()){
- perQueryWrapper.like("working_time", perQueryParam.getWorkingTime());
- }
- if (!perQueryParam.getJoiningPartyTime().isEmpty()){
- perQueryWrapper.like("joining_party_time", perQueryParam.getJoiningPartyTime());
- }
- if (!perQueryParam.getEducation().isEmpty()){
- perQueryWrapper.like("education", perQueryParam.getEducation());
- }
- if (!perQueryParam.getIdNumber().isEmpty()){
- perQueryWrapper.eq("id_number", perQueryParam.getIdNumber());
- }
- if (!perQueryParam.getHealthStatus().isEmpty()){
- perQueryWrapper.like("health_status", perQueryParam.getHealthStatus());
- }
- if (!perQueryParam.getTitleAcqTime().isEmpty()){
- perQueryWrapper.like("title_acq_time", perQueryParam.getTitleAcqTime());
- }
- if (!perQueryParam.getGraTimeSchoolMajor().isEmpty()){
- perQueryWrapper.like("gra_time_school_major", perQueryParam.getGraTimeSchoolMajor());
- }
- if (!perQueryParam.getPoliticsStatus().isEmpty()){
- perQueryWrapper.like("politics_status", perQueryParam.getPoliticsStatus());
- }
- if (!perQueryParam.getPerNature().isEmpty()){
- perQueryWrapper.like("per_nature",perQueryParam.getPerNature());
- }
- if (!perQueryParam.getJobTitle().isEmpty()){
- perQueryWrapper.like("job_title", perQueryParam.getJobTitle());
- }
- if (!perQueryParam.getCurrentJob().isEmpty()){
- perQueryWrapper.like("current_job", perQueryParam.getCurrentJob());
- }
- if (!perQueryParam.getContactPhone().isEmpty()){
- perQueryWrapper.like("contact_phone",perQueryParam.getContactPhone());
- }
- if (!perQueryParam.getAddress().isEmpty()){
- perQueryWrapper.like("address",perQueryParam.getAddress());
- }
- if (!perQueryParam.getWorkUnit().isEmpty()){
- perQueryWrapper.like("work_unit",perQueryParam.getWorkUnit());
- }
- if (!perQueryParam.getNation().isEmpty()){
- perQueryWrapper.like("nation", perQueryParam.getNation());
- }
- if (!perQueryParam.getBirthplace().isEmpty()){
- perQueryWrapper.like("birthplace", perQueryParam.getBirthplace());
- }
- // 个人
- List<Per> pers = perMapper.selectList(perQueryWrapper);
- List<PerForm> perForms = new ArrayList<>();
- PerForm perForm;
- if (null != pers) {
- for (Per per : pers) {
- perForm = new PerForm();
- perForm.setPer(per);
- // todo 家庭关系
- List<PerFamRel> famRels = famRelService.findByPid(per.getId());
- List<PerFamRel> finalPerFamRel = new ArrayList<>();
- if (null != famRels && famRels.size() > 0) {
- PerFamRel perFamRel;
- for (PerFamRel famRel : famRels) {
- perFamRel = new PerFamRel();
- perFamRel.setId(famRel.getId());
- perFamRel.setPid(per.getId());
- perFamRel.setRelation(famRel.getRelation());
- perFamRel.setName(famRel.getName());
- perFamRel.setBirthday(famRel.getBirthday());
- perFamRel.setPoliticalStatus(famRel.getPoliticalStatus());
- perFamRel.setDeptJob(famRel.getDeptJob());
- finalPerFamRel.add(perFamRel);
- }
- perForm.setFamRelations(finalPerFamRel);
- } else {
- perForm.setFamRelations(finalPerFamRel);
- }
- // todo 教育关系
- List<PerEduRec> perEduRecs = eduRecService.findByPid(per.getId());
- List<PerEduRec> finalPerEduRec = new ArrayList<>();
- if (null != perEduRecs && perEduRecs.size() > 0) {
- PerEduRec perEduRec;
- for (PerEduRec eduRec : perEduRecs) {
- perEduRec = new PerEduRec();
- perEduRec.setId(eduRec.getId());
- perEduRec.setPid(per.getId());
- perEduRec.setTime(eduRec.getTime());
- perEduRec.setSchool(eduRec.getSchool());
- perEduRec.setMajor(eduRec.getMajor());
- finalPerEduRec.add(perEduRec);
- }
- perForm.setEduRecords(finalPerEduRec);
- } else {
- perForm.setEduRecords(finalPerEduRec);
- }
- // todo 奖惩关系
- List<PerRewRec> perRewRecs = rewRecService.findByPid(per.getId());
- List<PerRewRec> finalPerRewRec = new ArrayList<>();
- if (null != perRewRecs && perRewRecs.size() > 0) {
- PerRewRec perRewRec;
- for (PerRewRec rewRec : perRewRecs) {
- perRewRec = new PerRewRec();
- perRewRec.setId(rewRec.getId());
- perRewRec.setPid(per.getId());
- perRewRec.setTime(rewRec.getTime());
- perRewRec.setContent(rewRec.getContent());
- finalPerRewRec.add(perRewRec);
- }
- perForm.setRewRecords(finalPerRewRec);
- } else {
- perForm.setRewRecords(finalPerRewRec);
- }
- // todo 社会关系
- List<PerSocRel> perSocRels = socRelService.findByPid(per.getId());
- List<PerSocRel> finalPerSocRel = new ArrayList<>();
- if (null != perSocRels && perSocRels.size() > 0) {
- PerSocRel perSocRel;
- for (PerSocRel socRel : perSocRels) {
- perSocRel = new PerSocRel();
- perSocRel.setId(socRel.getId());
- perSocRel.setPid(per.getId());
- perSocRel.setRelation(socRel.getRelation());
- perSocRel.setName(socRel.getName());
- perSocRel.setAge(socRel.getAge());
- perSocRel.setPoliticalStatus(socRel.getPoliticalStatus());
- perSocRel.setDeptJob(socRel.getDeptJob());
- finalPerSocRel.add(perSocRel);
- }
- perForm.setSocRelations(finalPerSocRel);
- } else {
- perForm.setSocRelations(finalPerSocRel);
- }
- // todo 工作关系
- List<PerWorkRec> perWorkRecs = workRecService.findByPid(per.getId());
- List<PerWorkRec> finalPerWorkRec = new ArrayList<>();
- if (null != perWorkRecs && perWorkRecs.size() > 0) {
- PerWorkRec perWorkRec;
- for (PerWorkRec workRec : perWorkRecs) {
- perWorkRec = new PerWorkRec();
- perWorkRec.setId(workRec.getId());
- perWorkRec.setPid(per.getId());
- perWorkRec.setTime(workRec.getTime());
- perWorkRec.setDepartment(workRec.getDepartment());
- perWorkRec.setJob(workRec.getJob());
- finalPerWorkRec.add(perWorkRec);
- }
- perForm.setWorkRecords(finalPerWorkRec);
- } else {
- perForm.setWorkRecords(finalPerWorkRec);
- }
- perForms.add(perForm);
- }
- }
- log.info("multipleQuery多条件查询-->" + JSON.toJSONString(perForms));
- return perForms;
- }
- /**
- * TODO 排序方法。
- * @param sortParam
- * @return
- */
- @Override
- public List<PerForm> sorting(SortParam sortParam) {
- // 封装排序参数
- /**
- * endWorkingTime -离职时间-> endWorkingTime
- * startJoiningPartyTime -入党时间-> startJoiningPartyTime
- * titleAcqTime -职称获得时间-> titleAcqTime
- *
- * joiningWorkAge -杠龄-> startWithJoiningWorkAge-endWithJoiningWorkAge
- * joiningPartyTime -党龄-> startWithJoiningPartyTime endWithJoiningPartyTime
- */
- Map<String, Object> sortMap = new HashMap<>();
- // 岗龄 --》 工龄
- if (null != sortParam.getStartWithJoiningWorkAge() && !sortParam.getStartWithJoiningWorkAge().equals("") && null != sortParam.getEndWithJoiningWorkAge() && !sortParam.getEndWithJoiningWorkAge().equals("")) {
- if (sortParam.getStartWithJoiningWorkAge().equals("40") && sortParam.getEndWithJoiningWorkAge().equals("-1")) {
- String startTime = getSqlTime(sortParam.getStartWithJoiningWorkAge());
- String startWorkingTime = startTime + "-01-01";
- String endWorkingTime = "gte";
- sortMap.put("startWithJoiningWorkAge", startWorkingTime);
- sortMap.put("endWithJoiningWorkAge", endWorkingTime);
- } else {
- String startTime = getSqlTime(sortParam.getStartWithJoiningWorkAge());
- String endTime = getSqlTime(sortParam.getEndWithJoiningWorkAge());
- String startWorkingTime = endTime + "-01-01";
- String endWorkingTime = startTime + "-12-31";
- sortMap.put("startWithJoiningWorkAge", startWorkingTime);
- sortMap.put("endWithJoiningWorkAge", endWorkingTime);
- }
- } else {
- // todo 二期配合前端,下部分代码暂搁置不用。
- System.err.println("工龄 else");
- }
- // 党龄
- if (null != sortParam.getStartWithJoiningPartyTime() && !sortParam.getStartWithJoiningPartyTime().equals("") && null != sortParam.getEndWithJoiningPartyTime() && !sortParam.getEndWithJoiningPartyTime().equals("")) {
- if (sortParam.getStartWithJoiningPartyTime().equals("50") && sortParam.getEndWithJoiningPartyTime().equals("-1")) {
- String startTime = getSqlTime(sortParam.getStartWithJoiningPartyTime());
- String startWithJoiningPartyTime = startTime + "-01-01";
- String endWithJoiningPartyTime = "gte";
- sortMap.put("startWithJoiningPartyTime", startWithJoiningPartyTime);
- sortMap.put("endWithJoiningPartyTime", endWithJoiningPartyTime);
- } else {
- String startTime = getSqlTime(sortParam.getStartWithJoiningPartyTime());
- String endTime = getSqlTime(sortParam.getEndWithJoiningPartyTime());
- String startWithJoiningPartyTime = endTime + "-01-01";
- String endWithJoiningPartyTime = startTime + "-12-31";
- sortMap.put("startWithJoiningPartyTime", startWithJoiningPartyTime);
- sortMap.put("endWithJoiningPartyTime", endWithJoiningPartyTime);
- }
- } else {
- // todo 二期配合前端,下部分代码暂搁置不用。
- System.err.println("党龄 else");
- }
- // 离职时间
- if (StringUtils.endsWith(sortParam.getEndWorkingTime(), "1")) {
- sortMap.put("endWorkingTime", StringUtils.substring(sortParam.getEndWorkingTime(), 0, 4));
- } else if (StringUtils.endsWith(sortParam.getEndWorkingTime(), "0")) {
- // todo 二期配合前端,下部分代码暂搁置不用。
- // sortMap.put("endWorkingTime", "");
- }
- // 入党时间
- if (StringUtils.endsWith(sortParam.getStartJoiningPartyTime(), "1")) {
- sortMap.put("startJoiningPartyTime", StringUtils.substring(sortParam.getStartJoiningPartyTime(), 0, 4));
- } else if (StringUtils.endsWith(sortParam.getStartJoiningPartyTime(), "0")) {
- // todo 二期配合前端,下部分代码暂搁置不用。
- // sortMap.put("startJoiningPartyTime", "");
- }
- // 职称获得时间
- if (StringUtils.endsWith(sortParam.getTitleAcqTime(), "1")) {
- sortMap.put("titleAcqTime", StringUtils.substring(sortParam.getTitleAcqTime(), 0, 4));
- } else if (StringUtils.endsWith(sortParam.getTitleAcqTime(), "0")) {
- // todo 二期配合前端,下部分代码暂搁置不用。
- // sortMap.put("titleAcqTime", "");
- }
- List<Per> pers = perMapper.sorting(sortMap);
- List<PerForm> perForms = new ArrayList<>();
- PerForm perForm;
- if (null != pers) {
- for (Per per : pers) {
- perForm = new PerForm();
- perForm.setPer(per);
- // todo 家庭关系
- List<PerFamRel> famRels = famRelService.findByPid(per.getId());
- List<PerFamRel> finalPerFamRel = new ArrayList<>();
- if (null != famRels && famRels.size() > 0) {
- PerFamRel perFamRel;
- for (PerFamRel famRel : famRels) {
- perFamRel = new PerFamRel();
- perFamRel.setId(famRel.getId());
- perFamRel.setPid(per.getId());
- perFamRel.setRelation(famRel.getRelation());
- perFamRel.setName(famRel.getName());
- perFamRel.setBirthday(famRel.getBirthday());
- perFamRel.setPoliticalStatus(famRel.getPoliticalStatus());
- perFamRel.setDeptJob(famRel.getDeptJob());
- finalPerFamRel.add(perFamRel);
- }
- perForm.setFamRelations(finalPerFamRel);
- } else {
- perForm.setFamRelations(finalPerFamRel);
- }
- // todo 教育关系
- List<PerEduRec> perEduRecs = eduRecService.findByPid(per.getId());
- List<PerEduRec> finalPerEduRec = new ArrayList<>();
- if (null != perEduRecs && perEduRecs.size() > 0) {
- PerEduRec perEduRec;
- for (PerEduRec eduRec : perEduRecs) {
- perEduRec = new PerEduRec();
- perEduRec.setId(eduRec.getId());
- perEduRec.setPid(per.getId());
- perEduRec.setTime(eduRec.getTime());
- perEduRec.setSchool(eduRec.getSchool());
- perEduRec.setMajor(eduRec.getMajor());
- finalPerEduRec.add(perEduRec);
- }
- perForm.setEduRecords(finalPerEduRec);
- } else {
- perForm.setEduRecords(finalPerEduRec);
- }
- // todo 奖惩关系
- List<PerRewRec> perRewRecs = rewRecService.findByPid(per.getId());
- List<PerRewRec> finalPerRewRec = new ArrayList<>();
- if (null != perRewRecs && perRewRecs.size() > 0) {
- PerRewRec perRewRec;
- for (PerRewRec rewRec : perRewRecs) {
- perRewRec = new PerRewRec();
- perRewRec.setId(rewRec.getId());
- perRewRec.setPid(per.getId());
- perRewRec.setTime(rewRec.getTime());
- perRewRec.setContent(rewRec.getContent());
- finalPerRewRec.add(perRewRec);
- }
- perForm.setRewRecords(finalPerRewRec);
- } else {
- perForm.setRewRecords(finalPerRewRec);
- }
- // todo 社会关系
- List<PerSocRel> perSocRels = socRelService.findByPid(per.getId());
- List<PerSocRel> finalPerSocRel = new ArrayList<>();
- if (null != perSocRels && perSocRels.size() > 0) {
- PerSocRel perSocRel;
- for (PerSocRel socRel : perSocRels) {
- perSocRel = new PerSocRel();
- perSocRel.setId(socRel.getId());
- perSocRel.setPid(per.getId());
- perSocRel.setRelation(socRel.getRelation());
- perSocRel.setName(socRel.getName());
- perSocRel.setAge(socRel.getAge());
- perSocRel.setPoliticalStatus(socRel.getPoliticalStatus());
- perSocRel.setDeptJob(socRel.getDeptJob());
- finalPerSocRel.add(perSocRel);
- }
- perForm.setSocRelations(finalPerSocRel);
- } else {
- perForm.setSocRelations(finalPerSocRel);
- }
- // todo 工作关系
- List<PerWorkRec> perWorkRecs = workRecService.findByPid(per.getId());
- List<PerWorkRec> finalPerWorkRec = new ArrayList<>();
- if (null != perWorkRecs && perWorkRecs.size() > 0) {
- PerWorkRec perWorkRec;
- for (PerWorkRec workRec : perWorkRecs) {
- perWorkRec = new PerWorkRec();
- perWorkRec.setId(workRec.getId());
- perWorkRec.setPid(per.getId());
- perWorkRec.setTime(workRec.getTime());
- perWorkRec.setDepartment(workRec.getDepartment());
- perWorkRec.setJob(workRec.getJob());
- finalPerWorkRec.add(perWorkRec);
- }
- perForm.setWorkRecords(finalPerWorkRec);
- } else {
- perForm.setWorkRecords(finalPerWorkRec);
- }
- perForms.add(perForm);
- }
- }
- log.info("sorting排序-->" + JSON.toJSONString(perForms));
- return perForms;
- }
- /**
- * TODO 统计方法。
- * @return
- */
- @Override
- public List<CountInfo> getCountInfo() {
- List<CountInfo> countInfos = new ArrayList<>();
- CountInfo countInfo = new CountInfo();
- // 人员性质
- CountByPoliticsStatus countByPoliticsStatus = new CountByPoliticsStatus();
- countByPoliticsStatus.setCrowdNum(getCountByPerNatureAndEducation("群众", "-1"));
- countByPoliticsStatus.setLeagueMemberNum(getCountByPerNatureAndEducation("团员", "-1"));
- countByPoliticsStatus.setPartyMembernNum(getCountByPerNatureAndEducation("党员", "-1"));
- countInfo.setCountByPoliticsStatus(countByPoliticsStatus);
- // 学历
- CountByEducation countByEducation = new CountByEducation();
- countByEducation.setCollegeNum(getCountByPerNatureAndEducation("-1", "大专"));
- countByEducation.setUndergraduateCourseNum(getCountByPerNatureAndEducation("-1", "本科"));
- countByEducation.setShuoNum(getCountByPerNatureAndEducation("-1", "硕士"));
- countByEducation.setBoNum(getCountByPerNatureAndEducation("-1", "博士"));
- countByEducation.setHighSchoolNum(getCountByPerNatureAndEducation("-1", "高中"));
- countByEducation.setTechnicalSecondarySchoolNum(getCountByPerNatureAndEducation("-1", "中专"));
- countByEducation.setOtherEducationNum(getCountByPerNatureAndEducation("-1", "其他"));
- countInfo.setCountByEducation(countByEducation);
- // 年龄
- CountByAge countByAge = new CountByAge();
- countByAge.setTwentyOneAndThirtyNum(getAge(21, 30, 0));
- countByAge.setThirtyOneAndFortyNum(getAge(31, 40, 0));
- countByAge.setFortyOneAndFiftyNum(getAge(41, 50, 0));
- countByAge.setFiftyOneAndSixtyNum(getAge(51, 60, 0));
- countByAge.setGreaterThanSixtyOneNum(getAge(61, 0, 0));
- countInfo.setCountByAge(countByAge);
- // 岗龄 --》工龄
- CountByWorkAge countByWorkAge = new CountByWorkAge();
- countByWorkAge.setLessThanFiveYearsNum(getAge(1, 5, -1));
- countByWorkAge.setFiveYearsNum(getAge(6, 10, -1));
- countByWorkAge.setTenYearsNum(getAge(11, 15, -1));
- countByWorkAge.setFifteenYearsNum(getAge(16, 20, -1));
- countByWorkAge.setTwentyYearsNum(getAge(21, 25, -1));
- countByWorkAge.setTwentyFiveYearsNum(getAge(26, 30, -1));
- countByWorkAge.setThirtyOneYearsNum(getAge(31, -1, -1));
- countInfo.setCountByWorkAge(countByWorkAge);
- // todo 职级job_rank
- CountByJobRank countByJobRank = new CountByJobRank();
- countByJobRank.setClerkPerNum(getCountByJobRank("办事员", "-1", "-1"));
- countByJobRank.setSubUnitSectionMemberNotNum(getCountByJobRank("科员(副股)", "-1", "-1"));
- countByJobRank.setSubUnitSectionMemberNum(getCountByJobRank("科员(正股)", "-1", "-1"));
- countByJobRank.setRegularUnitSectionMemberNotNum(getCountByJobRank("副科非", "-1", "-1"));
- countByJobRank.setRegularUnitSectionMemberNum(getCountByJobRank("副科", "-1", "-1"));
- countByJobRank.setAreStaffNotNum(getCountByJobRank("正科非", "-1", "-1"));
- countByJobRank.setAreStaffNum(getCountByJobRank("正科", "-1", "-1"));
- countByJobRank.setDeputyDirectorNum(getCountByJobRank("副处", "-1", "-1"));
- countInfo.setCountByJobRank(countByJobRank);
- // todo 职称 job_title
- CountByJobTitle countByJobTitle = new CountByJobTitle();
- countByJobTitle.setAssistantEngineerNum(getCountByJobRank("-1", "助理工程师", "-1"));
- countByJobTitle.setSeniorEconomistNum(getCountByJobRank("-1", "高级经济师", "-1"));
- countByJobTitle.setAdvancedWorkerNum(getCountByJobRank("-1", "高级工这种", "-1"));
- countInfo.setCountByJobTitle(countByJobTitle);
- // todo 人员性质
- CountByPerNature countByPerNature = new CountByPerNature();
- countByPerNature.setAdministrativeNum(getCountByJobRank("-1", "-1", "行政"));
- countByPerNature.setCareerNum(getCountByJobRank("-1", "-1", "事业"));
- countByPerNature.setSmallGroupNum(getCountByJobRank("-1", "-1", "机关小集体"));
- countByPerNature.setRuralNum(getCountByJobRank("-1", "-1", "农村"));
- countByPerNature.setCommunityNum(getCountByJobRank("-1", "-1", "社区"));
- countByPerNature.setOtherEmployeesNum(getCountByJobRank("-1", "-1", "其他聘用人员"));
- countInfo.setCountByPerNature(countByPerNature);
- // todo 工资级别 需求未定,待开发
- countInfos.add(countInfo);
- log.info("getCountInfo获取统计信息-->" + JSON.toJSONString(countInfos));
- return countInfos;
- }
- /**
- * TODO 个人详情修改&删除方法。
- *
- * @param form
- * @return
- */
- @Override
- public int editPerInfo(PerForm form) throws IOException {
- if (null != form.getPer()) {
- int edited = 0;
- form.getPer().setUpdateTime(DateUtils.getCurrentFromatTime());
- String departureTime = getDepartureTime(form.getPer().getBirthday(),form.getPer().getSex(),form.getPer().getPerNature());
- form.getPer().setDepartureTime(departureTime);
- int editPer = perMapper.updateById(form.getPer());
- Per per = perMapper.selectById(form.getPer().getId());
- boolean editPerEduRec = false;
- boolean editPerWorkRec = false;
- boolean editPerFamRel = false;
- boolean editPerSocRel = false;
- boolean editPerRewRec = false;
- if (editPer > 0) {
- PerForm selectedPerForm = getPerFormInfo(form.getPer().getId());
- if(form.getEduRecords().size() == 0){
- if (null != selectedPerForm.getWorkRecords()){
- for (PerEduRec perEduRec : selectedPerForm.getEduRecords()) {
- if (null != perEduRec.getId() && !"".equals(perEduRec.getId())){
- int deletedId = eduRecMapper.deleteById(perEduRec.getId());
- if (deletedId > 0){
- editPerEduRec = true;
- }
- }else {
- editPerEduRec = false;
- }
- }
- }else {
- editPerEduRec = false;
- }
- }
- if (form.getEduRecords().size() > 0) {
- if (selectedPerForm.getEduRecords() == null || form.getEduRecords().size() != selectedPerForm.getEduRecords().size()){
- if (editAddEduRecords(form,selectedPerForm) > 0){
- editPerEduRec = true;
- }
- }else {
- for (PerEduRec perEduRec : form.getEduRecords()) {
- if (eduRecService.updateById(perEduRec)) {
- int deletedId = deletedEduRecords(form);
- if (deletedId > 0){
- editPerEduRec = true;
- }
- }
- }
- }
- // 更新操作
- for (PerEduRec perEduRec : form.getEduRecords()) {
- perEduRec.setUpdateTime(DateUtils.getCurrentFromatTime());
- eduRecService.updateById(perEduRec);
- }
- }else {
- editPerEduRec = true;
- }
- if(form.getWorkRecords().size() == 0){
- if (null != selectedPerForm.getWorkRecords()){
- for (PerWorkRec perWorkRec : selectedPerForm.getWorkRecords()) {
- if (null != perWorkRec.getId() && !"".equals(perWorkRec.getId())){
- int deletedId = workRecMapper.deleteById(perWorkRec.getId());
- if (deletedId > 0){
- editPerWorkRec = true;
- }
- }else {
- editPerWorkRec = false;
- }
- }
- }else {
- editPerWorkRec = false;
- }
- }
- if (form.getWorkRecords().size() > 0) {
- if (selectedPerForm.getWorkRecords() == null || form.getWorkRecords().size() != selectedPerForm.getWorkRecords().size()){
- if (editAddPerWorkRecs(form,selectedPerForm) > 0){
- editPerWorkRec = true;
- }
- }else {
- for (PerWorkRec perWorkRec : form.getWorkRecords()) {
- if (workRecService.updateById(perWorkRec)) {
- int deletedId = deletedWorkRecords(form);
- if (deletedId > 0){
- editPerWorkRec = true;
- }
- }
- }
- }
- // 更新操作
- for (PerWorkRec perWorkRec : form.getWorkRecords()) {
- perWorkRec.setUpdateTime(DateUtils.getCurrentFromatTime());
- workRecService.updateById(perWorkRec);
- }
- }else {
- editPerWorkRec = true;
- }
- if(form.getFamRelations().size() == 0){
- if (null != selectedPerForm.getFamRelations()){
- for (PerFamRel perFamRel : selectedPerForm.getFamRelations()) {
- if (null != perFamRel.getId() && !"".equals(perFamRel.getId())){
- int deletedId = famRelMapper.deleteById(perFamRel.getId());
- if (deletedId > 0){
- editPerFamRel = true;
- }
- }else {
- editPerFamRel = false;
- }
- }
- }else {
- editPerFamRel = false;
- }
- }
- if (form.getFamRelations().size() > 0) {
- if (selectedPerForm.getFamRelations() == null || form.getFamRelations().size() != selectedPerForm.getFamRelations().size()){
- if (editAddPerFamRels(form,selectedPerForm) > 0){
- editPerFamRel = true;
- }
- }else {
- for (PerFamRel perFamRel : form.getFamRelations()) {
- if (famRelService.updateById(perFamRel)) {
- int deletedId = deletedFamRelations(form);
- if (deletedId > 0){
- editPerFamRel = true;
- }
- }
- }
- }
- // 更新操作
- for (PerFamRel perFamRel : form.getFamRelations()) {
- perFamRel.setUpdateTime(DateUtils.getCurrentFromatTime());
- famRelService.updateById(perFamRel);
- }
- }else {
- editPerFamRel = true;
- }
- if(form.getSocRelations().size() == 0){
- if (null != selectedPerForm.getSocRelations()){
- for (PerSocRel perSocRel : selectedPerForm.getSocRelations()) {
- if (null != perSocRel.getId() && !"".equals(perSocRel.getId())){
- int deletedId = socRelMapper.deleteById(perSocRel.getId());
- if (deletedId > 0){
- editPerSocRel = true;
- }
- }else {
- editPerSocRel = false;
- }
- }
- }else {
- editPerSocRel = false;
- }
- }
- if (form.getSocRelations().size() > 0) {
- if (selectedPerForm.getSocRelations() == null || form.getSocRelations().size() != selectedPerForm.getSocRelations().size()){
- if (editAddPerSocRels(form,selectedPerForm) > 0){
- editPerSocRel = true;
- }
- }else {
- for (PerSocRel perSocRel : form.getSocRelations()) {
- if (socRelService.updateById(perSocRel)) {
- int deletedId = deletedSocRelations(form);
- if (deletedId > 0){
- editPerSocRel = true;
- }
- }
- }
- }
- // 更新操作
- for (PerSocRel perSocRel : form.getSocRelations()) {
- perSocRel.setUpdateTime(DateUtils.getCurrentFromatTime());
- socRelService.updateById(perSocRel);
- }
- }else {
- editPerSocRel = true;
- }
- if(form.getRewRecords().size() == 0){
- if (null != selectedPerForm.getRewRecords()){
- for (PerRewRec perRewRec : selectedPerForm.getRewRecords()) {
- if (null != perRewRec.getId() && !"".equals(perRewRec.getId())){
- int deletedId = rewRecMapper.deleteById(perRewRec.getId());
- if (deletedId > 0){
- editPerRewRec = true;
- }
- }else {
- editPerRewRec = false;
- }
- }
- }else {
- editPerRewRec = false;
- }
- }
- if (form.getRewRecords().size() > 0) {
- // TODO bug
- if (selectedPerForm.getRewRecords() == null || form.getRewRecords().size() != selectedPerForm.getRewRecords().size()){
- if (editAddPerRewRecs(form,selectedPerForm) > 0){
- editPerRewRec = true;
- }
- }else {
- for (PerRewRec perRewRec : form.getRewRecords()) {
- if (rewRecService.updateById(perRewRec)) {
- int deletedId = deletedRewRecords(form);
- if (deletedId > 0){
- editPerRewRec = true;
- }
- }
- }
- }
- // 更新操作
- for (PerRewRec perRewRec : form.getRewRecords()) {
- perRewRec.setUpdateTime(DateUtils.getCurrentFromatTime());
- rewRecService.updateById(perRewRec);
- }
- }else {
- editPerRewRec = true;
- }
- log.info("editPer>"+editPer+","+"editPerEduRec>"+editPerEduRec+"editPerWorkRec>"+editPerWorkRec+","+"editPerFamRel>"+editPerFamRel+","+"editPerSocRel>"+editPerSocRel+","+"editPerRewRec>"+editPerRewRec);
- if (editPerEduRec && editPerWorkRec && editPerFamRel && editPerSocRel && editPerRewRec) {
- edited = 1;
- // todo 查找excel文件,然后做更新。
- log.info("edit & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("edit & write excel END" + edited);
- return 1;
- }
- }
- }
- return 0;
- }
- /**
- * TODO 删除方法暂时弃用。
- *
- * @param form
- * @return
- */
- @Override
- public int deletePerInfo(PerForm form) throws IOException {
- log.info("deletePerInfo--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int eduRecordsFlag = 0;
- int workRecordsFlag = 0;
- int famRelationsFlag = 0;
- int socRelationsFlag = 0;
- int rewRecordsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- if (perFlag){
- log.info("deleteWithPer SUCCESS");
- }
- }
- if (null != form.getEduRecords()){
- eduRecordsFlag = deleteWithEduRecords(form,selectPerForm);
- if (eduRecordsFlag > 0){
- log.info("deleteWithEduRecords SUCCESS");
- }
- }
- if (null != form.getWorkRecords()){
- workRecordsFlag = deleteWithWorkRecords(form,selectPerForm);
- if (workRecordsFlag > 0){
- log.info("deleteWithWorkRecords SUCCESS");
- }
- }
- if (null != form.getFamRelations()){
- famRelationsFlag = deleteWithFamRelations(form,selectPerForm);
- if (famRelationsFlag > 0){
- log.info("deleteWithFamRelations SUCCESS");
- }
- }
- if (null != form.getSocRelations()){
- socRelationsFlag = deleteWithSocRelations(form,selectPerForm);
- if (socRelationsFlag > 0){
- log.info("deleteWithSocRelations SUCCESS");
- }
- }
- if (null != form.getRewRecords()){
- rewRecordsFlag = deleteWithRewRecords(form,selectPerForm);
- if (rewRecordsFlag > 0){
- log.info("deleteWithRewRecords SUCCESS");
- }
- }
- if (perFlag && eduRecordsFlag > 0 && workRecordsFlag > 0 && famRelationsFlag > 0 && socRelationsFlag > 0 && rewRecordsFlag > 0){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletePerInfo & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletePerInfo & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- @Override
- public int deletedById(List<Long> ids) {
- int deleted = 0;
- for (Long id : ids) {
- int deletedByPer = perMapper.deleteById(id);
- List<PerEduRec> eduRecords = eduRecMapper.findByPid(id);
- List<PerWorkRec> workRecords = workRecMapper.findByPid(id);
- List<PerFamRel> famRelations = famRelMapper.findByPid(id);
- List<PerSocRel> socRelations = socRelMapper.findByPid(id);
- List<PerRewRec> rewRecords = rewRecMapper.findByPid(id);
- List<BirthRemind> birthReminds = birthRemindMapper.findByPId(id);
- List<DepartureRemind> departureReminds = departureRemindMapper.findByPId(id);
- Map<String,Object> map = new HashMap<>();
- map.put("pId",id);
- if (deletedByPer > 0){
- if (eduRecords.size() > 0){
- int deletedByEdu = eduRecMapper.deleteByPId(map);
- }
- if (workRecords.size() > 0){
- int deletedByWork = workRecMapper.deleteByPId(map);
- }
- if (famRelations.size() > 0){
- int deletedByFam = famRelMapper.deleteByPId(map);
- }
- if (socRelations.size() > 0){
- int deletedBySoc = socRelMapper.deleteByPId(map);
- }
- if (rewRecords.size() > 0){
- int deletedByRew = rewRecMapper.deleteByPId(map);
- }
- if (birthReminds.size() > 0){
- int deletedBirthRemind = birthRemindMapper.deleteByPId(map);
- }
- if (departureReminds.size() > 0){
- int deletedDepartureReminds = departureRemindMapper.deleteByPId(map);
- }
- deleted = 1;
- }
- }
- return deleted;
- }
- /**
- * TODO 个人详情删除独立方法。
- * @param form
- * @return
- * @throws IOException
- */
- public int deletedPerInfos(PerForm form) throws IOException {
- log.info("deletedPerInfos--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int eduRecordsFlag = 0;
- int workRecordsFlag = 0;
- int famRelationsFlag = 0;
- int socRelationsFlag = 0;
- int rewRecordsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- }
- if (null != form.getEduRecords()){
- eduRecordsFlag = deleteWithEduRecords(form,selectPerForm);
- }
- if (null != form.getWorkRecords()){
- workRecordsFlag = deleteWithWorkRecords(form,selectPerForm);
- }
- if (null != form.getFamRelations()){
- famRelationsFlag = deleteWithFamRelations(form,selectPerForm);
- }
- if (null != form.getSocRelations()){
- socRelationsFlag = deleteWithSocRelations(form,selectPerForm);
- }
- if (null != form.getRewRecords()){
- rewRecordsFlag = deleteWithRewRecords(form,selectPerForm);
- }
- if (perFlag && eduRecordsFlag > 0 && workRecordsFlag > 0 && famRelationsFlag > 0 && socRelationsFlag > 0 && rewRecordsFlag > 0){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletedPerInfos & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletedPerInfos & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- public int deletedEduRecords(PerForm form) throws IOException {
- log.info("deletedPerInfos--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int eduRecordsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- }
- if (null != form.getEduRecords()){
- eduRecordsFlag = deleteWithEduRecords(form,selectPerForm);
- }
- if (perFlag && eduRecordsFlag > 0){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletedPerInfos & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletedPerInfos & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- public int deletedWorkRecords(PerForm form) throws IOException {
- log.info("deletedPerInfos--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int workRecordsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- }
- if (null != form.getWorkRecords()){
- workRecordsFlag = deleteWithWorkRecords(form,selectPerForm);
- }
- if (perFlag && workRecordsFlag > 0){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletedPerInfos & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletedPerInfos & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- public int deletedFamRelations(PerForm form) throws IOException {
- log.info("deletedPerInfos--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int famRelationsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- }
- if (null != form.getFamRelations()){
- famRelationsFlag = deleteWithFamRelations(form,selectPerForm);
- }
- if (perFlag && famRelationsFlag > 0 ){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletedPerInfos & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletedPerInfos & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- public int deletedSocRelations(PerForm form) throws IOException {
- log.info("deletedPerInfos--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int socRelationsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- }
- if (null != form.getSocRelations()){
- socRelationsFlag = deleteWithSocRelations(form,selectPerForm);
- }
- if (perFlag && socRelationsFlag > 0){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletedPerInfos & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletedPerInfos & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- public int deletedRewRecords(PerForm form) throws IOException {
- log.info("deletedPerInfos--->" + JSON.toJSONString(form));
- if (null != form) {
- Per per = perMapper.selectById(form.getPer().getId());
- PerForm selectPerForm = getPerFormInfo(form.getPer().getId());
- if (null != per) {
- boolean perFlag = false;
- int rewRecordsFlag = 0;
- if (null != form.getPer()){
- perFlag = deleteWithPer(form,per);
- }
- if (null != form.getRewRecords()){
- rewRecordsFlag = deleteWithRewRecords(form,selectPerForm);
- }
- if (perFlag && rewRecordsFlag > 0){
- // todo 更新excel文件,为导出excel文件做文件保存操作。
- log.info("deletedPerInfos & write excel START");
- List<PerForm> perForms = getPerForms(form.getPer().getId());
- ExportExcelUtil.writeExcelFile(savedDir,modelDir,perForms);
- log.info("deletedPerInfos & write excel END");
- return 1;
- }
- return 0;
- } else {
- return -2;
- }
- } else {
- return -1;
- }
- }
- /**
- * TODO 删除per个人信息方法。
- * @param form
- * @param per
- * @return boolean
- */
- public boolean deleteWithPer(PerForm form, Per per) {
- if (!TextUtils.isEmpty(form.getPer().getName())) {
- per.setName(form.getPer().getName());
- }
- if (!TextUtils.isEmpty(form.getPer().getSex())) {
- per.setSex(form.getPer().getSex());
- }
- if (!TextUtils.isEmpty(form.getPer().getNation())) {
- per.setNation(form.getPer().getNation());
- }
- if (!TextUtils.isEmpty(form.getPer().getBirthplace())) {
- per.setBirthplace(form.getPer().getBirthplace());
- }
- if (!TextUtils.isEmpty(form.getPer().getAvatar())) {
- per.setAvatar(form.getPer().getAvatar());
- }
- if (!TextUtils.isEmpty(form.getPer().getBirthday())) {
- per.setBirthday(form.getPer().getBirthday());
- }
- if (!TextUtils.isEmpty(form.getPer().getWorkUnit())) {
- per.setWorkUnit(form.getPer().getWorkUnit());
- }
- if (!TextUtils.isEmpty(form.getPer().getWorkingTime())) {
- per.setWorkingTime(form.getPer().getWorkingTime());
- }
- if (!TextUtils.isEmpty(form.getPer().getJoiningPartyTime())) {
- per.setJoiningPartyTime(form.getPer().getJoiningPartyTime());
- }
- if (!TextUtils.isEmpty(form.getPer().getHealthStatus())) {
- per.setHealthStatus(form.getPer().getHealthStatus());
- }
- if (!TextUtils.isEmpty(form.getPer().getEducation())) {
- per.setEducation(form.getPer().getEducation());
- }
- if (!TextUtils.isEmpty(form.getPer().getGraTimeSchoolMajor())) {
- per.setGraTimeSchoolMajor(form.getPer().getGraTimeSchoolMajor());
- }
- if (!TextUtils.isEmpty(form.getPer().getPoliticsStatus())) {
- per.setPoliticsStatus(form.getPer().getPoliticsStatus());
- }
- if (!TextUtils.isEmpty(form.getPer().getPerNature())) {
- per.setPerNature(form.getPer().getPerNature());
- }
- if (!TextUtils.isEmpty(form.getPer().getJobTitle())) {
- per.setJobTitle(form.getPer().getJobTitle());
- }
- if (!TextUtils.isEmpty(form.getPer().getTitleAcqTime())) {
- per.setTitleAcqTime(form.getPer().getTitleAcqTime());
- }
- if (!TextUtils.isEmpty(form.getPer().getCurrentJob())) {
- per.setCurrentJob(form.getPer().getCurrentJob());
- }
- if (!TextUtils.isEmpty(form.getPer().getJobRank())) {
- per.setJobRank(form.getPer().getJobRank());
- }
- if (!TextUtils.isEmpty(form.getPer().getContactPhone())) {
- per.setContactPhone(form.getPer().getContactPhone());
- }
- if (!TextUtils.isEmpty(form.getPer().getAddress())) {
- per.setAddress(form.getPer().getAddress());
- }
- if (!TextUtils.isEmpty(form.getPer().getIdNumber())) {
- per.setIdNumber(form.getPer().getIdNumber());
- }
- per.setUpdateTime(DateUtils.getCurrentFromatTime());
- int deletedPer = perMapper.updateById(per);
- if (deletedPer > 0) {
- return true;
- }
- return false;
- }
- public int deleteWithEduRecords(PerForm form, PerForm selectedPerForm){
- if (form.getEduRecords().size() > 0){
- // 开始删除
- if(form.getEduRecords().size() != selectedPerForm.getEduRecords().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- for (PerEduRec perEduRec : form.getEduRecords()) {
- if (perEduRec.getId() != null){
- listOne.add(perEduRec.getId().toString());
- }else {
- listOne.add("");
- }
- }
- List<String> listTwo = new ArrayList<>();
- for (PerEduRec perEduRec : selectedPerForm.getEduRecords()) {
- if (perEduRec.getId() != null){
- listTwo.add(perEduRec.getId().toString());
- }else {
- listTwo.add("");
- }
- }
- List<String> deletedIds = CompareUtils.getDifferentNum(listOne,listTwo);
- for (String deletedId : deletedIds) {
- if (null != deletedId && !"".equals(deletedId)){
- eduRecService.deleteByPid(Long.valueOf(deletedId));
- }
- }
- }
- }
- return 1;
- }
- public int deleteWithWorkRecords(PerForm form, PerForm selectedPerForm){
- if (form.getWorkRecords().size() > 0){
- // 开始删除
- if(form.getWorkRecords().size() != selectedPerForm.getWorkRecords().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- for (PerWorkRec perWorkRec : form.getWorkRecords()) {
- listOne.add(perWorkRec.getId().toString());
- }
- List<String> listTwo = new ArrayList<>();
- for (PerWorkRec perWorkRec : selectedPerForm.getWorkRecords()) {
- listTwo.add(perWorkRec.getId().toString());
- }
- List<String> deletedIds = CompareUtils.getDifferentNum(listOne,listTwo);
- for (String deletedId : deletedIds) {
- workRecService.deleteByPid(Long.valueOf(deletedId));
- }
- }
- }
- return 1;
- }
- public int deleteWithFamRelations(PerForm form, PerForm selectedPerForm){
- if (form.getFamRelations().size() > 0){
- // 开始删除
- if(form.getFamRelations().size() != selectedPerForm.getFamRelations().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- for (PerFamRel perFamRel : form.getFamRelations()) {
- listOne.add(perFamRel.getId().toString());
- }
- List<String> listTwo = new ArrayList<>();
- for (PerFamRel perFamRel : selectedPerForm.getFamRelations()) {
- listTwo.add(perFamRel.getId().toString());
- }
- List<String> deletedIds = CompareUtils.getDifferentNum(listOne,listTwo);
- for (String deletedId : deletedIds) {
- famRelService.deleteByPid(Long.valueOf(deletedId));
- }
- }
- }
- return 1;
- }
- public int deleteWithSocRelations(PerForm form, PerForm selectedPerForm){
- if (form.getSocRelations().size() > 0){
- // 开始删除
- if(form.getSocRelations().size() != selectedPerForm.getSocRelations().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- for (PerSocRel perSocRel : form.getSocRelations()) {
- listOne.add(perSocRel.getId().toString());
- }
- List<String> listTwo = new ArrayList<>();
- for (PerSocRel perSocRel : selectedPerForm.getSocRelations()) {
- listTwo.add(perSocRel.getId().toString());
- }
- List<String> deletedIds = CompareUtils.getDifferentNum(listOne,listTwo);
- for (String deletedId : deletedIds) {
- socRelService.deleteByPid(Long.valueOf(deletedId));
- }
- }
- }
- return 1;
- }
- public int deleteWithRewRecords(PerForm form, PerForm selectedPerForm){
- if (form.getRewRecords().size() > 0){
- // 开始删除
- if(form.getRewRecords().size() != selectedPerForm.getRewRecords().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- for (PerRewRec perRewRec : form.getRewRecords()) {
- listOne.add(perRewRec.getId().toString());
- }
- List<String> listTwo = new ArrayList<>();
- for (PerRewRec perRewRec : selectedPerForm.getRewRecords()) {
- listTwo.add(perRewRec.getId().toString());
- }
- List<String> deletedIds = CompareUtils.getDifferentNum(listOne,listTwo);
- for (String deletedId : deletedIds) {
- rewRecService.deleteByPid(Long.valueOf(deletedId));
- }
- }
- }
- return 1;
- }
- /**
- * TODO 修改per信息方法。
- * @param form
- * @param selectedPerForm
- * @return
- */
- public int editAddEduRecords(PerForm form, PerForm selectedPerForm){
- if (form.getEduRecords().size() > 0){
- // 开始删除
- if(selectedPerForm.getEduRecords() == null || form.getEduRecords().size() != selectedPerForm.getEduRecords().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- List<PerEduRec> perEduRecs = new ArrayList<>();
- PerEduRec tempedPerEduRec;
- for (PerEduRec perEduRec : form.getEduRecords()) {
- if (null != perEduRec.getId() && !"".equals(perEduRec.getId())){
- listOne.add(perEduRec.getId().toString());
- }else {
- listOne.add("");
- tempedPerEduRec = new PerEduRec();
- tempedPerEduRec.setPid(form.getPer().getId());
- tempedPerEduRec.setTime(perEduRec.getTime());
- tempedPerEduRec.setSchool(perEduRec.getSchool());
- tempedPerEduRec.setMajor(perEduRec.getMajor());
- tempedPerEduRec.setCreateTime(DateUtils.getCurrentFromatTime());
- tempedPerEduRec.setOperator(form.getPer().getOperator());
- perEduRecs.add(tempedPerEduRec);
- }
- }
- if (perEduRecs.size() > 0){
- // 添加新增教育信息入库
- PerEduRec savedPerEduRec;
- int updatedPerEduRec = 0;
- for (PerEduRec perEduRec : perEduRecs) {
- if (null != perEduRec){
- savedPerEduRec = new PerEduRec();
- savedPerEduRec.setPid(form.getPer().getId());
- savedPerEduRec.setTime(perEduRec.getTime());
- savedPerEduRec.setSchool(perEduRec.getSchool());
- savedPerEduRec.setMajor(perEduRec.getMajor());
- savedPerEduRec.setCreateTime(DateUtils.getCurrentFromatTime());
- savedPerEduRec.setUpdateTime(DateUtils.getCurrentFromatTime());
- savedPerEduRec.setOperator(form.getPer().getOperator());
- if (eduRecMapper.insert(savedPerEduRec) > 0){
- updatedPerEduRec++;
- }
- }
- }
- if (updatedPerEduRec > 0){
- return 1;
- }
- }else {
- if (deleteWithEduRecords(form,selectedPerForm) > 0){
- return 1;
- }
- }
- }
- }
- return 0;
- }
- public int editAddPerFamRels(PerForm form, PerForm selectedPerForm){
- if (form.getFamRelations().size() > 0){
- // 开始删除
- if(selectedPerForm.getFamRelations() == null || form.getFamRelations().size() != selectedPerForm.getFamRelations().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- List<PerFamRel> perFamRels = new ArrayList<>();
- PerFamRel tempedPerFamRel;
- for (PerFamRel perFamRel : form.getFamRelations()) {
- if (null != perFamRel.getId() && !"".equals(perFamRel.getId())){
- listOne.add(perFamRel.getId().toString());
- }else {
- listOne.add("");
- tempedPerFamRel = new PerFamRel();
- tempedPerFamRel.setPid(form.getPer().getId());
- tempedPerFamRel.setRelation(perFamRel.getRelation());
- tempedPerFamRel.setName(perFamRel.getName());
- tempedPerFamRel.setBirthday(perFamRel.getBirthday());
- tempedPerFamRel.setPoliticalStatus(perFamRel.getPoliticalStatus());
- tempedPerFamRel.setDeptJob(perFamRel.getDeptJob());
- tempedPerFamRel.setCreateTime(DateUtils.getCurrentFromatTime());
- tempedPerFamRel.setOperator(form.getPer().getOperator());
- perFamRels.add(tempedPerFamRel);
- }
- }
- if(perFamRels.size() > 0){
- PerFamRel savedPerFamRel;
- int updatedPerEduRec = 0;
- for (PerFamRel perFamRel : perFamRels) {
- // 做添加加操作
- savedPerFamRel = new PerFamRel();
- savedPerFamRel.setPid(form.getPer().getId());
- savedPerFamRel.setRelation(perFamRel.getRelation());
- savedPerFamRel.setName(perFamRel.getName());
- savedPerFamRel.setBirthday(perFamRel.getBirthday());
- savedPerFamRel.setPoliticalStatus(perFamRel.getPoliticalStatus());
- savedPerFamRel.setDeptJob(perFamRel.getDeptJob());
- savedPerFamRel.setCreateTime(DateUtils.getCurrentFromatTime());
- savedPerFamRel.setUpdateTime(DateUtils.getCurrentFromatTime());
- savedPerFamRel.setOperator(form.getPer().getOperator());
- if (famRelMapper.insert(savedPerFamRel) > 0){
- updatedPerEduRec++;
- }
- }
- if (updatedPerEduRec > 0){
- return 1;
- }
- }else {
- if (deleteWithFamRelations(form,selectedPerForm) > 0){
- return 1;
- }
- }
- }
- }
- return 0;
- }
- public int editAddPerRewRecs(PerForm form, PerForm selectedPerForm){
- if (form.getRewRecords().size() > 0){
- // 开始删除
- // TODO bug
- if(selectedPerForm.getRewRecords() == null || form.getRewRecords().size() != selectedPerForm.getRewRecords().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- List<PerRewRec> perRewRecs = new ArrayList<>();
- PerRewRec tempedPerRewRec;
- for (PerRewRec perRewRec : form.getRewRecords()) {
- if (null != perRewRec.getId() && !"".equals(perRewRec.getId())){
- listOne.add(perRewRec.getId().toString());
- }else {
- tempedPerRewRec = new PerRewRec();
- tempedPerRewRec.setPid(form.getPer().getId());
- tempedPerRewRec.setTime(perRewRec.getTime());
- tempedPerRewRec.setContent(perRewRec.getContent());
- tempedPerRewRec.setCreateTime(DateUtils.getCurrentFromatTime());
- tempedPerRewRec.setOperator(form.getPer().getOperator());
- perRewRecs.add(tempedPerRewRec);
- }
- }
- if (perRewRecs.size() > 0){
- PerRewRec savedPerRewRec;
- int updatedPerRewRec = 0;
- for (PerRewRec perRewRec : perRewRecs) {
- // 做添加加操作
- savedPerRewRec = new PerRewRec();
- savedPerRewRec.setPid(form.getPer().getId());
- savedPerRewRec.setTime(perRewRec.getTime());
- savedPerRewRec.setContent(perRewRec.getContent());
- savedPerRewRec.setCreateTime(DateUtils.getCurrentFromatTime());
- savedPerRewRec.setUpdateTime(DateUtils.getCurrentFromatTime());
- savedPerRewRec.setOperator(form.getPer().getOperator());
- if (rewRecMapper.insert(savedPerRewRec) > 0){
- updatedPerRewRec++;
- }
- }
- if (updatedPerRewRec > 0){
- return 1;
- }
- }else {
- if (deleteWithRewRecords(form,selectedPerForm) > 0){
- return 1;
- }
- }
- }
- }
- return 0;
- }
- public int editAddPerSocRels(PerForm form, PerForm selectedPerForm){
- if (form.getSocRelations().size() > 0){
- // 开始删除
- if(selectedPerForm.getSocRelations() == null || form.getSocRelations().size() != selectedPerForm.getSocRelations().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- List<PerSocRel> perSocRels = new ArrayList<>();
- PerSocRel tempedPerSocRel;
- for (PerSocRel perSocRel : form.getSocRelations()) {
- if (null != perSocRel.getId() && !"".equals(perSocRel.getId())){
- listOne.add(perSocRel.getId().toString());
- }else {
- tempedPerSocRel = new PerSocRel();
- tempedPerSocRel.setPid(form.getPer().getId());
- tempedPerSocRel.setRelation(perSocRel.getRelation());
- tempedPerSocRel.setName(perSocRel.getName());
- tempedPerSocRel.setAge(perSocRel.getAge());
- tempedPerSocRel.setPoliticalStatus(perSocRel.getPoliticalStatus());
- tempedPerSocRel.setDeptJob(perSocRel.getDeptJob());
- tempedPerSocRel.setCreateTime(DateUtils.getCurrentFromatTime());
- tempedPerSocRel.setOperator(form.getPer().getOperator());
- perSocRels.add(tempedPerSocRel);
- }
- }
- if (perSocRels.size() > 0){
- PerSocRel savedPerSocRel;
- int updatedPerSocRel = 0;
- for (PerSocRel socRel : perSocRels) {
- // 做添加加操作
- savedPerSocRel = new PerSocRel();
- savedPerSocRel.setPid(form.getPer().getId());
- savedPerSocRel.setRelation(socRel.getRelation());
- savedPerSocRel.setName(socRel.getName());
- savedPerSocRel.setAge(socRel.getAge());
- savedPerSocRel.setPoliticalStatus(socRel.getPoliticalStatus());
- savedPerSocRel.setDeptJob(socRel.getDeptJob());
- savedPerSocRel.setCreateTime(DateUtils.getCurrentFromatTime());
- savedPerSocRel.setUpdateTime(DateUtils.getCurrentFromatTime());
- savedPerSocRel.setOperator(form.getPer().getOperator());
- if (socRelMapper.insert(savedPerSocRel) > 0){
- updatedPerSocRel++;
- }
- }
- if (updatedPerSocRel > 0){
- return 1;
- }
- }else {
- if (deleteWithSocRelations(form,selectedPerForm) > 0){
- return 1;
- }
- }
- }
- }
- return 0;
- }
- public int editAddPerWorkRecs(PerForm form, PerForm selectedPerForm){
- if (form.getWorkRecords().size() > 0){
- // 开始删除
- if(selectedPerForm.getWorkRecords() == null || form.getWorkRecords().size() != selectedPerForm.getWorkRecords().size()){
- // 删除
- List<String> listOne = new ArrayList<>();
- List<PerWorkRec> perWorkRecs = new ArrayList<>();
- PerWorkRec tempedPerWorkRec;
- for (PerWorkRec perWorkRec : form.getWorkRecords()) {
- if (null != perWorkRec.getId() && !"".equals(perWorkRec.getId())){
- listOne.add(perWorkRec.getId().toString());
- }else {
- tempedPerWorkRec = new PerWorkRec();
- tempedPerWorkRec.setPid(form.getPer().getId());
- tempedPerWorkRec.setTime(perWorkRec.getTime());
- tempedPerWorkRec.setDepartment(perWorkRec.getDepartment());
- tempedPerWorkRec.setJob(perWorkRec.getJob());
- tempedPerWorkRec.setCreateTime(DateUtils.getCurrentFromatTime());
- tempedPerWorkRec.setOperator(form.getPer().getOperator());
- perWorkRecs.add(tempedPerWorkRec);
- }
- }
- if (perWorkRecs.size() > 0){
- PerWorkRec savedPerWorkRec;
- int updatedPerWorkRec = 0;
- for (PerWorkRec perWorkRec : perWorkRecs) {
- // 做添加加操作
- savedPerWorkRec = new PerWorkRec();
- savedPerWorkRec.setPid(form.getPer().getId());
- savedPerWorkRec.setTime(perWorkRec.getTime());
- savedPerWorkRec.setDepartment(perWorkRec.getDepartment());
- savedPerWorkRec.setJob(perWorkRec.getJob());
- savedPerWorkRec.setCreateTime(DateUtils.getCurrentFromatTime());
- savedPerWorkRec.setUpdateTime(DateUtils.getCurrentFromatTime());
- savedPerWorkRec.setOperator(form.getPer().getOperator());
- if (workRecMapper.insert(savedPerWorkRec) > 0){
- updatedPerWorkRec++;
- }
- }
- if (updatedPerWorkRec > 0){
- return 1;
- }
- }else {
- if (deleteWithWorkRecords(form,selectedPerForm) > 0){
- return 1;
- }
- }
- }
- }
- return 0;
- }
- /**
- * TODO 根据岗龄/党龄转换时间
- *
- * @param chooseAge
- * @return String
- */
- public static String getSqlTime(String chooseAge) {
- String currentTime = DateUtils.getCurrentFromatDate();
- String timeFormatYear;
- String time;
- if (null != chooseAge) {
- timeFormatYear = StringUtils.substring(currentTime, 0, 4);
- time = String.valueOf(Integer.valueOf(timeFormatYear) - Integer.valueOf(chooseAge));
- } else {
- time = "";
- }
- return time;
- }
- /**
- * TODO 统计人员性质和教育。
- * @param politicsStatus
- * @param education
- * @return
- */
- public int getCountByPerNatureAndEducation(String politicsStatus, String education) {
- Map<String, Object> map = new HashMap<>();
- List<Per> pers = new ArrayList<>();
- if (null != politicsStatus && "-1".equals(education)) {
- map.put("politicsStatus", politicsStatus);
- pers = perMapper.countByParam(map);
- } else if (null != education && "-1".equals(politicsStatus)) {
- map.put("education", education);
- pers = perMapper.countByParam(map);
- }
- return pers.size();
- }
- /**
- * TODO 获取年龄方法。
- * @param minAge
- * @param maxAge
- * @param flag
- * @return
- */
- public int getAge(int minAge, int maxAge, int flag) {
- String minAgeStr;
- String maxAgeStr;
- List<Per> pers = new ArrayList<>();
- if (0 != minAge && maxAge > 0 && flag != -1) {
- String currentTime = DateUtils.getCurrentFromatDate();
- String timeFormatYear;
- timeFormatYear = StringUtils.substring(currentTime, 0, 4);
- maxAgeStr = String.valueOf(Integer.valueOf(timeFormatYear) - minAge) + "-12-31";
- minAgeStr = String.valueOf(Integer.valueOf(timeFormatYear) - maxAge) + "-01-01";
- Map<String, Object> birthdayMap = new HashMap<>();
- birthdayMap.put("startBirthday", minAgeStr);
- birthdayMap.put("endBirthday", maxAgeStr);
- pers = perMapper.countByParam(birthdayMap);
- } else if (0 != minAge && maxAge > 0 && flag == -1) {
- String currentTime = DateUtils.getCurrentFromatDate();
- String timeFormatYear;
- timeFormatYear = StringUtils.substring(currentTime, 0, 4);
- maxAgeStr = String.valueOf(Integer.valueOf(timeFormatYear) - minAge) + "-12-31";
- minAgeStr = String.valueOf(Integer.valueOf(timeFormatYear) - maxAge) + "-01-01";
- Map<String, Object> workingTimeMap = new HashMap<>();
- workingTimeMap.put("startWorkingTime", minAgeStr);
- workingTimeMap.put("endWorkingTime", maxAgeStr);
- pers = perMapper.countByParam(workingTimeMap);
- } else if (minAge == 61 && maxAge == 0 && flag != -1) {
- String currentTime = DateUtils.getCurrentFromatDate();
- String timeFormatYear;
- timeFormatYear = StringUtils.substring(currentTime, 0, 4);
- minAgeStr = String.valueOf(Integer.valueOf(timeFormatYear) - minAge) + "-12-31";
- Map<String, Object> birthdayMap = new HashMap<>();
- birthdayMap.put("finalBirthday", minAgeStr);
- pers = perMapper.countBySpecialParam(birthdayMap);
- } else if (minAge == 31 && maxAge == -1 && flag == -1) {
- String currentTime = DateUtils.getCurrentFromatDate();
- String timeFormatYear;
- timeFormatYear = StringUtils.substring(currentTime, 0, 4);
- String ageStr = String.valueOf(Integer.valueOf(timeFormatYear) - minAge);
- minAgeStr = ageStr + "-12-31";
- Map<String, Object> workingTimeMap = new HashMap<>();
- workingTimeMap.put("finalWorkingTime", minAgeStr);
- pers = perMapper.countByParam(workingTimeMap);
- }
- return pers.size();
- }
- /**
- * TODO 职级转换方法。
- * @param jobRank
- * @param jobTitle
- * @param perNature
- * @return
- */
- public int getCountByJobRank(String jobRank, String jobTitle, String perNature) {
- List<Per> pers = new ArrayList<>();
- Map<String, Object> map = new HashMap<>();
- if (null != jobRank && "-1".equals(jobTitle) && "-1".equals(perNature)) {
- map.put("jobRank", jobRank);
- pers = perMapper.countByParam(map);
- } else if (null != jobTitle && "-1".equals(jobRank) && "-1".equals(perNature)) {
- map.put("jobTitle", jobTitle);
- pers = perMapper.countByParam(map);
- } else if (null != perNature && "-1".equals(jobRank) && "-1".equals(jobTitle)) {
- map.put("perNature", perNature);
- pers = perMapper.countByParam(map);
- }
- return pers.size();
- }
- /**
- * TODO 根据id获取信息列表方法。
- * @param id
- * @return
- */
- public PerForm getPerFormInfo(long id) {
- PerForm perForm = new PerForm();
- Per personnel = perMapper.selectById(id);
- if (null != personnel) {
- perForm.setPer(personnel);
- }
- List<PerEduRec> eduRecords = eduRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(eduRecords)) {
- perForm.setEduRecords(eduRecords);
- }
- List<PerWorkRec> workRecords = workRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(workRecords)) {
- perForm.setWorkRecords(workRecords);
- }
- List<PerFamRel> familyRelations = famRelService.findByPid(id);
- if (CollectionUtils.isNotEmpty(familyRelations)) {
- perForm.setFamRelations(familyRelations);
- }
- List<PerSocRel> socialRelations = socRelService.findByPid(id);
- if (CollectionUtils.isNotEmpty(socialRelations)) {
- perForm.setSocRelations(socialRelations);
- }
- List<PerRewRec> rewards = rewRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(rewards)) {
- perForm.setRewRecords(rewards);
- }
- log.info("getPerFormInfo-->" + JSON.toJSONString(perForm));
- return perForm;
- }
- /**
- * TODO 根据id获取信息列表方法。
- * @param id
- * @return
- */
- public List<PerForm> getPerForms(long id) {
- List<PerForm> form = new ArrayList<>();
- PerForm perForm = new PerForm();
- Per personnel = perMapper.selectById(id);
- if (null != personnel) {
- perForm.setPer(personnel);
- }
- List<PerEduRec> eduRecords = eduRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(eduRecords)) {
- perForm.setEduRecords(eduRecords);
- }
- List<PerWorkRec> workRecords = workRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(workRecords)) {
- perForm.setWorkRecords(workRecords);
- }
- List<PerFamRel> familyRelations = famRelService.findByPid(id);
- if (CollectionUtils.isNotEmpty(familyRelations)) {
- perForm.setFamRelations(toFamilyRelations(familyRelations));
- }
- List<PerSocRel> socialRelations = socRelService.findByPid(id);
- if (CollectionUtils.isNotEmpty(socialRelations)) {
- perForm.setSocRelations(socialRelations);
- }
- List<PerRewRec> rewards = rewRecService.findByPid(id);
- if (CollectionUtils.isNotEmpty(rewards)) {
- perForm.setRewRecords(rewards);
- }
- form.add(perForm);
- log.info("getPerForms-->" + JSON.toJSONString(form));
- return form;
- }
- public List<PerFamRel> toFamilyRelations(List<PerFamRel> familyRelations){
- if (null != familyRelations && familyRelations.size() > 0) {
- if (!familyRelations.get(0).getRelation().contains("配偶")){
- log.info("配偶调整。");
- for (int index = 0, length = familyRelations.size(); index < length; index++) {
- if ("配偶".equals(familyRelations.get(index).getRelation())) {
- PerFamRel temp = familyRelations.get(0);
- familyRelations.set(0, familyRelations.get(index));
- familyRelations.set(index, temp);
- }
- }
- }
- }
- return familyRelations;
- }
- public String getDepartureTime(String birthday, String sex, String perNature) {
- if (!TextUtils.isEmpty(birthday) && !TextUtils.isEmpty(sex)){
- if (sex.trim().equals("男")) {
- // 国干 非国干 60
- if (StringUtils.countMatches(birthday, "-") >= 1) {
- String departureTime = getRemindDate(birthday, 60);
- return departureTime;
- }
- } else if (sex.trim().equals("女")) {
- if (perNature.trim().equals("国干")) {
- // 国干 55
- if (StringUtils.countMatches(birthday, "-") >= 1) {
- String departureTime = getRemindDate(birthday, 55);
- return departureTime;
- }
- } else {
- // 非国干 50
- if (StringUtils.countMatches(birthday, "-") >= 1) {
- String departureTime = getRemindDate(birthday, 50);
- return departureTime;
- }
- }
- }
- }else {
- return "";
- }
- return "";
- }
- public String getRemindDate(String workingTime, Integer addParam) {
- String subYearStr = StringUtils.substring(workingTime, 0, 4);
- String subMonthStr = StringUtils.substring(workingTime, 5, 7);
- String subDayStr = StringUtils.substring(workingTime, 8, 10);
- String yearStr = String.valueOf(Integer.parseInt(subYearStr) + addParam);
- String remindDate = yearStr + "-" + subMonthStr + "-" + subDayStr;
- return remindDate;
- }
-
- }
|