package cn.com.goldenwater.dcproj.service.impl.fjpjcsu; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constants.FjConstants; import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuDao; import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuSafdlDao; import cn.com.goldenwater.dcproj.model.BisInspFjpjcsu; import cn.com.goldenwater.dcproj.model.BisInspFjpjcsuSafdl; import cn.com.goldenwater.dcproj.param.BisInspFjpjcsuSafdlParam; import cn.com.goldenwater.dcproj.service.BisInspFjpjcsuSafdlService; 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.Objects; /** * @author lxf * @date 2023年12月19日 */ @Service @Transactional public class BisInspFjpjcsuSafdlServiceImpl extends AbstractCrudService implements BisInspFjpjcsuSafdlService { @Autowired private BisInspFjpjcsuSafdlDao bisInspFjpjcsuSafdlDao; @Autowired private BisInspFjpjcsuDao bisInspFjpjcsuDao; public BisInspFjpjcsuSafdlServiceImpl(BisInspFjpjcsuSafdlDao bisInspFjpjcsuSafdlDao) { super(bisInspFjpjcsuSafdlDao); this.bisInspFjpjcsuSafdlDao = bisInspFjpjcsuSafdlDao; } @Override public int insert(BisInspFjpjcsuSafdl bisInspFjpjcsuSafdl) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspFjpjcsuSafdl.setId(uuid); bisInspFjpjcsuSafdl.setIntm(new Date()); bisInspFjpjcsuSafdl.setUptm(new Date()); bisInspFjpjcsuSafdl.setDataStat("0"); int insert = bisInspFjpjcsuSafdlDao.insert(bisInspFjpjcsuSafdl); scoreProcessing(bisInspFjpjcsuSafdl); return insert; } @Override public int update(BisInspFjpjcsuSafdl bisInspFjpjcsuSafdl) { bisInspFjpjcsuSafdl.setUptm(new Date()); scoreProcessing(bisInspFjpjcsuSafdl); return this.bisInspFjpjcsuSafdlDao.update(bisInspFjpjcsuSafdl); } @Override public int delete(String id) { return this.bisInspFjpjcsuSafdlDao.delete(id); } /** * 分数处理 * * @param obj 对象 */ private void scoreProcessing(BisInspFjpjcsuSafdl obj) { //合计 Double total1 = 0.0; //缺项合计 Double lac1 = 0.0; // 5.1 65 if(obj.getF511()==null){ lac1 = lac1 + 3.0; }else{ total1= total1+obj.getF511(); } if(obj.getF512()==null){ lac1 = lac1 + 12.0; }else{ total1= total1+obj.getF512(); } if(obj.getF513()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF513(); } if(obj.getF514()==null){ lac1 = lac1 + 12.0; }else{ total1= total1+obj.getF514(); } if(obj.getF515()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF515(); } if(obj.getF516()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF516(); } if(obj.getF517()==null){ lac1 = lac1 + 3.0; }else{ total1= total1+obj.getF517(); } if(obj.getF518()==null){ lac1 = lac1 + 5.0; }else{ total1= total1+obj.getF518(); } // 5.2 90 if(obj.getF521()==null){ lac1 = lac1 + 3.0; }else{ total1= total1+obj.getF521(); } if(obj.getF522()==null){ lac1 = lac1 + 17.0; }else{ total1= total1+obj.getF522(); } if(obj.getF523()==null){ lac1 = lac1 + 15.0; }else{ total1= total1+obj.getF523(); } if(obj.getF524()==null){ lac1 = lac1 + 15.0; }else{ total1= total1+obj.getF524(); } if(obj.getF525()==null){ lac1 = lac1 + 15.0; }else{ total1= total1+obj.getF525(); } if(obj.getF526()==null){ lac1 = lac1 + 15.0; }else{ total1= total1+obj.getF526(); } if(obj.getF527()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF527(); } // 5.3 25 if(obj.getF531()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF531(); } if(obj.getF532()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF532(); } if(obj.getF533()==null){ lac1 = lac1 + 5.0; }else{ total1= total1+obj.getF533(); } BisInspFjpjcsu rgstr = bisInspFjpjcsuDao.get(obj.getRgstrId()); if (rgstr == null) { throw new CheckException("未找到此登记表"); } //算总分和缺项、评分率 Double tatl = judge(total1)+ judge(rgstr.getSystemTatl())+judge(rgstr.getTrgtTatl())+judge(rgstr.getTvetTatl()) + judge(rgstr.getImgrTatl())+judge(rgstr.getEmTatl())+judge(rgstr.getAmTatl())+judge(rgstr.getCimtTatl()); Double lacSoc = judge(lac1)+ judge(rgstr.getSystemLac())+judge(rgstr.getTrgtLac())+judge(rgstr.getTvetLac()) + judge(rgstr.getImgrLac())+judge(rgstr.getEmLac())+judge(rgstr.getAmLac())+judge(rgstr.getCimtLac()); BisInspFjpjcsu bisInspFjpjcsu = new BisInspFjpjcsu(); bisInspFjpjcsu.setId(rgstr.getId()); bisInspFjpjcsu.setSafdlTatl(total1); bisInspFjpjcsu.setSafdlLac(lac1); bisInspFjpjcsu.setSafdlStat(obj.getState()); //设置总分和评定得分 if(tatl!=null || tatl != 0){ bisInspFjpjcsu.setTatl(Math.round(tatl*10.0)/10.0); Double soc = FjConstants.FJPJCSU_STANDARD_TOTAL_SCORE-lacSoc; if(soc!=null && soc != 0){ Double ratSoc = tatl/(FjConstants.FJPJCSU_STANDARD_TOTAL_SCORE-lacSoc)*100; bisInspFjpjcsu.setRatSoc(Math.round(ratSoc*10.0)/10.0); } } bisInspFjpjcsu.setState("1"); bisInspFjpjcsu.setUptm(new Date()); bisInspFjpjcsuDao.update(bisInspFjpjcsu); } private Double judge(Double value) { if (Objects.isNull(value)) { return 0.0; } return value; } }