| | |
| | | import com.java110.core.annotation.Java110Transactional; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.fee.BillDto; |
| | | import com.java110.dto.fee.BillOweFeeDto; |
| | | import com.java110.dto.fee.FeeAttrDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | |
| | | for (int feeIndex = 0; feeIndex < fees.size(); feeIndex++) { |
| | | feeObj = fees.getJSONObject(feeIndex); |
| | | Assert.hasKeyAndValue(feeObj, "feeId", "未包含费用项ID"); |
| | | Assert.hasKeyAndValue(feeObj, "feeId", "未包含费用项ID"); |
| | | Assert.hasKeyAndValue(feeObj, "feePrice", "未包含缴费金额"); |
| | | |
| | | feeObj.put("communityId", communityId); |
| | | doPayOweFee(feeObj); |
| | |
| | | addFeeDetail(feeObj); |
| | | |
| | | modifyFee(feeObj); |
| | | |
| | | //将有账单下的 状态改为已经缴费 |
| | | modifyFeeBill(feeObj); |
| | | |
| | | //判断是否有派单属性ID |
| | | FeeAttrDto feeAttrDto = new FeeAttrDto(); |
| | |
| | | /** |
| | | * @param feeObj |
| | | */ |
| | | private void modifyFeeBill(JSONObject feeObj) { |
| | | |
| | | if (FeeConfigDto.BILL_TYPE_EVERY.equals(feeObj.getString("billType"))) { |
| | | return; |
| | | } |
| | | BillDto billDto = new BillDto(); |
| | | billDto.setCommunityId(feeObj.getString("communityId")); |
| | | billDto.setConfigId(feeObj.getString("configId")); |
| | | billDto.setCurBill("T"); |
| | | List<BillDto> billDtos = feeInnerServiceSMOImpl.queryBills(billDto); |
| | | if (billDtos == null || billDtos.size() < 1) { |
| | | return; |
| | | } |
| | | BillOweFeeDto billOweFeeDto = new BillOweFeeDto(); |
| | | billOweFeeDto.setCommunityId(feeObj.getString("communityId")); |
| | | billOweFeeDto.setFeeId(feeObj.getString("feeId")); |
| | | billOweFeeDto.setState(BillOweFeeDto.STATE_FINISH_FEE); |
| | | billOweFeeDto.setBillId(billDtos.get(0).getBillId()); |
| | | feeInnerServiceSMOImpl.updateBillOweFees(billOweFeeDto); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @param feeObj |
| | | */ |
| | | private void modifyFee(JSONObject feeObj) throws ParseException { |
| | | |
| | | PayFeePo payFeePo = new PayFeePo(); |
| | |
| | | |
| | | Assert.listOnlyOne(feeConfigDtos, "未找到费用配置"); |
| | | payFeePo.setEndTime(DateUtil.getFormatTimeString(endCalender.getTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | // 一次性收费类型,缴费后,则设置费用状态为收费结束、设置结束日期为费用项终止日期 |
| | | feeObj.put("billType", feeConfigDtos.get(0).getBillType()); |
| | | feeObj.put("configId", feeConfigDtos.get(0).getConfigId()); |
| | | // 一次性收费类型,缴费后,则设置费用状态为收费结束、设置结束日期为费用 项终止日期 |
| | | if (FeeFlagTypeConstant.ONETIME.equals(feeConfigDtos.get(0).getFeeFlag())) { |
| | | payFeePo.setState(FeeStateConstant.END); |
| | | payFeePo.setEndTime(feeConfigDtos.get(0).getEndTime()); |
| | |
| | | } |
| | | } |
| | | payFeePo.setFeeId(feeObj.getString("feeId")); |
| | | payFeePo.setEndTime(DateUtil.getFormatTimeString(feeInfo.getEndTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | //payFeePo.setEndTime(DateUtil.getFormatTimeString(feeInfo.getEndTime(), DateUtil.DATE_FORMATE_STRING_A)); |
| | | payFeePo.setCommunityId(feeObj.getString("communityId")); |
| | | payFeePo.setStatusCd("0"); |
| | | int saveFlag = feeInnerServiceSMOImpl.updateFee(payFeePo); |
| | | if (saveFlag < 1) { |
| | | throw new IllegalArgumentException("缴费失败" + payFeePo.toString()); |