zhijiezhao 2 anni fa
parent
commit
27480f5e8b

+ 6 - 0
src/main/java/com/caimei365/order/mapper/ReceiptMapper.java

@@ -270,4 +270,10 @@ public interface ReceiptMapper {
     List<ShopOrderVo> ReceiptDetails(String keyWord);
 
     List<Integer> getTeamClubUserIdBySpId(Integer spId);
+
+    PutAwayFeePo findPutAwayFee(Integer shopId);
+
+    void insertPutAwayFeeRecordForNew(PutAwayFeePo history);
+
+    void insertPutAwayFeeRecordForOld(PutAwayFeePo history);
 }

+ 31 - 0
src/main/java/com/caimei365/order/model/po/PutAwayFeePo.java

@@ -0,0 +1,31 @@
+package com.caimei365.order.model.po;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * @author zzj
+ */
+@Data
+@Accessors(fluent = true)
+public class PutAwayFeePo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 起始时间
+     */
+    private String validityDate;
+    /**
+     * 到期时间
+     */
+    private String dateStrings;
+    /**
+     * cdr表id
+     */
+    private Integer receiptId;
+    /**
+     * shopId
+     */
+    private Integer shopId;
+}

+ 18 - 1
src/main/java/com/caimei365/order/service/impl/ReceiptServiceImpl.java

@@ -535,10 +535,27 @@ public class ReceiptServiceImpl implements ReceiptService {
                 receiptPo.setShopName(receiptOperateDto.getShopName());
             }
             receiptPo.setReceiptStatus(2);
-
             receiptPo.setNewReceiptType(receiptOperateDto.getNewReceiptType());
             receiptPo.setConfirmUserPermissionId(receiptUser.getId());
             receiptPo.setConfirmDate(time);
+            if (1 == receiptOperateDto.getNewReceiptType()) {
+                Integer shopId = receiptOperateDto.getShopId();
+                if (null == shopId || shopId < 1) {
+                    return ResponseJson.error(-2, "请选择供应商!", null);
+                }
+                //上架费关联,之前的到期或之前没缴纳过now()-now()+1,没到期enddate()-enddate()+1
+                PutAwayFeePo history = receiptMapper.findPutAwayFee(shopId);
+                if (null != history) {
+                    //有缴纳记录并且不过期
+                    history.receiptId(receiptOperateDto.getId()).validityDate(history.dateStrings());
+                    receiptMapper.insertPutAwayFeeRecordForOld(history);
+                } else {
+                    //无缴纳记录,now()-now()+1
+                    PutAwayFeePo putAwayFeePo = new PutAwayFeePo();
+                    putAwayFeePo.receiptId(receiptOperateDto.getId());
+                    receiptMapper.insertPutAwayFeeRecordForNew(putAwayFeePo);
+                }
+            }
         }
         // 更新收款记录
         receiptMapper.updateReceipt(receiptPo);

+ 26 - 3
src/main/resources/mapper/ReceiptMapper.xml

@@ -56,7 +56,7 @@
             <if test="shopName != null">
                 shopName=#{shopName},
             </if>
-            <if test="shopId !=null">
+            <if test="shopId != null">
                 shopID=#{shopId},
             </if>
             <if test="shopOrderId !=null">
@@ -182,7 +182,10 @@
         WHERE user_id = #{userId}
     </select>
     <select id="getReceiptType" resultType="com.caimei365.order.model.vo.cmOfflineCollectionVo">
-        SELECT TYPE AS id, bankAccount AS TYPE FROM  cm_offline_collection WHERE isDisable != 0 ORDER BY id
+        SELECT TYPE AS id, bankAccount AS TYPE
+        FROM cm_offline_collection
+        WHERE isDisable != 0
+        ORDER BY id
     </select>
     <select id="getReceiptTypeById" resultType="com.caimei365.order.model.vo.ReceiptTypeVo">
         SELECT `id`, `type`
@@ -1030,6 +1033,14 @@
         INSERT INTO cm_rebate_record(type, shopId, receiptID, shopOrderId, rebateAmount, operatTime)
         VALUES (#{type}, #{shopId}, #{receiptId}, #{shopOrderId}, #{rebateAmount}, #{operateTime})
     </insert>
+    <insert id="insertPutAwayFeeRecordForNew">
+        INSERT INTO cm_receipt (validityDate, dateStrings, receiptID)
+        VALUES (NOW(), DATE_ADD(NOW(), INTERVAL 1 YEAR), #{receiptId})
+    </insert>
+    <insert id="insertPutAwayFeeRecordForOld">
+        INSERT INTO cm_receipt (validityDate, dateStrings, receiptID)
+        VALUES (#{dateStrings}, DATE_ADD(#{dateStrings}, INTERVAL 1 YEAR), #{receiptId})
+    </insert>
     <select id="getOrderReceiptRelationList" resultType="com.caimei365.order.model.po.OrderReceiptRelationPo">
         SELECT cror.id,
                cror.relationType,
@@ -1112,6 +1123,7 @@
 
 
     </select>
+
     <select id="getTeamClubUserIdBySpId" resultType="java.lang.Integer">
         SELECT userID
         FROM club
@@ -1120,5 +1132,16 @@
                        WHERE teamId = (SELECT teamId FROM cm_serviceteam_group WHERE serviceId = #{spId}))
     </select>
 
-
+    <select id="findPutAwayFee" resultType="com.caimei365.order.model.po.PutAwayFeePo">
+        SELECT cc.validityDate, cc.dateStrings, cc.receiptId, cdr.shopId
+        FROM cm_receipt cc
+                 LEFT JOIN cm_discern_receipt cdr ON cc.receiptId = cdr.id
+        WHERE cdr.newReceiptType = 1
+          AND cdr.receStatct = 0
+          AND cdr.shopId IS NOT NULL
+          AND cdr.shopID = #{shopId}
+          AND DATE_FORMAT(cc.dateStrings, '%y-%m-%d') > DATE_FORMAT(NOW(), '%y-%m-%d')
+        ORDER BY dateStrings DESC
+        LIMIT 1
+    </select>
 </mapper>