BUGFIX:sketchNum bugfix;

This commit is contained in:
shahaibo
2024-04-23 15:55:20 +08:00
parent e62f54a975
commit c661f4a871

View File

@@ -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<CollectionElement> 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;