package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspStstnPbDao; import cn.com.goldenwater.dcproj.model.BisInspStstnPb; import cn.com.goldenwater.dcproj.param.BisInspStstnPbParam; import cn.com.goldenwater.dcproj.service.BisInspStstnPbService; import cn.com.goldenwater.dcproj.service.BisInspStstnService; import cn.com.goldenwater.id.util.UuidUtil; import cn.com.goldenwater.target.CheckException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @author lhc * @date 2023年6月12日 */ @Service @Transactional public class BisInspStstnPbServiceImpl extends AbstractCrudService implements BisInspStstnPbService { @Autowired private BisInspStstnPbDao bisInspStstnPbDao; @Autowired private BisInspStstnService bisInspStstnService; public BisInspStstnPbServiceImpl(BisInspStstnPbDao bisInspStstnPbDao) { super(bisInspStstnPbDao); this.bisInspStstnPbDao = bisInspStstnPbDao; } @Override public int insert(BisInspStstnPb bisInspStstnPb) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspStstnPb.setId(uuid); bisInspStstnPb.setIntm(new Date()); bisInspStstnPb.setUptm(new Date()); bisInspStstnPb.setDataStat("0"); total(bisInspStstnPb); addScore(bisInspStstnPb); int ret = this.bisInspStstnPbDao.insert(bisInspStstnPb); updateRgstrState(bisInspStstnPb); return ret ; } @Override public int update(BisInspStstnPb bisInspStstnPb) { BisInspStstnPb pb = get(bisInspStstnPb.getRgstrId()); if (null == pb) { throw new CheckException("未找到此登记表下的子表"); } bisInspStstnPb.setId(pb.getId()); bisInspStstnPb.setUptm(new Date()); bisInspStstnPbDao.update(bisInspStstnPb); BisInspStstnPb pb1 = get(bisInspStstnPb.getRgstrId()); pb1.setState(bisInspStstnPb.getState()); total(pb1); addScore(pb1); int ret = bisInspStstnPbDao.update(pb1); updateRgstrState(pb1); return ret; } @Override public int delete(String id) { return this.bisInspStstnPbDao.delete(id); } private void updateRgstrState(BisInspStstnPb bisInspStstnPb) { Map map = new HashMap<>(5); map.put("rgstrId", bisInspStstnPb.getRgstrId()); map.put("param", "pb"); map.put("state", bisInspStstnPb.getState()); map.put("caseScore", bisInspStstnPb.getActualScore()); map.put("total", bisInspStstnPb.getTotal()); bisInspStstnService.updateState(map); } private void addScore(BisInspStstnPb bisInspStstnPb) { double actualScore = 0.0; actualScore = // 组织建设 judge(bisInspStstnPb.getPartyBuild()) + // 党建联建 judge(bisInspStstnPb.getPartyBuildJoint()) + // 基本队伍 judge(bisInspStstnPb.getBasicTeam()) + // 基本活动 judge(bisInspStstnPb.getBasicActivity()) + // 基本作用 judge(bisInspStstnPb.getBasicFunc()) + // 基本保障 judge(bisInspStstnPb.getBasicGuarantee()) ; bisInspStstnPb.setActualScore(actualScore); } private double judge(Double value) { if (value == null) { return 0; } return value; } private void total(BisInspStstnPb bisInspStstnPb) { // 党建进工地 double total = 100.0; bisInspStstnPb.setTotal(total); } }