LAPTOP-FO2T5SIU\35838 7 months ago
parent
commit
2655f2eeea

+ 5 - 0
pro-base/src/main/java/com/idea/customerManagement/service/ContractManageService.java

@@ -25,6 +25,7 @@ import com.rockstar.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -128,6 +129,10 @@ public class ContractManageService implements BaseService<ContractManage, Contra
         contractManage.setActualInternalArea(parkRoom.getActualInternalArea());
         contractManage.setActualShareArea(parkRoom.getActualShareArea());
         contractManage.setMaintenanceFunds(parkFloorDisc.getMaintenanceFunds());
+        if(parkFloorDisc.getMaintenanceFunds() != null){
+            BigDecimal area = new BigDecimal(parkRoom.getActualBuildArea().toString());
+            contractManage.setMaintenanceTotalPrice(parkFloorDisc.getMaintenanceFunds().multiply(area));
+        }
         contractManage.setContractStatus(1);
         contractManage.setFundCollectionStatus(1);
         contractManage.setCreatedAt(new Date());

+ 9 - 1
pro-base/src/main/java/com/idea/customerManagement/service/IntentionalDepositService.java

@@ -340,6 +340,7 @@ public class IntentionalDepositService implements BaseService<IntentionalDeposit
         payLog.setStatus(0);
         payLog.setCreatedAt(new Date());
         payLog.setCreatedBy(ShiroUtils.getUserId());
+        payLog.setSerialNumber(model.getDepositSerialNumber());
         payLogMapper.insertSelective(payLog);
 
         // 更新房间状态
@@ -435,7 +436,7 @@ public class IntentionalDepositService implements BaseService<IntentionalDeposit
                 builder.deleteCharAt(builder.length()-1);
             }
         }
-        String fullName = "";
+        String fullName = "(未选房)";
         // 意向金只有选房后 才有houseId
         if(StringUtils.isNotEmpty(newRecord.getHouseId())){
             ParkRoomResponse roomResponse = roomExtendMapper.getFullName(newRecord.getHouseId());
@@ -459,6 +460,8 @@ public class IntentionalDepositService implements BaseService<IntentionalDeposit
         Map<String, Object> picData = new HashMap<>();
         Map<String, Object> sealData = new HashMap<>();
         Map<String, Object> settingData = new HashMap<>();
+        Map<String, Object> settingInfoData;
+
         data.put("${serialNumber}", serialNumber);
         data.put("${name}", builder.toString());
         data.put("${collectionTime}", collectionTime);
@@ -468,6 +471,11 @@ public class IntentionalDepositService implements BaseService<IntentionalDeposit
         data.put("${capital}", capital);
         data.put("${receivedAmount}", receivedAmount);
         sealData.put("${seal}", sealPath);
+        settingInfoData = new HashMap<>();
+        settingInfoData.put("leftOffset", "50");
+        settingInfoData.put("topOffset", "0");
+        settingData.put("${seal}",settingInfoData);
+
         ReplaceWord.operateWord(response, filePath, fileName, data, picData, sealData, settingData);
 
 

+ 10 - 1
pro-base/src/main/java/com/idea/customerManagement/service/RoomSelectionInfoService.java

@@ -321,7 +321,7 @@ public class RoomSelectionInfoService implements BaseService<RoomSelectionInfo,
             data.put("${identityCard}", buyer.getIdentityCard());
             data.put("${address}", fullName);
             data.put("${area}", roomResponse.getPredictionBuildArea());
-            data.put("${roomNumber}", roomResponse.getRoomNumber());
+            data.put("${roomNumber}", roomResponse.getRoomNumber() == null ? "" : roomResponse.getRoomNumber());
             data.put("${roomChooseDate}", roomChooseDate);
             data.put("${username}", loginName);
             ReplaceWord.operateWord(response, filePath, fileName, data, picData, sealData, settingData);
@@ -357,6 +357,7 @@ public class RoomSelectionInfoService implements BaseService<RoomSelectionInfo,
         RoomSelectionInfo newRecord = selectByPrimaryKey(model.getId());
         String filePath = "/home/project/settleDown/tem/receipt.docx";
         String fileName = "定金收据.docx";
+        String sealPath = "/home/project/settleDown/tem/seal.png";
         String customerManagementId = newRecord.getCustomerManagementId();
         BuyerExample buyerExample = new BuyerExample();
         buyerExample.setOrderByClause("order_num asc");
@@ -393,6 +394,8 @@ public class RoomSelectionInfoService implements BaseService<RoomSelectionInfo,
         Map<String, Object> picData = new HashMap<>();
         Map<String, Object> sealData = new HashMap<>();
         Map<String, Object> settingData = new HashMap<>();
+        Map<String, Object> settingInfoData;
+
         data.put("${serialNumber}", serialNumber);
         data.put("${name}", builder.toString());
         data.put("${collectionTime}", collectionTime);
@@ -401,6 +404,12 @@ public class RoomSelectionInfoService implements BaseService<RoomSelectionInfo,
         data.put("${fullName}", fullName);
         data.put("${capital}", capital);
         data.put("${receivedAmount}", receivedAmount);
+        sealData.put("${seal}", sealPath);
+
+        settingInfoData = new HashMap<>();
+        settingInfoData.put("leftOffset", "50");
+        settingInfoData.put("topOffset", "0");
+        settingData.put("${seal}",settingInfoData);
 
         ReplaceWord.operateWord(response, filePath, fileName, data, picData, sealData, settingData);
 

+ 2 - 2
pro-base/src/main/java/com/idea/invoice/service/ReceiptManageService.java

@@ -244,7 +244,7 @@ public class ReceiptManageService implements BaseService<ReceiptManage, ReceiptM
 
         settingInfoData = new HashMap<>();
         settingInfoData.put("leftOffset", "50");
-        settingInfoData.put("topOffset", "-50");
+        settingInfoData.put("topOffset", "0");
         settingData.put("${seal}",settingInfoData);
 
 
@@ -255,7 +255,7 @@ public class ReceiptManageService implements BaseService<ReceiptManage, ReceiptM
 
             settingInfoData = new HashMap<>();
             settingInfoData.put("leftOffset", "300");
-            settingInfoData.put("topOffset", "-50");
+            settingInfoData.put("topOffset", "0");
             settingData.put("${huanpiao}",settingInfoData);
 
         }

+ 1 - 2
pro-base/src/main/java/com/idea/paymentManagement/mapper/PayLogExtendMapper.java

@@ -14,8 +14,7 @@ public interface PayLogExtendMapper {
 
     List<ContractManageDto> listByModel(ContractManageDto contractManageDto);
 
-
-
+    Integer countByGroupId(@Param("groupId") String groupId, @Param("contentType") String contentType);
 
 
 }

+ 10 - 9
pro-base/src/main/java/com/idea/paymentManagement/model/PayLog.java

@@ -1,8 +1,5 @@
 package com.idea.paymentManagement.model;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -28,8 +25,6 @@ public class PayLog implements Serializable {
 
     private BigDecimal payMoney;
 
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date payTime;
 
     private Integer paymentMethod;
@@ -38,18 +33,16 @@ public class PayLog implements Serializable {
 
     private Integer paymentStatus;
 
+    private String serialNumber;
+
     private String remark;
 
     private String createdBy;
 
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date createdAt;
 
     private String updatedBy;
 
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date updatedAt;
 
     private String fileList;
@@ -168,6 +161,14 @@ public class PayLog implements Serializable {
         this.paymentStatus = paymentStatus;
     }
 
+    public String getSerialNumber() {
+        return serialNumber;
+    }
+
+    public void setSerialNumber(String serialNumber) {
+        this.serialNumber = serialNumber == null ? null : serialNumber.trim();
+    }
+
     public String getRemark() {
         return remark;
     }

+ 70 - 0
pro-base/src/main/java/com/idea/paymentManagement/model/PayLogExample.java

@@ -1016,6 +1016,76 @@ public class PayLogExample {
             return (Criteria) this;
         }
 
+        public Criteria andSerialNumberIsNull() {
+            addCriterion("serial_number is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberIsNotNull() {
+            addCriterion("serial_number is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberEqualTo(String value) {
+            addCriterion("serial_number =", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberNotEqualTo(String value) {
+            addCriterion("serial_number <>", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberGreaterThan(String value) {
+            addCriterion("serial_number >", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberGreaterThanOrEqualTo(String value) {
+            addCriterion("serial_number >=", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberLessThan(String value) {
+            addCriterion("serial_number <", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberLessThanOrEqualTo(String value) {
+            addCriterion("serial_number <=", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberLike(String value) {
+            addCriterion("serial_number like", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberNotLike(String value) {
+            addCriterion("serial_number not like", value, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberIn(List<String> values) {
+            addCriterion("serial_number in", values, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberNotIn(List<String> values) {
+            addCriterion("serial_number not in", values, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberBetween(String value1, String value2) {
+            addCriterion("serial_number between", value1, value2, "serialNumber");
+            return (Criteria) this;
+        }
+
+        public Criteria andSerialNumberNotBetween(String value1, String value2) {
+            addCriterion("serial_number not between", value1, value2, "serialNumber");
+            return (Criteria) this;
+        }
+
         public Criteria andRemarkIsNull() {
             addCriterion("remark is null");
             return (Criteria) this;

+ 1 - 1
pro-base/src/main/java/com/idea/paymentManagement/service/MaintenanceFundsManagementService.java

@@ -164,7 +164,7 @@ public class MaintenanceFundsManagementService implements BaseService<Maintenanc
             if(CollectionUtils.isEmpty(invoiceManages)){
                 // 生成一条待推送的开票信息
                 InvoiceManage invoiceManage = invoiceManageService.getInfoByContract(model.getContractId(),
-                        "*不动产*&",2);
+                        "*不动产*",2);
                 // 正式发票
                 invoiceManage.setType("2");
                 // 专项维修资金

+ 59 - 17
pro-base/src/main/java/com/idea/paymentManagement/service/PayLogService.java

@@ -5,7 +5,10 @@ import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.idea.buildManage.mapper.ParkFloorDiscMapper;
+import com.idea.buildManage.mapper.ParkInfoMapper;
 import com.idea.buildManage.mapper.ParkRoomExtendMapper;
+import com.idea.buildManage.model.ParkFloorDisc;
 import com.idea.buildManage.model.ParkInfo;
 import com.idea.buildManage.model.ParkInfoExample;
 import com.idea.buildManage.model.ParkRoom;
@@ -72,6 +75,10 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
     private SysDictService sysDictService;
     @Autowired
     private ParkRoomExtendMapper roomExtendMapper;
+    @Autowired
+    private ParkInfoMapper parkInfoMapper;
+    @Autowired
+    private ParkFloorDiscMapper parkFloorDiscMapper;
 
 
     @Override
@@ -106,7 +113,7 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
 
     @Override
     public int updateByExample(PayLog PayLog, PayLogExample PayLogExample) {
-        return modelMapper.updateByExample(PayLog,PayLogExample);
+        return modelMapper.updateByExample(PayLog, PayLogExample);
     }
 
     @Override
@@ -142,11 +149,13 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
     @Transactional
     public int add(PayLog model) {
 
+        String serialNumber = getSerialNumber(model);
         String id = IdUtil.simpleUUID();
         model.setCreatedBy(ShiroUtils.getUserId());
         model.setCreatedAt(new Date());
         model.setStatus(0);
         model.setId(id);
+        model.setSerialNumber(serialNumber);
         int result = insertWithoutId(model);
         // 更新合同 预收款 收款状态
         ContractManage contractManage = contractManageMapper.selectByPrimaryKey(model.getContractId());
@@ -167,10 +176,10 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
                         .andContractIdEqualTo(model.getContractId())
                         .andPaymentTypeEqualTo("1");
                 List<InvoiceManage> invoiceManages = invoiceManageService.selectByExample(invoiceManageExample);
-                if(CollectionUtils.isEmpty(invoiceManages)){
+                if (CollectionUtils.isEmpty(invoiceManages)) {
                     // 新增待推送的开票信息
                     InvoiceManageDto invoiceManage = invoiceManageService.getInfoByContract(model.getContractId(),
-                            "*不动产*&",1);
+                            "*不动产*", 1);
                     // 正式发票
                     invoiceManage.setType("2");
                     // 房款
@@ -196,7 +205,7 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
         receiptManage.setBusinessId(id);
         // 票据类型
         String receiptType = "";
-        switch (model.getContentType()){
+        switch (model.getContentType()) {
             case 1: // 定金
                 receiptType = "2";
                 break;
@@ -209,13 +218,39 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
         }
         receiptManage.setReceiptType(receiptType);
         receiptManage.setReceiptMoney(model.getPayMoney());
-        // TODO: 2024/10/21 预收款登记暂无 流水号
-//        receiptManage.setReceiptNumber();
+        receiptManage.setReceiptNumber(serialNumber);
         receiptManageService.add(receiptManage);
 
         return result;
     }
 
+    public String getSerialNumber(PayLog model) {
+        CustomerManagement customerManagement = customerManagementMapper.selectByPrimaryKey(model.getCustomerManagementId());
+        String groupId = customerManagement.getGroupId();
+        String discId = customerManagement.getDiscId();
+        Integer contentType = model.getContentType();
+        String type = "";
+        if (contentType == 2) {
+            type = "SQ";
+        }
+        if (contentType == 3) {
+            type = "YHAJ";
+        }
+        // 查找这个小区已收取 首期或银行按揭的 数据量
+        Integer count = extendMapper.countByGroupId(groupId, String.valueOf(contentType));
+        String number = "";
+        if (count == 0) {
+            number = "00001";
+        } else {
+            count++;
+            number = String.format("%05d", count);
+        }
+        ParkInfo parkInfo = parkInfoMapper.selectByPrimaryKey(groupId);
+        ParkFloorDisc parkFloorDisc = parkFloorDiscMapper.selectByPrimaryKey(discId);
+        String serialNumber = parkInfo.getGroupName() + parkFloorDisc.getName() + "-" + type + number;
+        return serialNumber;
+    }
+
 
     /**
      * 收款信息
@@ -263,7 +298,7 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
         BigDecimal arrears = BigDecimal.ZERO;
         // 应收
         BigDecimal receivableMoney = BigDecimal.ZERO;
-        if(ObjectUtil.isNotNull(contractManage.getBuyerMoney())){
+        if (ObjectUtil.isNotNull(contractManage.getBuyerMoney())) {
             arrears = contractManage.getBuyerMoney().subtract(receivedMoney);
             receivableMoney = contractManage.getBuyerMoney();
         }
@@ -297,11 +332,12 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
 
     /**
      * 根据合同id 查询收款
+     *
      * @param contractId
      * @param payType
      * @return
      */
-    public String getMoneyByContractId(String contractId,Integer payType){
+    public String getMoneyByContractId(String contractId, Integer payType) {
         String money = extendMapper.getMoneyByContractId(contractId, payType);
         return money;
     }
@@ -309,6 +345,7 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
 
     /**
      * 收款收据
+     *
      * @param id
      * @param response
      */
@@ -319,7 +356,7 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
         String sealPath = "/home/project/settleDown/tem/seal.png";
         String filePath = "";
         String fileName = "";
-        switch (contentType){
+        switch (contentType) {
             case 1: // 定金
                 filePath = "/home/project/settleDown/tem/receipt.docx";
                 fileName = "定金收据.docx";
@@ -355,21 +392,24 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
         String collectionTime = DateUtils.parseDateToStr(DateUtils.DATE_CH, payLog.getPayTime());
         String content = "";
         String paymentMethod = "";
-        String contentTypeLabel = sysDictService.getDictLabel("CONTENT_TYPE",payLog.getContentType().toString());
-        String paymentMethodLabel = sysDictService.getDictLabel("COLLECTION_METHODS",payLog.getPaymentMethod().toString());
-        if(StringUtils.isNotEmpty(contentTypeLabel)){
+        String contentTypeLabel = sysDictService.getDictLabel("CONTENT_TYPE", payLog.getContentType().toString());
+        String paymentMethodLabel = sysDictService.getDictLabel("COLLECTION_METHODS", payLog.getPaymentMethod().toString());
+        if (StringUtils.isNotEmpty(contentTypeLabel)) {
             content = contentTypeLabel;
         }
-        if(StringUtils.isNotEmpty(paymentMethodLabel)){
+        if (StringUtils.isNotEmpty(paymentMethodLabel)) {
             paymentMethod = paymentMethodLabel;
         }
         String receivedAmount = payLog.getPayMoney().toString();
         String capital = MoneyUtils.amountConversion(receivedAmount);
+        String serialNumber = payLog.getSerialNumber();
 
         Map<String, Object> data = new HashMap<>();
         Map<String, Object> picData = new HashMap<>();
         Map<String, Object> sealData = new HashMap<>();
         Map<String, Object> settingData = new HashMap<>();
+        Map<String, Object> settingInfoData;
+
         data.put("${name}", name);
         data.put("${collectionTime}", collectionTime);
         data.put("${fullName}", fullName);
@@ -377,15 +417,17 @@ public class PayLogService implements BaseService<PayLog, PayLogExample> {
         data.put("${paymentMethod}", paymentMethod);
         data.put("${capital}", capital);
         data.put("${receivedAmount}", receivedAmount);
+        data.put("${serialNumber}", serialNumber);
         sealData.put("${seal}", sealPath);
+        settingInfoData = new HashMap<>();
+        settingInfoData.put("leftOffset", "50");
+        settingInfoData.put("topOffset", "0");
+        settingData.put("${seal}",settingInfoData);
+
         ReplaceWord.operateWord(response, filePath, fileName, data, picData, sealData, settingData);
 
 
     }
 
 
-
-
-
-
 }

+ 8 - 0
pro-base/src/main/java/com/idea/paymentManagement/service/RefundManageService.java

@@ -192,6 +192,14 @@ public class RefundManageService implements BaseService<RefundManage, RefundMana
         ParkRoom room = roomMapper.selectByPrimaryKey(contractManage.getHouseId());
         room.setSoldStatus(4);
         roomMapper.updateByPrimaryKeySelective(room);
+        // 更新定金管理 收取状态
+        RoomSelectionInfoExample example = new RoomSelectionInfoExample();
+        example.createCriteria().andCustomerManagementIdEqualTo(customerManagement.getId())
+                .andHouseIdEqualTo(contractManage.getHouseId());
+        List<RoomSelectionInfo> list = roomSelectionInfoMapper.selectByExample(example);
+        RoomSelectionInfo roomSelectionInfo = list.get(0);
+        roomSelectionInfo.setStatus(5);
+        roomSelectionInfoMapper.updateByPrimaryKeySelective(roomSelectionInfo);
 
         return result;
     }

+ 1 - 0
pro-base/src/main/resources/mybatis/buildManage/ParkRoomExtendMapper.xml

@@ -92,6 +92,7 @@
       park_floor_disc.id discId,
       mnp_building.id buildId,
       park_room.id,
+      park_room.room_no,
       park_room.room_number,
       park_room.prediction_build_area,
       park_floor_disc.subscription_funds

+ 13 - 1
pro-base/src/main/resources/mybatis/paymentManagement/PayLogExtendMapper.xml

@@ -22,7 +22,7 @@
     from contract_manage
     left join pay_log on contract_manage.id = pay_log.contract_id and pay_log.pay_type = #{payType}
     <where>
-      and contract_status = '2'
+      and contract_status in (2,3)
       <if test="houseName != null and houseName != ''">
         and house_name like concat('%',#{houseName},'%')
       </if>
@@ -37,5 +37,17 @@
       ORDER BY contract_manage.created_at DESC
   </select>
 
+    <select id="countByGroupId" resultType="java.lang.Integer">
+        select count(1) from pay_log
+        <where>
+            <if test="groupId != null and groupId !=''">
+                and house_id in (select id from park_room where group_id = #{groupId})
+            </if>
+            <if test="contentType != null and contentType !=''">
+                and content_type = #{contentType}
+            </if>
+        </where>
+    </select>
+
 
 </mapper>

+ 26 - 7
pro-base/src/main/resources/mybatis/paymentManagement/PayLogMapper.xml

@@ -16,6 +16,7 @@
     <result column="payment_method" jdbcType="INTEGER" property="paymentMethod" />
     <result column="status" jdbcType="INTEGER" property="status" />
     <result column="payment_status" jdbcType="INTEGER" property="paymentStatus" />
+    <result column="serial_number" jdbcType="VARCHAR" property="serialNumber" />
     <result column="remark" jdbcType="VARCHAR" property="remark" />
     <result column="created_by" jdbcType="VARCHAR" property="createdBy" />
     <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
@@ -86,7 +87,7 @@
   <sql id="Base_Column_List">
     id, house_id, contract_id, customer_management_id, pay_type, content_type, bank_name,
     bank_branch_name, bank_number, pay_money, pay_time, payment_method, status, payment_status,
-    remark, created_by, created_at, updated_by, updated_at
+    serial_number, remark, created_by, created_at, updated_by, updated_at
   </sql>
   <sql id="Blob_Column_List">
     file_list
@@ -144,16 +145,18 @@
                          customer_management_id, pay_type, content_type,
                          bank_name, bank_branch_name, bank_number,
                          pay_money, pay_time, payment_method,
-                         status, payment_status, remark,
-                         created_by, created_at, updated_by,
-                         updated_at, file_list)
+                         status, payment_status, serial_number,
+                         remark, created_by, created_at,
+                         updated_by, updated_at, file_list
+    )
     values (#{id,jdbcType=VARCHAR}, #{houseId,jdbcType=VARCHAR}, #{contractId,jdbcType=VARCHAR},
             #{customerManagementId,jdbcType=VARCHAR}, #{payType,jdbcType=INTEGER}, #{contentType,jdbcType=INTEGER},
             #{bankName,jdbcType=VARCHAR}, #{bankBranchName,jdbcType=VARCHAR}, #{bankNumber,jdbcType=CHAR},
             #{payMoney,jdbcType=DECIMAL}, #{payTime,jdbcType=TIMESTAMP}, #{paymentMethod,jdbcType=INTEGER},
-            #{status,jdbcType=INTEGER}, #{paymentStatus,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR},
-            #{createdBy,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedBy,jdbcType=VARCHAR},
-            #{updatedAt,jdbcType=TIMESTAMP}, #{fileList,jdbcType=LONGVARCHAR})
+            #{status,jdbcType=INTEGER}, #{paymentStatus,jdbcType=INTEGER}, #{serialNumber,jdbcType=VARCHAR},
+            #{remark,jdbcType=VARCHAR}, #{createdBy,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP},
+            #{updatedBy,jdbcType=VARCHAR}, #{updatedAt,jdbcType=TIMESTAMP}, #{fileList,jdbcType=LONGVARCHAR}
+           )
   </insert>
   <insert id="insertSelective" parameterType="com.idea.paymentManagement.model.PayLog">
     insert into pay_log
@@ -200,6 +203,9 @@
       <if test="paymentStatus != null">
         payment_status,
       </if>
+      <if test="serialNumber != null">
+        serial_number,
+      </if>
       <if test="remark != null">
         remark,
       </if>
@@ -262,6 +268,9 @@
       <if test="paymentStatus != null">
         #{paymentStatus,jdbcType=INTEGER},
       </if>
+      <if test="serialNumber != null">
+        #{serialNumber,jdbcType=VARCHAR},
+      </if>
       <if test="remark != null">
         #{remark,jdbcType=VARCHAR},
       </if>
@@ -333,6 +342,9 @@
       <if test="record.paymentStatus != null">
         payment_status = #{record.paymentStatus,jdbcType=INTEGER},
       </if>
+      <if test="record.serialNumber != null">
+        serial_number = #{record.serialNumber,jdbcType=VARCHAR},
+      </if>
       <if test="record.remark != null">
         remark = #{record.remark,jdbcType=VARCHAR},
       </if>
@@ -372,6 +384,7 @@
     payment_method = #{record.paymentMethod,jdbcType=INTEGER},
     status = #{record.status,jdbcType=INTEGER},
     payment_status = #{record.paymentStatus,jdbcType=INTEGER},
+    serial_number = #{record.serialNumber,jdbcType=VARCHAR},
     remark = #{record.remark,jdbcType=VARCHAR},
     created_by = #{record.createdBy,jdbcType=VARCHAR},
     created_at = #{record.createdAt,jdbcType=TIMESTAMP},
@@ -398,6 +411,7 @@
     payment_method = #{record.paymentMethod,jdbcType=INTEGER},
     status = #{record.status,jdbcType=INTEGER},
     payment_status = #{record.paymentStatus,jdbcType=INTEGER},
+    serial_number = #{record.serialNumber,jdbcType=VARCHAR},
     remark = #{record.remark,jdbcType=VARCHAR},
     created_by = #{record.createdBy,jdbcType=VARCHAR},
     created_at = #{record.createdAt,jdbcType=TIMESTAMP},
@@ -449,6 +463,9 @@
       <if test="paymentStatus != null">
         payment_status = #{paymentStatus,jdbcType=INTEGER},
       </if>
+      <if test="serialNumber != null">
+        serial_number = #{serialNumber,jdbcType=VARCHAR},
+      </if>
       <if test="remark != null">
         remark = #{remark,jdbcType=VARCHAR},
       </if>
@@ -485,6 +502,7 @@
         payment_method = #{paymentMethod,jdbcType=INTEGER},
         status = #{status,jdbcType=INTEGER},
         payment_status = #{paymentStatus,jdbcType=INTEGER},
+        serial_number = #{serialNumber,jdbcType=VARCHAR},
         remark = #{remark,jdbcType=VARCHAR},
         created_by = #{createdBy,jdbcType=VARCHAR},
         created_at = #{createdAt,jdbcType=TIMESTAMP},
@@ -508,6 +526,7 @@
         payment_method = #{paymentMethod,jdbcType=INTEGER},
         status = #{status,jdbcType=INTEGER},
         payment_status = #{paymentStatus,jdbcType=INTEGER},
+        serial_number = #{serialNumber,jdbcType=VARCHAR},
         remark = #{remark,jdbcType=VARCHAR},
         created_by = #{createdBy,jdbcType=VARCHAR},
         created_at = #{createdAt,jdbcType=TIMESTAMP},