Quellcode durchsuchen

加入充电规则功能

Your Name vor 3 Jahren
Ursprung
Commit
906cadca8f

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/feeReceipt/FeeReceiptDetailDto.java

@@ -40,6 +40,8 @@ public class FeeReceiptDetailDto extends PageDto implements Serializable {
 
     private String statusCd = "0";
 
+    private String payOrderId;
+
 
     public String getArea() {
         return area;
@@ -209,4 +211,12 @@ public class FeeReceiptDetailDto extends PageDto implements Serializable {
     public void setUnits(String units) {
         this.units = units;
     }
+
+    public String getPayOrderId() {
+        return payOrderId;
+    }
+
+    public void setPayOrderId(String payOrderId) {
+        this.payOrderId = payOrderId;
+    }
 }

+ 1 - 1
java110-db/src/main/resources/mapper/fee/FeeReceiptDetailServiceDaoImplMapper.xml

@@ -39,7 +39,7 @@
         startTime,t.status_cd,t.status_cd statusCd,t.end_time,t.end_time endTime,t.community_id,t.community_id
         communityId,t.receipt_id,t.receipt_id receiptId,t.fee_id,t.fee_id feeId,t.cycle,t.square_price squarePrice,
         pfd.remark,pf.fee_flag feeFlag,mw.pre_degrees preDegrees,mw.cur_degrees curDegrees,d.name primeRate,
-        pfc.units
+        pfc.units,pfd.pay_order_id payOrderId
         from fee_receipt_detail t
         left join pay_fee_detail pfd on t.detail_id = pfd.detail_id and pfd.status_cd = '0' and t.community_id =
         pfd.community_id

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

@@ -286,7 +286,7 @@ public class PayFeeReceiptAdapt extends DatabusAdaptImpl {
             throw new CmdException("打印机异常,未包含适配器");
         }
 
-        printer.printPayFeeDetail(new String[]{detailId}, tmpPrinterRuleMachineDto.getCommunityId(), Integer.parseInt(tmpPrinterRuleMachineDto.getQuantity()), machinePrinterDtos.get(0));
+        printer.printPayFeeDetail(new String[]{detailId}, tmpPrinterRuleMachineDto.getCommunityId(), Integer.parseInt(tmpPrinterRuleMachineDto.getQuantity()), machinePrinterDtos.get(0),"");
 
     }
 

+ 14 - 1
service-job/src/main/java/com/java110/job/cmd/print/PrintPayFeeDetailCmd.java

@@ -7,7 +7,9 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.machinePrinter.MachinePrinterDto;
+import com.java110.dto.user.UserDto;
 import com.java110.intf.common.IMachinePrinterV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.job.printer.IPrinter;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.factory.ApplicationContextFactory;
@@ -27,6 +29,9 @@ public class PrintPayFeeDetailCmd extends Cmd {
     @Autowired
     private IMachinePrinterV1InnerServiceSMO machinePrinterV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
 
@@ -40,6 +45,11 @@ public class PrintPayFeeDetailCmd extends Cmd {
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        String userId = context.getReqHeaders().get("user-id");
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+        Assert.listOnlyOne(userDtos,"用户不存在");
         MachinePrinterDto machinePrinterDto = new MachinePrinterDto();
         machinePrinterDto.setCommunityId(reqJson.getString("communityId"));
         machinePrinterDto.setMachineId(reqJson.getString("machineId"));
@@ -53,7 +63,10 @@ public class PrintPayFeeDetailCmd extends Cmd {
             throw new CmdException("打印机异常,未包含适配器");
         }
 
-        ResultVo resultVo = printer.printPayFeeDetail(reqJson.getString("detailId").split(","), reqJson.getString("communityId"), reqJson.getIntValue("quantity"), machinePrinterDtos.get(0));
+        ResultVo resultVo = printer.printPayFeeDetail(reqJson.getString("detailId").split(","),
+                reqJson.getString("communityId"),
+                reqJson.getIntValue("quantity"),
+                machinePrinterDtos.get(0),userDtos.get(0).getName());
 
         context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
     }

+ 1 - 1
service-job/src/main/java/com/java110/job/printer/IPrinter.java

@@ -16,7 +16,7 @@ public interface IPrinter {
      *
      * @param detailIds
      */
-    ResultVo printPayFeeDetail(String[] detailIds, String communityId, int quantity,MachinePrinterDto machinePrinterDto);
+    ResultVo printPayFeeDetail(String[] detailIds, String communityId, int quantity,MachinePrinterDto machinePrinterDto,String staffName);
 
     /**
      * 打印报修

+ 5 - 2
service-job/src/main/java/com/java110/job/printer/manufactor/FeieGetPayFeeDetail.java

@@ -3,6 +3,7 @@ package com.java110.job.printer.manufactor;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
 import com.java110.utils.cache.UrlCache;
+import com.java110.utils.util.StringUtil;
 
 import java.util.List;
 
@@ -33,11 +34,13 @@ public class FeieGetPayFeeDetail {
         return orderInfo;
     }
 
-    public static String getPrintPayFeeDetailFloorContent(String communityId, double totals, ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl) {
+    public static String getPrintPayFeeDetailFloorContent(String communityId, double totals,String staffName, ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl) {
         String orderInfo = "";
         //orderInfo += "********************************<BR>";
         orderInfo += "合计:" + totals + "元<BR>";
-
+        if(!StringUtil.isEmpty(staffName)) {
+            orderInfo += "开票人:" + staffName + "<BR>";
+        }
         //查询公众号配置
         SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
         smallWeChatDto.setWeChatType("1100");

+ 10 - 5
service-job/src/main/java/com/java110/job/printer/manufactor/FeieManufactor.java

@@ -24,6 +24,7 @@ import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.http.HttpEntity;
@@ -113,7 +114,7 @@ public class FeieManufactor implements IPrinter {
      * @return
      */
     @Override
-    public ResultVo printPayFeeDetail(String[] detailIds, String communityId, int quantity, MachinePrinterDto machinePrinterDto) {
+    public ResultVo printPayFeeDetail(String[] detailIds, String communityId, int quantity, MachinePrinterDto machinePrinterDto, String staffName) {
 
         String printStr = "";
         FeeDetailDto feeDetailDto = new FeeDetailDto();
@@ -138,7 +139,7 @@ public class FeieManufactor implements IPrinter {
 
         /*************************************头部******************************************/
         List<FeieLine> feieLines = new ArrayList<>();
-        feieLines.add(new FeieLine("单号", feeReceiptDetailDtos.get(0).getReceiptId()));
+        feieLines.add(new FeieLine("单号", feeReceiptDetailDtos.get(0).getPayOrderId()));
         feieLines.add(new FeieLine("房号", feeReceiptDtos.get(0).getObjName()));
         feieLines.add(new FeieLine("业主", feeReceiptDtos.get(0).getPayObjName()));
         feieLines.add(new FeieLine("时间", DateUtil.getFormatTimeString(DateUtil.getCurrentDate(), DateUtil.DATE_FORMATE_STRING_A)));
@@ -164,12 +165,16 @@ public class FeieManufactor implements IPrinter {
             feieLines.add(new FeieLine("收费范围", DateUtil.getFormatTimeString(startTime, DateUtil.DATE_FORMATE_STRING_B) + "至" + DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B)));
             feieLines.add(new FeieLine("单价/固定费", tmpFeeReceiptDetailDto.getSquarePrice()));
             feieLines.add(new FeieLine("面积/用量", tmpFeeReceiptDetailDto.getArea()));
+            feieLines.add(new FeieLine("支付方式", tmpFeeReceiptDetailDto.getPrimeRate()));
+            if (!StringUtil.isEmpty(tmpFeeReceiptDetailDto.getPreDegrees())) {
+                feieLines.add(new FeieLine("表读数", tmpFeeReceiptDetailDto.getPreDegrees() + "至" + tmpFeeReceiptDetailDto.getCurDegrees()));
+            }
             feieLines.add(new FeieLine("金额", tmpFeeReceiptDetailDto.getAmount()));
             feieLines.add(new FeieLine("备注", tmpFeeReceiptDetailDto.getRemark()));
             printStr += FeieGetPayFeeDetail.getPrintPayFeeDetailBodyContent(feieLines);
             totalDecimal = totalDecimal.add(new BigDecimal(Double.parseDouble(tmpFeeReceiptDetailDto.getAmount())));
         }
-        printStr += FeieGetPayFeeDetail.getPrintPayFeeDetailFloorContent(communityId, totalDecimal.doubleValue(), smallWeChatInnerServiceSMOImpl);
+        printStr += FeieGetPayFeeDetail.getPrintPayFeeDetailFloorContent(communityId, totalDecimal.doubleValue(), staffName, smallWeChatInnerServiceSMOImpl);
 
         doPrint(quantity, machinePrinterDto, printStr);
 
@@ -187,7 +192,7 @@ public class FeieManufactor implements IPrinter {
 
         Assert.listOnlyOne(repairUserDtos, "报修单不存在");
 
-        if(RepairUserDto.STATE_SUBMIT.equals(repairUserDtos.get(0).getState())){
+        if (RepairUserDto.STATE_SUBMIT.equals(repairUserDtos.get(0).getState())) {
             return new ResultVo(ResultVo.CODE_OK, "成功");
         }
 
@@ -207,7 +212,7 @@ public class FeieManufactor implements IPrinter {
         feieLines.add(new FeieLine("标题", repairDtos.get(0).getRepairName()));
         feieLines.add(new FeieLine("联系人", repairDtos.get(0).getRepairName()));
         feieLines.add(new FeieLine("电话", repairDtos.get(0).getTel()));
-        feieLines.add(new FeieLine("时间",  repairDtos.get(0).getAppointmentTime()));
+        feieLines.add(new FeieLine("时间", repairDtos.get(0).getAppointmentTime()));
         feieLines.add(new FeieLine("位置", repairDtos.get(0).getRepairObjName()));
         feieLines.add(new FeieLine("维修师傅", staffName));
         feieLines.add(new FeieLine("单号", repairDtos.get(0).getRepairId()));