|
@@ -13,11 +13,12 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import xbc.formula.calcmgr.dao.CalcIndicatorResultDao;
|
|
|
-import xbc.formula.calcmgr.dao.CalcNoManagerDao;
|
|
|
import xbc.formula.calcmgr.dao.CalcResultDao;
|
|
|
import xbc.formula.calcmgr.dao.entity.CalcIndicatorResult;
|
|
|
import xbc.formula.calcmgr.dao.entity.CalcResult;
|
|
|
+import xbc.formula.calcmgr.logic.CalcNoManagerLogic;
|
|
|
import xbc.formula.calcmgr.logic.SaveResultLogic;
|
|
|
+import xbc.formula.calcmgr.vo.CalcNoVo;
|
|
|
import xbc.formula.calcmgr.vo.CalculateRequestVo;
|
|
|
import xbc.formula.calcmgr.vo.CalculateResponseVo;
|
|
|
import xbc.formula.engine.fml.vo.XbcFmlFormulaIndicatorVo;
|
|
@@ -26,12 +27,8 @@ import xbc.formula.engine.fml.vo.XbcFmlFormulaVo;
|
|
|
@Component
|
|
|
public class SaveResultLogicImpl implements SaveResultLogic {
|
|
|
|
|
|
- private static final int NO_TYPE_FORMULA = 1;
|
|
|
-
|
|
|
- private static final int NO_TYPE_INDICATOR = 2;
|
|
|
-
|
|
|
@Autowired
|
|
|
- private CalcNoManagerDao calcNoManagerDao;
|
|
|
+ private CalcNoManagerLogic calcNoManagerLogic;
|
|
|
|
|
|
@Autowired
|
|
|
private CalcResultDao calcResultDao;
|
|
@@ -55,13 +52,11 @@ public class SaveResultLogicImpl implements SaveResultLogic {
|
|
|
riv.pos = 1;
|
|
|
retrieveIndicators(fv, 0, "", riv);
|
|
|
|
|
|
- long formulaResultId = calcNoManagerDao.getCurrentNoLock(NO_TYPE_FORMULA);
|
|
|
- formulaResultId ++;
|
|
|
- calcNoManagerDao.updateCurrentNo(NO_TYPE_FORMULA, formulaResultId, thistime);
|
|
|
+ CalcNoVo cnv = calcNoManagerLogic.getResultId(thistime, riv.cirs.size());
|
|
|
+ long formulaResultId = cnv.getFormulaNo() + 1;
|
|
|
cr.setKeyId(formulaResultId);
|
|
|
- calcResultDao.save(cr);
|
|
|
- long baseIndicatorId = calcNoManagerDao.getCurrentNoLock(NO_TYPE_INDICATOR);
|
|
|
if(riv.cirs.size() > 0) {
|
|
|
+ long baseIndicatorId = cnv.getIndicatorNo();
|
|
|
for(CalcIndicatorResult cir : riv.cirs) {
|
|
|
cir.setCalcResultId(formulaResultId);
|
|
|
cir.setKeyId(cir.getKeyId() + baseIndicatorId);
|
|
@@ -71,8 +66,8 @@ public class SaveResultLogicImpl implements SaveResultLogic {
|
|
|
}
|
|
|
}
|
|
|
saveIndicators(riv.cirs);
|
|
|
- calcNoManagerDao.updateCurrentNo(NO_TYPE_INDICATOR, baseIndicatorId + riv.cirs.size(), thistime);
|
|
|
}
|
|
|
+ calcResultDao.save(cr);
|
|
|
responseVo.setCalcResultId(formulaResultId);
|
|
|
}
|
|
|
|