| | |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.annotation.Java110Transactional; |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.event.cmd.AbstractServiceCmdListener; |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.CommunityMemberDto; |
| | |
| | | import com.java110.dto.machine.MachineDto; |
| | | import com.java110.dto.owner.OwnerCarDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto; |
| | | import com.java110.dto.tempCarFeeConfig.TempCarFeeConfigDto; |
| | | import com.java110.intf.common.ICarInoutDetailV1InnerServiceSMO; |
| | | import com.java110.intf.common.ICarInoutPaymentV1InnerServiceSMO; |
| | | import com.java110.intf.common.ICarInoutV1InnerServiceSMO; |
| | | import com.java110.intf.common.IMachineInnerServiceSMO; |
| | | import com.java110.intf.community.ICommunityInnerServiceSMO; |
| | | import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeAttrInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeDetailInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | |
| | | * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行 |
| | | */ |
| | | @Java110Cmd(serviceCode = "machineTranslate.machineUploadCarLog") |
| | | public class MachineUploadCarLogCmd extends AbstractServiceCmdListener { |
| | | public class MachineUploadCarLogCmd extends Cmd { |
| | | |
| | | public static final int CAR_TYPE_MONTH = 0; //月租车 |
| | | public static final int CAR_TYPE_SUB = 1; //成员车辆 |
| | |
| | | @Autowired |
| | | private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "machineCode", "必填,请填写设备编码"); |
| | |
| | | MachineDto machineDto = new MachineDto(); |
| | | machineDto.setMachineCode(reqJson.getString("machineCode")); |
| | | machineDto.setCommunityId(reqJson.getString("communityId")); |
| | | machineDto.setMachineTypeCd(MachineDto.MACHINE_TYPE_CAR); |
| | | List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto); |
| | | |
| | | Assert.listOnlyOne(machineDtos, "设备不存在"); |
| | |
| | | carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto); |
| | | } |
| | | |
| | | |
| | | //保存出场明细 |
| | | CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo(); |
| | | carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_OUT); |
| | |
| | | carInoutDetailPo.setInoutId(carInoutDtos.get(0).getInoutId()); |
| | | carInoutDetailPo.setMachineCode(machineDto.getMachineCode()); |
| | | carInoutDetailPo.setMachineId(machineDto.getMachineId()); |
| | | carInoutDetailPo.setPaId(machineDto.getLocationObjId()); |
| | | carInoutDetailPo.setPaId(carInoutDtos.get(0).getPaId()); |
| | | int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo); |
| | | |
| | | if (flag < 1) { |
| | |
| | | * @param tempCar |
| | | */ |
| | | private void carIn(JSONObject reqJson, MachineDto machineDto, int tempCar) { |
| | | String state = CarInoutDto.STATE_IN; |
| | | //进场失败记录 |
| | | if(reqJson.containsKey("state") && "5".equals(reqJson.getString("state"))){ |
| | | state = CarInoutDto.STATE_IN_FAIL; |
| | | } |
| | | |
| | | String paId = machineDto.getLocationObjId(); |
| | | |
| | | if(MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())){ |
| | | ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto(); |
| | | parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId()); |
| | | List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto); |
| | | if(parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1){ |
| | | throw new CmdException("岗亭未配置停车场"+machineDto.getLocationObjId()); |
| | | } |
| | | paId = parkingBoxAreaDtos.get(0).getPaId(); |
| | | } |
| | | |
| | | //保存 |
| | | CarInoutPo carInoutPo = new CarInoutPo(); |
| | | carInoutPo.setCarNum(reqJson.getString("carNum")); |
| | | carInoutPo.setCommunityId(reqJson.getString("communityId")); |
| | | carInoutPo.setInoutId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID)); |
| | | carInoutPo.setInTime(reqJson.getString("inTime")); |
| | | carInoutPo.setState(CarInoutDto.STATE_IN); |
| | | carInoutPo.setPaId(machineDto.getLocationObjId()); |
| | | carInoutPo.setState(state); |
| | | carInoutPo.setPaId(paId); |
| | | int flag = carInoutV1InnerServiceSMOImpl.saveCarInout(carInoutPo); |
| | | |
| | | if (flag < 1) { |
| | |
| | | carInoutDetailPo.setInoutId(carInoutPo.getInoutId()); |
| | | carInoutDetailPo.setMachineCode(machineDto.getMachineCode()); |
| | | carInoutDetailPo.setMachineId(machineDto.getMachineId()); |
| | | carInoutDetailPo.setPaId(machineDto.getLocationObjId()); |
| | | carInoutDetailPo.setPaId(paId); |
| | | carInoutDetailPo.setRemark(reqJson.getString("remark")); |
| | | flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo); |
| | | |
| | | if (flag < 1) { |