From ff664962e096ff5fd57f3b7a45142eec440e5a9e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 06 九月 2022 09:05:20 +0800
Subject: [PATCH] 优化代码
---
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java | 326 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 248 insertions(+), 78 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java b/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
index 7e9a887..7ffed41 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
@@ -4,28 +4,33 @@
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.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
+import com.java110.dto.machine.CarBlackWhiteDto;
import com.java110.dto.machine.CarInoutDetailDto;
import com.java110.dto.machine.CarInoutDto;
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;
import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO;
import com.java110.intf.user.IBuildingOwnerV1InnerServiceSMO;
+import com.java110.intf.user.ICarBlackWhiteV1InnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
import com.java110.po.car.CarInoutDetailPo;
@@ -33,6 +38,7 @@
import com.java110.po.car.OwnerCarPo;
import com.java110.po.carInoutPayment.CarInoutPaymentPo;
import com.java110.po.fee.FeeAttrPo;
+import com.java110.po.fee.PayFeeDetailPo;
import com.java110.po.fee.PayFeePo;
import com.java110.po.owner.OwnerPo;
import com.java110.utils.exception.CmdException;
@@ -54,12 +60,12 @@
* // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴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_MONTH = 1001; //鏈堢杞�
public static final int CAR_TYPE_SUB = 1; //鎴愬憳杞﹁締
- public static final int CAR_TYPE_TEMP = 2; //涓存椂杞﹁締
- public static final int CAR_TYPE_NO_DATA = 3; //娌℃湁鏁版嵁
+ public static final int CAR_TYPE_TEMP = 1003; //涓存椂杞﹁締
+ public static final String CAR_TYPE_NO_DATA = "3"; //娌℃湁鏁版嵁
public static final String TEMP_CAR_OWNER = "涓存椂杞﹁溅涓�";
@@ -99,6 +105,15 @@
@Autowired
private ICarInoutPaymentV1InnerServiceSMO carInoutPaymentV1InnerServiceSMOImpl;
+ @Autowired
+ private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
+
+ @Autowired
+ private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
+
+ @Autowired
+ private ICarBlackWhiteV1InnerServiceSMO carBlackWhiteV1InnerServiceSMOImpl;
+
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
Assert.hasKeyAndValue(reqJson, "machineCode", "蹇呭~锛岃濉啓璁惧缂栫爜");
@@ -111,14 +126,14 @@
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
//鏄惁鏄复鏃惰溅
- int tempCar = CAR_TYPE_MONTH;
+ String tempCar = OwnerCarDto.LEASE_TYPE_TEMP;
+ String tempCarName ="涓存椂杞�";
//鏌ヨ璁惧淇℃伅
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, "璁惧涓嶅瓨鍦�");
@@ -132,18 +147,28 @@
//璇存槑鏄复鏃惰溅
if (ownerCarDtos == null || ownerCarDtos.size() == 0) {
tempCar = CAR_TYPE_NO_DATA;
+ tempCarName = "涓存椂杞�";
} else {
reqJson.put("carId", ownerCarDtos.get(0).getCarId());
- if (OwnerCarDto.CAR_TYPE_TEMP.equals(ownerCarDtos.get(0).getCarTypeCd())) {
- tempCar = CAR_TYPE_TEMP;
+ tempCar = ownerCarDtos.get(0).getLeaseType();
+ tempCarName = ownerCarDtos.get(0).getLeaseTypeName();
+ if(ownerCarDtos.size()>1){
+ for(OwnerCarDto tmpOwnerCarDto : ownerCarDtos){
+ if(OwnerCarDto.LEASE_TYPE_TEMP.equals(tmpOwnerCarDto.getLeaseType())){
+ continue;
+ }
+ tempCar = tmpOwnerCarDto.getLeaseType();
+ tempCarName = tmpOwnerCarDto.getLeaseTypeName();
+ }
}
}
+
//杩涘満澶勭悊
if (MachineDto.DIRECTION_IN.equals(machineDtos.get(0).getDirection())) {
- carIn(reqJson, machineDtos.get(0), tempCar);
+ carIn(reqJson, machineDtos.get(0), tempCar,tempCarName);
} else {
- carOut(reqJson, machineDtos.get(0), tempCar);
+ carOut(reqJson, machineDtos.get(0), tempCar,tempCarName);
}
}
@@ -155,12 +180,31 @@
* @param machineDto
* @param tempCar
*/
- private void carOut(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+ private void carOut(JSONObject reqJson, MachineDto machineDto, String tempCar,String tempCarName) {
+
+ String state = CarInoutDto.STATE_OUT;
+ //杩涘満澶辫触璁板綍
+ if (reqJson.containsKey("state") && "5".equals(reqJson.getString("state"))) {
+ state = CarInoutDto.STATE_IN_FAIL;
+ }
+
+
+ String paId = "";
+ if (MachineDto.MACHINE_TYPE_CAR.equals(machineDto.getMachineTypeCd())) {
+ ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+ parkingBoxAreaDto.setBoxId(machineDto.getLocationObjId());
+ parkingBoxAreaDto.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_TRUE);
+ List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+ if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+ throw new CmdException("宀椾涵鏈厤缃仠杞﹀満" + machineDto.getLocationObjId());
+ }
+ paId = parkingBoxAreaDtos.get(0).getPaId();
+ }
CarInoutDto carInoutDto = new CarInoutDto();
carInoutDto.setCommunityId(reqJson.getString("communityId"));
carInoutDto.setCarNum(reqJson.getString("carNum"));
- carInoutDto.setPaId(machineDto.getLocationObjId());
+ carInoutDto.setPaId(paId);
carInoutDto.setStates(new String[]{
CarInoutDto.STATE_IN,
CarInoutDto.STATE_PAY,
@@ -168,20 +212,32 @@
});
List<CarInoutDto> carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
+ // 娌℃湁杩涘満璁板綍
if (carInoutDtos == null || carInoutDtos.size() < 1) {
- //鍙兘杞﹁締寮傚父鎯呭喌 娌℃湁 杩涘満 璁板綍 琛ヤ竴鏉� carInout
- 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("outTime"));
- carInoutPo.setState(CarInoutDto.STATE_IN);
- carInoutPo.setPaId(machineDto.getLocationObjId());
- int flag = carInoutV1InnerServiceSMOImpl.saveCarInout(carInoutPo);
+ //鍙兘杞﹁締寮傚父鎯呭喌 娌℃湁 杩涘満 琛ュ厖杩涘満璁板綍
+ reqJson.put("inTime", reqJson.getString("outTime"));
+ //carIn(reqJson, machineDto, tempCar);
+ //淇濆瓨鍑哄満鏄庣粏
+ CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
+ carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_OUT);
+ carInoutDetailPo.setCarNum(reqJson.getString("carNum"));
+ carInoutDetailPo.setCommunityId(reqJson.getString("communityId"));
+ carInoutDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+ carInoutDetailPo.setInoutId("-1");
+ carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
+ carInoutDetailPo.setMachineId(machineDto.getMachineId());
+ carInoutDetailPo.setPaId(paId);
+ carInoutDetailPo.setRemark(reqJson.getString("remark"));
+ carInoutDetailPo.setState(state);
+ carInoutDetailPo.setCarType(CAR_TYPE_NO_DATA.equals(tempCar) ? OwnerCarDto.LEASE_TYPE_TEMP + "" : tempCar + "");
+ int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
if (flag < 1) {
- throw new CmdException("鍑哄満淇濆瓨璁板綍澶辫触");
+ throw new CmdException("淇濆瓨鍑鸿褰曟槑缁嗗け璐�");
}
- carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
+ //鍑哄満澶辫触浜�
+ if (CarInoutDto.STATE_IN_FAIL.equals(state)) {
+ return;
+ }
}
//淇濆瓨鍑哄満鏄庣粏
@@ -193,11 +249,40 @@
carInoutDetailPo.setInoutId(carInoutDtos.get(0).getInoutId());
carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
carInoutDetailPo.setMachineId(machineDto.getMachineId());
- carInoutDetailPo.setPaId(machineDto.getLocationObjId());
+ carInoutDetailPo.setPaId(carInoutDtos.get(0).getPaId());
+ carInoutDetailPo.setRemark(reqJson.getString("remark"));
+ carInoutDetailPo.setState(state);
+ if(CAR_TYPE_NO_DATA.equals(tempCar)){
+ carInoutDetailPo.setCarType(OwnerCarDto.LEASE_TYPE_TEMP);
+ carInoutDetailPo.setCarTypeName("涓存椂杞�");
+ //妫�鏌ユ槸鍚︿负榛戠櫧鍚嶅崟
+ CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+ carBlackWhiteDto.setCarNum(reqJson.getString("carNum"));
+ carBlackWhiteDto.setPaId(carInoutDtos.get(0).getPaId());
+ carBlackWhiteDto.setValidity("Y");
+ List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteV1InnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+ if(carBlackWhiteDtos != null && carBlackWhiteDtos.size() >0 ){
+ if(CarBlackWhiteDto.BLACK_WHITE_BLACK.equals(carBlackWhiteDtos.get(0).getBlackWhite())){
+ carInoutDetailPo.setCarType("B");
+ carInoutDetailPo.setCarTypeName("榛戝悕鍗�");
+ }else{
+ carInoutDetailPo.setCarType("W");
+ carInoutDetailPo.setCarTypeName("鐧藉悕鍗�");
+ }
+ }
+ }else{
+ carInoutDetailPo.setCarType(tempCar);
+ carInoutDetailPo.setCarTypeName(tempCarName);
+ }
int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
if (flag < 1) {
throw new CmdException("淇濆瓨鍑鸿褰曟槑缁嗗け璐�");
+ }
+
+ //鍑哄満澶辫触浜�
+ if (CarInoutDto.STATE_IN_FAIL.equals(state)) {
+ return;
}
//灏嗙姸鎬佹洿鏂颁负 鍑哄満鐘舵��
@@ -215,50 +300,94 @@
}
//鍐欐敮浠樿褰�
- CarInoutPaymentPo carInoutPaymentPo = new CarInoutPaymentPo();
- carInoutPaymentPo.setPaymentId(GenerateCodeFactory.getGeneratorId("10"));
- carInoutPaymentPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
- carInoutPaymentPo.setInoutId(carInoutDtos.get(0).getInoutId());
- carInoutPaymentPo.setPaId(carInoutDtos.get(0).getPaId());
- carInoutPaymentPo.setPayCharge(reqJson.getString("payCharge"));
- carInoutPaymentPo.setPayType(reqJson.getString("payType"));
- carInoutPaymentPo.setRealCharge(reqJson.getString("realCharge"));
- flag = carInoutPaymentV1InnerServiceSMOImpl.saveCarInoutPayment(carInoutPaymentPo);
- if (flag < 1) {
- throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
- }
+// CarInoutPaymentPo carInoutPaymentPo = new CarInoutPaymentPo();
+// carInoutPaymentPo.setPaymentId(GenerateCodeFactory.getGeneratorId("10"));
+// carInoutPaymentPo.setCommunityId(carInoutDtos.get(0).getCommunityId());
+// carInoutPaymentPo.setInoutId(carInoutDtos.get(0).getInoutId());
+// carInoutPaymentPo.setPaId(carInoutDtos.get(0).getPaId());
+// carInoutPaymentPo.setPayCharge(reqJson.getString("payCharge"));
+// carInoutPaymentPo.setPayType(reqJson.getString("payType"));
+// carInoutPaymentPo.setRealCharge(reqJson.getString("realCharge"));
+// flag = carInoutPaymentV1InnerServiceSMOImpl.saveCarInoutPayment(carInoutPaymentPo);
+// if (flag < 1) {
+// throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
+// }
+//
+// //鏈堢杞�
+// if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
+// return;
+// }
+//
+// //濡傛灉鏈夎垂鐢� 鍒欑即璐�
+// boolean hasFee = hasFeeAndPayFee(carInoutDtos.get(0), reqJson, carInoutPo, carInoutPaymentPo);
+//
+// double realCharge = Double.parseDouble(carInoutPaymentPo.getRealCharge());
+//
+// //鏈夎垂鐢� 鎴栬�� 缂磋垂涓�0 鏃剁粨鏉�
+// if (hasFee || realCharge == 0) {
+// return;
+// }
+// // 鍒ゆ柇鏄惁瀛樺湪 涓存椂杞� 铏氭嫙涓氫富
+// OwnerDto ownerDto = new OwnerDto();
+// ownerDto.setCommunityId(reqJson.getString("communityId"));
+// ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+// ownerDto.setOwnerFlag(OwnerDto.OWNER_FLAG_FALSE);
+// ownerDto.setName(TEMP_CAR_OWNER);
+// List<OwnerDto> ownerDtos = buildingOwnerV1InnerServiceSMOImpl.queryBuildingOwners(ownerDto);
+// if (ownerDtos == null || ownerDtos.size() < 1) {
+// return;
+// }
+// JSONObject paramIn = new JSONObject();
+// paramIn.put("inTime", carInoutDtos.get(0).getInTime());
+// paramIn.put("carId", reqJson.getString("carId"));
+// paramIn.put("communityId", carInoutDtos.get(0).getCommunityId());
+// paramIn.put("inoutId", carInoutDtos.get(0).getInoutId());
+// paramIn.put("ownerId", ownerDtos.get(0).getMemberId());
+// saveTempCarFee(paramIn, machineDto);
+//
+// //鍐嶅幓缂磋垂
+// hasFeeAndPayFee(carInoutDtos.get(0), reqJson, carInoutPo, carInoutPaymentPo);
+ }
- //鏈堢杞�
- if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
- return;
- }
+ private boolean hasFeeAndPayFee(CarInoutDto carInoutDto, JSONObject reqJson, CarInoutPo carInoutPo, CarInoutPaymentPo carInoutPaymentPo) {
- //涓存椂杞︽椂鏌ョ湅 鏄惁鏈夎垂鐢ㄦ病鏈夌粨鏉燂紝鍙兘鏄崐灏忔椂鍏嶈垂 闂 鎴栬�呮椂 鍏朵粬鍘熷洜 灏嗚垂鐢ㄧ粨鏉�
FeeAttrDto feeAttrDto = new FeeAttrDto();
+ feeAttrDto.setCommunityId(carInoutPo.getCommunityId());
feeAttrDto.setSpecCd(FeeAttrDto.SPEC_CD_CAR_INOUT_ID);
feeAttrDto.setValue(carInoutPo.getInoutId());
- feeAttrDto.setCommunityId(carInoutDtos.get(0).getCommunityId());
- List<FeeAttrDto> feeAttrDtos = feeAttrInnerServiceSMOImpl.queryFeeAttrs(feeAttrDto);
-
- if (feeAttrDtos == null || feeAttrDtos.size() < 1) {
- return;
- }
- FeeDto feeDto = new FeeDto();
- feeDto.setCommunityId(carInoutDtos.get(0).getCommunityId());
- feeDto.setFeeId(feeAttrDtos.get(0).getFeeId());
- feeDto.setState(FeeDto.STATE_DOING);
- List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto);
+ feeAttrDto.setState(FeeDto.STATE_DOING);
+ List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFeeByAttr(feeAttrDto);
if (feeDtos == null || feeDtos.size() < 1) {
- return;
+ return false;
}
PayFeePo payFeePo = new PayFeePo();
payFeePo.setState(FeeDto.STATE_FINISH);
payFeePo.setFeeId(feeDtos.get(0).getFeeId());
+ payFeePo.setEndTime(carInoutPo.getOutTime());
payFeePo.setCommunityId(feeDtos.get(0).getCommunityId());
- flag = feeInnerServiceSMOImpl.updateFee(payFeePo);
+ int flag = feeInnerServiceSMOImpl.updateFee(payFeePo);
if (flag < 1) {
- throw new CmdException("鏇存柊鍑哄満鏃堕棿澶辫触");
+ throw new CmdException("鏇存柊璐圭敤澶辫触");
}
+
+
+ PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
+ payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+ payFeeDetailPo.setPrimeRate("1.00");
+ FeeDto feeDto = feeDtos.get(0);
+ payFeeDetailPo.setStartTime(DateUtil.getFormatTimeString(feeDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
+ payFeeDetailPo.setEndTime(carInoutPo.getOutTime());
+ payFeeDetailPo.setCommunityId(carInoutDto.getCommunityId());
+ payFeeDetailPo.setCycles("1");
+ payFeeDetailPo.setReceivableAmount(carInoutPaymentPo.getPayCharge());
+ payFeeDetailPo.setReceivedAmount(carInoutPaymentPo.getRealCharge());
+ payFeeDetailPo.setFeeId(feeDto.getFeeId());
+
+ flag = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
+ if (flag < 1) {
+ throw new CmdException("鏇存柊璐圭敤澶辫触");
+ }
+ return true;
}
/**
@@ -268,15 +397,34 @@
* @param machineDto
* @param tempCar
*/
- private void carIn(JSONObject reqJson, MachineDto machineDto, int tempCar) {
+ private void carIn(JSONObject reqJson, MachineDto machineDto, String tempCar,String tempCarName) {
+ 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());
+ parkingBoxAreaDto.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_TRUE);
+ 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) {
@@ -293,14 +441,38 @@
carInoutDetailPo.setInoutId(carInoutPo.getInoutId());
carInoutDetailPo.setMachineCode(machineDto.getMachineCode());
carInoutDetailPo.setMachineId(machineDto.getMachineId());
- carInoutDetailPo.setPaId(machineDto.getLocationObjId());
+ carInoutDetailPo.setPaId(paId);
+ carInoutDetailPo.setState(state);
+ carInoutDetailPo.setRemark(reqJson.getString("remark"));
+ if(CAR_TYPE_NO_DATA.equals(tempCar)){
+ carInoutDetailPo.setCarType(OwnerCarDto.LEASE_TYPE_TEMP);
+ carInoutDetailPo.setCarTypeName("涓存椂杞�");
+ //妫�鏌ユ槸鍚︿负榛戠櫧鍚嶅崟
+ CarBlackWhiteDto carBlackWhiteDto = new CarBlackWhiteDto();
+ carBlackWhiteDto.setCarNum(reqJson.getString("carNum"));
+ carBlackWhiteDto.setPaId(paId);
+ carBlackWhiteDto.setValidity("Y");
+ List<CarBlackWhiteDto> carBlackWhiteDtos = carBlackWhiteV1InnerServiceSMOImpl.queryCarBlackWhites(carBlackWhiteDto);
+ if(carBlackWhiteDtos != null && carBlackWhiteDtos.size() >0 ){
+ if(CarBlackWhiteDto.BLACK_WHITE_BLACK.equals(carBlackWhiteDtos.get(0).getBlackWhite())){
+ carInoutDetailPo.setCarType("B");
+ carInoutDetailPo.setCarTypeName("榛戝悕鍗�");
+ }else{
+ carInoutDetailPo.setCarType("W");
+ carInoutDetailPo.setCarTypeName("鐧藉悕鍗�");
+ }
+ }
+ }else{
+ carInoutDetailPo.setCarType(tempCar);
+ carInoutDetailPo.setCarTypeName(tempCarName);
+ }
flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
if (flag < 1) {
throw new CmdException("淇濆瓨鍏ヨ褰曟槑缁嗗け璐�");
}
//鏈堢杞�
- if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
+ if (!OwnerCarDto.LEASE_TYPE_TEMP.equals(tempCar)) {
return;
}
@@ -322,22 +494,11 @@
} else {
reqJson.put("ownerId", ownerDtos.get(0).getMemberId());
}
- if (tempCar == CAR_TYPE_NO_DATA) {
+ if (CAR_TYPE_NO_DATA.equals(tempCar)) {
saveTempCar(reqJson, machineDto);
}
- //鍒涘缓璐圭敤
- TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto();
- tempCarFeeConfigDto.setCommunityId(reqJson.getString("communityId"));
- tempCarFeeConfigDto.setPaId(machineDto.getLocationObjId());
-
- List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto);
-
- if (tempCarFeeConfigDtos == null || tempCarFeeConfigDtos.size() < 1) { // 鍋滆溅鍦烘湭閰嶇疆鏀惰垂瑙勫垯 鍒欎笉鍒涘缓璐圭敤
- return;
- }
-
- saveTempCarFee(reqJson, machineDto, tempCarFeeConfigDtos.get(0));
+ saveTempCarFee(reqJson, machineDto);
}
/**
@@ -345,9 +506,19 @@
*
* @param reqJson
* @param machineDto
- * @param tempCarFeeConfigDto
*/
- private void saveTempCarFee(JSONObject reqJson, MachineDto machineDto, TempCarFeeConfigDto tempCarFeeConfigDto) {
+ private void saveTempCarFee(JSONObject reqJson, MachineDto machineDto) {
+
+ //鍒涘缓璐圭敤
+ TempCarFeeConfigDto tempCarFeeConfigDto = new TempCarFeeConfigDto();
+ tempCarFeeConfigDto.setCommunityId(reqJson.getString("communityId"));
+ tempCarFeeConfigDto.setPaId(machineDto.getLocationObjId());
+ List<TempCarFeeConfigDto> tempCarFeeConfigDtos = tempCarFeeConfigInnerServiceSMOImpl.queryTempCarFeeConfigs(tempCarFeeConfigDto);
+
+ if (tempCarFeeConfigDtos == null || tempCarFeeConfigDtos.size() < 1) { // 鍋滆溅鍦烘湭閰嶇疆鏀惰垂瑙勫垯 鍒欎笉鍒涘缓璐圭敤
+ return;
+ }
+
CommunityMemberDto communityMemberDto = new CommunityMemberDto();
communityMemberDto.setCommunityId(reqJson.getString("communityId"));
communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
@@ -473,6 +644,7 @@
ownerCarPo.setRemark("涓存椂杞� 鐗╄仈缃戝悓姝�");
ownerCarPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
ownerCarPo.setUserId("-1");
+ ownerCarPo.setLeaseType(OwnerCarDto.LEASE_TYPE_TEMP);
int flag = ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
if (flag < 1) {
@@ -480,7 +652,5 @@
}
reqJson.put("carId", ownerCarPo.getCarId());
-
-
}
}
--
Gitblit v1.8.0