Browse Source

旧数据处理

anderx 1 year ago
parent
commit
e7be6e2f69

+ 3 - 3
src/main/java/com/goafanti/order/bo/OutOrderProject.java

@@ -22,7 +22,7 @@ public class OutOrderProject {
      * 服务类型
      */
     @Excel(name = "服务类型")
-    private Integer serviceType;
+    private String serviceType;
     /**
      * 清算状态(结算状态) 0-首付待付请,1-尾款待付清,2-已付请,3-部分退款,4-全部退款
      */
@@ -202,11 +202,11 @@ public class OutOrderProject {
         this.salesType = salesType;
     }
 
-    public Integer getServiceType() {
+    public String getServiceType() {
         return serviceType;
     }
 
-    public void setServiceType(Integer serviceType) {
+    public void setServiceType(String serviceType) {
         this.serviceType = serviceType;
     }
 

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

@@ -239,4 +239,6 @@ public interface OrderNewService {
     void pushDunNodeContent();
 
 	void pushOrderDunContent(TOrderNew e);
+
+	String pushOrderGetDunContent(TOrderNew e);
 }

+ 6 - 33
src/main/java/com/goafanti/order/service/impl/OrderChangeServiceImpl.java

@@ -17,7 +17,10 @@ import com.goafanti.core.mybatis.JDBCIdGenerator;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.order.bo.*;
-import com.goafanti.order.enums.*;
+import com.goafanti.order.enums.OrderChangeProcess;
+import com.goafanti.order.enums.OrderChangeType;
+import com.goafanti.order.enums.OrderNewState;
+import com.goafanti.order.enums.OrderType;
 import com.goafanti.order.service.NewOrderDunService;
 import com.goafanti.order.service.OrderChangeService;
 import com.goafanti.order.service.OrderNewService;
@@ -96,6 +99,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 
 
 
+
 	@Override
 	public int addOrderChange(NewOrderChangeBo t,String startRemarks) {
 		TOrderNew ton=new TOrderNew();
@@ -690,44 +694,13 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
 			TOrderMid tm=new TOrderMid();
 			tm.setOrderNo(nb.getOrderNo());
 			tm.setProjectType(1);
-			tm.setDunNodeContent(getDunNodeContent(t1));
+			tm.setDunNodeContent(orderNewService.pushOrderGetDunContent(t1));
 			tOrderMidMapper.updateByOrderNo(tm);
 		}
 
 		tOrderNewMapper.updateByPrimaryKeySelective(orderNew);
 	}
 
-	private String getDunNodeContent(TOrderNew e) {
-		List<OutNewOrderDunBo> dunBoList = newOrderDunMapper.selectListNewOrderDun(e.getOrderNo(), null);
-		StringBuilder valueByCode= new StringBuilder();
-		for (OutNewOrderDunBo bo : dunBoList) {
-			String str =""+bo.getProjectType()+bo.getDunType();
-			valueByCode.append(NewOrderDunType.getValueByCode(Integer.valueOf(str)));
-			if (bo.getDunType().equals(0)){
-				valueByCode.append(bo.getCustomizeName());
-				if(StringUtils.isNotBlank(bo.getCustomizeTimes())){
-					valueByCode.append(" ").append(bo.getCustomizeTimes());
-				}
-			}else if (bo.getProjectType().equals(5)||bo.getProjectType().equals(6)){
-				if (bo.getDunType().equals(2)){
-					valueByCode.append(" ").append(bo.getStartDate());
-				}
-
-			}
-			if (bo.getAppropriationRatio()!=null){
-				valueByCode.append(" ").append(bo.getAppropriationRatio()).append("%");
-			}else {
-				valueByCode.append(" ").append(bo.getMoney());
-			}
-			if (bo.getStatus()==0){
-				valueByCode.append(" 未启动");
-			}else if (bo.getStatus()==1){
-				valueByCode.append(" 已启动");
-			}
-			valueByCode.append(",");
-		}
-		return valueByCode.toString();
-	}
 
 	@Override
 	public boolean checkOderNo(String orderNo) {

+ 15 - 8
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -2521,6 +2521,17 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 	@Override
 	public void pushOrderDunContent(TOrderNew e) {
+		String valueByCode = pushOrderGetDunContent(e);
+		if (StringUtils.isNotBlank(valueByCode)){
+			TOrderMid mid=new TOrderMid();
+			mid.setOrderNo(e.getOrderNo());
+			mid.setDunNodeContent(valueByCode);
+			tOrderMidMapper.updateByOrderNo(mid);
+		}
+	}
+
+	@Override
+	public String pushOrderGetDunContent(TOrderNew e) {
 		List<OutNewOrderDunBo> dunBoList = newOrderDunMapper.selectListNewOrderDun(e.getOrderNo(), null);
 		StringBuilder valueByCode= new StringBuilder();
 		for (OutNewOrderDunBo bo : dunBoList) {
@@ -2538,9 +2549,9 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 			}
 			if (bo.getAppropriationRatio()!=null){
-				valueByCode.append(" ").append(bo.getAppropriationRatio()).append("%");
+				valueByCode.append(" ").append(bo.getAppropriationRatio().multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()).append("%");
 			}else {
-				valueByCode.append(" ").append(bo.getMoney());
+				valueByCode.append(" ").append(bo.getMoney().stripTrailingZeros().toPlainString());
 			}
 			if (bo.getStatus()==0){
 				valueByCode.append(" 未启动");
@@ -2549,12 +2560,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			}
 			valueByCode.append(",");
 		}
-		if (StringUtils.isNotBlank(valueByCode)){
-			TOrderMid mid=new TOrderMid();
-			mid.setOrderNo(e.getOrderNo());
-			mid.setDunNodeContent(valueByCode.toString());
-			tOrderMidMapper.updateByOrderNo(mid);
-		}
+		if (valueByCode.length()>0)valueByCode.deleteCharAt(valueByCode.length()-1);
+		return valueByCode.toString();
 	}
 
 }

+ 9 - 4
src/main/java/com/goafanti/order/service/impl/UserStatisticsServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -105,10 +106,14 @@ public class UserStatisticsServiceImpl extends BaseMybatisDao<UserMidMapper> imp
 			//计算比例
 			BigDecimal orderReceivables=BigDecimal.ZERO;
 			if (e.getOrderReceivables()!=null)orderReceivables=e.getOrderReceivables();
-			BigDecimal settlementAmount=BigDecimal.ZERO;
-			if (e.getSettlementAmount()!=null)settlementAmount=e.getSettlementAmount();
-			BigDecimal divide = settlementAmount.divideToIntegralValue(orderReceivables);
-			System.out.println(divide);
+			if (orderReceivables.compareTo(BigDecimal.ZERO)!=0){
+				BigDecimal settlementAmount=BigDecimal.ZERO;
+				if (e.getSettlementAmount()!=null)settlementAmount=e.getSettlementAmount();
+				BigDecimal divide = settlementAmount.divide(orderReceivables, 2, RoundingMode.HALF_UP);
+				BigDecimal multiply = divide.multiply(new BigDecimal(100));
+				e.setContractAmountProportion(multiply+"%");
+			}
+			System.out.println(e.getOrderReceivables()+" / "+e.getSettlementAmount()+"="+e.getContractAmountProportion());
 		}
 		return outOrderProject;
 	}