java110 4 年 前
コミット
a11de62c76

+ 2 - 0
java110-bean/src/main/java/com/java110/dto/fee/FeeAttrDto.java

@@ -28,6 +28,8 @@ public class FeeAttrDto extends PageDto implements Serializable {
     public static final String SPEC_CD_OWNER_ID = "390007";//业主ID
     public static final String SPEC_CD_OWNER_NAME = "390008";//业主名称
     public static final String SPEC_CD_OWNER_LINK = "390009";//业主联系方式
+    public static final String SPEC_CD_CAR_INOUT_ID = "390011";//车辆进场编号
+
 
     private String attrId;
     private String specCd;

+ 1 - 1
java110-bean/src/main/java/com/java110/po/car/CarInoutPo.java

@@ -18,7 +18,7 @@ public class CarInoutPo implements Serializable {
     private String state;
     private String inTime;
     private String outTime;
-    private String statusCd;
+    private String statusCd = "0";
     private String paId;
 
 

+ 40 - 0
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java

@@ -226,6 +226,38 @@ public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
         if (flag < 1) {
             throw new CmdException("更新出场时间失败");
         }
+
+        //月租车
+        if (tempCar != CAR_TYPE_NO_DATA && tempCar != CAR_TYPE_TEMP) {
+            return;
+        }
+
+        //临时车时查看 是否有费用没有结束,可能是半小时免费 问题 或者时 其他原因 将费用结束
+        FeeAttrDto feeAttrDto = new FeeAttrDto();
+        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);
+        if (feeDtos == null || feeDtos.size() < 1) {
+            return;
+        }
+        PayFeePo payFeePo = new PayFeePo();
+        payFeePo.setState(FeeDto.STATE_FINISH);
+        payFeePo.setFeeId(feeDtos.get(0).getFeeId());
+        payFeePo.setCommunityId(feeDtos.get(0).getCommunityId());
+        flag = feeInnerServiceSMOImpl.updateFee(payFeePo);
+        if (flag < 1) {
+            throw new CmdException("更新出场时间失败");
+        }
     }
 
     /**
@@ -249,6 +281,7 @@ public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
         if (flag < 1) {
             throw new CmdException("保存入记录失败");
         }
+        reqJson.put("inoutId", carInoutPo.getInoutId());
 
         //保存明细
         CarInoutDetailPo carInoutDetailPo = new CarInoutDetailPo();
@@ -368,6 +401,13 @@ public class MachineUploadCarLogCmd extends AbstractServiceCmdListener {
         feeAttrPo.setValue("11111111111");
         feeAttrPo.setFeeId(payFeePo.getFeeId());
         feeAttrPos.add(feeAttrPo);
+        feeAttrPo = new FeeAttrPo();
+        feeAttrPo.setCommunityId(reqJson.getString("communityId"));
+        feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+        feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_CAR_INOUT_ID);
+        feeAttrPo.setValue(reqJson.getString("inoutId"));
+        feeAttrPo.setFeeId(payFeePo.getFeeId());
+        feeAttrPos.add(feeAttrPo);
         int flag = feeInnerServiceSMOImpl.saveFee(payFeePos);
         if (flag < 1) {
             throw new CmdException("保存临时车费用失败");