package cn.com.goldenwater.dcproj.service.impl.fjpjlgl; import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglDao; import cn.com.goldenwater.dcproj.dao.BisInspFjpjlglEmDao; import cn.com.goldenwater.dcproj.model.BisInspFjpjlgl; import cn.com.goldenwater.dcproj.model.BisInspFjpjlglEm; import cn.com.goldenwater.dcproj.model.BisInspFjpjlglSafdl; import cn.com.goldenwater.dcproj.param.BisInspFjpjlglEmParam; import cn.com.goldenwater.dcproj.service.BisInspFjpjlglEmService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.target.CheckException; import com.github.pagehelper.PageHelper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import cn.com.goldenwater.id.util.UuidUtil; import java.util.List; import java.util.Date; import java.util.Objects; /** * @author lhc * @date 2023-11-7 */ @Service @Transactional public class BisInspFjpjlglEmServiceImpl extends AbstractCrudService implements BisInspFjpjlglEmService { @Autowired private BisInspFjpjlglEmDao bisInspFjpjlglEmDao; @Autowired private BisInspFjpjlglDao bisInspFjpjlglDao; public BisInspFjpjlglEmServiceImpl(BisInspFjpjlglEmDao bisInspFjpjlglEmDao) { super(bisInspFjpjlglEmDao); this.bisInspFjpjlglEmDao = bisInspFjpjlglEmDao; } @Override public int insert(BisInspFjpjlglEm bisInspFjpjlglEm) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspFjpjlglEm.setId(uuid); bisInspFjpjlglEm.setIntm(new Date()); bisInspFjpjlglEm.setUptm(new Date()); bisInspFjpjlglEm.setDataStat("0"); int insert = bisInspFjpjlglEmDao.insert(bisInspFjpjlglEm); scoreProcessing(bisInspFjpjlglEm); return insert; } @Override public int update(BisInspFjpjlglEm bisInspFjpjlglEm) { bisInspFjpjlglEm.setUptm(new Date()); scoreProcessing(bisInspFjpjlglEm); return this.bisInspFjpjlglEmDao.update(bisInspFjpjlglEm); } @Override public int delete(String id) { return this.bisInspFjpjlglEmDao.delete(id); } /** * 分数处理 * * @param obj 对象 */ private void scoreProcessing(BisInspFjpjlglEm obj) { Double total1 = 0.0;//合计 Double lac1 = 0.0;//缺项合计 if(obj.getF611()==null){ lac1 = lac1 + 5.0; }else{ total1= total1+obj.getF611(); } if(obj.getF612()==null){ lac1 = lac1 + 15.0; }else{ total1= total1+obj.getF612(); } if(obj.getF613()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF613(); } if(obj.getF614()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF614(); } if(obj.getF615()==null){ lac1 = lac1 + 15.0; }else{ total1= total1+obj.getF615(); } if(obj.getF616()==null){ lac1 = lac1 + 5.0; }else{ total1= total1+obj.getF616(); } if(obj.getF621()==null){ lac1 = lac1 + 5.0; }else{ total1= total1+obj.getF621(); } if(obj.getF622()==null){ lac1 = lac1 + 5.0; }else{ total1= total1+obj.getF622(); } if(obj.getF631()==null){ lac1 = lac1 + 10.0; }else{ total1= total1+obj.getF631(); } BisInspFjpjlgl rgstr = bisInspFjpjlglDao.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.getSafdlTatl())+judge(rgstr.getAmTatl())+judge(rgstr.getCimtTatl()); Double lacSoc = judge(lac1)+ judge(rgstr.getSystemLac())+judge(rgstr.getTrgtLac())+judge(rgstr.getTvetLac()) + judge(rgstr.getImgrLac())+judge(rgstr.getSafdlLac())+judge(rgstr.getAmLac())+judge(rgstr.getCimtLac()); BisInspFjpjlgl bisInspFjpjlgl = new BisInspFjpjlgl(); bisInspFjpjlgl.setId(rgstr.getId()); bisInspFjpjlgl.setEmTatl(total1); bisInspFjpjlgl.setEmLac(lac1); bisInspFjpjlgl.setEmStat(obj.getState()); //设置总分和评定得分 if(tatl!=null || tatl != 0){ bisInspFjpjlgl.setTatl(Math.round(tatl*10.0)/10.0); Double soc = 1000-lacSoc; if(soc!=null && soc != 0){ Double ratSoc = tatl/(1000-lacSoc)*100; bisInspFjpjlgl.setRatSoc(Math.round(ratSoc*10.0)/10.0); } } bisInspFjpjlgl.setState("1"); bisInspFjpjlgl.setUptm(new Date()); bisInspFjpjlglDao.update(bisInspFjpjlgl); } private Double judge(Double value) { if (Objects.isNull(value)) { return 0.0; } return value; } }