| | |
| | | import com.java110.core.smo.IComputeFeeSMO; |
| | | import com.java110.dto.fee.FeeDetailDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.logSystemError.LogSystemErrorDto; |
| | | import com.java110.dto.machinePrinter.MachinePrinterDto; |
| | | import com.java110.dto.log.LogSystemErrorDto; |
| | | import com.java110.dto.machine.MachinePrinterDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.printerRule.PrinterRuleDto; |
| | | import com.java110.dto.printerRuleFee.PrinterRuleFeeDto; |
| | | import com.java110.dto.printerRuleMachine.PrinterRuleMachineDto; |
| | | import com.java110.entity.order.Business; |
| | | import com.java110.dto.printerRule.PrinterRuleFeeDto; |
| | | import com.java110.dto.printerRule.PrinterRuleMachineDto; |
| | | import com.java110.dto.system.Business; |
| | | import com.java110.intf.common.IMachinePrinterV1InnerServiceSMO; |
| | | import com.java110.intf.common.IPrinterRuleFeeV1InnerServiceSMO; |
| | | import com.java110.intf.common.IPrinterRuleMachineV1InnerServiceSMO; |
| | | import com.java110.intf.common.IPrinterRuleV1InnerServiceSMO; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeDetailInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeReceiptDetailInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeReceiptInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerAppUserInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerCarInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO; |
| | | import com.java110.job.adapt.DatabusAdaptImpl; |
| | | import com.java110.job.printer.IPrinter; |
| | | import com.java110.po.fee.PayFeeDetailPo; |
| | | import com.java110.po.feeReceipt.FeeReceiptPo; |
| | | import com.java110.po.feeReceiptDetail.FeeReceiptDetailPo; |
| | | import com.java110.po.logSystemError.LogSystemErrorPo; |
| | | import com.java110.po.fee.FeeReceiptPo; |
| | | import com.java110.po.fee.FeeReceiptDetailPo; |
| | | import com.java110.po.log.LogSystemErrorPo; |
| | | import com.java110.service.smo.ISaveSystemErrorSMO; |
| | | import com.java110.utils.cache.CommonCache; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.factory.ApplicationContextFactory; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.ExceptionUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.slf4j.Logger; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private static Logger logger = LoggerFactory.getLogger(PayFeeReceiptAdapt.class); |
| | | |
| | | @Autowired |
| | | private ICommunityInnerServiceSMO communityInnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private ISaveSystemErrorSMO saveSystemErrorSMOImpl; |
| | | |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private IComputeFeeSMO computeFeeSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private IPrinterRuleFeeV1InnerServiceSMO printerRuleFeeV1InnerServiceSMOImpl; |
| | |
| | | |
| | | @Autowired |
| | | private IMachinePrinterV1InnerServiceSMO machinePrinterV1InnerServiceSMOImpl; |
| | | |
| | | |
| | | //模板信息推送地址 |
| | | private static String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="; |
| | |
| | | businessPayFeeDetails.add(data); |
| | | } |
| | | } |
| | | |
| | | if (businessPayFeeDetails == null) { |
| | | return; |
| | | } |
| | |
| | | feeDto.setFeeId(payFeeDetailPo.getFeeId()); |
| | | feeDto.setCommunityId(payFeeDetailPo.getCommunityId()); |
| | | List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto); |
| | | |
| | | Assert.listOnlyOne(feeDtos, "未查询到费用信息"); |
| | | |
| | | feeDto = feeDtos.get(0); |
| | | |
| | | //查询业主信息 |
| | | OwnerDto ownerDto = computeFeeSMOImpl.getFeeOwnerDto(feeDto); |
| | | |
| | | // if received amount lt zero |
| | | |
| | | if (businessPayFeeDetail.containsKey("receivedAmount") |
| | | && businessPayFeeDetail.getDoubleValue("receivedAmount") < 0) { |
| | | return; |
| | | } |
| | | |
| | | //添加单元信息 |
| | | String receiptCode = CommonCache.getValue(payFeeDetailPo.getDetailId()+CommonCache.RECEIPT_CODE); |
| | | //todo 如果为空重新生成收据编号 |
| | | if(StringUtil.isEmpty(receiptCode)){ |
| | | receiptCode = feeReceiptInnerServiceSMOImpl.generatorReceiptCode(payFeeDetailPo.getCommunityId()); |
| | | } |
| | | |
| | | //添加收据和收据详情 |
| | | FeeReceiptPo feeReceiptPo = new FeeReceiptPo(); |
| | | FeeReceiptDetailPo feeReceiptDetailPo = new FeeReceiptDetailPo(); |
| | | |
| | | feeReceiptDetailPo.setAmount(businessPayFeeDetail.getString("receivedAmount")); |
| | | feeReceiptDetailPo.setCommunityId(feeDto.getCommunityId()); |
| | | feeReceiptDetailPo.setCycle(businessPayFeeDetail.getString("cycles")); |
| | |
| | | feeReceiptDetailPo.setStartTime(businessPayFeeDetail.getString("startTime")); |
| | | feeReceiptDetailPo.setReceiptId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_receiptId)); |
| | | feeReceiptDetailPo.setCreateTime(payFeeDetailPo.getCreateTime()); |
| | | |
| | | //处理 小数点后 0 |
| | | feeDto.setSquarePrice(Double.parseDouble(feeDto.getSquarePrice()) + ""); |
| | | feeDto.setAdditionalAmount(Double.parseDouble(feeDto.getAdditionalAmount()) + ""); |
| | | |
| | | computeFeeSMOImpl.freshFeeReceiptDetail(feeDto, feeReceiptDetailPo); |
| | | feeReceiptPo.setAmount(feeReceiptDetailPo.getAmount()); |
| | | feeReceiptPo.setCommunityId(feeReceiptDetailPo.getCommunityId()); |
| | |
| | | feeReceiptPo.setPayObjId(ownerDto.getOwnerId()); |
| | | feeReceiptPo.setPayObjName(ownerDto.getName()); |
| | | feeReceiptPo.setCreateTime(payFeeDetailPo.getCreateTime()); |
| | | |
| | | feeReceiptPo.setReceiptCode(receiptCode); |
| | | //这里只是写入 收据表,暂不考虑 事务一致性问题,就算写入失败 也只是影响 收据打印,如果 贵公司对 收据要求 比较高,不能有失败的情况 请加入事务管理 |
| | | feeReceiptDetailInnerServiceSMOImpl.saveFeeReceiptDetail(feeReceiptDetailPo); |
| | | feeReceiptInnerServiceSMOImpl.saveFeeReceipt(feeReceiptPo); |
| | |
| | | logger.error("通知异常", e); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | private void autoPrintReceipt(String detailId, String communityId) { |
| | |
| | | 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),""); |
| | | |
| | | } |
| | | |