123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725 |
- package com.ghsc.partybuild.service.impl;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.ghsc.partybuild.AppConfig;
- import com.ghsc.partybuild.mapper.*;
- import com.ghsc.partybuild.model.*;
- import com.ghsc.partybuild.service.*;
- import com.ghsc.partybuild.util.DateUtils;
- import com.ghsc.partybuild.util.MapUtils;
- import com.ghsc.partybuild.util.StringUtils;
- import com.ghsc.partybuild.vo.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Propagation;
- import org.springframework.transaction.annotation.Transactional;
- import reactor.core.Exceptions;
- import java.math.BigDecimal;
- import java.util.*;
- import java.util.stream.Collectors;
- /**
- * 宣传阵地管理、职工思想动态分析、领导人员5+3管理、党费管理、党组织经费管理
- *
- * @author pj
- */
- @Service("publicityService")
- public class PublicityServiceImpl implements PublicityService {
- @Autowired
- private AppConfig appConfig;
- @Autowired
- private PublicityCQuery publicityCQuery;
- @Autowired
- private StringUtils stringUtils;
- @Autowired
- private PeJoinuserMapper peJoinuserMapper;
- @Autowired
- private MapUtils mapUtils;
- @Autowired
- private DictionaryService dictionaryService;
- @Autowired
- private DateUtils dateUtils;
- @Autowired
- private PubPublicitypositionMapper pubPublicitypositionMapper;
- @Autowired
- private PubPublicitypositionPanelMapper pubPublicitypositionPanelMapper;
- @Autowired
- private UsUserthoughtMapper usUserthoughtMapper;
- @Autowired
- private UsUserthoughttotalMapper usUserthoughttotalMapper;
- @Autowired
- private UsUserleaderMapper usUserleaderMapper;
- @Autowired
- private UsPartyduesMapper usPartyduesMapper;
- @Autowired
- private UsPartyduesDetailMapper usPartyduesDetailMapper;
- @Autowired
- private UsPartyoutlayMapper usPartyoutlayMapper;
- @Autowired
- private PartyCQuery partyCQuery;
- @Autowired
- private PartyUserService partyUserService;
- @Autowired
- private DjFundsincomeMapper fundsincomeMapper;
- @Autowired
- private ZzZzqkxxMapper zzZzqkxxMapper;
- @Autowired
- private ZzRyjbxxMapper zzRyjbxxMapper;
- @Autowired
- private PartyUserCQuery partyUserCquery;
- @Autowired
- private PartyService partyService;
- @Autowired
- private UsUserleaderDetailMapper usUserleaderDetailMapper;
- @Autowired
- private RsRyjbxxfbMapper rsRyjbxxfbMapper;
- @Autowired
- private PayOrderService payOrderService;
- //region 宣传阵地管理
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param positionName
- * @param positionType
- * @param positionLevel
- * @param address
- * @param beginTime
- * @param endTime
- * @param positionState
- * @param headUserName
- * @param zzfbType
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getPublicityList(int page, int rows, String partyCode, String positionName, List<Integer> positionType, List<Integer> positionLevel, String address, String beginTime, String endTime, List<Integer> positionState, String headUserName, Integer zzfbType) {
- List<CfDictionary> dic_positionType = dictionaryService.getDictionaryListByDicTypeKey("positionType");
- List<CfDictionary> dic_positionLevel = dictionaryService.getDictionaryListByDicTypeKey("psiLevel");
- List<CfDictionary> dic_positionState = dictionaryService.getDictionaryListByDicTypeKey("positionState");
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectPublicityList(partyCode, positionName, positionType, positionLevel, address, beginTime, endTime, positionState, headUserName, zzfbType);
- for (HashMap<String, Object> item : list) {
- if (item.get("POSITIONTYPE") != null) {
- item.put("POSITIONTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("POSITIONTYPE").toString()), dic_positionType).getDicvalue());
- }
- if (item.get("POSITIONLEVEL") != null) {
- item.put("POSITIONLEVELNAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("POSITIONLEVEL").toString()), dic_positionLevel).getDicvalue());
- }
- if (item.get("POSITIONSTATE") != null) {
- item.put("POSITIONSTATENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("POSITIONSTATE").toString()), dic_positionState).getDicvalue());
- }
- }
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public PubPublicityposition getPublicityPositionById(String id) {
- return pubPublicitypositionMapper.selectByPrimaryKey(id);
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savePublicityPosition(PubPublicityposition model, String userId, String userName) {
- int result = 0;
- PubPublicityposition dbModel = getPublicityPositionById(model.getPublicitypositionid());
- if (dbModel == null || (model != null && stringUtils.IsNullOrEmpty(model.getPublicitypositionid()))) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = pubPublicitypositionMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = pubPublicitypositionMapper.updateByPrimaryKey(model);
- }
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public int deletePublicityPositionById(String id) {
- PubPublicitypositionPanelExample exp = new PubPublicitypositionPanelExample();
- PubPublicitypositionPanelExample.Criteria cri = exp.or();
- cri.andPublicitypositionidEqualTo(id);
- pubPublicitypositionPanelMapper.deleteByExample(exp);
- return pubPublicitypositionMapper.deleteByPrimaryKey(id);
- }
- @Override
- public int deletePanel(String id) {
- return pubPublicitypositionPanelMapper.deleteByPrimaryKey(id);
- }
- /**
- * @param page
- * @param rows
- * @param publicityPositionId
- * @param partyCode
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getPublicityPanelRecordList(int page, int rows, String publicityPositionId, String partyCode) {
- List<CfDictionary> dic_panelCycle = dictionaryService.getDictionaryListByDicTypeKey("panelCycle");
- List<CfDictionary> dic_panelState = dictionaryService.getDictionaryListByDicTypeKey("panelState");
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectPublicityPanelRecordList(publicityPositionId, partyCode);
- for (HashMap<String, Object> item : list) {
- if (item.get("PANELCYCLE") != null) {
- item.put("PANELCYCLENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("PANELCYCLE").toString()), dic_panelCycle).getDicvalue());
- }
- if (item.get("PANELSTATE") != null) {
- item.put("PANELSTATENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("PANELSTATE").toString()), dic_panelState).getDicvalue());
- }
- }
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public PubPublicitypositionPanel getPublicityPositionPanelById(String id) {
- return pubPublicitypositionPanelMapper.selectByPrimaryKey(id);
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savePublicityPanel(PubPublicitypositionPanel model, String userId, String userName) {
- int result = 0;
- PubPublicitypositionPanel dbModel = getPublicityPositionPanelById(model.getPanelid());
- if (dbModel == null || (model != null && stringUtils.IsNullOrEmpty(model.getPanelid()))) {
- model.setCreatetime(new Date());
- model.setPanelstate(0);//待审核
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = pubPublicitypositionPanelMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = pubPublicitypositionPanelMapper.updateByPrimaryKey(model);
- }
- return result;
- }
- /**
- * @param panelId
- * @param isPass
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int approvePanel(String panelId, boolean isPass, String userId, String userName) {
- PubPublicitypositionPanel dbModel = getPublicityPositionPanelById(panelId);
- dbModel.setPanelstate(isPass ? 1 : 2);
- dbModel.setUpdatetime(new Date());
- dbModel.setUpdateuserid(userId);
- dbModel.setUpdateusername(userName);
- dbModel.setOperatestate("M");
- dbModel.setOperatetime(new Date());
- dbModel.setSyncstate("N");
- return pubPublicitypositionPanelMapper.updateByPrimaryKey(dbModel);
- }
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param positionName
- * @param positionType
- * @param positionLevel
- * @param address
- * @param beginTime
- * @param endTime
- * @param positionState
- * @param headUserName
- * @param panelState
- * @param isExpired
- * @param zzfbType
- * @param updateTime_bt
- * @param updateTime_et
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getPublicityPanelList(int page, int rows, String partyCode, String positionName, Integer positionType, Integer positionLevel, String address, String beginTime, String endTime, Integer positionState, String headUserName,
- Integer panelState, Integer isExpired, Integer zzfbType, String updateTime_bt, String updateTime_et) {
- List<CfDictionary> dic_positionType = dictionaryService.getDictionaryListByDicTypeKey("positionType");
- List<CfDictionary> dic_positionLevel = dictionaryService.getDictionaryListByDicTypeKey("positionLevel");
- List<CfDictionary> dic_positionState = dictionaryService.getDictionaryListByDicTypeKey("positionState");
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectPublicityPanelList(partyCode, positionName, positionType, positionLevel, address, beginTime, endTime, positionState, headUserName, panelState, isExpired, zzfbType, updateTime_bt, updateTime_et);
- for (HashMap<String, Object> item : list) {
- if (item.get("POSITIONTYPE") != null) {
- item.put("POSITIONTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("POSITIONTYPE").toString()), dic_positionType).getDicvalue());
- }
- if (item.get("POSITIONLEVEL") != null) {
- item.put("POSITIONLEVELNAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("POSITIONLEVEL").toString()), dic_positionLevel).getDicvalue());
- }
- if (item.get("POSITIONSTATE") != null) {
- item.put("POSITIONSTATENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("POSITIONSTATE").toString()), dic_positionState).getDicvalue());
- }
- }
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- //endregion
- //region 职工思想动态分析
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param thoughtType
- * @param questionType
- * @param userName
- * @param beginTime
- * @param endTime
- * @param handleType
- * @param destroyType
- * @param handleState
- * @param zzfbType
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getUserThoughtList(int page, int rows, String partyCode, Integer thoughtType, Integer questionType, String userName, String beginTime,
- String endTime, Integer handleType, Integer destroyType, Integer handleState, Integer zzfbType) {
- List<CfDictionary> dic_thoughtType = dictionaryService.getDictionaryListByDicTypeKey("thoughtType");
- List<CfDictionary> dic_questionType = dictionaryService.getDictionaryListByDicTypeKey("questionType");
- List<CfDictionary> dic_handleType = dictionaryService.getDictionaryListByDicTypeKey("handleType");
- List<CfDictionary> dic_destroyType = dictionaryService.getDictionaryListByDicTypeKey("destroyType");
- List<CfDictionary> dic_handleState = dictionaryService.getDictionaryListByDicTypeKey("handleState");
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectUserThoughtList(partyCode, thoughtType, questionType, userName, beginTime, endTime, handleType, destroyType, handleState, zzfbType);
- for (HashMap<String, Object> item : list) {
- if (item.get("THOUGHTTYPE") != null) {
- item.put("THOUGHTTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("THOUGHTTYPE").toString()), dic_thoughtType).getDicvalue());
- }
- if (item.get("QUESTIONTYPE") != null) {
- item.put("QUESTIONTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("QUESTIONTYPE").toString()), dic_questionType).getDicvalue());
- }
- if (item.get("HANDLETYPE") != null) {
- item.put("HANDLETYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("HANDLETYPE").toString()), dic_handleType).getDicvalue());
- }
- if (item.get("DESTROYTYPE") != null) {
- item.put("DESTROYTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("DESTROYTYPE").toString()), dic_destroyType).getDicvalue());
- }
- if (item.get("HANDLESTATE") != null) {
- item.put("HANDLESTATENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("HANDLESTATE").toString()), dic_handleState).getDicvalue());
- }
- }
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public UsUserthought getUserthoughtById(String id) {
- return usUserthoughtMapper.selectByPrimaryKey(id);
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int saveUserthought(UsUserthought model, String userId, String userName) {
- int result = 0;
- UsUserthought dbModel = getUserthoughtById(model.getUserthoughtid());
- if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getUserthoughtid()))) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usUserthoughtMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usUserthoughtMapper.updateByPrimaryKey(model);
- }
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public int deleteUserthoughtById(String id) {
- return usUserthoughtMapper.deleteByPrimaryKey(id);
- }
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param month
- * @param writeUser
- * @param zzfbType
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getUserThoughtTotalList(int page, int rows, String partyCode, Integer month, String writeUser, Integer zzfbType) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectUserThoughtTotalList(partyCode, month, writeUser, zzfbType);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public UsUserthoughttotal getUserthoughtTotalById(String id) {
- return usUserthoughttotalMapper.selectByPrimaryKey(id);
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savetUserthoughtTotal(UsUserthoughttotal model, String userId, String userName) {
- int result = 0;
- UsUserthoughttotal dbModel = getUserthoughtTotalById(model.getUserthoughttotalid());
- if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getUserthoughttotalid()))) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usUserthoughttotalMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usUserthoughttotalMapper.updateByPrimaryKeyWithBLOBs(model);
- }
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public int deletetUserthoughtTotalById(String id) {
- return usUserthoughttotalMapper.deleteByPrimaryKey(id);
- }
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param year
- * @param month
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getThoughtTotal(int page, int rows, String partyCode, Integer year, Integer month) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectThoughtTotal(partyCode, year, month);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param year
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getThoughtSummary(int page, int rows, String partyCode, Integer year) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectThoughtSummary(partyCode, year);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- //endregion
- // region 领导人员5+3管理
- /**
- * 领导人员5+3管理
- */
- @Override
- public PageInfo<HashMap<String, Object>> getUserLeaderList(int page, int rows, String partyCode, String userName, Integer leaderType, String beginTime,
- String endTime, Integer zzfbType, String rybm) {
- List<CfDictionary> dic_leaderType = dictionaryService.getDictionaryListByDicTypeKey("leaderType");
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectUserLeaderList(partyCode, userName, leaderType, beginTime, endTime, zzfbType, rybm);
- for (HashMap<String, Object> item : list) {
- if (item.get("LEADERTYPE") != null) {
- item.put("LEADERTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("LEADERTYPE").toString()), dic_leaderType).getDicvalue());
- }
- }
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public UsUserleader getUserLeaderById(String id) {
- return usUserleaderMapper.selectByPrimaryKey(id);
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public int saveUserLeader(UsUserleader model, List<UsUserleaderDetail> userList, String userId, String userName) {
- int result = 0;
- boolean isAdd = false;
- UsUserleader dbModel = getUserLeaderById(model.getUserleaderid());
- if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getUserleaderid()))) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usUserleaderMapper.insert(model);
- isAdd = true;
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usUserleaderMapper.updateByPrimaryKeyWithBLOBs(model);
- }
- UsUserleaderDetailExample exp = new UsUserleaderDetailExample();
- UsUserleaderDetailExample.Criteria cri = exp.or().andUserleaderidEqualTo(model.getUserleaderid());
- usUserleaderDetailMapper.deleteByExample(exp);
- if (userList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getUsercode()) && it.getUsercode().equals(model.getUsercode())).collect(Collectors.toList()).size() <= 0) {
- UsUserleaderDetail detail = new UsUserleaderDetail();
- detail.setUsercode(model.getUsercode());
- detail.setUsername(model.getUsername());
- userList.add(detail);
- }
- userList.forEach(item -> {
- if (!model.getUsercode().equals(item.getUsercode())) {
- item.setDetailid(UUID.randomUUID().toString());
- item.setUserleaderid(model.getUserleaderid());
- item.setCreatetime(new Date());
- item.setCreateuserid(userId);
- item.setCreateusername(userName);
- item.setOperatestate("A");
- item.setOperatetime(new Date());
- item.setSyncstate("N");
- usUserleaderDetailMapper.insert(item);
- }
- });
- if (isAdd && model.getLeadertype().equals(3)) {
- userList.stream().filter(it -> !it.getUsercode().equals(model.getUsercode())).collect(Collectors.toList()).forEach(it -> {
- RsRyjbxxfb rsRyjbxxfb = rsRyjbxxfbMapper.selectByPrimaryKey(it.getUsercode());
- if (rsRyjbxxfb != null && rsRyjbxxfb.getSfsldry().equals(1)) {
- UsUserleader usUserleader = model;
- usUserleader.setUserleaderid(UUID.randomUUID().toString());
- usUserleader.setUsercode(it.getUsercode());
- usUserleader.setUsername(it.getUsername());
- usUserleader.setCreatetime(new Date());
- usUserleader.setCreateuserid(userId);
- usUserleader.setCreateusername(userName);
- usUserleader.setOperatestate("A");
- usUserleader.setOperatetime(new Date());
- usUserleader.setSyncstate("N");
- usUserleaderMapper.insert(usUserleader);
- userList.forEach(item -> {
- if (!usUserleader.getUsercode().equals(item.getUsercode())) {
- item.setDetailid(UUID.randomUUID().toString());
- item.setUserleaderid(usUserleader.getUserleaderid());
- item.setCreatetime(new Date());
- item.setCreateuserid(userId);
- item.setCreateusername(userName);
- item.setOperatestate("A");
- item.setOperatetime(new Date());
- item.setSyncstate("N");
- usUserleaderDetailMapper.insert(item);
- }
- });
- }
- });
- }
- return result;
- }
- @Override
- public int saveUserLeaderList(List<UsUserleader> modelList, String userId, String userName) {
- int result = 0;
- for (UsUserleader item : modelList) {
- UsUserleader dbModel = getUserLeaderById(item.getUserleaderid());
- if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getUserleaderid()))) {
- item.setUserleaderid(UUID.randomUUID().toString());
- item.setCreatetime(new Date());
- item.setCreateuserid(userId);
- item.setCreateusername(userName);
- item.setOperatestate("A");
- item.setOperatetime(new Date());
- item.setSyncstate("N");
- result = usUserleaderMapper.insert(item);
- } else {
- item.setUpdatetime(new Date());
- item.setUpdateuserid(userId);
- item.setUpdateusername(userName);
- item.setOperatestate("M");
- item.setOperatetime(new Date());
- item.setSyncstate("N");
- result = usUserleaderMapper.updateByPrimaryKeyWithBLOBs(item);
- }
- }
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public int deleteUserLeaderById(String id) {
- UsUserleaderDetailExample exp = new UsUserleaderDetailExample();
- UsUserleaderDetailExample.Criteria cri = exp.or().andUserleaderidEqualTo(id);
- usUserleaderDetailMapper.deleteByExample(exp);
- return usUserleaderMapper.deleteByPrimaryKey(id);
- }
- @Override
- public List<HashMap<String, Object>> getUserleaderDetailList(String id) {
- return publicityCQuery.selectUserleaderDetailList(id);
- }
- /**
- * 统计领导人员5+3情况
- */
- @Override
- public PageInfo<HashMap<String, Object>> getUserLeaderTotalList(int page, int rows, String partyCode, String userName, String beginTime,
- String endTime, Integer partyLength) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectUserLeaderTotalList(partyCode, userName, beginTime, endTime, partyLength);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- @Override
- public List<UserLeaderVo> importUserLeader(List<UserLeaderVo> userList, String userId, String userName) throws Exception {
- List<UserLeaderVo> errorList = new ArrayList<>();
- List<UsUserleader> usUserleaderList = new ArrayList<>();
- ZzZzqkxx dwModel = null;
- //个人所属党委
- HashMap<String, Object> userInfo = partyUserService.getPartyUserInfoByRybm(userId);
- if (userInfo != null && userInfo.get("SZDZBDM") != null) {
- dwModel = partyService.getUserDwInfo(userInfo.get("SZDZBDM").toString());
- }
- if (dwModel == null || stringUtils.IsNullOrEmpty(dwModel.getDzzdm())) {
- throw new Exception("个人所属党委获取失败");
- }
- List<String> names = userList.stream().map(it -> it.getUserName().trim().concat(it.getPartyName().trim())).collect(Collectors.toList());
- //List<String> partys = userList.stream().map(it -> it.getPartyName().trim()).collect(Collectors.toList());
- List<HashMap<String, Object>> users = partyUserCquery.selectUserListByName(names);
- //ZzZzqkxxExample exp = new ZzZzqkxxExample();
- //ZzZzqkxxExample.Criteria cri = exp.or().andDzzmcIn(partys);
- //List<ZzZzqkxx> zzZzqkxxList = zzZzqkxxMapper.selectByExample(exp);
- List<CfDictionary> dic_leaderType = dictionaryService.getDictionaryListByDicTypeKey("leaderType");
- for (int i = 0; i < userList.size(); i++) {
- UsUserleader model = new UsUserleader();
- UserLeaderVo item = userList.get(i);
- String errorInfo = "";
- if (stringUtils.IsNullOrEmpty(item.getUserName())) {
- errorInfo += "请填写姓名!";
- }
- if (stringUtils.IsNullOrEmpty(item.getPartyName())) {
- errorInfo += "请填写所在支部!";
- }
- if (stringUtils.IsNullOrEmpty(item.getLeadertype())) {
- errorInfo += "请选择类别!";
- }
- if (stringUtils.IsNullOrEmpty(item.getLeadertime())) {
- errorInfo += "请填写时间!";
- }
- if (stringUtils.IsNullOrEmpty(errorInfo)) {
- /*List<ZzZzqkxx> party = zzZzqkxxList.stream().filter(it -> it.getDzzmc().equals(item.getPartyName())).collect(Collectors.toList());
- if (party.size() <= 0) {
- errorInfo += "所在支部匹配失败!";
- } else {
- item.setPartyCode(party.get(0).getDzzdm());
- List<HashMap<String, Object>> user = users.stream().filter(it -> it.get("XM").toString().equals(item.getUserName()) && it.get("SZDZBDM").toString().equals(item.getPartyCode())).collect(Collectors.toList());
- if (user.size() <= 0) {
- errorInfo += "姓名匹配失败!";
- } else {
- item.setUserCode(user.get(0).get("RYBM").toString());
- }
- }*/
- List<HashMap<String, Object>> user = users.stream().filter(it -> it.get("XM").toString().equals(item.getUserName().trim()) && it.get("DZZMC").toString().equals(item.getPartyName().trim())).collect(Collectors.toList());
- if (user.size() <= 0) {
- errorInfo += "姓名支部匹配失败!";
- } else {
- item.setUserCode(user.get(0).get("RYBM").toString());
- item.setPartyCode(user.get(0).get("SZDZBDM").toString());
- }
- try {
- Date leaderTime = dateUtils.StrToDate(item.getLeadertime(), "yyyy-MM-dd");
- if (leaderTime == null) {
- throw new Exception("");
- }
- model.setLeadertime(leaderTime);
- } catch (Exception ex) {
- errorInfo += "时间格式错误!";
- }
- try {
- Integer leaderType = Integer.parseInt(dic_leaderType.stream().filter(it -> it.getDicvalue().equals(item.getLeadertype())).collect(Collectors.toList()).get(0).getDickey().toString());
- model.setLeadertype(leaderType);
- } catch (Exception ex) {
- errorInfo += "类别匹配失败!";
- }
- }
- if (!stringUtils.IsNullOrEmpty(errorInfo)) {
- item.setErrorInfo("第" + (i + 1) + "行," + errorInfo);
- errorList.add(item);
- } else {
- model.setUserleaderid(UUID.randomUUID().toString());
- model.setUsercode(item.getUserCode());
- model.setUsername(item.getUserName());
- model.setPartycode(dwModel.getDzzdm());
- model.setPartyname(dwModel.getDzzmc());
- model.setAddress(item.getAddress());
- model.setContent(item.getContent());
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- usUserleaderList.add(model);
- }
- }
- if (errorList.size() <= 0) {
- usUserleaderList.forEach(item -> {
- usUserleaderMapper.insert(item);
- });
- }
- return errorList;
- }
- //endregion
- //region 党费管理
- /**
- *
- */
- @Override
- public PageInfo<HashMap<String, Object>> getPartyDuesList(int page, int rows, String partyCode, Integer year, String userName, Integer zzfbType, Integer isStudent) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> dataList = publicityCQuery.selectPartyDuesList(partyCode, year, userName, zzfbType, isStudent);
- PageInfo<HashMap<String, Object>> result = new PageInfo(dataList);
- List<String> partyDuesIdList = dataList.stream().filter(it -> it.get("PARTYDUESID") != null).map(it -> it.get("PARTYDUESID").toString()).collect(Collectors.toList());
- List<HashMap<String, Object>> detailList = new ArrayList<>();
- if (partyDuesIdList.size() > 0) {
- detailList = publicityCQuery.selectPartyDuesDetailList(year, null, null, null, partyDuesIdList);
- }
- for (HashMap<String, Object> item : dataList) {
- /**查询缴费**/
- List<HashMap<String, Object>> dList = detailList.stream().filter(d -> d.get("PARTYDUESID").equals(item.get("PARTYDUESID"))).collect(Collectors.toList());
- for (int i = 1; i <= 12; i++) {
- String key = Integer.toString(i);
- String money = "";
- String keyName = "";
- switch (i) {
- case 1:
- keyName = "Jan";
- break;
- case 2:
- keyName = "Feb";
- break;
- case 3:
- keyName = "Mar";
- break;
- case 4:
- keyName = "Apr";
- break;
- case 5:
- keyName = "May";
- break;
- case 6:
- keyName = "Jun";
- break;
- case 7:
- keyName = "Jul";
- break;
- case 8:
- keyName = "Aug";
- break;
- case 9:
- keyName = "Sept";
- break;
- case 10:
- keyName = "Oct";
- break;
- case 11:
- keyName = "Nov";
- break;
- case 12:
- keyName = "Dec";
- break;
- default:
- break;
- }
- List<HashMap<String, Object>> detail = dList.stream().filter(d -> d.get("MONTH").toString().equals(key)
- && item.get("yearMonth").toString().indexOf(year.toString() + String.format("%02d", Integer.parseInt(d.get("MONTH").toString()))) >= 0).collect(Collectors.toList());
- if (detail.size() > 0) {
- if (detail.get(0).get("MONEY") == null) {
- money = "";
- } else {
- money = new BigDecimal(detail.get(0).get("MONEY").toString()).stripTrailingZeros().toPlainString();
- }
- }
- item.put(keyName, money);
- }
- }
- return result;
- }
- /*@Override
- public List<HashMap<String, Object>> getPartyDuesTotal(String partyCode, Integer year, String userName, Integer zzfbType) {
- List<HashMap<String, Object>> dataList = publicityCQuery.selectPartyDuesTotal(partyCode, year, userName, zzfbType);
- return dataList;
- }*/
- /*@Override
- public BigDecimal getPartyDuesTotalMoney(String partyCode, Integer year, String userName, Integer zzfbType) {
- return publicityCQuery.selectPartyDuesTotalMoney(partyCode, year, userName, zzfbType);
- }*/
- /**
- * @param year
- * @param partyCode
- * @param month
- * @param partyDuesId
- * @return
- */
- @Override
- public List<HashMap<String, Object>> getPartyDuesDetailList(Integer year, String partyCode, Integer month, String partyDuesId) {
- return publicityCQuery.selectPartyDuesDetailList(year, partyCode, month, partyDuesId, null);
- }
- /**
- * @param partyCode
- * @param year
- * @return
- */
- @Override
- public List<HashMap<String, Object>> getPartyDuesUserList(String partyCode, Integer year) {
- return publicityCQuery.selectPartyDuesUserList(partyCode, year);
- }
- /**
- * @param userId
- * @param year
- * @return
- */
- @Override
- public UsPartydues getPartyduesByUserId(String userId, int year) {
- UsPartydues model = new UsPartydues();
- UsPartyduesExample exp = new UsPartyduesExample();
- UsPartyduesExample.Criteria cri = exp.or();
- cri.andUsercodeEqualTo(userId);
- cri.andYearEqualTo(year);
- List<UsPartydues> list = usPartyduesMapper.selectByExample(exp);
- if (list.size() > 0) {
- model = list.get(0);
- }
- return model;
- }
- /**
- * 初始化党员缴费基数(学生党员默认为0.2,一般不会去设置,需系统自动初始化,逻辑为:用户登录时进行检测,若未配置,则由系统初始化)
- *
- * @param userId
- * @param year
- * @param createUserId
- * @return
- */
- @Override
- public UsPartydues defaultPartyduesByUserId(String userId, int year, String createUserId) {
- PartyUserInfoVo userInfoVo = partyUserService.getUserInfo(userId);
- if (!(userInfoVo.getRyzt().equals("2") || userInfoVo.getRyzt().equals("3")))
- return null;
- UsPartydues uModel = getPartyduesByUserId(userId, year);
- if (uModel == null || (uModel != null && stringUtils.IsNullOrEmpty(uModel.getPartyduesid()))) {
- uModel = new UsPartydues();
- uModel.setPartyduesid(UUID.randomUUID().toString());
- uModel.setYear(year);
- uModel.setUsercode(userId);
- uModel.setUsername(userInfoVo.getXm());
- uModel.setPartycode(userInfoVo.getSzdzbdm());
- uModel.setPartyname(userInfoVo.getDzzmc());
- uModel.setCreateuserid(createUserId);
- uModel.setCreatetime(new Date());
- if (userInfoVo.getIsStudent() != null && userInfoVo.getIsStudent() == true)
- uModel.setMoney(new BigDecimal(0.2));
- uModel.setOperatetime(new Date());
- uModel.setOperatestate("A");
- uModel.setSyncstate("N");
- /*usPartyduesMapper.insert(uModel);*/
- }
- //添加明细
- /*for (int i = 1; i <= 12; i++) {
- UsPartyduesDetail detail = getPartyduesDetailByUserId(uModel.getPartyduesid(), i);
- if (detail == null || (detail != null && stringUtils.IsNullOrEmpty(detail.getDetailid()))) {
- detail = new UsPartyduesDetail();
- detail.setDetailid(UUID.randomUUID().toString());
- detail.setPartyduesid(uModel.getPartyduesid());
- detail.setCreatetime(new Date());
- detail.setCreateuserid(createUserId);
- detail.setMoney(uModel.getMoney());
- detail.setMonth(i);
- detail.setOperatetime(new Date());
- detail.setOperatestate("A");
- detail.setSyncstate("N");
- *//*detail.setPaystate(0);//未缴费*//*
- usPartyduesDetailMapper.insert(detail);
- }
- }*/
- return uModel;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public UsPartydues getPartyduesById(String id) {
- return usPartyduesMapper.selectByPrimaryKey(id);
- }
- @Override
- public Integer updatePartyduesPayState(String detailId, String outTradeNo, String userId) throws Exception {
- Integer result = 0;
- if (stringUtils.IsNullOrEmpty(detailId) && !stringUtils.IsNullOrEmpty(outTradeNo)) {
- CfPayorder cfPayorder = payOrderService.getPayorderByNo(outTradeNo);
- detailId = cfPayorder != null ? cfPayorder.getPayRelId() : null;
- }
- if (stringUtils.IsNullOrEmpty(detailId))
- throw new Exception("未查询到当月党费");
- UsPartyduesDetail detail = usPartyduesDetailMapper.selectByPrimaryKey(detailId);
- UsPartydues usPartydues = usPartyduesMapper.selectByPrimaryKey(detail.getPartyduesid());
- //PartyUserInfoVo userInfoVo = partyUserService.getUserInfo(usPartydues.getUsercode());
- if (detail == null)
- throw new Exception("未查询到当月党费");
- if (detail.getPaystate() == null || detail.getPaystate().equals(0)) {
- if (detail.getPaystate() == null)
- detail.setPaystate(0);//待缴费
- detail.setUpdatetime(new Date());
- detail.setUpdateuserid(userId);
- /*if (userInfoVo != null)
- detail.setPartycode(userInfoVo.getSzdzbdm());*/
- result = usPartyduesDetailMapper.updateByPrimaryKey(detail);
- syncPartyDuesWxPayState(detailId);
- } else {
- throw new Exception("当前月党费已缴");
- }
- return result;
- }
- /**
- * @param year
- * @param userCode
- * @return
- */
- @Override
- public List<HashMap<String, Object>> getPartyDuesUserMonthList(Integer year, String userCode) {
- return publicityCQuery.selectPartyDuesUserMonthList(year, userCode);
- }
- /**
- * @param partyduesId
- * @param month
- * @return
- */
- public UsPartyduesDetail getPartyduesDetailByUserId(String partyduesId, int month) {
- UsPartyduesDetail model = new UsPartyduesDetail();
- UsPartyduesDetailExample exp = new UsPartyduesDetailExample();
- UsPartyduesDetailExample.Criteria cri = exp.or();
- cri.andPartyduesidEqualTo(partyduesId);
- cri.andMonthEqualTo(month);
- List<UsPartyduesDetail> list = usPartyduesDetailMapper.selectByExample(exp);
- if (list.size() > 0) {
- model = list.get(0);
- }
- return model;
- }
- /**
- * 保存党员党费基数
- *
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savePartyDuesUser(UsPartydues model, String userId, String userName, List<UsPartyduesDetail> monthList) {
- int result = 0;
- String dzzdm = partyUserService.getUserDzzdm(model.getUsercode());
- UsPartydues dbModel = getPartyduesByUserId(model.getUsercode(), model.getYear());
- if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getPartyduesid()))) {
- dbModel = model;
- dbModel.setCreatetime(new Date());
- dbModel.setCreateuserid(userId);
- dbModel.setCreateusername(userName);
- //同步数据
- dbModel.setOperatestate("A");
- dbModel.setOperatetime(new Date());
- dbModel.setSyncstate("N");
- result = usPartyduesMapper.insert(dbModel);
- } else {
- dbModel.setMoney(model.getMoney());
- dbModel.setBasenumber(model.getBasenumber());
- dbModel.setUpdateuserid(userId);
- dbModel.setUpdateusername(userName);
- dbModel.setUpdatetime(new Date());
- dbModel.setOperatetime(new Date());
- dbModel.setOperatestate("M");
- dbModel.setSyncstate("N");
- result += usPartyduesMapper.updateByPrimaryKey(dbModel);
- }
- /*this.batchInsertPartyDuesDetail(dbModel.getYear(), Arrays.asList(dbModel.getUsercode()));*/
- for (UsPartyduesDetail item : monthList) {
- UsPartyduesDetail mModel = getPartyduesDetailByUserId(dbModel.getPartyduesid(), item.getMonth());
- if (mModel == null || (mModel != null && stringUtils.IsNullOrEmpty(mModel.getDetailid()))) {
- item.setDetailid(UUID.randomUUID().toString());
- item.setPartyduesid(dbModel.getPartyduesid());
- item.setPartycode(dzzdm);
- item.setCreateuserid(userId);
- item.setCreateusername(userName);
- item.setCreatetime(new Date());
- //同步数据
- item.setOperatetime(new Date());
- item.setOperatestate("A");
- item.setSyncstate("N");
- usPartyduesDetailMapper.insert(item);
- } else {
- mModel.setMoney(item.getMoney());
- mModel.setSpecialexpenses(item.getSpecialexpenses());
- mModel.setRemarks(item.getRemarks());
- mModel.setUpdateuserid(userId);
- mModel.setUpdateusername(userName);
- mModel.setUpdatetime(new Date());
- mModel.setOperatetime(new Date());
- mModel.setOperatestate("M");
- mModel.setSyncstate("N");
- mModel.setPaystate(item.getPaystate());
- usPartyduesDetailMapper.updateByPrimaryKey(mModel);
- }
- }
- return result;
- }
- /**
- * 批量保存党费基数
- *
- * @param userList
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savePartyDues(List<UsPartydues> userList, String userId, String userName) {
- int result = 0;
- List<String> userCodes = userList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getUsercode())).map(it -> it.getUsercode().trim()).collect(Collectors.toList());
- List<ZzRyjbxx> partyUserList = partyUserService.getZzRyjbxxList(userCodes);
- for (UsPartydues item : userList) {
- ZzRyjbxx zzRyjbxx = partyUserList.stream().filter(it -> it.getRybm().equals(item.getUsercode())).findFirst().orElse(null);
- if (stringUtils.IsNullOrEmpty(item.getPartycode()) && zzRyjbxx != null)
- item.setPartycode(zzRyjbxx.getSzdzbdm());
- UsPartydues uModel = getPartyduesByUserId(item.getUsercode(), item.getYear());
- if (uModel == null || (uModel != null && stringUtils.IsNullOrEmpty(uModel.getPartyduesid()))) {
- item.setPartyduesid(UUID.randomUUID().toString());
- item.setCreateuserid(userId);
- item.setCreateusername(userName);
- item.setCreatetime(new Date());
- //同步数据
- item.setOperatetime(new Date());
- item.setOperatestate("A");
- item.setSyncstate("N");
- result += usPartyduesMapper.insert(item);
- } else {
- uModel.setMoney(item.getMoney());
- uModel.setBasenumber(item.getBasenumber());
- uModel.setUpdateuserid(userId);
- uModel.setUpdateusername(userName);
- uModel.setUpdatetime(new Date());
- uModel.setOperatetime(new Date());
- uModel.setOperatestate("M");
- uModel.setSyncstate("N");
- result += usPartyduesMapper.updateByPrimaryKey(uModel);
- }
- }
- this.batchInsertPartyDuesDetail(userList.get(0).getYear(), userCodes);
- return result;
- }
- @Override
- public int deleteDuesById(String id,String userId) {
- UsPartyduesDetail detail = usPartyduesDetailMapper.selectByPrimaryKey(id);
- detail.setMoney(null);
- detail.setPaystate(0);
- detail.setUpdatetime(new Date());
- detail.setUpdateuserid(userId);
- return usPartyduesDetailMapper.updateByPrimaryKey(detail);
- }
- /**
- * @param page
- * @param rows
- * @param year
- * @param month
- * @param partyCode
- * @param userIdList
- * @param removeUserList
- * @param userName
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getPartyDuesUserListOfAddfee(int page, int rows, Integer year, Integer month, String partyCode, String userName) {
- Integer yearMonth = Integer.parseInt(year + String.format("%02d", month));
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectPartyDuesUserListOfAddfee(year, month, partyCode, userName, yearMonth);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param userList
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savePartyDuesMulti(List<UsPartyduesDetail> userList, String userId, String userName) {
- int result = 0;
- for (UsPartyduesDetail item : userList) {
- UsPartyduesDetail mModel = getPartyduesDetailByUserId(item.getPartyduesid(), item.getMonth());
- if (mModel == null || (mModel != null && stringUtils.IsNullOrEmpty(mModel.getDetailid()))) {
- item.setDetailid(UUID.randomUUID().toString());
- item.setCreateuserid(userId);
- item.setCreateusername(userName);
- item.setCreatetime(new Date());
- //同步数据
- item.setOperatetime(new Date());
- item.setOperatestate("A");
- item.setSyncstate("N");
- item.setPaystate(1);
- result += usPartyduesDetailMapper.insert(item);
- } else {
- mModel.setMoney(item.getMoney());
- mModel.setSpecialexpenses(item.getSpecialexpenses());
- mModel.setUpdateuserid(userId);
- mModel.setUpdateusername(userName);
- mModel.setUpdatetime(new Date());
- mModel.setOperatetime(new Date());
- mModel.setOperatestate("M");
- mModel.setSyncstate("N");
- mModel.setPaystate(1);
- result += usPartyduesDetailMapper.updateByPrimaryKey(mModel);
- }
- }
- return result;
- }
- /**
- * 统计党支部党费已缴情况
- **/
- @Override
- public PageInfo<HashMap<String, Object>> getDuesPayTotal(int page, int rows, String dzzdm, String ssdzzdm, Integer year, Integer month) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectDuesPayTotal(dzzdm, ssdzzdm, year, month);
- for (HashMap<String, Object> item : list) {
- if (item.get("DZZDM") != null) {
- String TOTALCOUNT = partyCQuery.selectPartyUserCount(item.get("DZZDM").toString());
- item.put("DYZS", !stringUtils.IsNullOrEmpty(TOTALCOUNT) ? TOTALCOUNT : 0);
- }
- }
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- @Override
- public PageInfo<HashMap<String, Object>> getUserDuesList(int page, int rows, String ssdzzdm, String xm, Integer year, Integer month) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectUserDuesList(ssdzzdm, xm, year, month);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- @Override
- public UsPartyduesDetail getUserduesDetailById(String detailId) {
- return usPartyduesDetailMapper.selectByPrimaryKey(detailId);
- }
- @Override
- public int savePartyduesDetail(UsPartyduesDetail model, String userId, String userName) {
- int result = 0;
- UsPartyduesDetail dbModel = getUserduesDetailById(model.getDetailid());
- if (dbModel == null || (model != null && stringUtils.IsNullOrEmpty(model.getDetailid()))) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usPartyduesDetailMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usPartyduesDetailMapper.updateByPrimaryKey(model);
- }
- return result;
- }
- public PageInfo<HashMap<String, Object>> getSettingDuesUserList(int page, int rows, Integer year, String dzzdm
- , String rybm, String xm, String szdzb, Integer isStudent) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectSettingDuesUserList(year, dzzdm, rybm, xm, szdzb, isStudent);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- @Override
- @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
- public List<ImportUserDuesVo> importSettingDues(List<ImportUserDuesVo> dataList, String userId, String userName) throws Exception {
- if (dataList.size() <= 0) {
- throw new Exception("请添加导入数据");
- }
- List<ImportUserDuesVo> errorList = new ArrayList<>();
- List<String> partyNames = dataList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getPartyName())).map(it -> it.getPartyName().trim()).collect(Collectors.toList());
- List<String> userAndPartyNames = dataList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getUserName()) && !stringUtils.IsNullOrEmpty(it.getPartyName())).map(it -> it.getUserName().trim().concat(it.getPartyName().trim())).collect(Collectors.toList());
- List<HashMap<String, Object>> users = partyUserCquery.selectUserListByName(userAndPartyNames);
- List<ZzZzqkxx> zzZzqkxxList = partyUserService.getZzZzqkxxByNameList(partyNames);
- List<UsPartydues> resultList = new ArrayList<>();
- for (int i = 0; i < dataList.size(); i++) {
- ImportUserDuesVo item = dataList.get(i);
- HashMap<String, Object> userInfo = users.stream().filter(it -> it.get("XM").toString().equals(item.getUserName().trim()) && it.get("DZZMC").toString().equals(item.getPartyName().trim())).findFirst().orElse(null);
- ZzZzqkxx zzZzqkxx = zzZzqkxxList.stream().filter(it -> it.getDzzmc().equals(item.getPartyName())).findFirst().orElse(null);
- String errorInfo = "";
- BigDecimal money = new BigDecimal(0);
- Integer year = null;
- if (stringUtils.IsNullOrEmpty(item.getUserName()))
- errorInfo += "请填写党员姓名!";
- if (stringUtils.IsNullOrEmpty(item.getPartyName()))
- errorInfo += "请填写所在党组织!";
- if (stringUtils.IsNullOrEmpty(item.getYear()))
- errorInfo += "请填写年度!";
- if (stringUtils.IsNullOrEmpty(item.getMoney()))
- errorInfo += "请填写交纳金额!";
- if (!stringUtils.IsNullOrEmpty(item.getYear())) {
- try {
- year = Integer.parseInt(item.getYear());
- } catch (Exception ex) {
- errorInfo += "年度格式错误!";
- }
- }
- if (!stringUtils.IsNullOrEmpty(item.getMoney())) {
- try {
- money = new BigDecimal(item.getMoney());
- } catch (Exception ex) {
- errorInfo += "交纳金额格式错误!";
- }
- }
- if (userInfo == null)
- errorInfo += "党员信息匹配失败!请核对姓名和所在党组织是否正确!";
- if (stringUtils.IsNullOrEmpty(errorInfo)) {
- UsPartydues usPartydues = new UsPartydues();
- usPartydues.setUsername(userInfo.get("XM").toString());
- usPartydues.setUsercode(userInfo.get("RYBM").toString());
- usPartydues.setPartycode(zzZzqkxx.getDzzdm());
- usPartydues.setPartyname(zzZzqkxx.getDzzmc());
- usPartydues.setMoney(userInfo.get("ISSTUDENT") != null && userInfo.get("ISSTUDENT").toString().equals("true") ? new BigDecimal(0.2) : money);
- usPartydues.setYear(year);
- resultList.add(usPartydues);
- } else {
- item.setErrorInfo("第" + (i + 1) + "行," + errorInfo);
- errorList.add(item);
- }
- }
- if (errorList.size() <= 0) {
- resultList.forEach(item -> {
- UsPartydues dbModel = getPartyduesByUserId(item.getUsercode(), item.getYear());
- if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getPartyduesid()))) {
- dbModel = item;
- dbModel.setPartyduesid(UUID.randomUUID().toString());
- dbModel.setCreatetime(new Date());
- dbModel.setCreateuserid(userId);
- dbModel.setCreateusername(userName);
- //同步数据
- dbModel.setOperatestate("A");
- dbModel.setOperatetime(new Date());
- dbModel.setSyncstate("N");
- usPartyduesMapper.insert(dbModel);
- } else {
- dbModel.setMoney(item.getMoney());
- dbModel.setUpdateuserid(userId);
- dbModel.setUpdateusername(userName);
- dbModel.setUpdatetime(new Date());
- dbModel.setOperatetime(new Date());
- dbModel.setOperatestate("M");
- dbModel.setSyncstate("N");
- usPartyduesMapper.updateByPrimaryKey(dbModel);
- }
- this.batchInsertPartyDuesDetail(item.getYear(), Arrays.asList(item.getUsercode()));
- });
- }
- return errorList;
- }
- //endregion
- // region 领导人员5+3管理
- /**
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getPartyOutlayList(int page, int rows, String partyCode, String beginTime,
- String endTime, Integer zzfbType, Integer paytype, String dzzmc) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectPartyOutlayList(partyCode, beginTime, endTime, zzfbType, paytype, dzzmc);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public UsPartyoutlay getPartyOutlayById(String id) {
- return usPartyoutlayMapper.selectByPrimaryKey(id);
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int savePartyOutlay(UsPartyoutlay model, String userId, String userName) {
- int result = 0;
- UsPartyoutlay dbModel = getPartyOutlayById(model.getPartyoutlayid());
- if (dbModel == null || (model != null && stringUtils.IsNullOrEmpty(model.getPartyoutlayid()))) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usPartyoutlayMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = usPartyoutlayMapper.updateByPrimaryKey(model);
- }
- return result;
- }
- /**
- * @param id
- * @return
- */
- @Override
- public int deletePartyOutlayById(String id) {
- return usPartyoutlayMapper.deleteByPrimaryKey(id);
- }
- //endregion
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param year
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getpublicityPositionSummary(int page, int rows, String partyCode, Integer year) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectpublicityPositionSummary(partyCode, year);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- /**
- * @param dzzdm
- * @param year
- * @return
- */
- @Override
- public DjFundsincome getFundsIncome(String dzzdm, Integer year) {
- DjFundsincomeExample example = new DjFundsincomeExample();
- example.or().andPartycodeEqualTo(dzzdm).andYearEqualTo(year);
- List<DjFundsincome> list = fundsincomeMapper.selectByExample(example);
- if (list.size() > 0) {
- return list.get(0);
- }
- return null;
- }
- /**
- * @param model
- * @param userId
- * @param userName
- * @return
- */
- @Override
- public int saveFundsIncome(DjFundsincome model, String userId, String userName) {
- int result = 0;
- DjFundsincome dbModel = fundsincomeMapper.selectByPrimaryKey(model.getFundsbudgetid());
- if (dbModel == null) {
- model.setCreatetime(new Date());
- model.setCreateuserid(userId);
- model.setCreateusername(userName);
- model.setOperatestate("A");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = fundsincomeMapper.insert(model);
- } else {
- model.setUpdatetime(new Date());
- model.setUpdateuserid(userId);
- model.setUpdateusername(userName);
- model.setOperatestate("M");
- model.setOperatetime(new Date());
- model.setSyncstate("N");
- result = fundsincomeMapper.updateByPrimaryKey(model);
- }
- return result;
- }
- /**
- * @param page
- * @param rows
- * @param partyCode
- * @param year
- * @return
- */
- @Override
- public PageInfo<HashMap<String, Object>> getFundsIncomeSummary(int page, int rows, String partyCode, Integer year) {
- PageHelper.startPage(page, rows);
- List<HashMap<String, Object>> list = publicityCQuery.selectFundsIncomeSummary(partyCode, year);
- PageInfo<HashMap<String, Object>> result = new PageInfo(list);
- return result;
- }
- public BigDecimal getPartyDuesAmount(String detailId) {
- UsPartyduesDetail detail = usPartyduesDetailMapper.selectByPrimaryKey(detailId);
- UsPartydues usPartydues = usPartyduesMapper.selectByPrimaryKey(detail.getPartyduesid());
- return usPartydues.getMoney();
- }
- @Override
- public void syncPartyDuesWxPayState(String detailId) {
- UsPartyduesDetailExample exp = new UsPartyduesDetailExample();
- UsPartyduesDetailExample.Criteria cri = exp.or();
- cri.andPaystateEqualTo(0);
- if (!stringUtils.IsNullOrEmpty(detailId)) {
- cri.andDetailidEqualTo(detailId);
- }
- List<UsPartyduesDetail> detailList = usPartyduesDetailMapper.selectByExample(exp);
- detailList.forEach(it -> {
- CfPayorder cfPayorder = payOrderService.getSuccessPayOrderByRefId(it.getDetailid());
- if (cfPayorder != null) {
- it.setMoney(cfPayorder.getPayAmount());
- it.setPaystate(1);
- it.setUpdatetime(new Date());
- usPartyduesDetailMapper.updateByPrimaryKey(it);
- }
- });
- }
- @Override
- public PageInfo<PartyDuesPayVo> getPartyDuesPayList(int page, int rows, String partyCode, String userName, Integer payState, Date startDate, Date endDate, Integer year, Integer month) {
- List<CfDictionary> dic_wxPayState = dictionaryService.getDictionaryListByDicTypeKey("wxPayState");
- PageHelper.startPage(page, rows);
- List<PartyDuesPayVo> list = publicityCQuery.selectPartyDuesPayList(partyCode, userName, payState, startDate, endDate, year, month);
- for (PartyDuesPayVo item : list) {
- item.payStateName = item.getPayState() == null ? "" : dictionaryService.getDicByKey(item.getPayState(), dic_wxPayState).getDicvalue();
- }
- PageInfo<PartyDuesPayVo> result = new PageInfo(list);
- return result;
- }
- @Override
- public Integer batchInsertPartyDues(Integer year, List<String> userCodeList) {
- Integer yearMonth = Integer.parseInt(year.toString() + String.format("%02d", 12));
- return publicityCQuery.batchInsertPartyDues(year, yearMonth, userCodeList);
- }
- @Override
- public Integer batchInsertPartyDuesDetail(Integer year, List<String> userCodeList) {
- return publicityCQuery.batchInsertPartyDuesDetail(year, userCodeList);
- }
- }
|