java110
2022-08-24 50fdb627e78c111cfdc50adbf6b9e7bbffbeb6ac
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java
@@ -4,7 +4,7 @@
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;
@@ -16,12 +16,14 @@
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;
@@ -56,7 +58,7 @@
 * // 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; //成员车辆
@@ -104,6 +106,9 @@
    @Autowired
    private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
    @Autowired
    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
    @Override
    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "machineCode", "必填,请填写设备编码");
@@ -123,7 +128,6 @@
        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, "设备不存在");
@@ -180,6 +184,7 @@
            carInoutDtos = carInoutV1InnerServiceSMOImpl.queryCarInouts(carInoutDto);
        }
        //保存出场明细
        CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
        carInoutDetailPo.setCarInout(CarInoutDetailDto.CAR_INOUT_OUT);
@@ -189,7 +194,7 @@
        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) {
@@ -309,14 +314,32 @@
     * @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) {
@@ -333,7 +356,8 @@
        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) {