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> getPublicityList(int page, int rows, String partyCode, String positionName, List positionType, List positionLevel, String address, String beginTime, String endTime, List positionState, String headUserName, Integer zzfbType) { List dic_positionType = dictionaryService.getDictionaryListByDicTypeKey("positionType"); List dic_positionLevel = dictionaryService.getDictionaryListByDicTypeKey("psiLevel"); List dic_positionState = dictionaryService.getDictionaryListByDicTypeKey("positionState"); PageHelper.startPage(page, rows); List> list = publicityCQuery.selectPublicityList(partyCode, positionName, positionType, positionLevel, address, beginTime, endTime, positionState, headUserName, zzfbType); for (HashMap 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> 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> getPublicityPanelRecordList(int page, int rows, String publicityPositionId, String partyCode) { List dic_panelCycle = dictionaryService.getDictionaryListByDicTypeKey("panelCycle"); List dic_panelState = dictionaryService.getDictionaryListByDicTypeKey("panelState"); PageHelper.startPage(page, rows); List> list = publicityCQuery.selectPublicityPanelRecordList(publicityPositionId, partyCode); for (HashMap 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> 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> 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 dic_positionType = dictionaryService.getDictionaryListByDicTypeKey("positionType"); List dic_positionLevel = dictionaryService.getDictionaryListByDicTypeKey("positionLevel"); List dic_positionState = dictionaryService.getDictionaryListByDicTypeKey("positionState"); PageHelper.startPage(page, rows); List> list = publicityCQuery.selectPublicityPanelList(partyCode, positionName, positionType, positionLevel, address, beginTime, endTime, positionState, headUserName, panelState, isExpired, zzfbType, updateTime_bt, updateTime_et); for (HashMap 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> 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> 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 dic_thoughtType = dictionaryService.getDictionaryListByDicTypeKey("thoughtType"); List dic_questionType = dictionaryService.getDictionaryListByDicTypeKey("questionType"); List dic_handleType = dictionaryService.getDictionaryListByDicTypeKey("handleType"); List dic_destroyType = dictionaryService.getDictionaryListByDicTypeKey("destroyType"); List dic_handleState = dictionaryService.getDictionaryListByDicTypeKey("handleState"); PageHelper.startPage(page, rows); List> list = publicityCQuery.selectUserThoughtList(partyCode, thoughtType, questionType, userName, beginTime, endTime, handleType, destroyType, handleState, zzfbType); for (HashMap 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> 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> getUserThoughtTotalList(int page, int rows, String partyCode, Integer month, String writeUser, Integer zzfbType) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectUserThoughtTotalList(partyCode, month, writeUser, zzfbType); PageInfo> 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> getThoughtTotal(int page, int rows, String partyCode, Integer year, Integer month) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectThoughtTotal(partyCode, year, month); PageInfo> result = new PageInfo(list); return result; } /** * @param page * @param rows * @param partyCode * @param year * @return */ @Override public PageInfo> getThoughtSummary(int page, int rows, String partyCode, Integer year) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectThoughtSummary(partyCode, year); PageInfo> result = new PageInfo(list); return result; } //endregion // region 领导人员5+3管理 /** * 领导人员5+3管理 */ @Override public PageInfo> getUserLeaderList(int page, int rows, String partyCode, String userName, Integer leaderType, String beginTime, String endTime, Integer zzfbType, String rybm) { List dic_leaderType = dictionaryService.getDictionaryListByDicTypeKey("leaderType"); PageHelper.startPage(page, rows); List> list = publicityCQuery.selectUserLeaderList(partyCode, userName, leaderType, beginTime, endTime, zzfbType, rybm); for (HashMap item : list) { if (item.get("LEADERTYPE") != null) { item.put("LEADERTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("LEADERTYPE").toString()), dic_leaderType).getDicvalue()); } } PageInfo> 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 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 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> getUserleaderDetailList(String id) { return publicityCQuery.selectUserleaderDetailList(id); } /** * 统计领导人员5+3情况 */ @Override public PageInfo> getUserLeaderTotalList(int page, int rows, String partyCode, String userName, String beginTime, String endTime, Integer partyLength) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectUserLeaderTotalList(partyCode, userName, beginTime, endTime, partyLength); PageInfo> result = new PageInfo(list); return result; } @Override public List importUserLeader(List userList, String userId, String userName) throws Exception { List errorList = new ArrayList<>(); List usUserleaderList = new ArrayList<>(); ZzZzqkxx dwModel = null; //个人所属党委 HashMap 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 names = userList.stream().map(it -> it.getUserName().trim().concat(it.getPartyName().trim())).collect(Collectors.toList()); //List partys = userList.stream().map(it -> it.getPartyName().trim()).collect(Collectors.toList()); List> users = partyUserCquery.selectUserListByName(names); //ZzZzqkxxExample exp = new ZzZzqkxxExample(); //ZzZzqkxxExample.Criteria cri = exp.or().andDzzmcIn(partys); //List zzZzqkxxList = zzZzqkxxMapper.selectByExample(exp); List 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 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> 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> 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> getPartyDuesList(int page, int rows, String partyCode, Integer year, String userName, Integer zzfbType, Integer isStudent) { PageHelper.startPage(page, rows); List> dataList = publicityCQuery.selectPartyDuesList(partyCode, year, userName, zzfbType, isStudent); PageInfo> result = new PageInfo(dataList); List partyDuesIdList = dataList.stream().filter(it -> it.get("PARTYDUESID") != null).map(it -> it.get("PARTYDUESID").toString()).collect(Collectors.toList()); List> detailList = new ArrayList<>(); if (partyDuesIdList.size() > 0) { detailList = publicityCQuery.selectPartyDuesDetailList(year, null, null, null, partyDuesIdList); } for (HashMap item : dataList) { /**查询缴费**/ List> 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> 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> getPartyDuesTotal(String partyCode, Integer year, String userName, Integer zzfbType) { List> 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> 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> 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 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> 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 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 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 userList, String userId, String userName) { int result = 0; List userCodes = userList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getUsercode())).map(it -> it.getUsercode().trim()).collect(Collectors.toList()); List 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> 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> list = publicityCQuery.selectPartyDuesUserListOfAddfee(year, month, partyCode, userName, yearMonth); PageInfo> result = new PageInfo(list); return result; } /** * @param userList * @param userId * @param userName * @return */ @Override public int savePartyDuesMulti(List 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> getDuesPayTotal(int page, int rows, String dzzdm, String ssdzzdm, Integer year, Integer month) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectDuesPayTotal(dzzdm, ssdzzdm, year, month); for (HashMap item : list) { if (item.get("DZZDM") != null) { String TOTALCOUNT = partyCQuery.selectPartyUserCount(item.get("DZZDM").toString()); item.put("DYZS", !stringUtils.IsNullOrEmpty(TOTALCOUNT) ? TOTALCOUNT : 0); } } PageInfo> result = new PageInfo(list); return result; } @Override public PageInfo> getUserDuesList(int page, int rows, String ssdzzdm, String xm, Integer year, Integer month) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectUserDuesList(ssdzzdm, xm, year, month); PageInfo> 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> getSettingDuesUserList(int page, int rows, Integer year, String dzzdm , String rybm, String xm, String szdzb, Integer isStudent) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectSettingDuesUserList(year, dzzdm, rybm, xm, szdzb, isStudent); PageInfo> result = new PageInfo(list); return result; } @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public List importSettingDues(List dataList, String userId, String userName) throws Exception { if (dataList.size() <= 0) { throw new Exception("请添加导入数据"); } List errorList = new ArrayList<>(); List partyNames = dataList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getPartyName())).map(it -> it.getPartyName().trim()).collect(Collectors.toList()); List 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> users = partyUserCquery.selectUserListByName(userAndPartyNames); List zzZzqkxxList = partyUserService.getZzZzqkxxByNameList(partyNames); List resultList = new ArrayList<>(); for (int i = 0; i < dataList.size(); i++) { ImportUserDuesVo item = dataList.get(i); HashMap 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> getPartyOutlayList(int page, int rows, String partyCode, String beginTime, String endTime, Integer zzfbType, Integer paytype, String dzzmc) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectPartyOutlayList(partyCode, beginTime, endTime, zzfbType, paytype, dzzmc); PageInfo> 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> getpublicityPositionSummary(int page, int rows, String partyCode, Integer year) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectpublicityPositionSummary(partyCode, year); PageInfo> 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 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> getFundsIncomeSummary(int page, int rows, String partyCode, Integer year) { PageHelper.startPage(page, rows); List> list = publicityCQuery.selectFundsIncomeSummary(partyCode, year); PageInfo> 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 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 getPartyDuesPayList(int page, int rows, String partyCode, String userName, Integer payState, Date startDate, Date endDate, Integer year, Integer month) { List dic_wxPayState = dictionaryService.getDictionaryListByDicTypeKey("wxPayState"); PageHelper.startPage(page, rows); List 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 result = new PageInfo(list); return result; } @Override public Integer batchInsertPartyDues(Integer year, List userCodeList) { Integer yearMonth = Integer.parseInt(year.toString() + String.format("%02d", 12)); return publicityCQuery.batchInsertPartyDues(year, yearMonth, userCodeList); } @Override public Integer batchInsertPartyDuesDetail(Integer year, List userCodeList) { return publicityCQuery.batchInsertPartyDuesDetail(year, userCodeList); } }