123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package com.hz.employmentsite.services.impl.baseSettings;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.hz.employmentsite.filter.exception.BaseException;
- import com.hz.employmentsite.mapper.PcInstitutionMapper;
- import com.hz.employmentsite.mapper.PcSiteInstitutionMapper;
- import com.hz.employmentsite.mapper.cquery.InstitutionCQuery;
- import com.hz.employmentsite.mapper.cquery.SiteInstitutionCQuery;
- import com.hz.employmentsite.model.*;
- import com.hz.employmentsite.services.service.baseSettings.InstitutionService;
- import com.hz.employmentsite.util.StringUtils;
- import com.hz.employmentsite.vo.baseSettings.InstitutionVo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.UUID;
- @Service("InstitutionService")
- public class InstitutionImpl implements InstitutionService {
- @Autowired
- private StringUtils stringUtils;
- @Autowired
- private PcInstitutionMapper pcInstitutionMapper;
- @Autowired
- private PcSiteInstitutionMapper pcSiteInstitutionMapper;
- @Autowired
- private InstitutionCQuery institutionCQuery;
- @Autowired
- private SiteInstitutionCQuery siteInstitutionCQuery;
- @Override
- public PageInfo<InstitutionVo> getList(int pageIndex, int pageSize, List<String> institutionIDList, String companyName, String companyAddress, String dutyUserName) {
- PageHelper.startPage(pageIndex, pageSize);
- List<InstitutionVo> dataList = institutionCQuery.getList(stringUtils.ListToInSql(institutionIDList),companyName,companyAddress,dutyUserName);
- PageInfo<InstitutionVo> result = new PageInfo(dataList);
- return result;
- }
- @Override
- public InstitutionVo get(String institutionID) {
- List<String> ids = new ArrayList<>();
- if (stringUtils.IsNullOrEmpty(institutionID)) {
- return null;
- }else{
- ids.add(institutionID);
- }
- InstitutionVo model = institutionCQuery.getList(stringUtils.ListToInSql(ids),null,null ,null).stream().findFirst().orElse(null);
- return model;
- }
- @Override
- public List<SelectProps> getDataList() {
- var dataList = getList(1,99999,null,null,null,null).getList();
- List<SelectProps> dataResult = new ArrayList<>();
- for (var item: dataList) {
- SelectProps itemResult = new SelectProps();
- itemResult.setText(item.companyName);
- itemResult.setValue(item.institutionID);
- dataResult.add(itemResult);
- }
- return dataResult;
- }
- @Override
- public Integer save(InstitutionVo data, String userId) {
- int result = 0;
- InstitutionVo record = get(data.institutionID);
- PcInstitution dbData = record ==null ? null : pcInstitutionMapper.selectByPrimaryKey(record.institutionID);
- Boolean isExist = dbData != null;
- if (!isExist) {
- //添加
- dbData = new PcInstitution();
- dbData.setInstitutionID(data.getInstitutionID());
- dbData.setCompanyCode(data.getCompanyCode());
- dbData.setCompanyName(data.getCompanyName());
- dbData.setCompanyAddress(data.getCompanyAddress());
- dbData.setFzrName(data.getFzrName());
- dbData.setFzrMobile(data.getFzrMobile());
- dbData.setFrName(data.getFrName());
- dbData.setFrMobile(data.getFrMobile());
- dbData.setCompanyDesc(data.getCompanyDesc());
- dbData.setRemark(data.getRemark());
- dbData.setCreateUserID(userId);
- dbData.setCreateTime(new Date());
- dbData.setSignInPoliticalArea(data.getSignInPoliticalArea());
- dbData.setValidDate(data.getValidDate());
- dbData.setEconomicTypeID(data.getEconomicTypeID());
- result = pcInstitutionMapper.insert(dbData);
- } else {
- //修改
- dbData.setCompanyCode(data.companyCode);
- dbData.setCompanyName(data.companyName);
- dbData.setCompanyAddress(data.companyAddress);
- dbData.setFzrName(data.fzrName);
- dbData.setFzrMobile(data.fzrMobile);
- dbData.setFrName(data.frName);
- dbData.setFrMobile(data.frMobile);
- dbData.setCompanyDesc(data.companyDesc);
- dbData.setRemark(data.remark);
- dbData.setModifyUserID(userId);
- dbData.setModifyTime(new Date());
- dbData.setSignInPoliticalArea(data.signInPoliticalArea);
- dbData.setValidDate(data.getValidDate());
- dbData.setEconomicTypeID(data.getEconomicTypeID());
- result = pcInstitutionMapper.updateByPrimaryKey(dbData);
- }
- /*先删除所有关联数据,再添加*/
- var allExistData = siteInstitutionCQuery.getListByInstitutionID(data.getInstitutionID());
- if (allExistData != null && allExistData.size() > 0){
- for(PcSiteInstitution curLinkData : allExistData) {
- var siteInstitutionID = curLinkData.getSiteInstitutionID();
- result += pcSiteInstitutionMapper.deleteByPrimaryKey(siteInstitutionID);
- }
- }
- if (data.manageSites.size()>0){
- var manageSites = data.manageSites.stream().toList();
- for (var curData: manageSites) {
- PcSiteInstitution curLinkData = new PcSiteInstitution();
- curLinkData.setSiteInstitutionID(UUID.randomUUID().toString());
- curLinkData.setSiteID(curData.siteID);
- curLinkData.setInstitutionID(data.institutionID);
- curLinkData.setCreateUserID(userId);
- curLinkData.setCreateTime(new Date());
- curLinkData.setModifyUserID(userId);
- curLinkData.setModifyTime(new Date());
- result += pcSiteInstitutionMapper.insert(curLinkData);
- }
- }
- return result;
- }
- @Override
- public Integer delete(List<String> idList){
- int result = 0;
- for (String curInstitutionID: idList) {
- PcSiteInstitutionExample siteInstitutionExp = new PcSiteInstitutionExample();
- siteInstitutionExp.or().andInstitutionIDEqualTo(curInstitutionID);
- var curInstitutionSiteList = pcSiteInstitutionMapper.selectByExample(siteInstitutionExp).stream().toList();
- if( curInstitutionSiteList != null && curInstitutionSiteList.size()>0){
- throw new BaseException("10004","所选机构已有关联站点信息,不允许删除!");
- }else{
- PcInstitutionExample contactExample = new PcInstitutionExample();
- contactExample.or().andInstitutionIDEqualTo(curInstitutionID);
- pcInstitutionMapper.deleteByExample(contactExample);
- result += pcInstitutionMapper.deleteByExample(contactExample);
- }
- }
- return result;
- }
- }
|