|
@@ -24,6 +24,7 @@ import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -52,9 +53,9 @@ public class FullSetRateController extends JeecgController<FullSetRate, IFullSet
|
|
|
if(oConvertUtils.isNotEmpty(fullSetRate.getSubcontractOrderNo())){
|
|
|
queryWrapper.like("a.cCode",fullSetRate.getSubcontractOrderNo());
|
|
|
}
|
|
|
-
|
|
|
- queryWrapper.between("b.dPreDate","2022-09-21","2022-09-21");
|
|
|
-
|
|
|
+ if(oConvertUtils.isNotEmpty(fullSetRate.getBeginDate())){
|
|
|
+ queryWrapper.between("b.dPreDate",fullSetRate.getBeginDate(),fullSetRate.getEndDate());
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
@@ -82,7 +83,7 @@ public class FullSetRateController extends JeecgController<FullSetRate, IFullSet
|
|
|
|
|
|
QueryWrapper<FullSetRate> queryWrapper1 = new QueryWrapper<>();
|
|
|
queryWrapper1.eq("ID",li.getID());
|
|
|
- queryWrapper1.between("dPreDate","2022-09-21","2022-09-21");
|
|
|
+ queryWrapper1.between("dPreDate",fullSetRate.getBeginDate(),fullSetRate.getEndDate());
|
|
|
List<FullSetRate> querySomain = fullSetRateService.querySOMain(queryWrapper1);
|
|
|
|
|
|
|
|
@@ -121,12 +122,38 @@ public class FullSetRateController extends JeecgController<FullSetRate, IFullSet
|
|
|
li.setCumulativeDelayedDeliveryQty(cumulativeDelayedDeliveryQty);
|
|
|
|
|
|
List<FullSetRate> dateTimeList = fullSetRateService.querySalesIssueDate(moDeilsIDList);
|
|
|
- li.setEarliestIssueDate(dateTimeList.get(dateTimeList.size()-1).getDeliveryDate());
|
|
|
- li.setLatestIssueDate(dateTimeList.get(0).getDeliveryDate());
|
|
|
+ if(dateTimeList.size() !=0){
|
|
|
+ li.setEarliestIssueDate(dateTimeList.get(dateTimeList.size()-1).getDeliveryDate());
|
|
|
+ li.setLatestIssueDate(dateTimeList.get(0).getDeliveryDate());
|
|
|
+ }else{
|
|
|
+ li.setEarliestIssueDate("");
|
|
|
+ li.setLatestIssueDate("");
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
+ if(oConvertUtils.isEmpty(li.getCumulativeIssueQuantity())){
|
|
|
+ li.setCumulativeIssueQuantity(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
BigDecimal deliveryRate = li.getCumulativeIssueQuantity().divide(li.getSalesOrderQuantity(),2,BigDecimal.ROUND_FLOOR);
|
|
|
li.setDeliveryRate(deliveryRate);
|
|
|
|
|
|
+
|
|
|
+ if(oConvertUtils.isNotEmpty(fullSetRate.getSection())) {
|
|
|
+
|
|
|
+ Calendar ca = Calendar.getInstance();
|
|
|
+ ca.setTime(sf.parse(li.getDeliveryDate()));
|
|
|
+ ca.add(Calendar.DATE,Integer.parseInt(fullSetRate.getSection()));
|
|
|
+ String time = sf.format(ca.getTime());
|
|
|
+ String num = fullSetRateService.queryIntervalNumber(moDeilsIDList,li.getDeliveryDate(),time);
|
|
|
+ if(oConvertUtils.isEmpty(num)){
|
|
|
+ num = "0";
|
|
|
+ }
|
|
|
+ BigDecimal intervalDeliveryRate = new BigDecimal(num).divide(li.getSalesOrderQuantity(), 2, BigDecimal.ROUND_HALF_UP);
|
|
|
+ li.setIntervalDeliveryRate(intervalDeliveryRate);
|
|
|
+
|
|
|
+ }else{
|
|
|
+ li.setIntervalDeliveryRate(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
|
|
|
li.setSoIDsID(moDeilsIDList);
|
|
|
|
|
@@ -137,15 +164,16 @@ public class FullSetRateController extends JeecgController<FullSetRate, IFullSet
|
|
|
for(FullSetRateList rate :list){
|
|
|
|
|
|
List<FullSetRateSubInfo> setRate = fullSetRateService.queryOMMOmainSubInfo(rate.getMODetailsID());
|
|
|
- rate.setSetRate(setRate.get(0).getSetRate());
|
|
|
if(oConvertUtils.isEmpty(setRate.get(0).getSetRate())){
|
|
|
+ rate.setSetRate(BigDecimal.ZERO);
|
|
|
avg = avg.add(BigDecimal.ZERO);
|
|
|
}else {
|
|
|
- avg = avg.add(new BigDecimal(setRate.get(0).getSetRate()));
|
|
|
+ rate.setSetRate(setRate.get(0).getSetRate());
|
|
|
+ avg = avg.add(setRate.get(0).getSetRate());
|
|
|
}
|
|
|
i++;
|
|
|
}
|
|
|
- BigDecimal rate = avg.divide(new BigDecimal(i),2,BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal rate = avg.divide(new BigDecimal(i),2,BigDecimal.ROUND_UP);
|
|
|
li.setFullSetRate(rate.toString());
|
|
|
}
|
|
|
|