ソースを参照

优化显示 月租车还是临时车

java110 3 年 前
コミット
68ae4c8d87

+ 13 - 1
java110-bean/src/main/java/com/java110/dto/machine/CarInoutDetailDto.java

@@ -17,7 +17,8 @@ public class CarInoutDetailDto extends CarInoutDto implements Serializable {
 
     public static final String CAR_INOUT_IN = "3306";
     public static final String CAR_INOUT_OUT = "3307";
-
+    public static final String CAR_TYPE_TEMP = "1003";
+    public static final String CAR_TYPE_MONTH = "1001";
     private String inoutId;
     private String machineId;
     private String machineCode;
@@ -35,6 +36,7 @@ public class CarInoutDetailDto extends CarInoutDto implements Serializable {
     private String remark;
     private String state;
 
+    private String carType;
 
     public String getInoutId() {
         return inoutId;
@@ -126,4 +128,14 @@ public class CarInoutDetailDto extends CarInoutDto implements Serializable {
     public void setState(String state) {
         this.state = state;
     }
+
+
+    public String getCarType() {
+        return carType;
+    }
+
+    public void setCarType(String carType) {
+        this.carType = carType;
+    }
+
 }

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/machine/CarInoutDto.java

@@ -38,6 +38,8 @@ public class CarInoutDto extends CarInoutPaymentDto implements Serializable {
     private long hours;
     private long min;
 
+    private String carType;
+
 
     private Date createTime;
 
@@ -157,4 +159,12 @@ public class CarInoutDto extends CarInoutPaymentDto implements Serializable {
     public void setPaIds(String[] paIds) {
         this.paIds = paIds;
     }
+
+    public String getCarType() {
+        return carType;
+    }
+
+    public void setCarType(String carType) {
+        this.carType = carType;
+    }
 }

+ 12 - 0
java110-bean/src/main/java/com/java110/po/car/CarInoutDetailPo.java

@@ -12,6 +12,8 @@ import java.io.Serializable;
  **/
 public class CarInoutDetailPo implements Serializable {
 
+
+
     private String detailId;
     private String inoutId;
     private String communityId;
@@ -25,6 +27,8 @@ public class CarInoutDetailPo implements Serializable {
     private String remark;
     private String state;
 
+    private String carType;
+
     public String getDetailId() {
         return detailId;
     }
@@ -112,4 +116,12 @@ public class CarInoutDetailPo implements Serializable {
     public void setState(String state) {
         this.state = state;
     }
+
+    public String getCarType() {
+        return carType;
+    }
+
+    public void setCarType(String carType) {
+        this.carType = carType;
+    }
 }

+ 12 - 3
java110-db/src/main/resources/mapper/common/CarInoutDetailV1ServiceDaoImplMapper.xml

@@ -8,9 +8,9 @@
     <!-- 保存车辆进出明细信息 add by wuxw 2018-07-03 -->
     <insert id="saveCarInoutDetailInfo" parameterType="Map">
         insert into car_inout_detail(
-        inout_id,machine_id,machine_code,car_inout,pa_id,detail_id,car_num,community_id,remark,state
+        inout_id,machine_id,machine_code,car_inout,pa_id,detail_id,car_num,community_id,remark,state,car_type
         ) values (
-        #{inoutId},#{machineId},#{machineCode},#{carInout},#{paId},#{detailId},#{carNum},#{communityId},#{remark},#{state}
+        #{inoutId},#{machineId},#{machineCode},#{carInout},#{paId},#{detailId},#{carNum},#{communityId},#{remark},#{state},#{carType}
         )
     </insert>
 
@@ -20,7 +20,7 @@
         select t.inout_id,t.inout_id inoutId,t.machine_id,t.machine_id machineId,t.machine_code,t.machine_code
         machineCode,t.car_inout,t.car_inout carInout,t.pa_id,t.pa_id paId,t.detail_id,t.detail_id
         detailId,t.car_num,t.car_num carNum,t.status_cd,t.status_cd statusCd,t.community_id,t.community_id communityId,t.state,
-        ci.in_time inTime,ci.out_time outTime,max(cip.real_charge) realCharge,ci.pa_id paId,td.name stateName,t.remark
+        ci.in_time inTime,ci.out_time outTime,max(cip.real_charge) realCharge,ci.pa_id paId,td.name stateName,t.remark,t.car_type carType
         from car_inout_detail t
         left join car_inout ci on t.inout_id = ci.inout_id and ci.status_cd = '0' and t.community_id = ci.community_id
         left join car_inout_payment cip on cip.inout_id = ci.inout_id and cip.community_id = ci.community_id
@@ -53,6 +53,9 @@
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
         </if>
+        <if test="carType !=null and carType != ''">
+            and t.car_type= #{carType}
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
@@ -93,6 +96,9 @@
         <if test="carNum !=null and carNum != ''">
             , t.car_num= #{carNum}
         </if>
+        <if test="carType !=null and carType != ''">
+            , t.car_type= #{carType}
+        </if>
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
         </if>
@@ -140,6 +146,9 @@
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
         </if>
+        <if test="carType !=null and carType != ''">
+            and t.car_type= #{carType}
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>

+ 6 - 1
java110-db/src/main/resources/mapper/common/CarInoutV1ServiceDaoImplMapper.xml

@@ -19,8 +19,9 @@
     <select id="getCarInoutInfo" parameterType="Map" resultType="Map">
         select t.in_time,t.in_time inTime,t.inout_id,t.inout_id inoutId,t.pa_id,t.pa_id paId,t.car_num,t.car_num
         carNum,t.status_cd,t.status_cd statusCd,t.state,t.community_id,t.community_id communityId,t.out_time,t.out_time
-        outTime,td.`name` stateName
+        outTime,td.`name` stateName,max(cid.car_type) carType
         from car_inout t
+        LEFT JOIN car_inout_detail cid on t.inout_id = cid.inout_id and cid.status_cd = '0' and cid.state in ('100300','100400','100600')
         left join t_dict td on t.state = td.status_cd and td.table_columns='state' and td.table_name = 'car_inout'
         where 1 =1
         <if test="inTime !=null and inTime != ''">
@@ -41,6 +42,9 @@
         <if test="carNum !=null and carNum != ''">
             and t.car_num= #{carNum}
         </if>
+        <if test="carType !=null and carType != ''">
+            and cid.car_type= #{carType}
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
@@ -59,6 +63,7 @@
         <if test="outTime !=null and outTime != ''">
             and t.out_time= #{outTime}
         </if>
+        group by t.in_time,t.inout_id,t.pa_id,t.car_num,t.status_cd,t.state,t.community_id,t.out_time,td.`name`
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}

+ 10 - 2
service-common/src/main/java/com/java110/common/cmd/machineTranslate/MachineUploadCarLogCmd.java

@@ -60,9 +60,9 @@ import java.util.List;
 @Java110Cmd(serviceCode = "machineTranslate.machineUploadCarLog")
 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_TEMP = 1003; //临时车辆
     public static final int CAR_TYPE_NO_DATA = 3; //没有数据
 
     public static final String TEMP_CAR_OWNER = "临时车车主";
@@ -146,8 +146,13 @@ public class MachineUploadCarLogCmd extends Cmd {
             if (OwnerCarDto.CAR_TYPE_TEMP.equals(ownerCarDtos.get(0).getCarTypeCd())) {
                 tempCar = CAR_TYPE_TEMP;
             }
+            // 月租车过期 后就是临时车
+            if (ownerCarDtos.get(0).getEndTime().before(DateUtil.getCurrentDate())) {
+                tempCar = CAR_TYPE_TEMP;
+            }
         }
 
+
         //进场处理
         if (MachineDto.DIRECTION_IN.equals(machineDtos.get(0).getDirection())) {
             carIn(reqJson, machineDtos.get(0), tempCar);
@@ -212,6 +217,7 @@ public class MachineUploadCarLogCmd extends Cmd {
             carInoutDetailPo.setPaId(paId);
             carInoutDetailPo.setRemark(reqJson.getString("remark"));
             carInoutDetailPo.setState(state);
+            carInoutDetailPo.setCarType(tempCar == CAR_TYPE_NO_DATA ? CAR_TYPE_TEMP + "" : tempCar + "");
             int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
             if (flag < 1) {
                 throw new CmdException("保存出记录明细失败");
@@ -234,6 +240,7 @@ public class MachineUploadCarLogCmd extends Cmd {
         carInoutDetailPo.setPaId(carInoutDtos.get(0).getPaId());
         carInoutDetailPo.setRemark(reqJson.getString("remark"));
         carInoutDetailPo.setState(state);
+        carInoutDetailPo.setCarType(tempCar == CAR_TYPE_NO_DATA ? CAR_TYPE_TEMP + "" : tempCar + "");
         int flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {
@@ -403,6 +410,7 @@ public class MachineUploadCarLogCmd extends Cmd {
         carInoutDetailPo.setPaId(paId);
         carInoutDetailPo.setState(state);
         carInoutDetailPo.setRemark(reqJson.getString("remark"));
+        carInoutDetailPo.setCarType(tempCar == CAR_TYPE_NO_DATA ? CAR_TYPE_TEMP + "" : tempCar + "");
         flag = carInoutDetailV1InnerServiceSMOImpl.saveCarInoutDetail(carInoutDetailPo);
 
         if (flag < 1) {