5e90c3600262f52df897e9266e48d853b0e93d49.svn-base 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.BisInspQymtenEffcDao;
  5. import cn.com.goldenwater.dcproj.dto.AttStstnBaseDto;
  6. import cn.com.goldenwater.dcproj.model.AttStstnBase;
  7. import cn.com.goldenwater.dcproj.model.BisInspQymtenEffc;
  8. import cn.com.goldenwater.dcproj.param.AttStstnBaseParam;
  9. import cn.com.goldenwater.dcproj.param.BisInspQymtenEffcParam;
  10. import cn.com.goldenwater.dcproj.service.AttStstnBaseService;
  11. import cn.com.goldenwater.dcproj.service.BisInspQymtenEffcService;
  12. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  13. import cn.com.goldenwater.id.util.UuidUtil;
  14. import cn.com.goldenwater.target.CheckException;
  15. import com.github.pagehelper.PageHelper;
  16. import com.github.pagehelper.PageInfo;
  17. import org.apache.commons.lang3.StringUtils;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.transaction.annotation.Transactional;
  22. import java.util.Date;
  23. import java.util.List;
  24. /**
  25. * @author lhc
  26. * @date 2021-7-19
  27. */
  28. @Service
  29. @Transactional
  30. public class BisInspQymtenEffcServiceImpl extends AbstractCrudService<BisInspQymtenEffc, BisInspQymtenEffcParam> implements BisInspQymtenEffcService {
  31. @Autowired
  32. private BisInspQymtenEffcDao bisInspQymtenEffcDao;
  33. @Autowired
  34. private AttStstnBaseService attStstnBaseService;
  35. public BisInspQymtenEffcServiceImpl(BisInspQymtenEffcDao bisInspQymtenEffcDao) {
  36. super(bisInspQymtenEffcDao);
  37. this.bisInspQymtenEffcDao = bisInspQymtenEffcDao;
  38. }
  39. @Override
  40. public int insert(BisInspQymtenEffc bisInspQymtenEffc) {
  41. String uuid = UuidUtil.uuid(); // 生成uuid
  42. bisInspQymtenEffc.setId(uuid);
  43. bisInspQymtenEffc.setIntm(new Date());
  44. bisInspQymtenEffc.setUptm(new Date());
  45. bisInspQymtenEffc.setDataStat("0");
  46. // bisInspQymtenEffc.setScore(score(bisInspQymtenEffc));
  47. return this.bisInspQymtenEffcDao.insert(bisInspQymtenEffc);
  48. }
  49. @Override
  50. public int update(BisInspQymtenEffc bisInspQymtenEffc) {
  51. bisInspQymtenEffc.setUptm(new Date());
  52. int ret = this.bisInspQymtenEffcDao.update(bisInspQymtenEffc);
  53. updateBase(bisInspQymtenEffc);
  54. return ret;
  55. }
  56. /**
  57. * 更新基础表
  58. *
  59. * @param bisInspQymtenEffc
  60. */
  61. private void updateBase(BisInspQymtenEffc bisInspQymtenEffc) {
  62. if (StringUtils.isBlank(bisInspQymtenEffc.getUtId())){
  63. return;
  64. }
  65. String baseId = bisInspQymtenEffc.getUtId();
  66. AttStstnBase attStstnBase = new AttStstnBase();
  67. BeanUtils.copyProperties(bisInspQymtenEffc, attStstnBase);
  68. attStstnBase.setId(baseId);
  69. attStstnBaseService.update(attStstnBase);
  70. }
  71. @Override
  72. public int delete(String id) {
  73. return this.bisInspQymtenEffcDao.delete(id);
  74. }
  75. private double judge(Double value) {
  76. if (value == null) {
  77. return 0;
  78. }
  79. return value;
  80. }
  81. private Double score(BisInspQymtenEffc bisInspQymtenEffc) {
  82. double score = 100.0;
  83. score = score - judge(bisInspQymtenEffc.getQyBuldNum()) -
  84. judge(bisInspQymtenEffc.getQySendNum()) -
  85. judge(bisInspQymtenEffc.getQyDutyNum()) -
  86. judge(bisInspQymtenEffc.getQyChkNum()) -
  87. judge(bisInspQymtenEffc.getChkMendNum()) -
  88. judge(bisInspQymtenEffc.getQyDsgnNum()) -
  89. judge(bisInspQymtenEffc.getDsgnIdeaNum()) -
  90. judge(bisInspQymtenEffc.getSiteBuldNum()) -
  91. judge(bisInspQymtenEffc.getSiteDsgnNum()) -
  92. judge(bisInspQymtenEffc.getQyCbuldNum()) -
  93. judge(bisInspQymtenEffc.getSendNum()) -
  94. judge(bisInspQymtenEffc.getSprDutyNum()) -
  95. judge(bisInspQymtenEffc.getSprQyNum()) -
  96. judge(bisInspQymtenEffc.getEnsrSysNum()) -
  97. judge(bisInspQymtenEffc.getBuldQyNum()) -
  98. judge(bisInspQymtenEffc.getInvsNum()) -
  99. judge(bisInspQymtenEffc.getAccpNum()) -
  100. judge(bisInspQymtenEffc.getQySprNum()) -
  101. judge(bisInspQymtenEffc.getPrjtQyNum()) -
  102. judge(bisInspQymtenEffc.getBuldChkNum()) -
  103. judge(bisInspQymtenEffc.getSiteMgrNum()) -
  104. judge(bisInspQymtenEffc.getEntyQyNum()) -
  105. judge(bisInspQymtenEffc.getOtherNum());
  106. return score;
  107. }
  108. @Override
  109. public PageInfo notInsertList(AttStstnBaseParam attStstnBaseParam) {
  110. if (StringUtils.isNotBlank(attStstnBaseParam.getAdCode())) {
  111. attStstnBaseParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(attStstnBaseParam.getAdCode())
  112. .get(SplitValue.SUBAD)));
  113. }
  114. PageHelper.startPage(attStstnBaseParam);
  115. List<AttStstnBase> list = bisInspQymtenEffcDao.notInsertList(attStstnBaseParam);
  116. return new PageInfo<>(list);
  117. }
  118. @Override
  119. public void batchAdd(AttStstnBaseDto attStstnBaseDto) {
  120. if (StringUtils.isBlank(attStstnBaseDto.getRgstrId())) {
  121. throw new CheckException("缺少登记表Id");
  122. }
  123. List<AttStstnBase> ststnBaseList = attStstnBaseDto.getList();
  124. for (AttStstnBase attStstnBase : ststnBaseList) {
  125. BisInspQymtenEffcParam bisInspQymtenEffcParam = new BisInspQymtenEffcParam();
  126. bisInspQymtenEffcParam.setUtId(attStstnBase.getId());
  127. bisInspQymtenEffcParam.setRgstrId(attStstnBaseDto.getRgstrId());
  128. BisInspQymtenEffc Effc = bisInspQymtenEffcDao.getBy(bisInspQymtenEffcParam);
  129. if (Effc == null) {
  130. BisInspQymtenEffc bisInspQymtenEffc = new BisInspQymtenEffc();
  131. bisInspQymtenEffc.setRgstrId(attStstnBaseDto.getRgstrId());
  132. bisInspQymtenEffc.setUtId(attStstnBase.getId());
  133. bisInspQymtenEffc.setNm(attStstnBase.getNm());
  134. bisInspQymtenEffc.setAdCode(attStstnBase.getAdCode());
  135. bisInspQymtenEffc.setAdName(attStstnBase.getAdName());
  136. bisInspQymtenEffc.setLoc(attStstnBase.getLoc());
  137. bisInspQymtenEffc.setPrjcType(attStstnBase.getPrjcType());
  138. bisInspQymtenEffc.setCost(attStstnBase.getCost());
  139. bisInspQymtenEffc.setCostYear(attStstnBase.getCostYear());
  140. bisInspQymtenEffc.setMgr(attStstnBase.getMgr());
  141. bisInspQymtenEffc.setOwner(attStstnBase.getOwner());
  142. bisInspQymtenEffc.setQuality(attStstnBase.getQuality());
  143. bisInspQymtenEffc.setDesign(attStstnBase.getDesign());
  144. bisInspQymtenEffc.setSupervisor(attStstnBase.getSupervisor());
  145. bisInspQymtenEffc.setBuild(attStstnBase.getBuild());
  146. bisInspQymtenEffc.setPrjcPers(attStstnBase.getPrjcPers());
  147. bisInspQymtenEffc.setPrjcPresTel(attStstnBase.getPrjcPresTel());
  148. bisInspQymtenEffc.setPersId(attStstnBaseDto.getPersId());
  149. insert(bisInspQymtenEffc);
  150. }
  151. }
  152. }
  153. }