Преглед изворни кода

完成收据编号生成功能

Your Name пре 2 година
родитељ
комит
48a23d1084

+ 6 - 0
java110-bean/src/main/java/com/java110/dto/community/CommunitySettingDto.java

@@ -17,6 +17,12 @@ public class CommunitySettingDto extends PageDto implements Serializable {
 
     public static final String SETTING_TYPE_FEE = "2002";
 
+    /**
+     * 收据编号
+     */
+    public static final String SETTING_KEY_RECEIPT_CODE = "RECEIPT_CODE";
+
+
     private String csId;
     private String settingValue;
     private String remark;

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeReceiptDto.java

@@ -48,6 +48,8 @@ public class FeeReceiptDto extends PageDto implements Serializable {
 
     private String feeId;
 
+    private String receiptCode;
+
     public String getAmount() {
         return amount;
     }
@@ -239,4 +241,12 @@ public class FeeReceiptDto extends PageDto implements Serializable {
     public void setFeeId(String feeId) {
         this.feeId = feeId;
     }
+
+    public String getReceiptCode() {
+        return receiptCode;
+    }
+
+    public void setReceiptCode(String receiptCode) {
+        this.receiptCode = receiptCode;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/po/fee/FeeReceiptPo.java

@@ -16,6 +16,8 @@ public class FeeReceiptPo implements Serializable {
     private String payObjName;
     private String createTime;
 
+    private String receiptCode;
+
     public String getAmount() {
         return amount;
     }
@@ -103,4 +105,12 @@ public class FeeReceiptPo implements Serializable {
     public void setCreateTime(String createTime) {
         this.createTime = createTime;
     }
+
+    public String getReceiptCode() {
+        return receiptCode;
+    }
+
+    public void setReceiptCode(String receiptCode) {
+        this.receiptCode = receiptCode;
+    }
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/po/fee/PayFeeDetailPo.java

@@ -37,6 +37,8 @@ public class PayFeeDetailPo implements Serializable {
     private String cashierId;
     private String cashierName;
 
+    private String receiptCode;
+
 
     public String getDetailId() {
         return detailId;
@@ -181,4 +183,12 @@ public class PayFeeDetailPo implements Serializable {
     public void setCashierName(String cashierName) {
         this.cashierName = cashierName;
     }
+
+    public String getReceiptCode() {
+        return receiptCode;
+    }
+
+    public void setReceiptCode(String receiptCode) {
+        this.receiptCode = receiptCode;
+    }
 }

+ 3 - 3
java110-db/src/main/resources/mapper/community/CommunitySettingServiceDaoImplMapper.xml

@@ -69,9 +69,6 @@
         <if test="remark !=null and remark != ''">
             , t.remark= #{remark}
         </if>
-        <if test="communityId !=null and communityId != ''">
-            , t.community_id= #{communityId}
-        </if>
         <if test="settingKey !=null and settingKey != ''">
             , t.setting_key= #{settingKey}
         </if>
@@ -85,6 +82,9 @@
         <if test="csId !=null and csId != ''">
             and t.cs_id= #{csId}
         </if>
+        <if test="communityId !=null and communityId != ''">
+            and t.community_id= #{communityId}
+        </if>
 
     </update>
 

+ 8 - 5
java110-db/src/main/resources/mapper/fee/FeeReceiptServiceDaoImplMapper.xml

@@ -8,12 +8,12 @@
     <!-- 保存收据信息 add by wuxw 2018-07-03 -->
     <insert id="saveFeeReceiptInfo" parameterType="Map">
         insert into fee_receipt(
-        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type,pay_obj_id,pay_obj_name
+        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type,pay_obj_id,pay_obj_name,receipt_code
         <if test="createTime != null">
             ,create_time
         </if>
         ) values (
-        #{amount},#{objId},#{remark},#{objName},#{communityId},#{receiptId},#{objType},#{payObjId},#{payObjName}
+        #{amount},#{objId},#{remark},#{objName},#{communityId},#{receiptId},#{objType},#{payObjId},#{payObjName},#{receiptCode}
         <if test="createTime != null">
             ,#{createTime}
         </if>
@@ -24,10 +24,10 @@
     <!-- 批量插入费用 -->
     <insert id="saveFeeReceipts" parameterType="Map">
         insert into fee_receipt(
-        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type,pay_obj_id,pay_obj_name
+        amount,obj_id,remark,obj_name,community_id,receipt_id,obj_type,pay_obj_id,pay_obj_name,receipt_code
         ) values
         <foreach collection="feeReceiptPos" item="item" separator=",">
-            (#{item.amount},#{item.objId},#{item.remark},#{item.objName},#{item.communityId},#{item.receiptId},#{item.objType},#{item.payObjId},#{item.payObjName})
+            (#{item.amount},#{item.objId},#{item.remark},#{item.objName},#{item.communityId},#{item.receiptId},#{item.objType},#{item.payObjId},#{item.payObjName},#{item.receiptCode})
         </foreach>
     </insert>
 
@@ -37,7 +37,7 @@
         select t.amount,t.obj_id,t.obj_id objId,t.remark,t.status_cd,t.status_cd statusCd,t.obj_name,t.obj_name
         objName,t.community_id,t.community_id communityId,t.receipt_id,t.receipt_id receiptId,t.obj_type,t.obj_type
         objType,t.create_time createTime,frd.fee_name feeName,t.pay_obj_id payObjId,t.pay_obj_name payObjName,pf.fee_type_cd feeTypeCd,
-        frd.start_time startTime,frd.end_time endTime,pf.fee_flag feeFlag
+        frd.start_time startTime,frd.end_time endTime,pf.fee_flag feeFlag,t.receipt_code receiptCode
         from fee_receipt t
         inner join fee_receipt_detail frd on t.receipt_id = frd.receipt_id and frd.status_cd = '0'
         inner join pay_fee pf on frd.fee_id = pf.fee_id and pf.status_cd = '0'
@@ -320,6 +320,9 @@
         <if test="objName !=null and objName != ''">
             and t.obj_name= #{objName}
         </if>
+        <if test="receiptCode !=null and receiptCode != ''">
+            and t.receipt_code = #{receiptCode}
+        </if>
         <if test="communityId !=null and communityId != ''">
             and t.community_id= #{communityId}
         </if>

+ 2 - 2
java110-db/src/test/java/com/java110/AppTest.java

@@ -22,7 +22,7 @@ public class AppTest
     @Test
     public void parseInteger(){
         String communityId = "702019051443120001";
-
-        System.out.println(Long.parseLong(communityId));
+        String str = String.format("%0"+24+"d", 991);
+        System.out.println(str);
     }
 }

+ 10 - 0
java110-interface/src/main/java/com/java110/intf/fee/IFeeReceiptInnerServiceSMO.java

@@ -63,4 +63,14 @@ public interface IFeeReceiptInnerServiceSMO {
      */
     @RequestMapping(value = "/queryFeeReceiptsCount", method = RequestMethod.POST)
     int queryFeeReceiptsCount(@RequestBody FeeReceiptDto feeReceiptDto);
+
+
+    /**
+     * 生成收据编号
+     *
+     * @param communityId 小区ID
+     * @return 收据编号
+     */
+    @RequestMapping(value = "/generatorReceiptCode", method = RequestMethod.POST)
+    String generatorReceiptCode(@RequestBody String communityId);
 }

+ 8 - 4
service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java

@@ -18,10 +18,7 @@ import com.java110.fee.bmo.fee.IFeeBMO;
 import com.java110.intf.common.ICarInoutInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
-import com.java110.intf.fee.IFeeInnerServiceSMO;
-import com.java110.intf.fee.IPayFeeDetailV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
+import com.java110.intf.fee.*;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.car.CarInoutPo;
 import com.java110.po.fee.FeeAttrPo;
@@ -84,6 +81,9 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -372,6 +372,9 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
      */
     public JSONObject addFeePreDetail(JSONObject paramInJson) {
 
+        //todo 生成收据编号
+        String receiptCode = feeReceiptInnerServiceSMOImpl.generatorReceiptCode(paramInJson.getString("communityId"));
+
         JSONObject businessFeeDetail = new JSONObject();
         businessFeeDetail.putAll(paramInJson);
         businessFeeDetail.put("detailId", paramInJson.getString("detailId"));
@@ -423,6 +426,7 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
             payFeeDetail.setPayableAmount("0.0");
         }
         payFeeDetail.setPayOrderId(paramInJson.getString("oId"));
+        payFeeDetail.setReceiptCode(receiptCode);
         // todo 刷入收银人员信息
         freshCashierInfo(payFeeDetail, paramInJson);
 

+ 10 - 2
service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java

@@ -103,6 +103,9 @@ public class PayBatchFeeCmd extends Cmd {
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IFeeReceiptInnerServiceSMO feeReceiptInnerServiceSMOImpl;
+
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
@@ -164,13 +167,17 @@ public class PayBatchFeeCmd extends Cmd {
         List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
         Assert.listOnlyOne(userDtos, "用户未登录");
 
+        //todo 生成收据编号
+        String receiptCode = feeReceiptInnerServiceSMOImpl.generatorReceiptCode(reqJson.getString("communityId"));
+
+
         JSONArray fees = reqJson.getJSONArray("fees");
         JSONObject paramInObj = null;
         JSONArray details = new JSONArray();
         for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) {
             try {
                 paramInObj = fees.getJSONObject(feeIndex);
-                doDeal(paramInObj, reqJson.getString("communityId"), cmdDataFlowContext, userDtos.get(0));
+                doDeal(paramInObj, reqJson.getString("communityId"),receiptCode, cmdDataFlowContext, userDtos.get(0));
             } catch (Exception e) {
                 logger.error("处理异常", e);
                 throw new CmdException(e.getMessage());
@@ -184,7 +191,7 @@ public class PayBatchFeeCmd extends Cmd {
         cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(data));
     }
 
-    private void doDeal(JSONObject paramObj, String communityId, ICmdDataFlowContext cmdDataFlowContext, UserDto userDto) throws Exception {
+    private void doDeal(JSONObject paramObj, String communityId,String receiptCode, ICmdDataFlowContext cmdDataFlowContext, UserDto userDto) throws Exception {
         paramObj.put("communityId", communityId);
         //获取订单ID
         String oId = Java110TransactionalFactory.getOId();
@@ -203,6 +210,7 @@ public class PayBatchFeeCmd extends Cmd {
             payFeeDetailPo.setPayOrderId(oId);
             payFeeDetailPo.setCashierId(userDto.getUserId());
             payFeeDetailPo.setCashierName(userDto.getName());
+            payFeeDetailPo.setReceiptCode(receiptCode);
             int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetailPo);
             if (flag < 1) {
                 throw new CmdException("缴费失败");

+ 9 - 0
service-fee/src/main/java/com/java110/fee/cmd/fee/PayFeeCmd.java

@@ -19,6 +19,7 @@ import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.dto.user.UserDto;
+import com.java110.fee.smo.impl.FeeReceiptInnerServiceSMOImpl;
 import com.java110.intf.acct.IAccountDetailInnerServiceSMO;
 import com.java110.intf.acct.IAccountInnerServiceSMO;
 import com.java110.intf.acct.ICouponUserDetailV1InnerServiceSMO;
@@ -138,6 +139,9 @@ public class PayFeeCmd extends Cmd {
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
+    @Autowired
+    private FeeReceiptInnerServiceSMOImpl feeReceiptInnerServiceSMOImpl;
+
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
@@ -215,6 +219,9 @@ public class PayFeeCmd extends Cmd {
         String cycles = paramObj.getString("cycles");
         Date endTime = null;
 
+        //todo 生成收据编号
+        String receiptCode = feeReceiptInnerServiceSMOImpl.generatorReceiptCode(paramObj.getString("communityId"));
+
         PayFeePo payFeePo = null;
         String requestId = DistributedLock.getLockUUID();
         String key = this.getClass().getSimpleName() + paramObj.get("feeId");
@@ -230,6 +237,7 @@ public class PayFeeCmd extends Cmd {
             payFeePo = BeanConvertUtil.covertBean(fee, PayFeePo.class);
             PayFeeDetailPo payFeeDetailPo = BeanConvertUtil.covertBean(feeDetail, PayFeeDetailPo.class);
             payFeeDetailPo.setReceivableAmount(feeDetail.getString("totalFeePrice"));
+            payFeeDetailPo.setReceiptCode(receiptCode);
             //判断是否有赠送规则
             hasDiscount(paramObj, payFeePo, payFeeDetailPo);
 
@@ -293,6 +301,7 @@ public class PayFeeCmd extends Cmd {
             }
         }
 
+
         //根据明细ID 查询收据信息
         FeeReceiptDetailDto feeReceiptDetailDto = new FeeReceiptDetailDto();
         feeReceiptDetailDto.setDetailId(paramObj.getString("detailId"));

+ 14 - 5
service-fee/src/main/java/com/java110/fee/cmd/fee/PayOweFeeCmd.java

@@ -23,6 +23,7 @@ import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.dto.user.UserDto;
+import com.java110.fee.smo.impl.FeeReceiptInnerServiceSMOImpl;
 import com.java110.intf.community.*;
 import com.java110.intf.fee.*;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
@@ -138,6 +139,11 @@ public class PayOweFeeCmd extends Cmd {
         JSONObject feeObj = null;
         String appId = dataFlowContext.getReqHeaders().get("app-id");
 
+
+        //todo 生成收据编号
+        String receiptCode = feeReceiptInnerServiceSMOImpl.generatorReceiptCode(paramObj.getString("communityId"));
+
+
         for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) {
             feeObj = fees.getJSONObject(feeIndex);
             feeObj.put("communityId", paramObj.getString("communityId"));
@@ -152,7 +158,7 @@ public class PayOweFeeCmd extends Cmd {
             }
 
             //todo 去缴费
-            getFeeReceiptDetailPo(dataFlowContext, feeObj, feeReceiptDetailPos, feeReceiptPos, userDtos.get(0));
+            getFeeReceiptDetailPo(dataFlowContext, feeObj, feeReceiptDetailPos, feeReceiptPos, userDtos.get(0), receiptCode);
         }
 
         //这里只是写入 收据表,暂不考虑 事务一致性问题,就算写入失败 也只是影响 收据打印,如果 贵公司对 收据要求 比较高,不能有失败的情况 请加入事务管理
@@ -178,7 +184,7 @@ public class PayOweFeeCmd extends Cmd {
         List<FeeReceiptDetailDto> feeReceiptDetailDtos = feeReceiptDetailInnerServiceSMOImpl.queryFeeReceiptDetails(feeReceiptDetailDto);
 
         JSONObject data = new JSONObject();
-        data.put("receipts",feeReceiptDetailDtos);
+        data.put("receipts", feeReceiptDetailDtos);
 
         dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(data));
     }
@@ -186,7 +192,8 @@ public class PayOweFeeCmd extends Cmd {
     private void getFeeReceiptDetailPo(ICmdDataFlowContext dataFlowContext, JSONObject paramObj,
                                        List<FeeReceiptDetailPo> feeReceiptDetailPos,
                                        List<FeeReceiptPo> feeReceiptPos,
-                                       UserDto userDto) {
+                                       UserDto userDto,
+                                       String receiptCode) {
         int flag = 0;
         if (!paramObj.containsKey("primeRate")) {
             paramObj.put("primeRate", "6");
@@ -202,7 +209,7 @@ public class PayOweFeeCmd extends Cmd {
         }
         paramObj.put("state", "1400");
         // todo 添加交费明细
-        addOweFeeDetail(paramObj, dataFlowContext, feeReceiptDetailPos, feeReceiptPos, userDto);
+        addOweFeeDetail(paramObj, dataFlowContext, feeReceiptDetailPos, feeReceiptPos, userDto, receiptCode);
         modifyOweFee(paramObj, dataFlowContext);
 
         //修改车辆
@@ -325,7 +332,8 @@ public class PayOweFeeCmd extends Cmd {
     public void addOweFeeDetail(JSONObject paramInJson, ICmdDataFlowContext dataFlowContext,
                                 List<FeeReceiptDetailPo> feeReceiptDetailPos,
                                 List<FeeReceiptPo> feeReceiptPos,
-                                UserDto userDto) {
+                                UserDto userDto,
+                                String receiptCode) {
 
         JSONObject businessFeeDetail = new JSONObject();
         businessFeeDetail.putAll(paramInJson);
@@ -377,6 +385,7 @@ public class PayOweFeeCmd extends Cmd {
         }
         payFeeDetailPo.setCashierId(userDto.getUserId());
         payFeeDetailPo.setCashierName(userDto.getName());
+        payFeeDetailPo.setReceiptCode(receiptCode);
 
         int flag = payFeeDetailV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetailPo);
 

+ 63 - 0
service-fee/src/main/java/com/java110/fee/smo/impl/FeeReceiptInnerServiceSMOImpl.java

@@ -3,12 +3,18 @@ package com.java110.fee.smo.impl;
 
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.PageDto;
+import com.java110.dto.community.CommunitySettingDto;
 import com.java110.dto.fee.FeeReceiptDto;
 import com.java110.dto.fee.FeeReceiptDtoNew;
 import com.java110.fee.dao.IFeeReceiptServiceDao;
+import com.java110.intf.community.ICommunitySettingInnerServiceSMO;
 import com.java110.intf.fee.IFeeReceiptInnerServiceSMO;
+import com.java110.po.community.CommunitySettingPo;
 import com.java110.po.fee.FeeReceiptPo;
+import com.java110.utils.lock.DistributedLock;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -32,6 +38,9 @@ public class FeeReceiptInnerServiceSMOImpl extends BaseServiceSMO implements IFe
     @Autowired
     private IFeeReceiptServiceDao feeReceiptServiceDaoImpl;
 
+    @Autowired
+    private ICommunitySettingInnerServiceSMO communitySettingInnerServiceSMOImpl;
+
 
     @Override
     public int saveFeeReceipt(@RequestBody FeeReceiptPo feeReceiptPo) {
@@ -107,6 +116,60 @@ public class FeeReceiptInnerServiceSMOImpl extends BaseServiceSMO implements IFe
         return feeReceiptServiceDaoImpl.queryFeeReceiptsCount(BeanConvertUtil.beanCovertMap(feeReceiptDto));
     }
 
+    /**
+     * 生成收据编号
+     *
+     * @param communityId 小区ID
+     * @return 收据编号
+     */
+    @Override
+    public String generatorReceiptCode(@RequestBody String communityId) {
+
+        // todo 枷锁
+        String requestId = DistributedLock.getLockUUID();
+        String key = this.getClass().getSimpleName() + communityId;
+        String receiptCode = "";
+        String preReceiptCode = "";
+        String startCode = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_M);
+        try {
+            DistributedLock.waitGetDistributedLock(key, requestId);
+            CommunitySettingDto communitySettingDto = new CommunitySettingDto();
+            communitySettingDto.setCommunityId(communityId);
+            communitySettingDto.setSettingType(CommunitySettingDto.SETTING_TYPE_FEE);
+            communitySettingDto.setSettingKey(CommunitySettingDto.SETTING_KEY_RECEIPT_CODE);
+            List<CommunitySettingDto> communitySettingDtos = communitySettingInnerServiceSMOImpl.queryCommunitySettings(communitySettingDto);
+            //todo 没有设置 自动生成
+            if (communitySettingDtos == null || communitySettingDtos.size() < 1) {
+                saveReceiptCode(communityId);
+                communitySettingDtos = communitySettingInnerServiceSMOImpl.queryCommunitySettings(communitySettingDto);
+            }
+
+            preReceiptCode = communitySettingDtos.get(0).getSettingValue();
+            if (!StringUtil.isNumber(preReceiptCode)) {
+                return startCode + preReceiptCode;
+            }
+
+            if(preReceiptCode.length() > 24){
+                receiptCode = String.format("%024d", (Long.parseLong(preReceiptCode) + 1));
+            }else{
+                receiptCode = String.format("%0" + preReceiptCode.length() + "d", (Long.parseLong(preReceiptCode) + 1));
+            }
+
+            CommunitySettingPo communitySettingPo = new CommunitySettingPo();
+            communitySettingPo.setCsId(communitySettingDtos.get(0).getCsId());
+            communitySettingPo.setSettingValue(receiptCode);
+            communitySettingInnerServiceSMOImpl.updateCommunitySetting(communitySettingPo);
+
+        } finally {
+            DistributedLock.releaseDistributedLock(key, requestId);
+        }
+
+        return startCode + receiptCode;
+    }
+
+    private void saveReceiptCode(String communityId) {
+    }
+
     public IFeeReceiptServiceDao getFeeReceiptServiceDaoImpl() {
         return feeReceiptServiceDaoImpl;
     }

+ 2 - 0
service-job/src/main/java/com/java110/job/adapt/payment/receipt/PayFeeReceiptAdapt.java

@@ -85,6 +85,7 @@ public class PayFeeReceiptAdapt extends DatabusAdaptImpl {
     @Autowired
     private IMachinePrinterV1InnerServiceSMO machinePrinterV1InnerServiceSMOImpl;
 
+
     //模板信息推送地址
     private static String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";
 
@@ -175,6 +176,7 @@ public class PayFeeReceiptAdapt extends DatabusAdaptImpl {
             feeReceiptPo.setPayObjId(ownerDto.getOwnerId());
             feeReceiptPo.setPayObjName(ownerDto.getName());
             feeReceiptPo.setCreateTime(payFeeDetailPo.getCreateTime());
+            feeReceiptPo.setReceiptCode(businessPayFeeDetail.getString("receiptCode"));
             //这里只是写入 收据表,暂不考虑 事务一致性问题,就算写入失败 也只是影响 收据打印,如果 贵公司对 收据要求 比较高,不能有失败的情况 请加入事务管理
             feeReceiptDetailInnerServiceSMOImpl.saveFeeReceiptDetail(feeReceiptDetailPo);
             feeReceiptInnerServiceSMOImpl.saveFeeReceipt(feeReceiptPo);

+ 1 - 0
service-job/src/main/java/com/java110/job/printer/manufactor/FeieManufactor.java

@@ -139,6 +139,7 @@ public class FeieManufactor implements IPrinter {
 
         /*************************************头部******************************************/
         List<FeieLine> feieLines = new ArrayList<>();
+        feieLines.add(new FeieLine("收据编号", feeReceiptDtos.get(0).getReceiptCode()));
         feieLines.add(new FeieLine("单号", feeReceiptDetailDtos.get(0).getPayOrderId()));
         feieLines.add(new FeieLine("房号", feeReceiptDtos.get(0).getObjName()));
         feieLines.add(new FeieLine("业主", feeReceiptDtos.get(0).getPayObjName()));