|
@@ -1,6 +1,7 @@
|
|
|
package org.jeecg.modules.fbsWorkshopDispatchList.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import io.swagger.models.auth.In;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
|
|
@@ -61,7 +62,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
//求和的派工单集合
|
|
|
// List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=fbsWorkshopDispatchListMapper.getSumDispatch();
|
|
|
List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=new ArrayList<>();
|
|
|
- getWorkshopDispatchListListSum(fbsWorkshopDispatchListListSum,fbsMomOrderdetailList);
|
|
|
+ getWorkshopDispatchListListSum(fbsWorkshopDispatchListListSum,fbsMomOrderdetailList,fbsWorkshopDispatchListWhere);
|
|
|
//全部派工单为求和
|
|
|
// LambdaQueryWrapper<FbsWorkshopDispatchList> lambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
// lambdaQueryWrapper.eq(FbsWorkshopDispatchList::getDelFlag,"0");
|
|
@@ -216,7 +217,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
public List<FbsWorkshopDispatchList> export(List<FbsMomOrderdetail> fbsMomOrderdetailList,String month){
|
|
|
//erp数据
|
|
|
List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListErp=new ArrayList<>();
|
|
|
- getWorkshopDispatchListListSum(fbsWorkshopDispatchListListErp,fbsMomOrderdetailList);
|
|
|
+ getWorkshopDispatchListListSum(fbsWorkshopDispatchListListErp,fbsMomOrderdetailList,null);
|
|
|
//派工数据
|
|
|
List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=fbsWorkshopDispatchListMapper.getSumDispatchNumber(month);
|
|
|
if(fbsWorkshopDispatchListListErp!=null&&fbsWorkshopDispatchListListSum!=null){
|
|
@@ -240,7 +241,16 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
}
|
|
|
|
|
|
//获取erp中的订单数据
|
|
|
- public void getWorkshopDispatchListListSum(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum,List<FbsMomOrderdetail> fbsMomOrderdetailList){
|
|
|
+ public void getWorkshopDispatchListListSum(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum,List<FbsMomOrderdetail> fbsMomOrderdetailList,FbsWorkshopDispatchList fbsWorkshopDispatchListWhere){
|
|
|
+ //订单编码上的时间
|
|
|
+// String yearMonth=fbsWorkshopDispatchListWhere.getYear().substring(2)+fbsWorkshopDispatchListWhere.getMonth();
|
|
|
+ List<String> codeList=new ArrayList<>();
|
|
|
+ for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
|
|
|
+ codeList.add(fbsMomOrderdetail.getMocode());
|
|
|
+ }
|
|
|
+ //查询派工数据
|
|
|
+ List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListMapper.getSumDispatch(codeList);
|
|
|
+
|
|
|
for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
|
|
|
FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
fbsWorkshopDispatchList.setProjectName(fbsMomOrderdetail.getDefine12());
|
|
@@ -250,12 +260,41 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
fbsWorkshopDispatchList.setNumberOfTasksTotal(Math.rint(Double.parseDouble(fbsMomOrderdetail.getQty()+""))+"");
|
|
|
BigDecimal workingHoursTotal=new BigDecimal("0.0");
|
|
|
if(StringUtils.isNotBlank(fbsMomOrderdetail.getCinvDefine13())){
|
|
|
- workingHoursTotal=getDecimal(Double.valueOf(fbsMomOrderdetail.getCinvDefine13()));
|
|
|
+ workingHoursTotal=getDecimalNew(fbsMomOrderdetail.getCinvDefine13());
|
|
|
}
|
|
|
String working=formatDouble5((workingHoursTotal.multiply(getDecimal(Double.valueOf(fbsMomOrderdetail.getQty()+"")))).doubleValue());
|
|
|
fbsWorkshopDispatchList.setStandardWorkingHoursTotal(working);
|
|
|
fbsWorkshopDispatchList.setStandardWorkingHoursZ(fbsMomOrderdetail.getCinvDefine13());
|
|
|
fbsWorkshopDispatchList.setStatus(fbsMomOrderdetail.getStatus());
|
|
|
+ //循环派工单 找到对应的订单获取数据
|
|
|
+ boolean isQuery=false;
|
|
|
+
|
|
|
+ if(fbsWorkshopDispatchListList!=null){
|
|
|
+ for(FbsWorkshopDispatchList fbsWorkshopDispatchListEntiy:fbsWorkshopDispatchListList){
|
|
|
+ if(fbsMomOrderdetail.getMocode().equals(fbsWorkshopDispatchListEntiy.getProductionOrderNumberName())&&fbsMomOrderdetail.getCinvcode().equals(fbsWorkshopDispatchListEntiy.getProductId())){
|
|
|
+ //标准数量
|
|
|
+ BigDecimal qty =new BigDecimal("0.0");
|
|
|
+ if(StringUtils.isNotBlank(fbsMomOrderdetail.getQty().toString())){
|
|
|
+ qty=getDecimalNew(fbsMomOrderdetail.getQty().toString());
|
|
|
+ }
|
|
|
+ //总完成数量
|
|
|
+ BigDecimal latestCompletedQuantityTotal=new BigDecimal("0.0");
|
|
|
+ if(fbsWorkshopDispatchListEntiy.getLatestCompletedQuantityTotal()!=null){
|
|
|
+ latestCompletedQuantityTotal=fbsWorkshopDispatchListEntiy.getLatestCompletedQuantityTotal();
|
|
|
+ }
|
|
|
+ //剩余标准数量
|
|
|
+ fbsWorkshopDispatchList.setSurplusNumberOfTasksTotal(qty.subtract(latestCompletedQuantityTotal));
|
|
|
+ isQuery=true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //没有对应的派工数据则 默认为标准数量
|
|
|
+ if(isQuery==false){
|
|
|
+ fbsWorkshopDispatchList.setSurplusNumberOfTasksTotal(getDecimalNew(fbsMomOrderdetail.getQty().toString()));
|
|
|
+ }
|
|
|
+ //剩余标准工时
|
|
|
+ BigDecimal surplusStandardWorkingHoursTotal=fbsWorkshopDispatchList.getSurplusNumberOfTasksTotal().multiply(workingHoursTotal);
|
|
|
+ fbsWorkshopDispatchList.setSurplusStandardWorkingHoursTotal(surplusStandardWorkingHoursTotal);
|
|
|
fbsWorkshopDispatchListListSum.add(fbsWorkshopDispatchList);
|
|
|
}
|
|
|
}
|
|
@@ -334,6 +373,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
BigDecimal standardWorkingHoursActualTotal=new BigDecimal(0.00);//实际标准工时
|
|
|
Integer quantityCompletedTotal=0;//累计完成数量
|
|
|
BigDecimal manHoursCompletedTotal=new BigDecimal(0.00);//累计总工时
|
|
|
+ BigDecimal surplusNumberOfTasksTotal=new BigDecimal("0.0");//剩余标准总数量
|
|
|
+ BigDecimal surplusStandardWorkingHoursTotal=new BigDecimal("0.0");//剩余标准总工时
|
|
|
List<String> list=new ArrayList<>();
|
|
|
//循环累加计算
|
|
|
for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
@@ -352,6 +393,12 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
if(isNumber(workshopDispatchList.getManHoursCompletedTotal())){
|
|
|
manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.valueOf(workshopDispatchList.getManHoursCompletedTotal())));
|
|
|
}
|
|
|
+ if(workshopDispatchList.getSurplusNumberOfTasksTotal()!=null){
|
|
|
+ surplusNumberOfTasksTotal=surplusNumberOfTasksTotal.add(workshopDispatchList.getSurplusNumberOfTasksTotal());
|
|
|
+ }
|
|
|
+ if(workshopDispatchList.getSurplusStandardWorkingHoursTotal()!=null){
|
|
|
+ surplusStandardWorkingHoursTotal=surplusStandardWorkingHoursTotal.add(workshopDispatchList.getSurplusStandardWorkingHoursTotal());
|
|
|
+ }
|
|
|
list.add(workshopDispatchList.getProductionOrderNumberName());
|
|
|
}
|
|
|
//获取按日期排列的统计数据
|
|
@@ -416,6 +463,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
fbsWorkshopDispatchList.setQuantityCompletedTotal(quantityCompletedTotal);
|
|
|
fbsWorkshopDispatchList.setManHoursCompletedTotal(formatDouble5(manHoursCompletedTotal.doubleValue())+"");
|
|
|
fbsWorkshopDispatchList.setFbsWorkshopDispatchListList(fbsWorkshopDispatchListListTotal);
|
|
|
+ fbsWorkshopDispatchList.setSurplusNumberOfTasksTotal(surplusNumberOfTasksTotal);
|
|
|
+ fbsWorkshopDispatchList.setSurplusStandardWorkingHoursTotal(surplusStandardWorkingHoursTotal);
|
|
|
//获取剩余工时
|
|
|
//获取未完成的累计完成工时
|
|
|
BigDecimal outstandingCumulativeWorkDone=fbsWorkshopDispatchListMapper.getOutstandingCumulativeWorkDone(list);
|
|
@@ -434,6 +483,11 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
return decimal;
|
|
|
}
|
|
|
|
|
|
+ public BigDecimal getDecimalNew(String d){
|
|
|
+ BigDecimal decimal= new BigDecimal(d);
|
|
|
+ return decimal;
|
|
|
+ }
|
|
|
+
|
|
|
private boolean isNumber(String str){
|
|
|
if(isEmpty(str)){
|
|
|
return false;
|
|
@@ -554,6 +608,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
if(fbsWorkshopDispatchList.getFbsWorkshopDispatchListList()!=null){
|
|
|
Integer sort=1;
|
|
|
for(FbsWorkshopDispatchList dispatchList:fbsWorkshopDispatchList.getFbsWorkshopDispatchListList()){
|
|
|
+ if(dispatchList.getNumberOfTasks()==null){
|
|
|
+ dispatchList.setNumberOfTasks(new BigDecimal("0.0"));
|
|
|
+ }
|
|
|
BigDecimal remain=dispatchList.getRemainingQuantity().subtract(dispatchList.getNumberOfTasks());
|
|
|
if(remain.doubleValue()<0.0){
|
|
|
dispatchList.setRemainingQuantity(new BigDecimal("0.0"));
|