Browse Source

订单收付信息bugfix

zhijiezhao 2 years ago
parent
commit
bd1420182f

+ 2 - 0
src/main/java/com/caimei/modules/order/dao/NewOrderDao.java

@@ -258,4 +258,6 @@ public interface NewOrderDao extends CrudDao<NewOrder> {
     Double findSettleSum(String shopOrderId);
 
     List<SettleRecord> findSettleRecord(Integer orderID);
+
+    Double findSettleAmount(Integer orderID);
 }

+ 9 - 0
src/main/java/com/caimei/modules/order/entity/NewOrder.java

@@ -110,6 +110,7 @@ public class NewOrder extends DataEntity<NewOrder> {
     private String spName;
     private Integer serviceProviderId;  //协销Id
     private Integer settleStatus;    //结算状态   1未结算2部分结算3已结算
+    private Double settleAmount;   // 已结算金额
 
     private String productName;     //商品名称(根据商品名称筛选订单)
     private List<NewOrderProduct> orderProduct;// 订单内的商品集合
@@ -158,6 +159,14 @@ public class NewOrder extends DataEntity<NewOrder> {
     private Integer receiveCouponId;
     private CmHeheCouponOrderRecord heheCouponRecord;   //优惠券信息
 
+    public Double getSettleAmount() {
+        return settleAmount;
+    }
+
+    public void setSettleAmount(Double settleAmount) {
+        this.settleAmount = settleAmount;
+    }
+
     public Integer getSettleRecordNum() {
         return settleRecordNum;
     }

+ 3 - 4
src/main/java/com/caimei/modules/order/service/NewShopOrderService.java

@@ -450,6 +450,9 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
             orderIds = cmDiscernReceiptDao.findRebateOrderID(orderList.stream().map(NewOrder::getOrderID).collect(Collectors.toList()));
         }
         for (NewOrder order : orderList) {
+            if("0".equals(order.getOnlinePayFlag())){
+                order.setSettleAmount(newOrderDao.findSettleAmount(order.getOrderID()));
+            }
             if (orderIds != null && orderIds.contains(order.getOrderID())) {
                 order.setRebateOrder("1");
                 order.setReceiptStatus("4");
@@ -526,10 +529,6 @@ public class NewShopOrderService extends CrudService<NewShopOrderDao, NewShopOrd
                 order.setClubName(name);
             }
         }
-        // 1未结算2部分结算3已结算
-        if(null!=newOrder.getSettleStatus()&&1==newOrder.getSettleStatus()){
-//            orderList.stream().filter(o->o.getNewShopOrders().stream().map(NewShopOrder::getSettleStatus).collect(Collectors.toList()).contains(2,3))
-        }
         return page;
     }
 

+ 7 - 0
src/main/resources/mappings/modules/order/OrderMapper.xml

@@ -1368,6 +1368,13 @@
         where cso.orderID=#{orderID}
         and settleType = 2
     </select>
+    <select id="findSettleAmount" resultType="java.lang.Double">
+        SELECT SUM(settleAmount)
+        FROM cm_settle_record csr
+        LEFT JOIN cm_shop_order cso ON csr.shopOrderId = cso.shopOrderId
+        WHERE settleType=1
+          AND cso.orderId=#{orderID}
+    </select>
     <insert id="insertSplitAccount">
         INSERT INTO cm_split_account (orderId, productId, orderProductId, shopId, couponRecordId, vipRecordId,
                                       authVipRecordId, type, subUserNo, splitAccount,

+ 27 - 8
src/main/webapp/WEB-INF/views/modules/order/checkPaymentOrder.jsp

@@ -420,9 +420,12 @@
                     <th>付款状态</th>
                     <th>应付金额</th>
                     <th>已付金额</th>
+                    <th>结算状态</th>
+                    <th>应结金额</th>
+                    <th>已结金额</th>
                     <th>退款状态</th>
                     <th>退款金额</th>
-                    <th colspan="2">机构</th>
+                    <th>机构</th>
                     <th>优惠券</th>
                     <th>经理折扣</th>
                     <th>机构运费</th>
@@ -495,6 +498,22 @@
                             <fmt:formatNumber value="${s.paid}" type="number" pattern="#,##0.00"/>
                         </c:if>
                     </td>
+                    <td>
+                        <c:if test="${s.onlinePayFlag eq 0}">
+                            <c:if test="${s.settleAmount<s.shouldPayShopAmount&&s.settleAmount>0}">部分结算</c:if>
+                            <c:if test="${s.settleAmount=s.shouldPayShopAmount&&s.settleAmount>0}">已结算</c:if>
+                            <c:if test="${s.settleAmount=0}">未结算</c:if>
+                        </c:if>
+                        <c:if test="${s.onlinePayFlag eq 1}">---</c:if>
+                    </td>
+                    <td>
+                        <c:if test="${s.onlinePayFlag eq 0}"><fmt:formatNumber value="${s.shouldPayShopAmount}" type="number" pattern="#,##0.00"/></c:if>
+                        <c:if test="${s.onlinePayFlag eq 1}">---</c:if>
+                    </td>
+                    <td>
+                        <c:if test="${s.onlinePayFlag eq 0}"><fmt:formatNumber value="${s.settleAmount}" type="number" pattern="#,##0.00"/></c:if>
+                        <c:if test="${s.onlinePayFlag eq 1}">---</c:if>
+                    </td>
                     <td>
                         <c:if test="${s.refundType == 1}">
                             <font color="#ff8c00">部分退款</font>
@@ -507,7 +526,7 @@
                         </c:if>
                     </td>
                     <td><fmt:formatNumber value="${s.returnValue}" type="number" pattern="#,##0.00"/></td>
-                    <td colspan="2">
+                    <td>
                         <c:if test="${s.organizeID == '1'}">
                             <span class="org-note">星范</span>
                         </c:if>
@@ -553,8 +572,8 @@
                         <th colspan="2">应付供应商</th>
                         <th colspan="3">应付税费</th>
                         <th>供应商运费</th>
-                        <th>付第三方</th>
-                        <th>成本类型</th>
+                        <th colspan="2">付第三方</th>
+                        <th colspan="2">成本类型</th>
                     </tr>
                     <tr class="t2">
                         <td colspan="3">${so.shopOrderNo}(${so.shopOrderID})</td>
@@ -586,8 +605,8 @@
                                                           pattern="#,##0.00"/></td>
                         <td class="product-freight"><fmt:formatNumber value="${so.shopPostFee}" type="number"
                                                                       pattern="#,##0.00"/></td>
-                        <td><fmt:formatNumber value="${so.shopOtherFee}" type="number" pattern="#,##0.00"/></td>
-                        <td><c:if test="${empty so.costType || so.costType == '1'}">固定成本</c:if><c:if
+                        <td colspan="2"><fmt:formatNumber value="${so.shopOtherFee}" type="number" pattern="#,##0.00"/></td>
+                        <td colspan="2"><c:if test="${empty so.costType || so.costType == '1'}">固定成本</c:if><c:if
                                 test="${so.costType == '2'}">比例成本</c:if></td>
                     </tr>
                     <tr>
@@ -600,7 +619,7 @@
                         <th colspan="2">总价</th>
                         <th colspan="3">供应商税率 / 单税费 / 总税费</th>
                         <th>成本(单)</th>
-                        <th colspan="2">成本(总)</th>
+                        <th colspan="4">成本(总)</th>
                     </tr>
                     <c:forEach items="${so.newOrderProducts}" var="p" varStatus="pIndex">
                         <tr class="pay-product-item">
@@ -651,7 +670,7 @@
                                 </c:otherwise>
                             </c:choose></td>
                             <td><fmt:formatNumber value="${p.costPrice}" type="number" pattern="#,##0.00"/></td>
-                            <td colspan="2"><fmt:formatNumber
+                            <td colspan="4"><fmt:formatNumber
                                     value="${p.costPrice * (p.num + p.presentNum - p.returnedNum)}" type="number"
                                     pattern="#,##0.00"/></td>
                         </tr>