SysCertificateServiceImpl.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. package com.zhongzheng.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import cn.hutool.http.HttpStatus;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  6. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  7. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  9. import com.zhongzheng.bo.SysCertificateBo;
  10. import com.zhongzheng.common.filter.CustomException;
  11. import com.zhongzheng.common.model.TableDataInfo;
  12. import com.zhongzheng.common.util.DateUtils;
  13. import com.zhongzheng.domian.SysCertificate;
  14. import com.zhongzheng.domian.SysCompany;
  15. import com.zhongzheng.domian.SysPerson;
  16. import com.zhongzheng.mapper.SysCertificateMapper;
  17. import com.zhongzheng.mapper.SysPersonMapper;
  18. import com.zhongzheng.service.ISysCertificateService;
  19. import com.zhongzheng.service.ISysCompanyService;
  20. import com.zhongzheng.service.ISysPersonService;
  21. import com.zhongzheng.vo.MajorVo;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.stereotype.Service;
  24. import java.util.List;
  25. import java.util.stream.Collectors;
  26. /**
  27. * 菜单 业务层处理
  28. *
  29. * @author zhongzheng
  30. */
  31. @Service
  32. public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper, SysCertificate> implements ISysCertificateService {
  33. public static final String PREMISSION_STRING = "perms[\"{0}\"]";
  34. @Autowired
  35. private SysPersonMapper personMapper;
  36. @Autowired
  37. private ISysCertificateService sysCertSeaService;
  38. @Autowired
  39. private ISysCompanyService sysCompanyService;
  40. @Autowired
  41. private ISysPersonService sysPersonService;
  42. @Autowired
  43. private SysCertificateMapper certMapper;
  44. public void checklegal(long personId,long userid)
  45. {
  46. SysPerson person = personMapper.selectById(personId);
  47. if (person == null) {
  48. throw new CustomException("员工不存在");
  49. }
  50. SysCompany company = sysCompanyService.getById(person.getCompanyId());
  51. if (company != null && company.getUserId() != userid) {
  52. throw new CustomException("非法操作");
  53. }
  54. }
  55. @Override
  56. public TableDataInfo<SysCertificate> selectCertificateList(SysCertificateBo entity) {
  57. if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
  58. entity.setPageSize(-1);
  59. entity.setPageNum(1);
  60. }
  61. TableDataInfo<SysCertificate> info = new TableDataInfo<>();
  62. LambdaQueryWrapper<SysCertificate> queryWrapper = new LambdaQueryWrapper<>();
  63. queryWrapper.eq(SysCertificate::getStatus, 1);
  64. if(StringUtils.isNotBlank(entity.getCompanyName())){
  65. SysCompany company = sysCompanyService.selectCompanyByName(entity.getCompanyName(),entity.getUserId());
  66. if(ObjectUtil.isEmpty(company)){
  67. return new TableDataInfo<>();
  68. }
  69. queryWrapper.eq(SysCertificate::getCompanyId, company.getCompanyId());
  70. }
  71. if(StringUtils.isNotBlank(entity.getPersonName())){
  72. List<SysCompany> c_list=sysCompanyService.selectCompanyByUserid(entity.getUserId());
  73. if(c_list.isEmpty()){
  74. return new TableDataInfo<>();
  75. }
  76. List<Long> companyIdList= c_list.stream().map(SysCompany::getCompanyId).collect(Collectors.toList());
  77. List<SysPerson> p_list= sysPersonService.selectPersonByName(entity.getPersonName(),companyIdList);
  78. if(p_list!=null&&p_list.size()==0){
  79. return new TableDataInfo<>();
  80. }
  81. List<Long> uids=p_list.stream().map(SysPerson::getPersonId).collect(Collectors.toList());
  82. queryWrapper.in(SysCertificate::getPersonId, uids);
  83. }
  84. if(entity.getBeginTime()!=null&&entity.getBeginTime()>0&&entity.getEndTime()!=null&&entity.getEndTime()<0){
  85. queryWrapper.between(SysCertificate::getExpiryDate,entity.getBeginTime(),entity.getEndTime());
  86. }
  87. Page<SysCertificate> page = page(new Page<>(entity.getPageNum(), entity.getPageSize()),queryWrapper );
  88. info.setRows(page.getRecords());
  89. info.setTotal(page.getTotal());
  90. info.setCode(HttpStatus.HTTP_OK);
  91. info.setMsg("查询成功");
  92. return info;
  93. }
  94. @Override
  95. public SysCertificate selectCertificateById(Integer id) {
  96. return null;
  97. }
  98. @Override
  99. public long insertCertificate(SysCertificateBo entity) {
  100. if(entity.getPersonId()==0&&entity.getPersonName().isEmpty()){
  101. throw new CustomException("参数未有企业员工信息");
  102. }
  103. if(entity.getCompanyId()==0&&entity.getCompanyName().isEmpty()){
  104. throw new CustomException("参数未有客户信息");
  105. }
  106. if(entity.getPersonId()==0&& !StringUtils.isNotBlank(entity.getPersonName())){
  107. SysPerson person=new SysPerson();
  108. person.setPersonName(entity.getPersonName());
  109. person.setCompanyId(entity.getCompanyId());
  110. person.setCreator(entity.getUserId());
  111. sysPersonService.getPersonByNameAndNoInert(person);
  112. entity.setPersonId(person.getPersonId());
  113. }
  114. int count = 0;
  115. int i_count=0;
  116. SysCertificate info = getOne(new LambdaUpdateWrapper<SysCertificate>().eq(SysCertificate::getPersonId,entity.getPersonId())
  117. .eq(SysCertificate::getStatus,1)
  118. .eq(SysCertificate::getCertificateTypeId,entity.getCertificateTypeId()));
  119. boolean ishascert=false;
  120. if(info!=null&&info.getCertificateId()>0){
  121. ishascert=true;
  122. }
  123. for (MajorVo element:entity.getMajorVoList())
  124. {
  125. i_count++;
  126. SysCertificate model = new SysCertificate();
  127. model.setCreator(entity.getUserId());
  128. model.setCompanyId(entity.getCompanyId());
  129. model.setPersonId(entity.getPersonId());
  130. model.setExpiryDate(entity.getExpiryDate());
  131. model.setCertificateNumber(entity.getCertificateNumber());
  132. model.setCertificateName(entity.getCertificateName());
  133. model.setTenantId(entity.getTenantId());
  134. model.setCreateTime(DateUtils.getNowTime());
  135. model.setStatus(1);
  136. model.setCertificateType(entity.getCertificateType());
  137. model.setCertificateTypeId(entity.getCertificateTypeId());
  138. model.setCertificateTypeId2(entity.getCertificateTypeId2());
  139. String majorName = element.getMajorName();
  140. Long majorId = element.getExpiryDate();
  141. if(i_count==1)
  142. {
  143. if(ishascert)
  144. {
  145. model.setIsPrimary(0);
  146. }else {
  147. model.setIsPrimary(1);
  148. }
  149. }else {
  150. model.setIsPrimary(0);
  151. }
  152. count=count+ certMapper.insert (model);
  153. }
  154. return count;
  155. }
  156. @Override
  157. public int updateCertificate(SysCertificateBo entity, long userid) {
  158. if(entity.getPersonId()==0&&entity.getPersonName().isEmpty()){
  159. throw new CustomException("参数未有企业员工信息");
  160. }
  161. if(entity.getCompanyId()==0&&entity.getCompanyName().isEmpty()){
  162. throw new CustomException("参数未有客户信息");
  163. }
  164. if(entity.getPersonId()==0&& !StringUtils.isNotBlank(entity.getPersonName())){
  165. SysPerson person=new SysPerson();
  166. person.setPersonName(entity.getPersonName());
  167. person.setCompanyId(entity.getCompanyId());
  168. person.setCreator(entity.getUserId());
  169. sysPersonService.getPersonByNameAndNoInert(person);
  170. entity.setPersonId(person.getPersonId());
  171. }
  172. int count = 0;
  173. int i_count=0;
  174. for (MajorVo element:entity.getMajorVoList())
  175. {
  176. i_count++;
  177. SysCertificate model = new SysCertificate();
  178. // model.setCertificateId(element.getCertificateId());
  179. model.setCreator(entity.getUserId());
  180. model.setCompanyId(entity.getCompanyId());
  181. model.setPersonId(entity.getPersonId());
  182. model.setExpiryDate(entity.getExpiryDate());
  183. model.setCertificateNumber(entity.getCertificateNumber());
  184. model.setCertificateName(entity.getCertificateName());
  185. model.setTenantId(entity.getTenantId());
  186. model.setCreateTime(DateUtils.getNowTime());
  187. model.setStatus(1);
  188. model.setCertificateType(entity.getCertificateType());
  189. model.setCertificateTypeId(entity.getCertificateTypeId());
  190. model.setCertificateTypeId2(entity.getCertificateTypeId2());
  191. String majorName = element.getMajorName();
  192. Long majorId = element.getExpiryDate();
  193. if(model.getCertificateId()>0) {
  194. count = count + certMapper.updateById(model);
  195. }else {
  196. model.setIsPrimary(0);
  197. count = count + certMapper.insert(model);
  198. }
  199. }
  200. return count;
  201. }
  202. @Override
  203. public boolean deleteCertificateById(Long id, long userid) {
  204. SysCertificate model = new SysCertificate();
  205. model.setCertificateId(id);
  206. model.setStatus(-1);
  207. model.setModifier(userid);
  208. model.setUpdateTime(DateUtils.getNowTime());
  209. return certMapper.updateById(model)>0;
  210. }
  211. }