37df844a46e9285f9449c4d76e8d2f9ffde3c72a.svn-base 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package cn.com.goldenwater.dcproj.service.impl.tac;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.TacObjSubjectDao;
  4. import cn.com.goldenwater.dcproj.dao.TacPawpUnitSctnDao;
  5. import cn.com.goldenwater.dcproj.model.TacObjSubject;
  6. import cn.com.goldenwater.dcproj.model.TacPawpUnitSctn;
  7. import cn.com.goldenwater.dcproj.param.TacPawpUnitSctnParam;
  8. import cn.com.goldenwater.dcproj.service.TacPawpUnitSctnService;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.io.BufferedReader;
  14. import java.io.Reader;
  15. import java.sql.Clob;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * @author lune
  21. * @date 2019-6-27
  22. */
  23. @Service
  24. @Transactional
  25. public class TacPawpUnitSctnServiceImpl extends AbstractCrudService<TacPawpUnitSctn, TacPawpUnitSctnParam> implements TacPawpUnitSctnService {
  26. @Autowired
  27. private TacPawpUnitSctnDao tacPawpUnitSctnDao;
  28. @Autowired
  29. private TacObjSubjectDao tacObjSubjectDao;
  30. public TacPawpUnitSctnServiceImpl(TacPawpUnitSctnDao tacPawpUnitSctnDao) {
  31. super(tacPawpUnitSctnDao);
  32. this.tacPawpUnitSctnDao = tacPawpUnitSctnDao;
  33. }
  34. @Override
  35. public List<TacPawpUnitSctn> findList(TacPawpUnitSctnParam tacPawpUnitSctnParam) {
  36. /**
  37. * 根据单位性质查询对应单位 如果获取不到返回空 如果类型是 101 其他的情况返回空
  38. * 50或者92(供应商) 则返回 92,100
  39. */
  40. String sysType = tacPawpUnitSctnParam.getSysType();
  41. TacObjSubject tacObjSubject = tacObjSubjectDao.get(sysType);
  42. if (tacObjSubject == null) {
  43. return null;
  44. }
  45. String type = tacObjSubject.getSysType();
  46. if ("101".equals(type)) {
  47. return null;
  48. } else {
  49. tacPawpUnitSctnParam.setSysType(type);
  50. }
  51. if ("50".equals(sysType) || "92".equals(sysType)) {
  52. tacPawpUnitSctnParam.setSysType("");
  53. tacPawpUnitSctnParam.setSysTypes("92,100");
  54. }
  55. List<TacPawpUnitSctn> list = tacPawpUnitSctnDao.findList(tacPawpUnitSctnParam);
  56. List<TacPawpUnitSctn> list1 = new ArrayList<>();
  57. for (TacPawpUnitSctn tac : list) {
  58. String sysNm = tac.getSysNm();
  59. if (StringUtils.isNotBlank(sysNm)) {
  60. tacPawpUnitSctnParam = new TacPawpUnitSctnParam();
  61. tacPawpUnitSctnParam.setSctnName(sysNm);
  62. tacPawpUnitSctnParam.setRgstrId(tac.getRgstrId());
  63. tacPawpUnitSctnParam.setSysType(tac.getSysType());
  64. int count = tacPawpUnitSctnDao.selectCount(tacPawpUnitSctnParam);
  65. Map<String, Object> map = tacPawpUnitSctnDao.getSctns(tacPawpUnitSctnParam);
  66. if (map != null) {
  67. if (map.get("SCTN_NAMES") != null) {
  68. String sctns = "";
  69. if (count > 1) {
  70. sctns = String.valueOf(map.get("SCTN_NAMES"));
  71. // sctns = ClobToString(clob);
  72. } else {
  73. sctns = String.valueOf(map.get("SCTN_NAMES"));
  74. }
  75. if (StringUtils.isNotBlank(sctns)) {
  76. tac.setSctnName(sctns);
  77. }
  78. }
  79. }
  80. }
  81. list1.add(tac);
  82. }
  83. return list1;
  84. }
  85. public String ClobToString(Clob clob) {
  86. String reString = "";
  87. try {
  88. Reader is = clob.getCharacterStream();// 得到流
  89. BufferedReader br = new BufferedReader(is);
  90. String s = br.readLine();
  91. StringBuffer sb = new StringBuffer();
  92. while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING
  93. sb.append(s);
  94. s = br.readLine();
  95. }
  96. reString = sb.toString();
  97. if (br != null) {
  98. br.close();
  99. }
  100. if (is != null) {
  101. is.close();
  102. }
  103. } catch (Exception e) {
  104. e.printStackTrace();
  105. } finally {
  106. return reString;
  107. }
  108. }
  109. }