|
@@ -1,6 +1,7 @@
|
|
|
package org.jeecg.modules.fbsWorkshopDispatchList.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList;
|
|
|
import org.jeecg.modules.fbsWorkshopDispatchList.mapper.FbsWorkshopDispatchListMapper;
|
|
|
import org.jeecg.modules.fbsWorkshopDispatchList.service.IFbsWorkshopDispatchListService;
|
|
@@ -10,10 +11,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
|
+import static org.jeecg.common.util.oConvertUtils.isEmpty;
|
|
|
+
|
|
|
|
|
|
* @Description: 车间派工单
|
|
|
* @author: jeecg-boot
|
|
@@ -41,18 +45,24 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
|
|
|
@Override
|
|
|
public List<FbsWorkshopDispatchList> getSumDispatch() {
|
|
|
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=fbsWorkshopDispatchListMapper.getSumDispatch();
|
|
|
|
|
|
- LambdaQueryWrapper<FbsWorkshopDispatchList> lambdaQueryWrapper=new LambdaQueryWrapper<>();
|
|
|
- lambdaQueryWrapper.eq(FbsWorkshopDispatchList::getDelFlag,"0");
|
|
|
- List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=iFbsWorkshopDispatchListService.list(lambdaQueryWrapper);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ String startTime = fmt.format(new Date().getTime()-14*24*60*60*1000);
|
|
|
+ String endTime = fmt.format(new Date());
|
|
|
+ List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListMapper.getDispatchClose(startTime,endTime);
|
|
|
|
|
|
- List<Date> dateList=startDateAndEndDate("2020-10-14","2020-10-17");
|
|
|
- SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ List<Date> dateList=startDateAndEndDate(startTime,endTime);
|
|
|
+
|
|
|
|
|
|
if(fbsWorkshopDispatchListListSum!=null&&fbsWorkshopDispatchListList!=null&&dateList!=null){
|
|
|
for(FbsWorkshopDispatchList dispatchListSum:fbsWorkshopDispatchListListSum){
|
|
|
+ Integer quantityCompletedTotal=0;
|
|
|
List<FbsWorkshopDispatchList> dispatchListAdd=new ArrayList<>();
|
|
|
for(Date date:dateList){
|
|
|
String dateString=fmt.format(date);
|
|
@@ -60,26 +70,35 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
for(FbsWorkshopDispatchList dispatchList:fbsWorkshopDispatchListList){
|
|
|
Integer orderIdSum=dispatchListSum.getProductionOrderNumberId();
|
|
|
Integer orderId=dispatchList.getProductionOrderNumberId();
|
|
|
- String dispatchDate=fmt.format(dispatchList.getDate());
|
|
|
+ String dispatchDate=fmt.format(dispatchList.getEndDate());
|
|
|
+ String proSum=dispatchListSum.getProductId();
|
|
|
+ String pro=dispatchList.getProductId();
|
|
|
|
|
|
- if(orderIdSum.equals(orderId)&&dateString.equals(dispatchDate)){
|
|
|
+ if(orderIdSum.equals(orderId)&&dateString.equals(dispatchDate)&&proSum.equals(pro)){
|
|
|
dispatchListAdd.add(dispatchList);
|
|
|
+ quantityCompletedTotal+=dispatchList.getQualifiedNumber();
|
|
|
isorder=true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if(isorder==false){
|
|
|
FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
- fbsWorkshopDispatchList.setDate(date);
|
|
|
+ fbsWorkshopDispatchList.setEndDate(date);
|
|
|
dispatchListAdd.add(fbsWorkshopDispatchList);
|
|
|
}
|
|
|
}
|
|
|
+ if(quantityCompletedTotal!=0){
|
|
|
+ dispatchListSum.setQuantityCompletedTotal(quantityCompletedTotal);
|
|
|
+ }
|
|
|
+
|
|
|
dispatchListSum.setFbsWorkshopDispatchListList(dispatchListAdd);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
mergeLines(fbsWorkshopDispatchListListSum);
|
|
|
+
|
|
|
+ getStatisticsTotal(fbsWorkshopDispatchListListSum,dateList);
|
|
|
return fbsWorkshopDispatchListListSum;
|
|
|
}
|
|
|
|
|
@@ -142,6 +161,95 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+* @Author chenchuang
|
|
|
+* @Description
|
|
|
+* @Date 2020/10/20 17:30
|
|
|
+* @Param [fbsWorkshopDispatchListList, dateList]
|
|
|
+* @return void
|
|
|
+*/
|
|
|
+ public void getStatisticsTotal(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList,List<Date> dateList){
|
|
|
+ Integer numberOfTasksTotal=0;
|
|
|
+ BigDecimal standardWorkingHoursTotal=new BigDecimal(0.00);
|
|
|
+ Integer quantityCompletedTotal=0;
|
|
|
+
|
|
|
+
|
|
|
+ for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
+ if(isNumber(workshopDispatchList.getNumberOfTasksTotal())){
|
|
|
+ numberOfTasksTotal+=Integer.parseInt(workshopDispatchList.getNumberOfTasksTotal());
|
|
|
+ }
|
|
|
+ if(isNumber(workshopDispatchList.getStandardWorkingHoursTotal())){
|
|
|
+ standardWorkingHoursTotal=standardWorkingHoursTotal.add(getDecimal(Double.parseDouble(workshopDispatchList.getStandardWorkingHoursTotal())));
|
|
|
+ }
|
|
|
+ if(workshopDispatchList.getQuantityCompletedTotal()!=null){
|
|
|
+ quantityCompletedTotal+=workshopDispatchList.getQuantityCompletedTotal();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListTotal=new ArrayList<>();
|
|
|
+ SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+
|
|
|
+ for(Date date:dateList){
|
|
|
+ String dateN=fmt.format(date);
|
|
|
+ Integer numberOfTasks=0;
|
|
|
+ Integer qualifiedNumber=0;
|
|
|
+ BigDecimal standardWorkingHours=new BigDecimal(0.00);
|
|
|
+
|
|
|
+ for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
|
|
|
+ if(workshopDispatchList.getFbsWorkshopDispatchListList()!=null){
|
|
|
+ for(FbsWorkshopDispatchList workshopDispatchListC:workshopDispatchList.getFbsWorkshopDispatchListList()){
|
|
|
+ String endDate=fmt.format(workshopDispatchListC.getEndDate());
|
|
|
+
|
|
|
+ if(dateN.equals(endDate)){
|
|
|
+ if(workshopDispatchListC.getNumberOfTasks()!=null){
|
|
|
+ numberOfTasks+=workshopDispatchListC.getNumberOfTasks();
|
|
|
+ }
|
|
|
+ if(workshopDispatchListC.getQualifiedNumber()!=null){
|
|
|
+ qualifiedNumber+=workshopDispatchListC.getQualifiedNumber();
|
|
|
+ }
|
|
|
+ if(isNumber(workshopDispatchListC.getStandardWorkingHours())){
|
|
|
+ standardWorkingHours=standardWorkingHours.add(getDecimal(Double.parseDouble(workshopDispatchListC.getStandardWorkingHours())));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
+ fbsWorkshopDispatchList.setNumberOfTasks(numberOfTasks);
|
|
|
+ fbsWorkshopDispatchList.setQualifiedNumber(qualifiedNumber);
|
|
|
+ fbsWorkshopDispatchList.setStandardWorkingHours(standardWorkingHours.doubleValue()+"");
|
|
|
+ fbsWorkshopDispatchListListTotal.add(fbsWorkshopDispatchList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
|
|
|
+ fbsWorkshopDispatchList.setProductionLineName("统计");
|
|
|
+ fbsWorkshopDispatchList.setNumberOfTasksTotal(numberOfTasksTotal+"");
|
|
|
+ fbsWorkshopDispatchList.setStandardWorkingHoursTotal(standardWorkingHoursTotal.doubleValue()+"");
|
|
|
+ fbsWorkshopDispatchList.setQuantityCompletedTotal(quantityCompletedTotal);
|
|
|
+ fbsWorkshopDispatchList.setFbsWorkshopDispatchListList(fbsWorkshopDispatchListListTotal);
|
|
|
+ fbsWorkshopDispatchListList.add(fbsWorkshopDispatchList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public BigDecimal getDecimal(Double d){
|
|
|
+ BigDecimal decimal= new BigDecimal(d);
|
|
|
+ return decimal;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean isNumber(String str){
|
|
|
+ if(isEmpty(str)){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ String reg = "\\d+(\\.\\d+)?";
|
|
|
+ return str.matches(reg);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String,Object> getProductHoursMonthReport() {
|
|
|
Map<String,Object> map=new HashMap<>();
|
|
@@ -164,11 +272,49 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
|
|
|
|
|
|
@Override
|
|
|
public List<Map<String, Object>> getAttendance() {
|
|
|
+ List<Map<String, Object>> mapList=new ArrayList<>();
|
|
|
+
|
|
|
+ List<Map<String, Object>> mapRelut=fbsWorkshopDispatchListMapper.getAttendance();
|
|
|
+ for(int i=1;i<=12;i++){
|
|
|
+ String month="";
|
|
|
+
|
|
|
+ if(i<10){
|
|
|
+ month="0"+i;
|
|
|
+ }else{
|
|
|
+ month=i+"";
|
|
|
+ }
|
|
|
+ boolean ismonth=false;
|
|
|
+ for(Map<String, Object> map:mapRelut){
|
|
|
+
|
|
|
+ if(month.equals(map.get("label"))){
|
|
|
+ ismonth=true;
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ismonth==false){
|
|
|
+ Map<String, Object> map=new HashMap<>();
|
|
|
+ map.put("label",month);
|
|
|
+ map.put("sum1",0);
|
|
|
+ map.put("sum2",0);
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return mapList;
|
|
|
+ }
|
|
|
|
|
|
- List<String> month=new ArrayList<>();
|
|
|
-
|
|
|
-
|
|
|
- return fbsWorkshopDispatchListMapper.getAttendance();
|
|
|
+ @Override
|
|
|
+ public boolean writeBackManHoursCompleted(String manHoursCompleted,String fbsWorkshopDispatchListId) {
|
|
|
+ Boolean isReults=false;
|
|
|
+
|
|
|
+ FbsWorkshopDispatchList fbsWorkshopDispatchListGetById=fbsWorkshopDispatchListMapper.selectById(fbsWorkshopDispatchListId);
|
|
|
+ fbsWorkshopDispatchListGetById.setManHoursCompleted(manHoursCompleted);
|
|
|
+
|
|
|
+ int reultRow=fbsWorkshopDispatchListMapper.updateById(fbsWorkshopDispatchListGetById);
|
|
|
+ if(reultRow>0){
|
|
|
+ isReults=true;
|
|
|
+ }
|
|
|
+ return isReults;
|
|
|
}
|
|
|
|
|
|
|