SubjectServiceImpl.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. package com.ydtech.modules.fnc.service.impl;
  2. import com.github.pagehelper.PageHelper;
  3. import com.ydtech.constants.SysConstants;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.core.page.PageResult;
  6. import com.ydtech.modules.fnc.dao.FncSubjectMapper;
  7. import com.ydtech.modules.fnc.model.FncSubject;
  8. import com.ydtech.modules.fnc.service.SubjectService;
  9. import com.ydtech.modules.fnc.vo.FncSubjectReq;
  10. import com.ydtech.security.utils.PubUserInfo;
  11. import com.ydtech.utils.StringUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import javax.servlet.http.HttpServletRequest;
  15. import java.util.Date;
  16. import java.util.List;
  17. /**
  18. * @Author: zy
  19. * @create: 2021/12/22
  20. * description:
  21. */
  22. @Service
  23. public class SubjectServiceImpl implements SubjectService {
  24. @Autowired
  25. private FncSubjectMapper fncSubjectMapper;
  26. /**
  27. * 新增科目表信息
  28. *
  29. * @param subject
  30. * @param request
  31. * @return
  32. */
  33. @Override
  34. public HttpResult save(FncSubject subject, HttpServletRequest request) {
  35. String msg = "新增成功!!!";
  36. if (StringUtils.isNullOrEmpty(subject)) {
  37. return HttpResult.error("请求参数为空!");
  38. }
  39. if (StringUtils.isNullOrEmpty(subject.getFncYear())) {
  40. return HttpResult.error("会计年度不能为空!");
  41. }
  42. if (StringUtils.isNullOrEmpty(subject.getSbjtName())) {
  43. return HttpResult.error("科目名称不能为空!");
  44. }
  45. if (StringUtils.isNullOrEmpty(subject.getSbjtNo())) {
  46. return HttpResult.error("科目代码不能为空!");
  47. }
  48. if (null != fncSubjectMapper.selectBySbjtNo(subject.getSbjtNo())) {
  49. return HttpResult.error("科目代码已存在!");
  50. }
  51. if (null != fncSubjectMapper.selectBySbjtName(subject.getSbjtName())) {
  52. return HttpResult.error("科目名称已存在!");
  53. }
  54. if (StringUtils.isNullOrEmpty(subject.getStatus())) {
  55. subject.setStatus("1");
  56. }
  57. // 创建时间
  58. subject.setCreatetime(new Date());
  59. // 创建人
  60. subject.setCreateBy(new PubUserInfo().getUserName());
  61. // 所属商户
  62. subject.setShopId(new PubUserInfo().getDeptId());
  63. fncSubjectMapper.insert(subject);
  64. return HttpResult.ok(msg, subject.getSbjtNo());
  65. }
  66. /**
  67. * 编辑科目表信息
  68. *
  69. * @param subject
  70. * @param request
  71. * @return
  72. */
  73. @Override
  74. public HttpResult edit(FncSubject subject, HttpServletRequest request) {
  75. String msg = "修改成功!";
  76. if (StringUtils.isNullOrEmpty(subject)) {
  77. return HttpResult.error("请求参数为空!");
  78. }
  79. if (StringUtils.isNullOrEmpty(subject.getSbjtNo())) {
  80. return HttpResult.error("科目代码不能为空!");
  81. }
  82. if (StringUtils.isNullOrEmpty(subject.getFncYear())) {
  83. return HttpResult.error("会计年度不能为空!");
  84. }
  85. // 判断该条数据当前登录用户是否有权限修改
  86. String tokenDeptId = new PubUserInfo().getDeptId();
  87. if (!SysConstants.DEPT.equals(tokenDeptId)) {
  88. // 查询数据
  89. FncSubject fncSubject = fncSubjectMapper.selectBySbjtNo(subject.getSbjtNo());
  90. if (fncSubject == null) {
  91. msg = "无数据";
  92. } else {
  93. String shopId = fncSubject.getShopId();
  94. if (!shopId.startsWith(tokenDeptId)) {
  95. return HttpResult.error("权限不足,拒绝修改!");
  96. }
  97. }
  98. }
  99. if (0 != fncSubjectMapper.selectBySbjtNameIsExits(subject)) {
  100. return HttpResult.error("公司名称已存在!");
  101. }
  102. fncSubjectMapper.updateByPrimaryKeySelective(subject);
  103. return HttpResult.ok(msg);
  104. }
  105. /**
  106. * 删除科目表信息
  107. *
  108. * @param subject
  109. * @return
  110. */
  111. @Override
  112. public HttpResult delete(FncSubject subject) {
  113. return null;
  114. }
  115. /**
  116. * 查询全部科目表信息
  117. *
  118. * @param req
  119. * @param request
  120. * @return
  121. */
  122. @Override
  123. public HttpResult selectAll(FncSubjectReq req, HttpServletRequest request) {
  124. String msg = "查询成功!";
  125. if (StringUtils.isNullOrEmpty(req)) {
  126. return HttpResult.error("分页信息为空!");
  127. }
  128. // 判断是否有权限查询数据
  129. String tokenDeptId = new PubUserInfo().getDeptId();
  130. if (!SysConstants.DEPT.equals(tokenDeptId)) {
  131. String shopId = req.getShopId();
  132. if (StringUtils.isNullOrEmpty(shopId)) {
  133. req.setShopId(tokenDeptId);
  134. } else {
  135. if (!shopId.startsWith(tokenDeptId)) {
  136. req.setShopId(tokenDeptId); // 设置为token中的部门
  137. }
  138. }
  139. }
  140. // 分页查询
  141. PageHelper.startPage(req.getPageNum(), req.getPageSize());
  142. List<FncSubject> list = fncSubjectMapper.select(req);
  143. return HttpResult.ok(msg, new PageResult<>(list));
  144. }
  145. /**
  146. * 根据机构代码查询科目表信息
  147. *
  148. * @param subject
  149. * @param request
  150. * @return
  151. */
  152. @Override
  153. public HttpResult selectByCode(FncSubject subject, HttpServletRequest request) {
  154. String msg = "查询成功!";
  155. if (StringUtils.isNullOrEmpty(subject) || StringUtils.isNullOrEmpty(subject.getSbjtNo())) {
  156. return HttpResult.error("请求参数为空!");
  157. }
  158. // 查询数据
  159. FncSubject fncSubject = fncSubjectMapper.selectBySbjtNo(subject.getSbjtNo());
  160. if (fncSubject == null) {
  161. msg = "无数据";
  162. } else {
  163. // 判断该条数据当前登录用户是否有权限查看
  164. String tokenDeptId = new PubUserInfo().getDeptId();
  165. if (!SysConstants.DEPT.equals(tokenDeptId)) {
  166. String shopId = fncSubject.getShopId();
  167. if (!shopId.startsWith(tokenDeptId)) {
  168. return HttpResult.error("权限不足,拒绝访问!");
  169. }
  170. }
  171. }
  172. return HttpResult.ok(msg, fncSubject);
  173. }
  174. }