chenc 4 years ago
parent
commit
7bfa92e74c

+ 37 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/controller/FbsWorkshopDispatchListController.java

@@ -92,12 +92,31 @@ public class FbsWorkshopDispatchListController {
 		if(StringUtils.isNotBlank(end)){
 			fbsWorkshopDispatchList.setEnd(null);
 		}
+		String state=fbsWorkshopDispatchList.getState();
+		if(StringUtils.isNotBlank(state)){
+			fbsWorkshopDispatchList.setState(null);
+		}
+		String personnelIdU8=fbsWorkshopDispatchList.getPersonnelIdU8();
+		if(StringUtils.isNotBlank(personnelIdU8)&&personnelIdU8.equals("null")){
+			fbsWorkshopDispatchList.setPersonnelIdU8(null);
+		}
 		QueryWrapper<FbsWorkshopDispatchList> queryWrapper = QueryGenerator.initQueryWrapper(fbsWorkshopDispatchList, req.getParameterMap());
 		queryWrapper.lambda().eq(FbsWorkshopDispatchList::getDelFlag,"0");
 		if(StringUtils.isNotBlank(start)&&StringUtils.isNotBlank(end)&&!start.equals("null")&&!end.equals("null")){
 			queryWrapper.ge("DATE_FORMAT(date,'%Y-%m-%d')",start);
 			queryWrapper.le("DATE_FORMAT(date,'%Y-%m-%d')",end);
 		}
+		if(StringUtils.isNotBlank(state)&&!state.equals("null")){
+			if(state.equals("4")){
+				queryWrapper.lambda().eq(FbsWorkshopDispatchList::getState,"3");
+				queryWrapper.apply("latest_completed_quantity <> number_of_tasks");
+			}else if(state.equals("3")){
+				queryWrapper.lambda().eq(FbsWorkshopDispatchList::getState,"3");
+				queryWrapper.apply("latest_completed_quantity = number_of_tasks");
+			}else{
+				queryWrapper.lambda().eq(FbsWorkshopDispatchList::getState,state);
+			}
+		}
 		queryWrapper.lambda().orderByDesc(FbsWorkshopDispatchList::getCreateTime);
 		Page<FbsWorkshopDispatchList> page = new Page<FbsWorkshopDispatchList>(pageNo, pageSize);
 		IPage<FbsWorkshopDispatchList> pageList = fbsWorkshopDispatchListService.page(page, queryWrapper);
@@ -334,6 +353,8 @@ public class FbsWorkshopDispatchListController {
 //			 List<FbsMomOrder> fbsMomOrderList=iFbsMomOrderService.list(fbsMomOrderQueryWrapper);
 //			 result.setResult(fbsMomOrderList);
 			 List<FbsMomOrderdetail> fbsMomOrderdetailList= iFbsMomOrderdetailService.getMonthListStatre();
+			 //剩余数量为0的remove
+			 getFbsMomOrderdetailList(fbsMomOrderdetailList);
 			 result.setResult(fbsMomOrderdetailList);
 			 result.success("操作成功");
 		 } catch (Exception e) {
@@ -343,6 +364,22 @@ public class FbsWorkshopDispatchListController {
 		 return result;
 	 }
 
+	 public void getFbsMomOrderdetailList(List<FbsMomOrderdetail> fbsMomOrderdetailList){
+		 for(int i=0; i<fbsMomOrderdetailList.size(); i++){
+		 	LambdaQueryWrapper<FbsWorkshopDispatchList> fbsWorkshopDispatchListLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		 	fbsWorkshopDispatchListLambdaQueryWrapper.eq(FbsWorkshopDispatchList::getDelFlag,"0");
+		 	fbsWorkshopDispatchListLambdaQueryWrapper.eq(FbsWorkshopDispatchList::getProductionOrderNumberName,fbsMomOrderdetailList.get(i).getMocode());
+		 	fbsWorkshopDispatchListLambdaQueryWrapper.eq(FbsWorkshopDispatchList::getProductId,fbsMomOrderdetailList.get(i).getCinvcode());
+			 fbsWorkshopDispatchListLambdaQueryWrapper.eq(FbsWorkshopDispatchList::getRemainingQuantity,0.0);
+		 	List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListService.list(fbsWorkshopDispatchListLambdaQueryWrapper);
+		 	if(fbsWorkshopDispatchListList!=null&&fbsWorkshopDispatchListList.size()>0){
+					fbsMomOrderdetailList.remove(fbsMomOrderdetailList.get(i));
+					i--;
+			}
+
+		 }
+	 }
+
 	 /**
 	 * @Author chenchuang
 	 * @Description //TODO 根据生产订单id查询产品

+ 3 - 3
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/xml/FbsWorkshopDispatchListMapper.xml

@@ -65,12 +65,12 @@
         SELECT
         fwdl.production_order_number_name,
         fwdl.product_id,
-        sum(fws.qualified_number) qualified_number,
+        CONVERT (sum(fws.qualified_number), DECIMAL ( 15, 2 ) ) qualified_number,
         DATE_FORMAT(fws.final_time,'%Y-%m-%d') final_time,
-        CONVERT ( fwdl.standard_working_hours / sum(fws.working_hours), DECIMAL ( 15, 2 ) ) * 100 AS productionEfficiency,
+        CONVERT ( (fwdl.standard_working_hours_z*latest_completed_quantity) / sum(fws.working_hours), DECIMAL ( 15, 2 ) ) * 100 AS productionEfficiency,
         CONVERT ( sum(fws.qualified_number) / fwdl.number_of_tasks, DECIMAL ( 15, 2 ) ) * 100 AS achievementRate,
         fwdl.number_of_tasks number_of_tasks,
-        sum(fws.working_hours) man_hours_completed,
+        CONVERT (sum(fws.working_hours), DECIMAL ( 15, 2 ) ) man_hours_completed,
         fwdl.standard_working_hours standard_working_hours
         FROM
         fbs_workshop_dispatch_list fwdl

+ 16 - 10
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

@@ -110,7 +110,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
                             if(dispatchList.getQualifiedNumber()!=null){
                                 quantityCompletedTotal+=dispatchList.getQualifiedNumber();//统计累计完成数量
                             }
-                            manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.parseDouble(dispatchList.getManHoursCompleted())));//累计完成工时
+                            manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.valueOf(dispatchList.getManHoursCompleted())));//累计完成工时
                             isorder=true;
                         }
                     }
@@ -234,16 +234,16 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         //循环累加计算
         for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
             if(isNumber(workshopDispatchList.getNumberOfTasksTotal())){
-                numberOfTasksTotal+=(int)Math.rint(Double.parseDouble(workshopDispatchList.getNumberOfTasksTotal()));
+                numberOfTasksTotal+=(int)Math.rint(Double.valueOf(workshopDispatchList.getNumberOfTasksTotal()));
             }
             if(isNumber(workshopDispatchList.getStandardWorkingHoursTotal())){
-                standardWorkingHoursTotal=standardWorkingHoursTotal.add(getDecimal(Double.parseDouble(workshopDispatchList.getStandardWorkingHoursTotal())));
+                standardWorkingHoursTotal=standardWorkingHoursTotal.add(getDecimal(Double.valueOf(workshopDispatchList.getStandardWorkingHoursTotal())));
             }
             if(workshopDispatchList.getQuantityCompletedTotal()!=null){
                 quantityCompletedTotal+=workshopDispatchList.getQuantityCompletedTotal();
             }
             if(isNumber(workshopDispatchList.getManHoursCompletedTotal())){
-                manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.parseDouble(workshopDispatchList.getManHoursCompletedTotal())));
+                manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.valueOf(workshopDispatchList.getManHoursCompletedTotal())));
             }
 
         }
@@ -271,10 +271,10 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
                                 qualifiedNumber+=workshopDispatchListC.getQualifiedNumber();
                             }
                             if(isNumber(workshopDispatchListC.getStandardWorkingHours())){
-                                standardWorkingHours=standardWorkingHours.add(getDecimal(Double.parseDouble(workshopDispatchListC.getStandardWorkingHours())));
+                                standardWorkingHours=standardWorkingHours.add(getDecimal(Double.valueOf(workshopDispatchListC.getStandardWorkingHours())));
                             }
                             if(isNumber(workshopDispatchListC.getManHoursCompleted())){
-                                manHoursCompleted=manHoursCompleted.add(getDecimal(Double.parseDouble(workshopDispatchListC.getManHoursCompleted())));
+                                manHoursCompleted=manHoursCompleted.add(getDecimal(Double.valueOf(workshopDispatchListC.getManHoursCompleted())));
                             }
                         }
                     }
@@ -284,8 +284,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
             FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
             fbsWorkshopDispatchList.setNumberOfTasks(numberOfTasks);
             fbsWorkshopDispatchList.setQualifiedNumber(qualifiedNumber);
-            fbsWorkshopDispatchList.setStandardWorkingHours(standardWorkingHours.doubleValue()+"");
-            fbsWorkshopDispatchList.setManHoursCompleted(manHoursCompleted.doubleValue()+"");
+            fbsWorkshopDispatchList.setStandardWorkingHours(formatDouble5(standardWorkingHours.doubleValue())+"");
+            fbsWorkshopDispatchList.setManHoursCompleted(formatDouble5(manHoursCompleted.doubleValue())+"");
             String achievement="0";
             if(qualifiedNumber!=0||numberOfTasks.doubleValue()!=0){
                 achievement=formatDouble5((double)qualifiedNumber/numberOfTasks.doubleValue());
@@ -304,9 +304,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
         fbsWorkshopDispatchList.setProjectName("统计");
         fbsWorkshopDispatchList.setNumberOfTasksTotal(numberOfTasksTotal+"");
-        fbsWorkshopDispatchList.setStandardWorkingHoursTotal(standardWorkingHoursTotal.doubleValue()+"");
+        fbsWorkshopDispatchList.setStandardWorkingHoursTotal(formatDouble5(standardWorkingHoursTotal.doubleValue())+"");
         fbsWorkshopDispatchList.setQuantityCompletedTotal(quantityCompletedTotal);
-        fbsWorkshopDispatchList.setManHoursCompletedTotal(manHoursCompletedTotal.doubleValue()+"");
+        fbsWorkshopDispatchList.setManHoursCompletedTotal(formatDouble5(manHoursCompletedTotal.doubleValue())+"");
         fbsWorkshopDispatchList.setFbsWorkshopDispatchListList(fbsWorkshopDispatchListListTotal);
         fbsWorkshopDispatchListList.add(fbsWorkshopDispatchList);
     }
@@ -438,6 +438,12 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         if(fbsWorkshopDispatchList.getFbsWorkshopDispatchListList()!=null){
             Integer sort=1;
             for(FbsWorkshopDispatchList dispatchList:fbsWorkshopDispatchList.getFbsWorkshopDispatchListList()){
+                BigDecimal remain=dispatchList.getRemainingQuantity().subtract(dispatchList.getNumberOfTasks());
+                if(remain.doubleValue()<0.0){
+                    dispatchList.setRemainingQuantity(new BigDecimal("0.0"));
+                }else{
+                    dispatchList.setRemainingQuantity(remain);
+                }
                 dispatchList.setSort(sort);
                 sort++;
             }