anderx 1 год назад
Родитель
Сommit
1910334540

+ 3 - 2
src/main/java/com/goafanti/expenseAccount/controller/ExpenseAccountController.java

@@ -5,6 +5,7 @@ import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.model.ExpenseAccount;
+import com.goafanti.common.model.TOrderPublicReleaseCount;
 import com.goafanti.common.utils.ParamUtils;
 import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -442,8 +443,8 @@ public class ExpenseAccountController extends CertifyApiController {
      */
     @RequestMapping(value = "/pushExpenseTotalAmount",method = RequestMethod.GET)
     public Result pushExpenseTotalAmount(){
-        expenseAccountService.pushExpenseTotalAmount();
-        return res().data(1);
+        List<TOrderPublicReleaseCount> list =expenseAccountService.pushExpenseTotalAmount();
+        return res().data(list);
     }
 
     /**

+ 2 - 1
src/main/java/com/goafanti/expenseAccount/service/ExpenseAccountService.java

@@ -1,6 +1,7 @@
 package com.goafanti.expenseAccount.service;
 
 import com.goafanti.common.model.ExpenseAccount;
+import com.goafanti.common.model.TOrderPublicReleaseCount;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.expenseAccount.bo.*;
 
@@ -78,5 +79,5 @@ public interface ExpenseAccountService {
 
     Object mainExpenseExport(Integer id, HttpServletResponse response);
 
-    void pushExpenseTotalAmount();
+    List<TOrderPublicReleaseCount> pushExpenseTotalAmount();
 }

+ 5 - 3
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -468,13 +468,15 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     }
 
     @Override
-    public void pushExpenseTotalAmount() {
+    public List<TOrderPublicReleaseCount> pushExpenseTotalAmount() {
 //                        orderNewService.pushOrderPublicReleaseCount("800326086952370176");
         List<TOrderNew> tOrderNews = orderNewService.selectGetAll();
+        List<TOrderPublicReleaseCount> list=new ArrayList<>();
         for (TOrderNew e : tOrderNews) {
-                orderNewService.pushOrderPublicReleaseCount(e.getOrderNo());
-
+            TOrderPublicReleaseCount tOrderPublicReleaseCount = orderNewService.pushOrderPublicReleaseCount(e.getOrderNo());
+            list.add(tOrderPublicReleaseCount);
         }
+        return list;
     }
 
     public void pushMainExpenseExport(MainExpenseAccount mainExpenseAccount,HttpServletResponse response, String uploadPath) {

+ 1 - 1
src/main/java/com/goafanti/order/service/OrderNewService.java

@@ -230,7 +230,7 @@ public interface OrderNewService {
 
 	void orderNewListDownload(InputOrderNewListBo in, HttpServletResponse response);
 
-	void pushOrderPublicReleaseCount(String orderNo);
+	TOrderPublicReleaseCount pushOrderPublicReleaseCount(String orderNo);
 
 	List<TOrderNew> selectGetAll();
 

+ 12 - 57
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -49,11 +49,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.ZoneId;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
@@ -709,68 +706,31 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	 * 处理订单公出&报销之间数据统计
 	 * @param orderNo
 	 */
-	public void pushOrderPublicReleaseCount(String orderNo) {
+	public TOrderPublicReleaseCount pushOrderPublicReleaseCount(String orderNo) {
 		//获取所有公出、订单与会员信息
 		List<PublicRelease> list = publicReleaseMapper.selectByOrderNo(orderNo);
 		TOrderNewBo t = tOrderNewMapper.getOrderNewDetail(orderNo);
-		List<TTaskMember> tTaskMembers = tTaskMemberMapper.selectByOrderNo(t.getOrderNo());
 		//公出时间统计
 		BigDecimal durationCount = BigDecimal.ZERO;
 		//公出次数
 		int count=0;
-		//年数
-		int yearSum=1;
-		//公出人数
 		List<String> peopleList = new ArrayList<>();
-		LocalDate startDate = LocalDate.now().withMonth(1).withDayOfMonth(1);
-		String sumYear= String.valueOf(startDate.getYear());
-		LocalDate endDate = startDate.withYear(startDate.getYear()+1);
-		//分成会员统计和非会员统计
-		if (!tTaskMembers.isEmpty()){
-			for (PublicRelease e : list) {
-				LocalDate date = e.getReleaseStart().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-				if (date.isAfter(startDate)&&date.isBefore(endDate)){
+		for (PublicRelease e : list) {
 					durationCount=durationCount.add(BigDecimal.valueOf(e.getDuration()));
 					if (!peopleList.contains(e.getAid())){
 						peopleList.add(e.getAid());
 					}
 					count++;
-				}
-			}
-			for (TTaskMember e : tTaskMembers) {
-				if(e.getYearSum()!=null&&e.getYearSum()>yearSum){
-					yearSum=e.getYearSum();
-				}
-			}
-		}else {
-			for (PublicRelease e : list) {
-					durationCount=durationCount.add(BigDecimal.valueOf(e.getDuration()));
-					if (!peopleList.contains(e.getAid())){
-						peopleList.add(e.getAid());
-					}
-					count++;
-			}
 		}
-		TOrderPublicReleaseCount out = tOrderPublicReleaseCountMapper.selectByOrderNo(orderNo,sumYear);
-			if (out==null){
-				out=new TOrderPublicReleaseCount();
-				out.setOrderNo(orderNo);
-				out.setMaxDuration(0d);
-				out.setActualDuration(durationCount.doubleValue());
-				out.setPeopleCount(peopleList.size());
-				out.setFrequency(count);
-				out.setSumYear(sumYear);
-				pushMaxDuration(t,out,yearSum);
-				tOrderPublicReleaseCountMapper.insertSelective(out);
-			}else {
-				out.setOrderNo(orderNo);
-				out.setMaxDuration(0d);
-				out.setActualDuration(durationCount.doubleValue());
-				out.setPeopleCount(peopleList.size());
-				out.setFrequency(count);
-				pushMaxDuration(t,out,yearSum);
-				tOrderPublicReleaseCountMapper.updateByPrimaryKeySelective(out);
-			}
+		TOrderPublicReleaseCount out = null;
+		out=new TOrderPublicReleaseCount();
+		out.setOrderNo(orderNo);
+		out.setMaxDuration(0d);
+		out.setActualDuration(durationCount.doubleValue());
+		out.setPeopleCount(peopleList.size());
+		out.setFrequency(count);
+		pushMaxDuration(t,out);
+		return out;
 
 
 	}
@@ -827,15 +787,10 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	 * 处理订单公出&报销最大公出
 	 * @param t
 	 * @param out
-	 * @param yearSum
 	 */
-	private void pushMaxDuration(TOrderNewBo t,TOrderPublicReleaseCount out ,int yearSum) {
+	private void pushMaxDuration(TOrderNewBo t,TOrderPublicReleaseCount out ) {
 		BigDecimal res=BigDecimal.ZERO;
 		BigDecimal totalAmount=t.getTotalAmount();
-		if (yearSum>1){
-			totalAmount=totalAmount.divide(BigDecimal.valueOf(yearSum),2, RoundingMode.HALF_UP);
-		}
-
 		int status=1;
 		if (totalAmount.compareTo(BigDecimal.valueOf(1)) < 0) {
 			res=BigDecimal.ZERO;