diff --git a/src/main/java/com/ai/da/python/PythonService.java b/src/main/java/com/ai/da/python/PythonService.java index 7f7c4e5f..043499d4 100644 --- a/src/main/java/com/ai/da/python/PythonService.java +++ b/src/main/java/com/ai/da/python/PythonService.java @@ -228,19 +228,28 @@ public class PythonService { long noPrintNum = 8 - pinPrintNum - noPinPrintNum; elementVO.setNoPinPrintNum(noPinPrintNum); - int pinSketchNum = 0; - int sysSketchNum = 0; - int noPinSketchNum = 0; + int[] sketchNumbers = new int[3]; for (int i = 0; i < 8; i++) { - CurrentDesignPictureTypeEnum designPictureType = calculateCurrentDesignPictureTypeNew(elementVO, pinSketchNum, sysSketchNum, noPinSketchNum, systemScale); + CurrentDesignPictureTypeEnum designPictureType = calculateCurrentDesignPictureTypeNew(elementVO, sketchNumbers, systemScale); if (designPictureType == null) break; CurrentDesignPrintPictureTypeEnum designPrintPictureType = calculateCurrentDesignPintPictureType(pinPrintNum, noPinPrintNum, noPrintNum); if (designPrintPictureType == null) break; - updateSketchNumbers(designPictureType, pinSketchNum, sysSketchNum, noPinSketchNum); - updatePrintNumbers(designPrintPictureType, pinPrintNum, noPinPrintNum, noPrintNum); + updateSketchNumbers(designPictureType, sketchNumbers); + switch (designPrintPictureType) { + case PIN: + pinPrintNum--; + break; + case NO_PIN: + noPinPrintNum--; + break; + case NO: + noPrintNum--; + break; + } +// updatePrintNumbers(designPrintPictureType, pinPrintNum, noPinPrintNum, noPrintNum); DesignPythonItemPrint designPythonItemPrint = getRandomPrint(elementVO, designPrintPictureType); elementVO.setDesignPythonItemPrint(designPythonItemPrint); @@ -252,16 +261,16 @@ public class PythonService { return designPythonObjects; } - private void updateSketchNumbers(CurrentDesignPictureTypeEnum designPictureType, int pinSketchNum, int sysSketchNum, int noPinSketchNum) { + private void updateSketchNumbers(CurrentDesignPictureTypeEnum designPictureType, int[] sketchNumbers) { switch (designPictureType) { case PIN: - pinSketchNum++; + sketchNumbers[0] ++; break; case NO_PIN: - noPinSketchNum--; + sketchNumbers[2] --; break; case SYS_FILE: - sysSketchNum--; + sketchNumbers[1] --; break; } } @@ -288,16 +297,16 @@ public class PythonService { } - private CurrentDesignPictureTypeEnum calculateCurrentDesignPictureTypeNew(ValidateElementVO elementVO, int pinSketchNum, int sysSketchNum, int noPinSketchNum, BigDecimal systemScale) { + private CurrentDesignPictureTypeEnum calculateCurrentDesignPictureTypeNew(ValidateElementVO elementVO, int[] sketchNumbers, BigDecimal systemScale) { List pinData = getPinData(elementVO); if (CollectionUtil.isNotEmpty(pinData)) { return CurrentDesignPictureTypeEnum.PIN; } else { - if (sysSketchNum == 0 && noPinSketchNum == 0) { - sysSketchNum = systemScale.multiply(BigDecimal.valueOf(8 - pinSketchNum)).setScale(0, BigDecimal.ROUND_HALF_UP).intValue(); - noPinSketchNum = 8 - pinSketchNum - sysSketchNum; + if (sketchNumbers[1] == 0 && sketchNumbers[2] == 0) { + sketchNumbers[1] = systemScale.multiply(BigDecimal.valueOf(8 - sketchNumbers[0])).setScale(0, BigDecimal.ROUND_HALF_UP).intValue(); + sketchNumbers[2] = 8 - sketchNumbers[0] - sketchNumbers[1]; } - if (noPinSketchNum > 0) { + if (sketchNumbers[2] > 0) { return CurrentDesignPictureTypeEnum.NO_PIN; } return CurrentDesignPictureTypeEnum.SYS_FILE;