| | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.account.AccountDto; |
| | | import com.java110.dto.contract.ContractDto; |
| | | import com.java110.dto.contract.ContractPartyaDto; |
| | | import com.java110.dto.dict.DictDto; |
| | | import com.java110.dto.fee.FeeAttrDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | |
| | | import com.java110.dto.room.RoomDto; |
| | | import com.java110.dto.user.UserDto; |
| | | import com.java110.fee.cmd.fee.SaveRoomCreateFeeCmd; |
| | | import com.java110.intf.acct.IAccountInnerServiceSMO; |
| | | import com.java110.intf.community.IRoomInnerServiceSMO; |
| | | import com.java110.intf.dev.IDictV1InnerServiceSMO; |
| | | import com.java110.intf.fee.*; |
| | | import com.java110.intf.store.IContractInnerServiceSMO; |
| | | import com.java110.intf.store.IContractPartyaInnerServiceSMO; |
| | | import com.java110.intf.user.IMenuUserV1InnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerCarInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerInnerServiceSMO; |
| | |
| | | @Autowired |
| | | private IDictV1InnerServiceSMO iDictV1InnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private IAccountInnerServiceSMO accountInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IContractPartyaInnerServiceSMO iContractPartyaInnerServiceSMO; |
| | | |
| | | @Autowired |
| | | private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IContractInnerServiceSMO iContractInnerServiceSMO; |
| | | // @Autowired |
| | | // private IPayFeeMonth payFeeMonthImpl; |
| | | @Override |
| | |
| | | |
| | | doImportRoomCreateFee(importRoomFee, batchId); |
| | | doImportCarCreateFee(importRoomFee, batchId); |
| | | |
| | | doImportContractFee(importRoomFee, batchId); |
| | | |
| | | } |
| | | |
| | |
| | | * @param batchId |
| | | */ |
| | | private void doImportCarCreateFee(ImportRoomFee importRoomFee, String batchId) { |
| | | if (!FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) { |
| | | return; |
| | | } |
| | | List<ImportRoomFee> cars = new ArrayList<>(); |
| | | importRoomFee.setCarNum(importRoomFee.getPayerObjName()); |
| | | cars.add(importRoomFee); |
| | | |
| | | |
| | | List<ImportRoomFee> importRoomFees = ownerCarInnerServiceSMOImpl.freshCarIds(cars); |
| | | for (ImportRoomFee tmpImportRoomFee : importRoomFees) { |
| | | if (StringUtil.isEmpty(tmpImportRoomFee.getPayerObjName())) { |
| | | throw new IllegalArgumentException(tmpImportRoomFee.getCarNum() + "不存在"); |
| | | } |
| | | } |
| | | doCreateFeeAndAttrs(importRoomFees.get(0), batchId); |
| | | } |
| | | /** |
| | | * 创建车辆费用 |
| | | * |
| | | * @param importRoomFee |
| | | * @param batchId |
| | | */ |
| | | private void doImportContractFee(ImportRoomFee importRoomFee, String batchId) { |
| | | if (!FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) { |
| | | return; |
| | | } |
| | |
| | | payFeePo.setCommunityId(importRoomFee.getCommunityId()); |
| | | payFeePo.setConfigId(feeConfigDtos.get(0).getConfigId()); |
| | | if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) { |
| | | payFeePo.setPayerObjId(importRoomFee.getContractId()); |
| | | ContractDto contractDto = new ContractDto(); |
| | | contractDto.setContractCode(importRoomFee.getContractId()); |
| | | List<ContractDto> contractDtos = iContractInnerServiceSMO.queryContracts(contractDto); |
| | | if(contractDtos.size() == 0){ |
| | | throw new IllegalArgumentException("不存在合同编号为"+importRoomFee.getContractId()+"的合同"); |
| | | } |
| | | importRoomFee.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd()); |
| | | payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd()); |
| | | payFeePo.setContractFee(importRoomFee.getContractId()); |
| | | ContractPartyaDto contractPartyaDto = new ContractPartyaDto(); |
| | | contractPartyaDto.setPartyA(importRoomFee.getPayerObjName()); |
| | | List<ContractPartyaDto> contractPartyaDtos = iContractPartyaInnerServiceSMO.queryContractPartyas(contractPartyaDto); |
| | | if (ListUtil.isNull(contractPartyaDtos)) { |
| | | throw new IllegalArgumentException("不存在合同主体:"+importRoomFee.getPayerObjName()); |
| | | }else if (contractPartyaDtos.size() > 1){ |
| | | throw new IllegalArgumentException("合同主体"+importRoomFee.getPayerObjName()+"存在重名"); |
| | | } |
| | | payFeePo.setPayerObjId(contractPartyaDtos.get(0).getPartyaId()); |
| | | payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT); |
| | | payFeePo.setIsContractFee("O"); |
| | | } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) { |
| | | payFeePo.setPayerObjId(importRoomFee.getCarId()); |
| | | payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CAR); |