chenc 4 years ago
parent
commit
42e059364c

+ 10 - 3
src/main/java/org/jeecg/modules/appInterface/controller/FbsWorkingStatisticsController.java

@@ -161,13 +161,18 @@ public class FbsWorkingStatisticsController {
 		 QueryWrapper<FbsWorkshopDispatchList> ypffscSaleorderBQueryWrapper = new QueryWrapper<>();
 		 ypffscSaleorderBQueryWrapper.eq("personnel_id_u8", entity.getPersonnelCode()).eq("del_flag", 0);
 		 ypffscSaleorderBQueryWrapper.eq("production_order_number_name", entity.getOrderNumber());
-		 ypffscSaleorderBQueryWrapper.in("state", 0,2);
+		 ypffscSaleorderBQueryWrapper.in("state", 0,2,3);
 		 List<FbsWorkshopDispatchList> list = fbsWorkshopDispatchListService.list(ypffscSaleorderBQueryWrapper);
 		 if(list.size() < 1){
 			 res.setCode("1");
 			 res.setMsg("该订单还没有派工"+entity.getOrderNumber());
 			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
 		 }
+		 if(list.get(0).getNumberOfTasks().doubleValue()==Double.valueOf(list.get(0).getLatestCompletedQuantity())){
+			 res.setCode("1");
+			 res.setMsg("该订单计划数量已经全部入库"+entity.getOrderNumber());
+			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
+		 }
 		 FbsWorkshopDispatchList workshopDispatchList = list.get(0);
 		 //0初始,1接单,2暂停,3完成
 		 if(StringUtils.isNotBlank(workshopDispatchList.getState()) && !workshopDispatchList.getState().equals("0") &&
@@ -498,12 +503,13 @@ public class FbsWorkingStatisticsController {
 			String[] batchCodes=entity.getBatchCode().split(",");//解析逗号分隔的批号
 			List<Map<String,Object>> mapList=new ArrayList<>();
 			for(String batchCode:batchCodes){
+				int i=1;
 				//明细
 				Map<String,Object> itemMap=new LinkedHashMap<>();
 				itemMap.put("CINVCODE",workshopDispatchList.getProductId());//成品存货编码
-				itemMap.put("IQUANTITY",entity.getQualifiedNumber());//数量
+				itemMap.put("IQUANTITY",1);//数量
 				itemMap.put("MOCODE",workshopDispatchList.getProductionOrderNumberName());//订单号
-				itemMap.put("MOROWMO",entity.getRowNumber());//行号
+				itemMap.put("MOROWMO",i);//行号
 				itemMap.put("CBATCH",batchCode);//批号
 				itemMap.put("cDefine27",allHors.doubleValue());//实际工时
 				Double number=Double.valueOf(entity.getQualifiedNumber());//数量
@@ -512,6 +518,7 @@ public class FbsWorkingStatisticsController {
 				String workingTatol=df.format(number*working);
 				itemMap.put("cDefine26",workingTatol);//实际总工时
 				mapList.add(itemMap);
+				i++;
 			}
 			//表头
 			Map<String,Object> map=new LinkedHashMap<>();

+ 4 - 2
src/main/java/org/jeecg/modules/appInterface/mapper/xml/FbsWorkingStatisticsMapper.xml

@@ -29,7 +29,8 @@
             AND fws.final_state = '3'
             AND date_format( fws.final_time, #{dateString} ) = DATE_FORMAT( now( ), #{dateString} )-->
         SELECT
-        sum( fwdl.man_hours_completed ) AS '生产',
+        CONVERT
+        (sum( fwdl.man_hours_completed ), DECIMAL ( 15, 2 ) ) AS '生产',
         (
         SELECT
         IFNULL(sum( train ),0) + IFNULL(sum( meeting ),0) + IFNULL(sum( five_s ),0) + IFNULL(sum( research_and_development ),0)
@@ -84,7 +85,8 @@
     <select id="getWorkingHoursGroupProjectName" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
         SELECT
             fwdl.project_name,
-            sum( fwdl.man_hours_completed ) as man_hours_completed
+            CONVERT
+          (sum( fwdl.man_hours_completed ), DECIMAL ( 15, 2 ) ) as man_hours_completed
         FROM
             fbs_workshop_dispatch_list fwdl
         WHERE

+ 2 - 2
src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderdetailMapper.xml

@@ -104,8 +104,8 @@
     </select>
 
     <select id="getMonthListGroupDefine12" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
-        SELECT SUM
-            ( i.cInvDefine13 ) cInvDefine13,
+        SELECT Round(SUM
+             (i.cInvDefine13 ),2) cInvDefine13,
             SUM ( mo.Qty ) Qty,
             SUM ( mo.QualifiedInQty ) QualifiedInQty,
             m.Define12

+ 9 - 8
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/controller/FbsWorkshopDispatchListController.java

@@ -325,15 +325,16 @@ public class FbsWorkshopDispatchListController {
 	  * @return org.jeecg.common.api.vo.Result<java.util.List<org.jeecg.modules.fbsPerson.entity.FbsPerson>>
 	  */
 	 @GetMapping(value = "/getFbsMomOrder")
-	 public Result<List<FbsMomOrder>> getFbsMomOrder(){
-		 Result<List<FbsMomOrder>> result =new Result<>();
+	 public Result<List<FbsMomOrderdetail>> getFbsMomOrder(){
+		 Result<List<FbsMomOrderdetail>> result =new Result<>();
 		 try {
-		 	 QueryWrapper<FbsMomOrder> fbsMomOrderQueryWrapper=new QueryWrapper<>();
-		 	 fbsMomOrderQueryWrapper.apply("substring( MoCode, 3, 2 ) = substring( CONVERT ( VARCHAR ( 100 ), GETDATE ( ), 112 ), 3, 2 )");
-		 	 fbsMomOrderQueryWrapper.lambda().orderByDesc(FbsMomOrder::getCreatetime);
-			 List<FbsMomOrder> fbsMomOrderList=iFbsMomOrderService.list(fbsMomOrderQueryWrapper);
-			 result.setResult(fbsMomOrderList);
-//			 List<FbsMomOrderdetail> fbsMomOrderdetailList=iFbsMomOrderdetailService.getMonthList();
+//		 	 QueryWrapper<FbsMomOrder> fbsMomOrderQueryWrapper=new QueryWrapper<>();
+//		 	 fbsMomOrderQueryWrapper.apply("substring( MoCode, 3, 2 ) = substring( CONVERT ( VARCHAR ( 100 ), GETDATE ( ), 112 ), 3, 2 )");
+//		 	 fbsMomOrderQueryWrapper.lambda().orderByDesc(FbsMomOrder::getCreatetime);
+//			 List<FbsMomOrder> fbsMomOrderList=iFbsMomOrderService.list(fbsMomOrderQueryWrapper);
+//			 result.setResult(fbsMomOrderList);
+			 List<FbsMomOrderdetail> fbsMomOrderdetailList= iFbsMomOrderdetailService.getMonthListStatre();
+			 result.setResult(fbsMomOrderdetailList);
 			 result.success("操作成功");
 		 } catch (Exception e) {
 			 e.printStackTrace();

+ 3 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/entity/FbsWorkshopDispatchList.java

@@ -137,6 +137,9 @@ public class FbsWorkshopDispatchList implements Serializable {
 	//U8标准工时
 	private String standardWorkingHoursZ;
 
+	//剩余数量
+	private BigDecimal remainingQuantity;
+
     //合并行
 	@TableField(exist = false)
     private Integer mergeLines;

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

@@ -67,11 +67,11 @@
         fwdl.product_id,
         sum(fws.qualified_number) qualified_number,
         DATE_FORMAT(fws.final_time,'%Y-%m-%d') final_time,
-        CONVERT ( sum(fwdl.man_hours_completed) / sum(fwdl.standard_working_hours), DECIMAL ( 15, 2 ) ) * 100 AS productionEfficiency,
-        CONVERT ( sum(fws.qualified_number) / sum(fwdl.number_of_tasks), DECIMAL ( 15, 2 ) ) * 100 AS achievementRate,
-        sum(fwdl.number_of_tasks) number_of_tasks,
-        sum(fwdl.man_hours_completed) man_hours_completed,
-        sum(fwdl.standard_working_hours) standard_working_hours
+        CONVERT ( fwdl.standard_working_hours / 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,
+        fwdl.standard_working_hours standard_working_hours
         FROM
         fbs_workshop_dispatch_list fwdl
         LEFT JOIN fbs_working_statistics fws ON fwdl.id = fws.pk_workshop_dispatch_list
@@ -88,7 +88,9 @@
         GROUP BY
         fwdl.production_order_number_name,
         fwdl.product_id,
-        DATE_FORMAT(fws.final_time,'%Y-%m-%d')
+        DATE_FORMAT(fws.final_time,'%Y-%m-%d'),
+        fwdl.man_hours_completed,
+        fwdl.standard_working_hours
     </select>
 
     <select id="getProductHoursMonthReport" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
@@ -218,6 +220,9 @@
         fbs_workshop_dispatch_list fwdl
         WHERE
         fwdl.del_flag = '0'
+        AND fwdl.man_hours_completed >0
+        AND fwdl.state='3',
+        AND fwdl.latest_completed_quantity=number_of_tasks
         and DATE_FORMAT(now( ),'%Y-%m-%d') <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,'%Y-%m-%d')
         and DATE_FORMAT(now( ),'%Y-%m-%d') <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,'%Y-%m-%d')
         GROUP BY
@@ -239,7 +244,7 @@
             and DATE_FORMAT(now( ),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,#{dateString})
             and DATE_FORMAT(now( ),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,#{dateString})-->
         SELECT CONVERT
-          ( sum( latest_completed_quantity ) / sum( number_of_tasks ), DECIMAL ( 15, 2 ) ) * 100
+          ( sum( standard_working_hours ) / sum( man_hours_completed ), DECIMAL ( 15, 2 ) ) * 100
         FROM
           fbs_workshop_dispatch_list
         WHERE
@@ -301,11 +306,11 @@
           AND fws.del_flag = '0'-->
         WHERE
         fwdl.del_flag = '0'
-        and fwdl.state <![CDATA[ <> ]]> '0'
+        and fwdl.state ='1'
+        <!--and fwdl.state <![CDATA[ <> ]]> '0'-->
         <!--and date_format( fwdl.date, '%Y-%m-%d' ) = date_format( now( ), '%Y-%m-%d' )-->
         ORDER BY
             fwdl.date DESC
-            LIMIT 6
     </select>
 
     <select id="getProjectScheduleCompletion" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
@@ -350,14 +355,15 @@
     <select id="getListWhereStartEnd" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
         SELECT
         *,
-        CONVERT ( IFNULL( ( man_hours_completed ), 0 ) / IFNULL( ( standard_working_hours ), 0 ), DECIMAL ( 15, 2 ) ) * 100 as productionEfficiency
+        CONVERT ( IFNULL( (standard_working_hours), 0 ) / IFNULL( ( man_hours_completed  ), 0 ), DECIMAL ( 15, 2 ) ) * 100 as productionEfficiency,
+        CONVERT ( IFNULL( (latest_completed_quantity), 0 ) / IFNULL( ( number_of_tasks  ), 0 ), DECIMAL ( 15, 2 ) ) * 100 as achievementRate
         FROM
         fbs_workshop_dispatch_list
         WHERE
         del_flag = '0'
-        AND state = '0'
-        AND DATE_FORMAT( now( ), '%Y-%m-%d' ) <![CDATA[ >= ]]> DATE_FORMAT( planned_start_time, '%Y-%m-%d' )
-        AND DATE_FORMAT( now( ), '%Y-%m-%d' ) <![CDATA[ <= ]]> DATE_FORMAT( planned_end_time, '%Y-%m-%d' )
+        AND latest_completed_quantity  <![CDATA[ <> ]]> number_of_tasks
+       <!-- AND DATE_FORMAT( now( ), '%Y-%m-%d' ) <![CDATA[ >= ]]> DATE_FORMAT( planned_start_time, '%Y-%m-%d' )
+        AND DATE_FORMAT( now( ), '%Y-%m-%d' ) <![CDATA[ <= ]]> DATE_FORMAT( planned_end_time, '%Y-%m-%d' )-->
     </select>
     
 </mapper>

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

@@ -293,7 +293,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
             fbsWorkshopDispatchList.setAchievementRate((Double.parseDouble(achievement)*100)+"");
             Double production=0.0;
             if(standardWorkingHours.doubleValue()>0){
-                production=manHoursCompleted.divide(standardWorkingHours,2, RoundingMode.HALF_UP).multiply(getDecimal(100.0)).doubleValue();
+                production=standardWorkingHours.divide(manHoursCompleted,2, RoundingMode.HALF_UP).multiply(getDecimal(100.0)).doubleValue();
             }
             fbsWorkshopDispatchList.setProductionEfficiency(production+"");
             fbsWorkshopDispatchListListTotal.add(fbsWorkshopDispatchList);