wuxw лет назад: 2
Родитель
Сommit
9b30285de6

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeDetailDto.java

@@ -77,6 +77,9 @@ public class FeeDetailDto extends PageDto implements Serializable {
     private String cashierId;
     private String cashierName;
 
+    private String openInvoice; // todo 默认 未开票
+
+
     private List<FeeAccountDetailDto> feeAccountDetailDtoList;
     private List<PayFeeDetailDiscountDto> payFeeDetailDiscountDtoList;
 
@@ -425,4 +428,12 @@ public class FeeDetailDto extends PageDto implements Serializable {
     public void setDetailIds(String[] detailIds) {
         this.detailIds = detailIds;
     }
+
+    public String getOpenInvoice() {
+        return openInvoice;
+    }
+
+    public void setOpenInvoice(String openInvoice) {
+        this.openInvoice = openInvoice;
+    }
 }

+ 9 - 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 openInvoice; // todo 默认 未开票
+
 
 
     public String getDetailId() {
@@ -183,4 +185,11 @@ public class PayFeeDetailPo implements Serializable {
         this.cashierName = cashierName;
     }
 
+    public String getOpenInvoice() {
+        return openInvoice;
+    }
+
+    public void setOpenInvoice(String openInvoice) {
+        this.openInvoice = openInvoice;
+    }
 }

+ 14 - 5
java110-db/src/main/resources/mapper/fee/FeeDetailServiceDaoImplMapper.xml

@@ -8,13 +8,13 @@
         business_pay_fee_detail(
         operate,prime_rate,detail_id,
         receivable_amount,cycles,remark,
-        received_amount,community_id,b_id,fee_id,state,start_time,end_time,payable_amount
+        received_amount,community_id,b_id,fee_id,state,start_time,end_time,payable_amount,open_invoice
         <if test="createTime != null">
             ,create_time
         </if>
         ) values (
         #{operate},#{primeRate},#{detailId},#{receivableAmount},
-        #{cycles},#{remark},#{receivedAmount},#{communityId},#{bId},#{feeId},#{state},#{startTime},#{endTime},#{payableAmount}
+        #{cycles},#{remark},#{receivedAmount},#{communityId},#{bId},#{feeId},#{state},#{startTime},#{endTime},#{payableAmount},#{openInvoice}
         <if test="createTime != null">
             ,#{createTime}
         </if>
@@ -122,7 +122,7 @@
         importFeeName,pfc.fee_name feeName,t.payable_amount,t.payable_amount payableAmount,
         mw.cur_degrees curDegrees,mw.pre_degrees preDegrees, mw.pre_reading_time preReadingTime,mw.cur_reading_time
         curReadingTime,t.pay_order_id payOrderId,pfc.config_id configId,td.`name` primeRateName,pfao1.`value` payerObjName,
-        t.cashier_id cashierId,t.cashier_name cashierName,pfc.fee_flag feeFlag,fr.receipt_code receiptCode
+        t.cashier_id cashierId,t.cashier_name cashierName,pfc.fee_flag feeFlag,fr.receipt_code receiptCode,t.open_invoice openInvoice
         from pay_fee_detail t
         left join pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390002'
         left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0'
@@ -212,6 +212,9 @@
         <if test="cashierName !=null and cashierName != ''">
             and t.cashier_name= #{cashierName}
         </if>
+        <if test="openInvoice !=null and openInvoice != ''">
+            and t.open_invoice= #{openInvoice}
+        </if>
         order by pf.payer_obj_id,  t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -251,6 +254,9 @@
         <if test="feeId !=null and feeId != ''">
             , t.fee_id= #{feeId}
         </if>
+        <if test="openInvoice !=null and openInvoice != ''">
+            , t.open_invoice= #{openInvoice}
+        </if>
         where 1=1
         <if test="detailId !=null and detailId != ''">
             and t.detail_id= #{detailId}
@@ -335,6 +341,9 @@
         <if test="cashierName !=null and cashierName != ''">
             and t.cashier_name= #{cashierName}
         </if>
+        <if test="openInvoice !=null and openInvoice != ''">
+            and t.open_invoice= #{openInvoice}
+        </if>
         <if test="curYear != null and curYear != ''">
             and DATE_FORMAT(DATE_SUB(t.end_time,INTERVAL 1 DAY),'%Y') = #{curYear}
         </if>
@@ -344,13 +353,13 @@
     <insert id="saveFeeDetail" parameterType="Map">
         insert into
         pay_fee_detail(
-        prime_rate,detail_id,receivable_amount,cycles,remark,received_amount,community_id,fee_id,state,start_time,end_time,payable_amount,cashier_name,cashier_id
+        prime_rate,detail_id,receivable_amount,cycles,remark,received_amount,community_id,fee_id,state,start_time,end_time,payable_amount,cashier_name,cashier_id,open_invoice
         <if test="createTime != null and createTime != ''">
             ,create_time
         </if>
         )
         values(#{primeRate},#{detailId},#{receivableAmount},#{cycles},#{remark},#{receivedAmount},#{communityId},#{feeId},#{state},
-        #{startTime},#{endTime},#{payableAmount},#{cashierName},#{cashierId}
+        #{startTime},#{endTime},#{payableAmount},#{cashierName},#{cashierId},#{openInvoice}
         <if test="createTime != null and createTime != ''">
             ,#{createTime}
         </if>

+ 12 - 3
java110-db/src/main/resources/mapper/fee/PayFeeDetailNewV1ServiceDaoImplMapper.xml

@@ -7,13 +7,13 @@
     <insert id="savePayFeeDetailNewInfo" parameterType="Map">
         insert into pay_fee_detail(
         prime_rate,detail_id,receivable_amount,cycles,remark,start_time,received_amount,state,end_time,community_id,
-        fee_id,b_id,payable_amount,pay_order_id,cashier_id,cashier_name
+        fee_id,b_id,payable_amount,pay_order_id,cashier_id,cashier_name,open_invoice
         <if test="createTime != null">
             ,create_time
         </if>
         ) values (
         #{primeRate},#{detailId},#{receivableAmount},#{cycles},#{remark},#{startTime},#{receivedAmount},#{state},#{endTime},#{communityId},
-        #{feeId},#{bId},#{payableAmount},#{payOrderId},#{cashierId},#{cashierName}
+        #{feeId},#{bId},#{payableAmount},#{payOrderId},#{cashierId},#{cashierName},#{openInvoice}
         <if test="createTime != null">
             ,#{createTime}
         </if>
@@ -26,7 +26,7 @@
         detailId,t.receivable_amount,t.receivable_amount receivableAmount,t.cycles,t.remark,t.status_cd,t.status_cd
         statusCd,t.start_time,t.start_time startTime,t.received_amount,t.received_amount
         receivedAmount,t.state,t.end_time,t.end_time endTime,t.community_id,t.community_id communityId,t.fee_id,t.fee_id
-        feeId,t.payable_amount,t.payable_amount payableAmount,t.pay_order_id payOrderId,t.cashier_id cashierId,t.cashier_name cashierName
+        feeId,t.payable_amount,t.payable_amount payableAmount,t.pay_order_id payOrderId,t.cashier_id cashierId,t.cashier_name cashierName,t.open_invoice openInvoice
         from pay_fee_detail t
         where 1 =1
         <if test="primeRate !=null and primeRate != ''">
@@ -77,6 +77,9 @@
         <if test="cashierName !=null and cashierName != ''">
             and t.cashier_name= #{cashierName}
         </if>
+        <if test="openInvoice !=null and openInvoice != ''">
+            and t.open_invoice= #{openInvoice}
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -125,6 +128,9 @@
         <if test="cashierName !=null and cashierName != ''">
             , t.cashier_name= #{cashierName}
         </if>
+        <if test="openInvoice !=null and openInvoice != ''">
+            , t.open_invoice= #{openInvoice}
+        </if>
         where 1=1
         <if test="detailId !=null and detailId != ''">
             and t.detail_id= #{detailId}
@@ -190,5 +196,8 @@
         <if test="cashierName !=null and cashierName != ''">
             and t.cashier_name= #{cashierName}
         </if>
+        <if test="openInvoice !=null and openInvoice != ''">
+            and t.open_invoice= #{openInvoice}
+        </if>
     </select>
 </mapper>

+ 34 - 0
service-acct/src/main/java/com/java110/acct/cmd/invoice/AuditInvoiceApplyCmd.java

@@ -26,16 +26,21 @@ import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.invoiceApply.InvoiceApplyDto;
+import com.java110.dto.invoiceApplyItem.InvoiceApplyItemDto;
 import com.java110.dto.invoiceEvent.InvoiceEventDto;
 import com.java110.dto.user.UserDto;
+import com.java110.intf.acct.IInvoiceApplyItemV1InnerServiceSMO;
 import com.java110.intf.acct.IInvoiceApplyV1InnerServiceSMO;
 import com.java110.intf.acct.IInvoiceEventV1InnerServiceSMO;
+import com.java110.intf.fee.IPayFeeDetailV1InnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.invoiceApply.InvoiceApplyPo;
 import com.java110.po.invoiceEvent.InvoiceEventPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
@@ -63,12 +68,18 @@ public class AuditInvoiceApplyCmd extends Cmd {
     @Autowired
     private IInvoiceApplyV1InnerServiceSMO invoiceApplyV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IInvoiceApplyItemV1InnerServiceSMO invoiceApplyItemV1InnerServiceSMOImpl;
+
     @Autowired
     private IInvoiceEventV1InnerServiceSMO invoiceEventV1InnerServiceSMOImpl;
 
     @Autowired
     private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeDetailV1InnerServiceSMO payFeeDetailV1InnerServiceSMOImpl;
+
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
@@ -122,6 +133,29 @@ public class AuditInvoiceApplyCmd extends Cmd {
         invoiceEventPo.setRemark(reqJson.getString("remark"));
         invoiceEventV1InnerServiceSMOImpl.saveInvoiceEvent(invoiceEventPo);
 
+        //todo 修改缴费明细开票状态为完成或者待开票
+        InvoiceApplyItemDto invoiceApplyItemDto = new InvoiceApplyItemDto();
+        invoiceApplyItemDto.setApplyId(invoiceApplyPo.getApplyId());
+        invoiceApplyItemDto.setItemType(InvoiceApplyItemDto.ITEM_TYPE_FEE);
+        List<InvoiceApplyItemDto> invoiceApplyItemDtos = invoiceApplyItemV1InnerServiceSMOImpl.queryInvoiceApplyItems(invoiceApplyItemDto);
+        if(ListUtil.isNull(invoiceApplyItemDtos)){
+            return;
+        }
+
+        for(InvoiceApplyItemDto tmpInvoiceApplyItemDto : invoiceApplyItemDtos){
+            // todo 将缴费记录开票状态修改为D 开票中
+            PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
+            payFeeDetailPo.setDetailId(tmpInvoiceApplyItemDto.getItemObjId());
+            payFeeDetailPo.setCommunityId(tmpInvoiceApplyItemDto.getCommunityId());
+            if ("1100".equals(reqJson.getString("state"))) {
+                payFeeDetailPo.setOpenInvoice("Y"); // todo 开票完成
+            }else{
+                payFeeDetailPo.setOpenInvoice("N"); // todo 带开票
+            }
+
+            payFeeDetailV1InnerServiceSMOImpl.updatePayFeeDetailNew(payFeeDetailPo);
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 11 - 0
service-acct/src/main/java/com/java110/acct/cmd/invoice/SaveInvoiceApplyCmd.java

@@ -41,6 +41,7 @@ import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
 import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.account.AccountReceiptPo;
+import com.java110.po.fee.PayFeeDetailPo;
 import com.java110.po.invoiceApply.InvoiceApplyPo;
 import com.java110.po.invoiceApplyItem.InvoiceApplyItemPo;
 import com.java110.utils.exception.CmdException;
@@ -89,6 +90,9 @@ public class SaveInvoiceApplyCmd extends Cmd {
     @Autowired
     private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeDetailV1InnerServiceSMO payFeeDetailV1InnerServiceSMOImpl;
+
     @Autowired
     private IAccountReceiptV1InnerServiceSMO accountReceiptV1InnerServiceSMOImpl;
 
@@ -225,6 +229,13 @@ public class SaveInvoiceApplyCmd extends Cmd {
             invoiceApplyItemPo.setItemObjId(tmpFeeDetailDto.getDetailId());
             invoiceApplyItemPo.setItemType(InvoiceApplyItemDto.ITEM_TYPE_FEE);
             invoiceApplyItemPos.add(invoiceApplyItemPo);
+
+            // todo 将缴费记录开票状态修改为D 开票中
+            PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
+            payFeeDetailPo.setDetailId(tmpFeeDetailDto.getDetailId());
+            payFeeDetailPo.setCommunityId(tmpFeeDetailDto.getCommunityId());
+            payFeeDetailPo.setOpenInvoice("D"); // todo 开票中
+            payFeeDetailV1InnerServiceSMOImpl.updatePayFeeDetailNew(payFeeDetailPo);
         }
 
         return invoiceAmount;

+ 1 - 1
service-api/src/main/java/com/java110/api/websocket/ParkingBoxWebsocket.java

@@ -101,7 +101,7 @@ public class ParkingBoxWebsocket {
      */
     @OnMessage
     public void onMessage(String message, Session session) throws Exception {
-        logger.info("用户消息:" + boxId + ",客户端:" + clientId + ",报文:" + message);
+        //logger.info("用户消息:" + boxId + ",客户端:" + clientId + ",报文:" + message);
         //可以群发消息
         //消息保存到数据库、redis
         if (StringUtil.isEmpty(message)) {

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

@@ -431,7 +431,7 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
         CommonCache.setValue(payFeeDetail.getDetailId() + CommonCache.RECEIPT_CODE, receiptCode, CommonCache.DEFAULT_EXPIRETIME_TWO_MIN);
         // todo 刷入收银人员信息
         freshCashierInfo(payFeeDetail, paramInJson);
-
+        payFeeDetail.setOpenInvoice("N");
         int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetail);
         if (flag < 1) {
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "保存费用明细失败");

+ 1 - 0
service-fee/src/main/java/com/java110/fee/cmd/fee/PayBatchFeeCmd.java

@@ -220,6 +220,7 @@ public class PayBatchFeeCmd extends Cmd {
             }
             payFeeDetailPo.setCashierId(userDto.getUserId());
             payFeeDetailPo.setCashierName(userDto.getName());
+            payFeeDetailPo.setOpenInvoice("N");
             //todo 缓存收据编号
             CommonCache.setValue(payFeeDetailPo.getDetailId()+CommonCache.RECEIPT_CODE,receiptCode,CommonCache.DEFAULT_EXPIRETIME_TWO_MIN);
             int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetailPo);

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

@@ -243,6 +243,7 @@ public class PayFeeCmd extends Cmd {
             }
             payFeeDetailPo.setCashierId(userDtos.get(0).getUserId());
             payFeeDetailPo.setCashierName(userDtos.get(0).getName());
+            payFeeDetailPo.setOpenInvoice("N");
             int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetailPo);
             if (flag < 1) {
                 throw new CmdException("缴费失败");
@@ -1076,6 +1077,8 @@ public class PayFeeCmd extends Cmd {
         tmpPayFeeDetailPo.setStartTime(DateUtil.getFormatTimeStringB(endTime));
         tmpPayFeeDetailPo.setEndTime(reqJson.getString("customStartTime"));
         tmpPayFeeDetailPo.setState(FeeDetailDto.STATE_OWE);
+        tmpPayFeeDetailPo.setOpenInvoice("N");
+
         tmpPayFeeDetailPo.setRemark("按缴费时间段缴费,这部分费用按欠费的方式重新生成,请在" + payObjNameRemark + "上查看");
         int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(tmpPayFeeDetailPo);
 

+ 2 - 0
service-fee/src/main/java/com/java110/fee/cmd/fee/PayMonthFeeCmd.java

@@ -236,6 +236,8 @@ public class PayMonthFeeCmd extends Cmd {
             payFeeDetailPo.setEndTime(endTime);
             // todo 按月交费时 主要按时间顺序排序时 能够整齐
             payFeeDetailPo.setCreateTime(DateUtil.getFormatTimeStringA(createTime));
+            payFeeDetailPo.setOpenInvoice("N");
+
             //todo 缓存收据编号
             CommonCache.setValue(payFeeDetailPo.getDetailId()+CommonCache.RECEIPT_CODE,receiptCode,CommonCache.DEFAULT_EXPIRETIME_TWO_MIN);
             int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetailPo);

+ 1 - 0
service-fee/src/main/java/com/java110/fee/cmd/payFeeDetailNew/SavePayFeeDetailNewCmd.java

@@ -70,6 +70,7 @@ Assert.hasKeyAndValue(reqJson, "primeRate", "请求报文中未包含primeRate")
 
        PayFeeDetailPo payFeeDetailNewPo = BeanConvertUtil.covertBean(reqJson, PayFeeDetailPo.class);
         payFeeDetailNewPo.setDetailId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        payFeeDetailNewPo.setOpenInvoice("N");
         int flag = payFeeDetailNewV1InnerServiceSMOImpl.savePayFeeDetailNew(payFeeDetailNewPo);
 
         if (flag < 1) {