2025年03月03日 1.0.5 增加预存明细,预存剩余次数不从流水中查询,增加预存追加,优化相关逻辑等

main
gaoshuguang 9 months ago
parent 5aae17ea65
commit 6571f7211a

@ -4,7 +4,7 @@
<inspection_tool class="AlibabaVarargsParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<Languages>
<language minSize="84" name="Java" />
<language minSize="94" name="Java" />
</Languages>
</inspection_tool>
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">

@ -181,4 +181,7 @@
<orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
<orderEntry type="library" name="Maven: org.ehcache:ehcache:3.8.1" level="project" />
</component>
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="3ddcfa6e-fbb1-4aa7-8d7a-b0f6d6f5270f" />
</component>
</module>

@ -15,6 +15,9 @@ public class Constant {
public static final String STR_FOUR = "4";
public static final String STR_ZERO = "0";
public static final String STR_TEN = "10";
public static final String STR_ADMIN = "admin";
public static final int INT_TWO = 2;
public static final int INT_FIVE = 5;
public static final String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
public static final String YYYYMMDD = "yyyyMMdd";
public static final String YYYYMMDDHH = "yyyyMMddHH";

@ -14,6 +14,11 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author: shuguang
* @date: 20231027 14:46
* @description:
*/
@Controller
@RequestMapping("/UnBind")
public class UnBindController {
@ -42,7 +47,7 @@ public class UnBindController {
}
@PostMapping("getWXCarColorList")
@ResponseBody
public Object getWXCarColorList(@RequestBody Map<String, Object> params) {
public Object getWXCarColorList() {
Map<String,Object> map = new HashMap<>();
map.put("CarType",unBindMapper.getWXCarTypeList());
map.put("CarColor",unBindMapper.getWXCarColorList());

@ -22,6 +22,22 @@ public class WxVehicleBindController {
@Resource
private WxVehicleBindService wxVehicleBindService;
@PostMapping("/WxVehicleBind/deleteDetailsInfo")
public Object deleteDetailsInfo(@RequestBody Map<String, Object> params) {
return wxVehicleBindService.deleteDetailsInfo(params);
}
@PostMapping("/WxVehicleBind/completeDetailsInfo")
public Object completeDetailsInfo(@RequestBody Map<String, Object> params) {
return wxVehicleBindService.completeDetailsInfo(params);
}
@PostMapping("/WxVehicleBind/queryDepositDetails")
public Object queryDepositDetails(@RequestBody Map<String, Object> params) {
return wxVehicleBindService.queryDepositDetails(params);
}
@PostMapping("/WxVehicleBind/commitPreTimes")
public Object commitPreTimes(@RequestBody Map<String, Object> params) {
return wxVehicleBindService.commitPreTimes(params);
}
@PostMapping("/WxVehicleBind/updateApproved")
public Object updateApproved(@RequestBody WxUnBindApply wx) {
return wxVehicleBindService.updateApproved(wx);

@ -0,0 +1,21 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20250303 11:34
* @description:
*/
@TableName("wx_cross_num")
@Data
public class WxCrossNum {
@TableField("vehicleid")
private String vehicleid;
@TableField("vehiclecolor")
private Integer vehiclecolor;
@TableField("freetimes")
private Integer freetimes;
}

@ -0,0 +1,46 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20250228 8:20
* @description:
*/
@TableName("wx_pretimesinfo")
@Data
public class WxPreTimesInfo {
@TableField("vehicleid")
private String vehicleid;
@TableField("vehiclecolor")
private Integer vehiclecolor;
@TableField("vehicletype")
private Integer vehicletype;
@TableField("freetype")
private Integer freetype;
@TableField("freeStartTime")
private Date freeStartTime;
@TableField("freeEndTime")
private Date freeEndTime;
@TableField("freeTimes")
private Integer freeTimes;
@TableField("adduserid")
private String adduserid;
@TableField("adduser")
private String adduser;
@TableField("freesta")
private String freesta;
@TableField("advancefee")
private Long advancefee;
@TableField("insertTime")
private Date insertTime;
/**
* 0- 1- 2-
*/
@TableField("iscomplete")
private Integer iscomplete;
}

@ -28,8 +28,6 @@ public class WxVehicleBind {
private Date freeStartTime;
@TableField("freeEndTime")
private Date freeEndTime;
@TableField("freeTimes")
private Integer freeTimes;
@TableField("ImagesID")
private String imagesID;
@TableField("adduserid")

@ -27,11 +27,11 @@ public class WxVehicleBindExcel {
@ExcelProperty("免费结束时间")
private Date freeEndTime;
@ExcelProperty("免费次数")
private Integer freeTimes;
private String freeTimes;
@ExcelProperty("使用次数")
private Integer applyTimes;
private String applyTimes;
@ExcelProperty("剩余次数")
private Integer surplusTimes;
private String surplusTimes;
@ExcelProperty("添加人ID")
private String adduserid;
@ExcelProperty("添加人")
@ -39,7 +39,7 @@ public class WxVehicleBindExcel {
@ExcelProperty("免费站")
private String freesta;
@ExcelProperty("预缴金额")
private Integer advancefee;
private String advancefee;
@ExcelProperty("审核状态")
private String iscomplete;
}

@ -13,8 +13,7 @@
b.phoneNumber,
b.freetype,
b.freeStartTime,
b.freeEndTime,
b.freeTimes
b.freeEndTime
FROM wx_vehiclewx_bind a
LEFT JOIN wx_vehiclebind b ON a.vehicleid = b.vehicleid
AND a.vehiclecolor = b.vehiclecolor
@ -28,10 +27,10 @@
<bind name="vehicleid" value="'%'+params.vehicleid+'%'"/>
and a.vehicleid like #{vehicleid}
</if>
<if test="params.vehiclecolor!=null and params.vehiclecolor!=''">
<if test="params.vehiclecolor!=null ">
and a.vehiclecolor = #{params.vehiclecolor}
</if>
<if test="params.ismanager!=null and params.ismanager!=''">
<if test="params.ismanager!=null ">
and a.ismanager = #{params.ismanager}
</if>
</where>

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.WxCrossNum;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20250303 11:36
* @description:
*/
@Mapper
public interface WxCrossNumMapper extends BaseMapper<WxCrossNum> {
}

@ -0,0 +1,19 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.WxPreTimesInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author: shuguang
* @date: 20250228 9:01
* @description:
*/
@Mapper
public interface WxPreTimesInfoMapper extends BaseMapper<WxPreTimesInfo> {
List<Map<String, Object>> selectMyList(@Param("vehicleid")String vehicleid, @Param("vehiclecolor")int vehiclecolor);
}

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.WxPreTimesInfoMapper">
<select id="selectMyList" resultType="java.util.Map">
SELECT t.*, t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename FROM wx_pretimesinfo t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
AND t.vehicleid = '${vehicleid}'
</if>
<if test="vehiclecolor != null">
AND t.vehiclecolor=${vehiclecolor}
</if>
</where>
ORDER BY insertTime DESC
</select>
</mapper>

@ -5,40 +5,55 @@
<mapper namespace="com.nmgs.mapper.WxVehicleBindMapper">
<select id="selectMyPage" resultType="java.util.Map">
SELECT
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
t.freeTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
t.advancefee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
( SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor ) applyTimes
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE
t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor ),0) freeTimes,
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE
t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor and t7.iscomplete=1),0) reviewedTimes,
COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE
t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor and t8.iscomplete=0),0) notReviewedTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
(COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE
wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor ),0) + (SELECT COALESCE(SUM(w.advancefee), 0) FROM wx_pretimesinfo w WHERE
w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor)) totalAdvancefee,
(COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE
w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor and w1.iscomplete=1),0) + COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE
a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor and a1.iscomplete=1),0)) reviewedFee,
(COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE
w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor and w2.iscomplete=0),0) + COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE
a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor and a2.iscomplete=0),0)) notReviewedFee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
COALESCE(( SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor
),0) surplusTimes
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
@ -49,7 +64,7 @@
</if>
</where>
ORDER BY
t.freeStartTime DESC
t.freeStartTime DESC
</select>
<select id="queryList" resultType="com.nmgs.entity.WxVehicleBindExcel">
@ -61,46 +76,77 @@
t.freetype,
t.freeStartTime,
t.freeEndTime,
CASE
WHEN freeTimes &lt; 0 THEN ''
ELSE freeTimes
END AS freeTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
CASE
WHEN freesta = 'G' THEN
'嘎鲁图'
WHEN freesta = 'T' THEN
'台格' ELSE '台格,嘎鲁图'
WHEN freesta = 'G' THEN '嘎鲁图'
WHEN freesta = 'T' THEN '台格'
ELSE '台格,嘎鲁图'
END AS freesta,
t.advancefee,
CASE
WHEN t.freetype = 5 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0),
CASE
WHEN (SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0), 0))
ELSE ''
END,
', 合计: ',
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor), 0)
)
ELSE ''
END AS freeTimes,
CASE
WHEN t.freetype = 5 THEN
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0) -
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS applyTimes,
CASE
WHEN t.freetype = 5 OR t.freetype = 2 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor AND w1.iscomplete = 1), 0) +
COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor AND a1.iscomplete = 1), 0), '元',
CASE
WHEN (SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor AND w2.iscomplete = 0), 0) +
COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0), 0), '元')
ELSE ''
END,
', 合计: ',
COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor), 0) +
COALESCE((SELECT SUM(w.advancefee) FROM wx_pretimesinfo w WHERE w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor), 0), '元'
)
ELSE ''
END AS advancefee,
t.checkcode,
CASE
WHEN freeTimes &lt; 0 THEN ''
ELSE freeTimes
WHEN t.freetype = 5 AND (SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor) > 0 THEN
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS surplusTimes,
CASE
WHEN iscomplete = 0 THEN
'未审核'
WHEN iscomplete = 1 THEN
'通过'
WHEN iscomplete = 2 THEN
'未通过' ELSE '其他状态'
WHEN t.iscomplete = 0 THEN '未审核'
WHEN t.iscomplete = 1 THEN '通过'
WHEN t.iscomplete = 2 THEN '未通过'
ELSE '其他状态'
END AS iscomplete,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
( SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor ) applyTimes
t3.TEXT AS freetypename
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN
atype_text t1 ON t1.VALUE = t.vehiclecolor
LEFT JOIN
TYPE_TEXT t2 ON t2.VALUE = t.vehicletype
LEFT JOIN
wx_freetype_text t3 ON t3.VALUE = t.freetype
${whereSql}

@ -138,4 +138,44 @@ public interface WxVehicleBindService {
* @date 2023-11-28 18:30
*/
Object updateApproved(WxUnBindApply wx);
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-02-28 8:27
*/
Object commitPreTimes(Map<String, Object> params);
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-02-28 14:23
*/
Object queryDepositDetails(Map<String, Object> params);
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-03-02 15:14
*/
Object completeDetailsInfo(Map<String, Object> params);
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-03-02 15:14
*/
Object deleteDetailsInfo(Map<String, Object> params);
}

@ -4,14 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.nmgs.config.Constant;
import com.nmgs.entity.ATtypeText;
import com.nmgs.entity.FreeTypeText;
import com.nmgs.entity.TypeText;
import com.nmgs.entity.VehicleImages;
import com.nmgs.entity.VehicleWxBind;
import com.nmgs.entity.WxOutPort;
import com.nmgs.entity.WxCrossNum;
import com.nmgs.entity.WxPreTimesInfo;
import com.nmgs.entity.WxUnBindApply;
import com.nmgs.entity.WxVehicleBind;
import com.nmgs.entity.WxVehicleWxData;
@ -20,15 +18,14 @@ import com.nmgs.mapper.FreeTypeTextMapper;
import com.nmgs.mapper.TypeTextMapper;
import com.nmgs.mapper.VehicleImagesMapper;
import com.nmgs.mapper.VehicleWxBindMapper;
import com.nmgs.mapper.WxOutPortMapper;
import com.nmgs.mapper.WxCrossNumMapper;
import com.nmgs.mapper.WxPreTimesInfoMapper;
import com.nmgs.mapper.WxUnBindApplyMapper;
import com.nmgs.mapper.WxVehicleBindMapper;
import com.nmgs.mapper.WxVehicleWxDataMapper;
import com.nmgs.service.WxVehicleBindService;
import com.nmgs.util.DESUtil;
import com.nmgs.util.DateTimeUtil;
import com.nmgs.util.UuidUtil;
import com.nmgs.util.main;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@ -67,7 +64,9 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
@Resource
private VehicleWxBindMapper vehicleWxBindMapper;
@Resource
private WxOutPortMapper wxOutPortMapper;
private WxCrossNumMapper wxCrossNumMapper;
@Resource
private WxPreTimesInfoMapper wxPreTimesInfoMapper;
/**
*
@ -83,71 +82,20 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
log.info("[uuid:{}]-开始根据参数{}分页查询数据", uuid, map);
int pageNum = (int) map.get("pageNum");
int pageSize = (int) map.get("pageSize");
//IPage<Map> mapIPage = new Page<>();
Page<Map<String, Object>> page = new Page<>(pageNum, pageSize);
try {
String vehicleid=null;
Integer vehiclecolor=null;
String vehicleid = null;
Integer vehiclecolor = null;
if (ObjectUtils.isNotEmpty(map.get("vehicleid"))) {
//vehicleid= (String) map.get("vehicleid");
vehicleid= org.springframework.util.StringUtils.trimAllWhitespace(map.get("vehicleid").toString().toUpperCase());
vehicleid = org.springframework.util.StringUtils.trimAllWhitespace(map.get("vehicleid").toString().toUpperCase());
}
if (ObjectUtils.isNotEmpty(map.get("vehiclecolor"))) {
vehiclecolor= (Integer) map.get("vehiclecolor");
vehiclecolor = (Integer) map.get("vehiclecolor");
}
page = wxVehicleBindMapper.selectMyPage(page, vehicleid, vehiclecolor);
//Page<WxVehicleBind> page = new Page<>(pageNum, pageSize);
////wxVehicleBindMapper.selectMyPage();
//
//
//MPJLambdaWrapper<Map> mpjLambdaWrapper = new MPJLambdaWrapper();
//mpjLambdaWrapper
// .selectAll(WxVehicleBind.class)
// .select(WxUnBindApply::getWxid, WxUnBindApply::getApplyType, WxUnBindApply::getManagerWXID,WxUnBindApply::getText)
// .selectAs(ATtypeText::getText, "platecolorname")
// .selectAs(TypeText::getText, "typename")
// .selectAs(FreeTypeText::getText, "freetypename")
// .apply("SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor","applyTimes")
// //.selectAll(WxVehicleWxData.class)
// .leftJoin(ATtypeText.class, ATtypeText::getValue, WxVehicleBind::getVehiclecolor)
// .leftJoin(TypeText.class, TypeText::getValue, WxVehicleBind::getVehicletype)
// .leftJoin(FreeTypeText.class, FreeTypeText::getValue, WxVehicleBind::getFreetype)
//
//
// .leftJoin(WxUnBindApply.class, on -> on
// .eq(WxUnBindApply::getVehicleid, WxVehicleBind::getVehicleid)
// .eq(WxUnBindApply::getVehiclecolor, WxVehicleBind::getVehiclecolor))
//
//
// //.innerJoin(WxOutPort.class, on -> on
// // .eq(WxOutPort::getAcarno, WxVehicleBind::getVehicleid)
// // .eq(WxOutPort::getAtype, WxVehicleBind::getVehiclecolor)).selectCount(WxOutPort::getAcarno,"applyTimes")
//
// //.apply("select count(*) as applyTimes from wx_out_port t5 where acarno='{0}'" ,WxVehicleBind::getVehicleid)
// //.apply("atype={1}" ,WxVehicleBind::getVehicleid,WxVehicleBind::getVehiclecolor)
//
// //.leftJoin(
// // WxOutPort.class, on -> on
// // .eq(WxOutPort::getAcarno, WxVehicleBind::getVehicleid)
// // .eq(WxOutPort::getAtype, WxVehicleBind::getVehiclecolor)).selectCount(WxOutPort::getAcarno,"applyTimes")
//
// //.leftJoin(WxUnBindApply.class, WxUnBindApply::getVehicleid, WxVehicleBind::getVehicleid)
// //.leftJoin(WxUnBindApply.class, WxUnBindApply::getVehiclecolor, WxVehicleBind::getVehiclecolor)
// //.leftJoin(WxVehicleWxData.class, WxVehicleWxData::getWxid, WxUnBindApply::getWxid)
// .orderByDesc(WxVehicleBind::getFreeStartTime);
//
//if (ObjectUtils.isNotEmpty(map.get("vehicleid"))) {
// mpjLambdaWrapper.like(WxVehicleBind::getVehicleid, map.get("vehicleid"));
//}
//if (ObjectUtils.isNotEmpty(map.get("vehiclecolor"))) {
// mpjLambdaWrapper.eq(WxVehicleBind::getVehiclecolor, map.get("vehiclecolor"));
//}
//
//
//mapIPage = wxVehicleBindMapper.selectJoinPage(page, Map.class, mpjLambdaWrapper);
} catch (Exception e) {
e.printStackTrace();
log.error("[uuid:{}]-分页查询数据失败{}", uuid, e);
}
log.info("[uuid:{}]-根据参数{}分页查询数据条数为:{}", uuid, map, page.getTotal());
return page;
@ -204,13 +152,7 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
WxVehicleBind bind = new WxVehicleBind();
String adduser = (String) map.get("adduser");
String manno = (String) map.get("adduserid");
//解密人员工号
if (!"admin".equalsIgnoreCase(adduser)) {
manno = DESUtil.decrypt(manno);
}
String decrypt = DESUtil.decrypt(manno);
bind.setAdduserid(decrypt);
bind.setAdduserid(manno);
String vehicleid = (String) map.get("vehicleid");
int vehiclecolor = (int) map.get("vehiclecolor");
int vehicletype = (int) map.get("vehicletype");
@ -220,8 +162,15 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
Date freeEndTime = DateTimeUtil.getFormatDate((String) map.get("freeEndTime"), Constant.YYYY_MM_DD_HH_MM_SS);
int freeTimes = (int) map.get("freeTimes");
String freesta = (String) map.get("freesta");
int advancefee = (int) map.get("advancefee");
boolean isAdd = (boolean) map.get("isAdd");
int advancefee;
if(isAdd || Constant.INT_TWO== freetype){
advancefee = (int) map.get("advancefee");
}else {
advancefee = (int) map.get("totalAdvancefee");
}
String ImagesID = (String) map.get("ImagesID");
bind.setAdduser(adduser);
bind.setVehicleid(vehicleid);
@ -231,9 +180,13 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
bind.setFreetype(freetype);
bind.setFreeStartTime(freeStartTime);
bind.setFreeEndTime(freeEndTime);
bind.setFreeTimes(freeTimes);
bind.setFreesta(freesta);
bind.setAdvancefee((long) advancefee);
if (Constant.INT_FIVE == freetype) {
bind.setAdvancefee(0L);
}else {
bind.setAdvancefee((long) advancefee);
}
bind.setImagesID(uuid);
bind.setIscomplete(0);
//删除对应图片号的图片
@ -245,13 +198,32 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
int count;
QueryWrapper<WxVehicleBind> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("vehicleid", bind.getVehicleid())
.eq("vehicletype", bind.getVehicletype());
.eq("vehiclecolor", bind.getVehiclecolor());
if (!isAdd) {
count = wxVehicleBindMapper.update(bind, queryWrapper);
log.info("[uuid:{}]-更新免费车登记信息条数{}", uuid, count);
} else {
try {
count = wxVehicleBindMapper.insert(bind);
count=wxVehicleBindMapper.insert(bind);
if (Constant.INT_FIVE == freetype) {
WxPreTimesInfo info = new WxPreTimesInfo();
info.setVehicleid(vehicleid);
info.setVehiclecolor(vehiclecolor);
info.setVehicletype(vehicletype);
info.setFreetype(freetype);
info.setFreeStartTime(freeStartTime);
info.setFreeEndTime(freeEndTime);
info.setFreeTimes(freeTimes);
info.setAdduserid(manno);
info.setAdduser(adduser);
info.setFreesta(freesta);
info.setAdvancefee((long) advancefee);
Date now = new Date();
info.setInsertTime(now);
info.setIscomplete(0);
count = wxPreTimesInfoMapper.insert(info);
}
log.info("[uuid:{}]-新增免费车登记信息条数{}", uuid, count);
} catch (Exception e) {
log.info("[uuid:{}]-该车牌{}已存在,报错{}", uuid, bind.getVehicleid(), e.getMessage());
@ -302,22 +274,37 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
public Object deleteVehicleBind(List<WxVehicleBind> list) {
int count = 0;
int imageCount = 0;
int infoCount = 0;
int crossCount = 0;
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始删除免费车登记信息集合", uuid);
if (list != null && list.size() > 0) {
for (WxVehicleBind bind : list) {
QueryWrapper<WxVehicleBind> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("vehicleid", bind.getVehicleid())
.eq("vehicletype", bind.getVehicletype());
.eq("vehiclecolor", bind.getVehiclecolor());
count += wxVehicleBindMapper.delete(queryWrapper);
//删除对应图片号的图片
QueryWrapper<VehicleImages> imagesQueryWrapper = new QueryWrapper<>();
imagesQueryWrapper.eq("ImagesID", bind.getImagesID());
imageCount += vehicleImagesMapper.delete(imagesQueryWrapper);
//删除预缴记录
QueryWrapper<WxPreTimesInfo> preTimesInfoQueryWrapper = new QueryWrapper<>();
preTimesInfoQueryWrapper.eq("vehicleid", bind.getVehicleid())
.eq("vehiclecolor", bind.getVehiclecolor());
infoCount += wxPreTimesInfoMapper.delete(preTimesInfoQueryWrapper);
//删除次数统计表
QueryWrapper<WxCrossNum> crossNumQueryWrapper = new QueryWrapper<>();
crossNumQueryWrapper.eq("vehicleid", bind.getVehicleid())
.eq("vehiclecolor", bind.getVehiclecolor());
crossCount += wxCrossNumMapper.delete(crossNumQueryWrapper);
}
}
log.info("[uuid:{}]-删除免费车登记图片信息集合条数:{}", uuid, imageCount);
log.info("[uuid:{}]-删除免费车登记信息集合条数:{}", uuid, count);
log.info("[uuid:{}]-删除预缴记录信息集合条数:{}", uuid, infoCount);
log.info("[uuid:{}]-删除次数统计表信息集合条数:{}", uuid, crossCount);
return count;
}
@ -368,7 +355,7 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
log.info("[uuid:{}]-开始设置审核状态为未通过", uuid);
UpdateWrapper<WxVehicleBind> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("vehicleid", wxVehicleBind.getVehicleid())
.eq("vehicletype", wxVehicleBind.getVehicletype())
.eq("vehiclecolor", wxVehicleBind.getVehiclecolor())
.set("iscomplete", 2);
int count = wxVehicleBindMapper.update(null, updateWrapper);
log.info("[uuid:{}]-设置审核状态为未通过,更新条数{}", uuid, count);
@ -388,17 +375,30 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
int count = 0;
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始批量设置审核状态为通过", uuid);
if (list != null && list.size() > 0) {
for (WxVehicleBind bind : list) {
UpdateWrapper<WxVehicleBind> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("vehicleid", bind.getVehicleid())
.eq("vehicletype", bind.getVehicletype())
.set("iscomplete", 1);
count += wxVehicleBindMapper.update(null, updateWrapper);
try {
if (list != null && list.size() > 0) {
for (WxVehicleBind bind : list) {
UpdateWrapper<WxPreTimesInfo> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("vehicleid", bind.getVehicleid())
.eq("vehiclecolor", bind.getVehiclecolor())
.eq("iscomplete", 0)
.set("iscomplete", 1);
wxPreTimesInfoMapper.update(null, updateWrapper);
UpdateWrapper<WxVehicleBind> updateWrap = new UpdateWrapper<>();
updateWrap.eq("vehicleid", bind.getVehicleid())
.eq("vehiclecolor", bind.getVehiclecolor())
.set("iscomplete", 1);
count += wxVehicleBindMapper.update(null, updateWrap);
}
}
} catch (Exception e) {
log.error("[uuid:{}]-批量设置审核状态为通过,异常信息:{}", uuid, e.getMessage());
e.printStackTrace();
return false;
}
log.info("[uuid:{}]-批量设置审核状态为通过,更新条数:{}", uuid, count);
return count;
return count > 0;
}
/**
@ -438,12 +438,12 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
String uuid = UuidUtil.getUuid();
Object wxid = params.get("wxid");
log.info("[uuid:{}]-开始根据微信id:{}查询微信名称", uuid, wxid);
String wxname ="";
if(ObjectUtils.isNotEmpty(wxid)){
String wxname = "";
if (ObjectUtils.isNotEmpty(wxid)) {
QueryWrapper<WxVehicleWxData> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("wxid", wxid);
WxVehicleWxData wxVehicleWxData = wxVehicleWxDataMapper.selectOne(queryWrapper);
if(wxVehicleWxData != null){
if (wxVehicleWxData != null) {
wxname = wxVehicleWxData.getWxname();
}
}
@ -463,7 +463,7 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
public Object updateApproved(WxUnBindApply wx) {
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始处理通过申请和不通过申请{}", uuid, wx);
int count =0;
int count = 0;
Boolean approved = wx.getApproved();
String wxid = wx.getWxid();
String managerWXID = wx.getManagerWXID();
@ -478,7 +478,7 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
.eq("vehiclecolor", wx.getVehiclecolor());
upWrapper.eq("vehicleid", wx.getVehicleid())
.eq("vehiclecolor", wx.getVehiclecolor());
count = wxUnBindApplyMapper.delete( updateWrapper);
count = wxUnBindApplyMapper.delete(updateWrapper);
vehicleWxBindMapper.delete(upWrapper);
} else if (approved && StringUtils.isNotBlank(managerWXID)) {
updateWrapper.eq("vehicleid", wx.getVehicleid())
@ -493,24 +493,24 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
.eq("vehiclecolor", wx.getVehiclecolor())
.eq("wxid", managerWXID)
.set("ismanager", 1);
vehicleWxBindMapper.update(null, upWrapper);;
} else if(applyType==0 && !approved){
vehicleWxBindMapper.update(null, upWrapper);
} else if (applyType == 0 && !approved) {
updateWrapper.eq("vehicleid", wx.getVehicleid())
.eq("vehiclecolor", wx.getVehiclecolor())
.eq("wxid", wxid)
.set("applyType", 3)
.set("endTime", nowDate);
if(StringUtils.isNotBlank(wx.getText()) && StringUtils.isNotBlank(wx.getText().trim())){
if (StringUtils.isNotBlank(wx.getText()) && StringUtils.isNotBlank(wx.getText().trim())) {
updateWrapper.set("text", wx.getText().trim());
}
count = wxUnBindApplyMapper.update(null, updateWrapper);
}else if(applyType==1 && !approved){
} else if (applyType == 1 && !approved) {
updateWrapper.eq("vehicleid", wx.getVehicleid())
.eq("vehiclecolor", wx.getVehiclecolor())
.eq("wxid", wxid)
.set("applyType", 4)
.set("endTime", nowDate);
if(StringUtils.isNotBlank(wx.getText()) && StringUtils.isNotBlank(wx.getText().trim())){
if (StringUtils.isNotBlank(wx.getText()) && StringUtils.isNotBlank(wx.getText().trim())) {
updateWrapper.set("text", wx.getText().trim());
}
count = wxUnBindApplyMapper.update(null, updateWrapper);
@ -520,6 +520,148 @@ public class WxVehicleBindServiceImpl implements WxVehicleBindService {
return count > 0;
}
/**
*
*
* @param map
* @return java.lang.Object
* @author shuguang
* @date 2025-02-28 8:27
*/
@Override
public Object commitPreTimes(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始增加预存通行次数,参数:{}", uuid, map);
int count;
try {
WxPreTimesInfo info = new WxPreTimesInfo();
String adduser = (String) map.get("adduser");
String manno = (String) map.get("adduserid");
String vehicleid = (String) map.get("vehicleid");
int vehiclecolor = (int) map.get("vehiclecolor");
int vehicletype = (int) map.get("vehicletype");
int freetype = (int) map.get("freetype");
Date freeStartTime = DateTimeUtil.getFormatDate((String) map.get("freeStartTime"), Constant.YYYY_MM_DD_HH_MM_SS);
Date freeEndTime = DateTimeUtil.getFormatDate((String) map.get("freeEndTime"), Constant.YYYY_MM_DD_HH_MM_SS);
int freeTimes = (int) map.get("freeTimes");
String freesta = (String) map.get("freesta");
int advancefee = (int) map.get("advancefee");
info.setVehicleid(vehicleid);
info.setVehiclecolor(vehiclecolor);
info.setVehicletype(vehicletype);
info.setFreetype(freetype);
info.setFreeStartTime(freeStartTime);
info.setFreeEndTime(freeEndTime);
info.setFreeTimes(freeTimes);
info.setAdduserid(manno);
info.setAdduser(adduser);
info.setFreesta(freesta);
info.setAdvancefee((long) advancefee);
Date now = new Date();
info.setInsertTime(now);
info.setIscomplete(0);
count = wxPreTimesInfoMapper.insert(info);
log.info("[uuid:{}]-插入预存增加次数wx_pretimesinfo,条数:{}", uuid, count);
} catch (Exception e) {
log.error("[uuid:{}]-处理增加预存通行次数失败,异常信息:{}", uuid, e.getMessage());
return "处理增加预存通行次数失败";
}
return count > 0;
}
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-02-28 14:23
*/
@Override
public Object queryDepositDetails(Map<String, Object> params) {
String vehicleid = (String) params.get("vehicleid");
int vehiclecolor = (int) params.get("vehiclecolor");
return wxPreTimesInfoMapper.selectMyList(vehicleid, vehiclecolor);
}
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-03-02 15:14
*/
@Override
public Object completeDetailsInfo(Map<String, Object> params) {
int count;
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始审核增加的预存次数{}", uuid, params);
try {
String vehicleid = (String) params.get("vehicleid");
int vehiclecolor = (int) params.get("vehiclecolor");
Date insertTime = DateTimeUtil.getFormatDate((String) params.get("insertTime"), Constant.YYYY_MM_DD_HH_MM_SS);
UpdateWrapper<WxPreTimesInfo> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("vehicleid", vehicleid)
.eq("vehiclecolor", vehiclecolor)
.eq("insertTime", insertTime)
.eq("iscomplete", 0)
.set("iscomplete", 1);
wxPreTimesInfoMapper.update(null, updateWrapper);
UpdateWrapper<WxVehicleBind> updateWrap = new UpdateWrapper<>();
updateWrap.eq("vehicleid", vehicleid)
.eq("vehiclecolor", vehiclecolor)
.set("iscomplete", 1);
count = wxVehicleBindMapper.update(null, updateWrap);
} catch (Exception e) {
log.error("[uuid:{}]-审核增加的预存次数失败,异常信息:{}", uuid, e.getMessage());
return false;
}
log.info("[uuid:{}]-设置审核状态为通过,更新条数:{}", uuid, count);
return count > 0;
}
/**
*
*
* @param params
* @return java.lang.Object
* @author shuguang
* @date 2025-03-02 15:14
*/
@Override
public Object deleteDetailsInfo(Map<String, Object> params) {
int count;
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始删除增加的预存次数{}", uuid, params);
try {
String vehicleid = (String) params.get("vehicleid");
int vehiclecolor = (int) params.get("vehiclecolor");
Date insertTime = DateTimeUtil.getFormatDate((String) params.get("insertTime"), Constant.YYYY_MM_DD_HH_MM_SS);
QueryWrapper<WxPreTimesInfo> queryWrap = new QueryWrapper<>();
queryWrap.eq("vehicleid", vehicleid)
.eq("vehiclecolor", vehiclecolor)
.eq("insertTime", insertTime)
;
count = wxPreTimesInfoMapper.delete(queryWrap);
} catch (Exception e) {
log.error("[uuid:{}]-删除增加的预存次数失败,异常信息:{}", uuid, e.getMessage());
return false;
}
log.info("[uuid:{}]-删除增加的预存次数完成,更新条数:{}", uuid, count);
return count > 0;
}
public static void main(String[] args) {
String resourcePath = "version";
File resourceDir = new File(Objects.requireNonNull(WxVehicleBindServiceImpl.class.getClassLoader().getResource("")).getPath() + File.separator + resourcePath);

@ -4,3 +4,4 @@
3 2024年04月16日 1.0.2 增加使用次数及剩余次数
4 2024年07月02日 1.0.3 优化查询语句
5 2024年10月10日 1.0.4 增加解除绑定页面
6 2025年03月03日 1.0.5 增加预存明细,预存剩余次数不从流水中查询,增加预存追加,优化相关逻辑等

@ -13,8 +13,7 @@
b.phoneNumber,
b.freetype,
b.freeStartTime,
b.freeEndTime,
b.freeTimes
b.freeEndTime
FROM wx_vehiclewx_bind a
LEFT JOIN wx_vehiclebind b ON a.vehicleid = b.vehicleid
AND a.vehiclecolor = b.vehiclecolor
@ -28,10 +27,10 @@
<bind name="vehicleid" value="'%'+params.vehicleid+'%'"/>
and a.vehicleid like #{vehicleid}
</if>
<if test="params.vehiclecolor!=null and params.vehiclecolor!=''">
<if test="params.vehiclecolor!=null ">
and a.vehiclecolor = #{params.vehiclecolor}
</if>
<if test="params.ismanager!=null and params.ismanager!=''">
<if test="params.ismanager!=null ">
and a.ismanager = #{params.ismanager}
</if>
</where>

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.WxPreTimesInfoMapper">
<select id="selectMyList" resultType="java.util.Map">
SELECT t.*, t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename FROM wx_pretimesinfo t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
AND t.vehicleid = '${vehicleid}'
</if>
<if test="vehiclecolor != null">
AND t.vehiclecolor=${vehiclecolor}
</if>
</where>
ORDER BY insertTime DESC
</select>
</mapper>

@ -5,40 +5,55 @@
<mapper namespace="com.nmgs.mapper.WxVehicleBindMapper">
<select id="selectMyPage" resultType="java.util.Map">
SELECT
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
t.freeTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
t.advancefee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
( SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor ) applyTimes
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE
t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor ),0) freeTimes,
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE
t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor and t7.iscomplete=1),0) reviewedTimes,
COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE
t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor and t8.iscomplete=0),0) notReviewedTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
(COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE
wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor ),0) + (SELECT COALESCE(SUM(w.advancefee), 0) FROM wx_pretimesinfo w WHERE
w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor)) totalAdvancefee,
(COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE
w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor and w1.iscomplete=1),0) + COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE
a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor and a1.iscomplete=1),0)) reviewedFee,
(COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE
w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor and w2.iscomplete=0),0) + COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE
a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor and a2.iscomplete=0),0)) notReviewedFee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
COALESCE(( SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor
),0) surplusTimes
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
@ -49,7 +64,7 @@
</if>
</where>
ORDER BY
t.freeStartTime DESC
t.freeStartTime DESC
</select>
<select id="queryList" resultType="com.nmgs.entity.WxVehicleBindExcel">
@ -61,46 +76,77 @@
t.freetype,
t.freeStartTime,
t.freeEndTime,
CASE
WHEN freeTimes &lt; 0 THEN ''
ELSE freeTimes
END AS freeTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
CASE
WHEN freesta = 'G' THEN
'嘎鲁图'
WHEN freesta = 'T' THEN
'台格' ELSE '台格,嘎鲁图'
WHEN freesta = 'G' THEN '嘎鲁图'
WHEN freesta = 'T' THEN '台格'
ELSE '台格,嘎鲁图'
END AS freesta,
t.advancefee,
CASE
WHEN t.freetype = 5 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0),
CASE
WHEN (SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0), 0))
ELSE ''
END,
', 合计: ',
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor), 0)
)
ELSE ''
END AS freeTimes,
CASE
WHEN t.freetype = 5 THEN
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0) -
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS applyTimes,
CASE
WHEN t.freetype = 5 OR t.freetype = 2 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor AND w1.iscomplete = 1), 0) +
COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor AND a1.iscomplete = 1), 0), '元',
CASE
WHEN (SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor AND w2.iscomplete = 0), 0) +
COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0), 0), '元')
ELSE ''
END,
', 合计: ',
COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor), 0) +
COALESCE((SELECT SUM(w.advancefee) FROM wx_pretimesinfo w WHERE w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor), 0), '元'
)
ELSE ''
END AS advancefee,
t.checkcode,
CASE
WHEN freeTimes &lt; 0 THEN ''
ELSE freeTimes
WHEN t.freetype = 5 AND (SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor) > 0 THEN
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS surplusTimes,
CASE
WHEN iscomplete = 0 THEN
'未审核'
WHEN iscomplete = 1 THEN
'通过'
WHEN iscomplete = 2 THEN
'未通过' ELSE '其他状态'
WHEN t.iscomplete = 0 THEN '未审核'
WHEN t.iscomplete = 1 THEN '通过'
WHEN t.iscomplete = 2 THEN '未通过'
ELSE '其他状态'
END AS iscomplete,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
( SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor ) applyTimes
t3.TEXT AS freetypename
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN
atype_text t1 ON t1.VALUE = t.vehiclecolor
LEFT JOIN
TYPE_TEXT t2 ON t2.VALUE = t.vehicletype
LEFT JOIN
wx_freetype_text t3 ON t3.VALUE = t.freetype
${whereSql}

@ -1,6 +0,0 @@
序号 日期 版本号 说明
1 2023年11月27日 1.0.0 初始版本号
2 2023年11月29日 1.0.1 增加微信解绑申请操作
3 2024年04月16日 1.0.2 增加使用次数及剩余次数
4 2024年07月02日 1.0.3 优化查询语句
5 2024年10月10日 1.0.4 增加解除绑定页面

@ -13,8 +13,7 @@
b.phoneNumber,
b.freetype,
b.freeStartTime,
b.freeEndTime,
b.freeTimes
b.freeEndTime
FROM wx_vehiclewx_bind a
LEFT JOIN wx_vehiclebind b ON a.vehicleid = b.vehicleid
AND a.vehiclecolor = b.vehiclecolor
@ -28,10 +27,10 @@
<bind name="vehicleid" value="'%'+params.vehicleid+'%'"/>
and a.vehicleid like #{vehicleid}
</if>
<if test="params.vehiclecolor!=null and params.vehiclecolor!=''">
<if test="params.vehiclecolor!=null ">
and a.vehiclecolor = #{params.vehiclecolor}
</if>
<if test="params.ismanager!=null and params.ismanager!=''">
<if test="params.ismanager!=null ">
and a.ismanager = #{params.ismanager}
</if>
</where>

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.WxPreTimesInfoMapper">
<select id="selectMyList" resultType="java.util.Map">
SELECT t.*, t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename FROM wx_pretimesinfo t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
AND t.vehicleid = '${vehicleid}'
</if>
<if test="vehiclecolor != null">
AND t.vehiclecolor=${vehiclecolor}
</if>
</where>
ORDER BY insertTime DESC
</select>
</mapper>

@ -5,40 +5,55 @@
<mapper namespace="com.nmgs.mapper.WxVehicleBindMapper">
<select id="selectMyPage" resultType="java.util.Map">
SELECT
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
t.freeTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
t.advancefee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
( SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor ) applyTimes
t.vehicleid,
t.vehiclecolor,
t.vehicletype,
t.phoneNumber,
t.freetype,
t.freeStartTime,
t.freeEndTime,
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE
t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor ),0) freeTimes,
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE
t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor and t7.iscomplete=1),0) reviewedTimes,
COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE
t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor and t8.iscomplete=0),0) notReviewedTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
t.freesta,
(COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE
wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor ),0) + (SELECT COALESCE(SUM(w.advancefee), 0) FROM wx_pretimesinfo w WHERE
w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor)) totalAdvancefee,
(COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE
w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor and w1.iscomplete=1),0) + COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE
a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor and a1.iscomplete=1),0)) reviewedFee,
(COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE
w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor and w2.iscomplete=0),0) + COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE
a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor and a2.iscomplete=0),0)) notReviewedFee,
t.checkcode,
t.backup2,
t.backup3,
t.backup4,
t.backup5,
t.iscomplete,
t4.wxid,
t4.applyType,
t4.managerWXID,
t4.TEXT,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
COALESCE(( SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor
),0) surplusTimes
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN wx_unbindapply t4 ON ( t4.vehicleid = t.vehicleid AND t4.vehiclecolor = t.vehiclecolor )
<where>
1=1
<if test="vehicleid != null and vehicleid != ''">
@ -49,7 +64,7 @@
</if>
</where>
ORDER BY
t.freeStartTime DESC
t.freeStartTime DESC
</select>
<select id="queryList" resultType="com.nmgs.entity.WxVehicleBindExcel">
@ -61,46 +76,77 @@
t.freetype,
t.freeStartTime,
t.freeEndTime,
CASE
WHEN freeTimes &lt; 0 THEN ''
ELSE freeTimes
END AS freeTimes,
t.ImagesID,
t.adduserid,
t.adduser,
t.vehicleNotes,
CASE
WHEN freesta = 'G' THEN
'嘎鲁图'
WHEN freesta = 'T' THEN
'台格' ELSE '台格,嘎鲁图'
WHEN freesta = 'G' THEN '嘎鲁图'
WHEN freesta = 'T' THEN '台格'
ELSE '台格,嘎鲁图'
END AS freesta,
t.advancefee,
CASE
WHEN t.freetype = 5 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0),
CASE
WHEN (SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT SUM(t8.freeTimes) FROM wx_pretimesinfo t8 WHERE t8.vehicleid = t.vehicleid AND t8.vehiclecolor = t.vehiclecolor AND t8.iscomplete = 0), 0))
ELSE ''
END,
', 合计: ',
COALESCE((SELECT SUM(t6.freeTimes) FROM wx_pretimesinfo t6 WHERE t6.vehicleid = t.vehicleid AND t6.vehiclecolor = t.vehiclecolor), 0)
)
ELSE ''
END AS freeTimes,
CASE
WHEN t.freetype = 5 THEN
COALESCE((SELECT SUM(t7.freeTimes) FROM wx_pretimesinfo t7 WHERE t7.vehicleid = t.vehicleid AND t7.vehiclecolor = t.vehiclecolor AND t7.iscomplete = 1), 0) -
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS applyTimes,
CASE
WHEN t.freetype = 5 OR t.freetype = 2 THEN
CONCAT(
'已审核: ',
COALESCE((SELECT w1.advancefee FROM wx_vehiclebind w1 WHERE w1.vehicleid = t.vehicleid AND w1.vehiclecolor = t.vehiclecolor AND w1.iscomplete = 1), 0) +
COALESCE((SELECT SUM(a1.advancefee) FROM wx_pretimesinfo a1 WHERE a1.vehicleid = t.vehicleid AND a1.vehiclecolor = t.vehiclecolor AND a1.iscomplete = 1), 0), '元',
CASE
WHEN (SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0) > 0 THEN
CONCAT(', 未审核: ', COALESCE((SELECT w2.advancefee FROM wx_vehiclebind w2 WHERE w2.vehicleid = t.vehicleid AND w2.vehiclecolor = t.vehiclecolor AND w2.iscomplete = 0), 0) +
COALESCE((SELECT SUM(a2.advancefee) FROM wx_pretimesinfo a2 WHERE a2.vehicleid = t.vehicleid AND a2.vehiclecolor = t.vehiclecolor AND a2.iscomplete = 0), 0), '元')
ELSE ''
END,
', 合计: ',
COALESCE((SELECT wx.advancefee FROM wx_vehiclebind wx WHERE wx.vehicleid = t.vehicleid AND wx.vehiclecolor = t.vehiclecolor), 0) +
COALESCE((SELECT SUM(w.advancefee) FROM wx_pretimesinfo w WHERE w.vehicleid = t.vehicleid AND w.vehiclecolor = t.vehiclecolor), 0), '元'
)
ELSE ''
END AS advancefee,
t.checkcode,
CASE
WHEN freeTimes &lt; 0 THEN ''
ELSE freeTimes
WHEN t.freetype = 5 AND (SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor) > 0 THEN
COALESCE((SELECT freetimes FROM wx_cross_num t5 WHERE t5.vehicleid = t.vehicleid AND t5.vehiclecolor = t.vehiclecolor), 0)
ELSE ''
END AS surplusTimes,
CASE
WHEN iscomplete = 0 THEN
'未审核'
WHEN iscomplete = 1 THEN
'通过'
WHEN iscomplete = 2 THEN
'未通过' ELSE '其他状态'
WHEN t.iscomplete = 0 THEN '未审核'
WHEN t.iscomplete = 1 THEN '通过'
WHEN t.iscomplete = 2 THEN '未通过'
ELSE '其他状态'
END AS iscomplete,
t1.TEXT AS platecolorname,
t2.TEXT AS typename,
t3.TEXT AS freetypename,
( SELECT count(*) AS applyTimes FROM wx_out_port t5 WHERE t5.acarno = t.vehicleid AND t5.atype = t.vehiclecolor ) applyTimes
t3.TEXT AS freetypename
FROM
wx_vehiclebind t
LEFT JOIN atype_text t1 ON ( t1.VALUE = t.vehiclecolor )
LEFT JOIN TYPE_TEXT t2 ON ( t2.VALUE = t.vehicletype )
LEFT JOIN wx_freetype_text t3 ON ( t3.VALUE = t.freetype )
LEFT JOIN
atype_text t1 ON t1.VALUE = t.vehiclecolor
LEFT JOIN
TYPE_TEXT t2 ON t2.VALUE = t.vehicletype
LEFT JOIN
wx_freetype_text t3 ON t3.VALUE = t.freetype
${whereSql}

@ -1,6 +0,0 @@
序号 日期 版本号 说明
1 2023年11月27日 1.0.0 初始版本号
2 2023年11月29日 1.0.1 增加微信解绑申请操作
3 2024年04月16日 1.0.2 增加使用次数及剩余次数
4 2024年07月02日 1.0.3 优化查询语句
5 2024年10月10日 1.0.4 增加解除绑定页面

@ -11,8 +11,11 @@ com\nmgs\util\PathUtil.class
com\nmgs\mapper\VehicleWxBindMapper.class
com\nmgs\entity\WxChatCarUser.class
com\nmgs\controller\UnBindController.class
com\nmgs\entity\WxPreTimesInfo.class
com\nmgs\util\PagesUtils.class
com\nmgs\mapper\WxPreTimesInfoMapper.class
com\nmgs\mapper\FreeTypeTextMapper.class
com\nmgs\entity\WxCrossNum.class
com\nmgs\config\FilterConfig.class
com\nmgs\util\DateTimeUtil.class
com\nmgs\entity\WxVehicleBind.class
@ -44,4 +47,5 @@ com\nmgs\util\PlateRegexutil.class
com\nmgs\entity\FreeTypeText.class
com\nmgs\config\RedisSessionConfig.class
com\nmgs\entity\WxVehicleWxData.class
com\nmgs\mapper\WxCrossNumMapper.class
com\nmgs\util\DESUtil.class

@ -1,29 +1,14 @@
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\WxChatCarUser.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\controller\ExportController.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\WxVehicleBind.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\FreeCarRegistrationApplication.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\FreeTypeTextMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\UuidUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\CorsConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\VehicleWxBind.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\service\WxVehicleBindService.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\UnBindMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\ErrorConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\ThreadPoolConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\MyEnvironmentPostProcessor.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\VehicleImagesMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\FreeTypeText.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\WxVehicleWxData.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\controller\WxVehicleBindController.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\VehicleWxBindMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\WxVehicleWxDataMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\TypeText.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\TokenUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\DateTimeUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\DESUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\ExcelUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\service\impl\WxVehicleBindServiceImpl.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\DateUtils.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\PropertiesUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\ATtypeTextMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\MybatisConfig.java
@ -34,14 +19,33 @@ D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\n
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\CRCUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\WxVehicleBindMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\PathUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\ATtypeText.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\WxOutPortMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\FilterConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\Constant.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\PagesUtils.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\RedisSessionConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\main.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\PlateRegexutil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\controller\UnBindController.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\WxUnBindApply.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\controller\ExportController.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\FreeTypeTextMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\UuidUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\CorsConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\VehicleWxBind.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\WxCrossNumMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\UnBindMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\WxPreTimesInfo.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\ThreadPoolConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\FreeTypeText.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\controller\WxVehicleBindController.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\VehicleWxBindMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\WxVehicleWxDataMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\TypeText.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\TokenUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\ExcelUtil.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\DateUtils.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\WxCrossNum.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\entity\ATtypeText.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\config\FilterConfig.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\WxPreTimesInfoMapper.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\util\PagesUtils.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\controller\UnBindController.java
D:\myproject\git\GLT-FreeCarRegistration\FreeCarRegistration\src\main\java\com\nmgs\mapper\TypeTextMapper.java

@ -8,4 +8,7 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="SonarLintModuleSettings">
<option name="uniqueId" value="4f68876e-e1e7-4bf0-9293-f4664bc534f6" />
</component>
</module>

@ -5,7 +5,7 @@
<link rel="icon" href="/favicon.ico"/>
<title></title>
<script type="module" crossorigin src="./assets/index.37b41cbe.js"></script>
<script type="module" crossorigin src="./assets/index.5f20da5a.js"></script>
<link rel="stylesheet" href="./assets/index.c4ceb410.css">
</head>
<body>

@ -22,3 +22,10 @@ export const getUnPage = data => post("/FreeCarRegistration/UnBind/getPage", dat
export const deleteData = data => post("/FreeCarRegistration/UnBind/deleteData", data)
export const getWXCarColorList = data => post("/FreeCarRegistration/UnBind/getWXCarColorList", data)
export const crossData = data => post("/FreeCarRegistration/UnBind/crossData", data)
//增加次数
export const commitPreTimes = data => post("/FreeCarRegistration/WxVehicleBind/commitPreTimes", data)
export const queryDepositDetails = data => post("/FreeCarRegistration/WxVehicleBind/queryDepositDetails", data)
export const completeDetailsInfo = data => post("/FreeCarRegistration/WxVehicleBind/completeDetailsInfo", data)
export const deleteDetailsInfo = data => post("/FreeCarRegistration/WxVehicleBind/deleteDetailsInfo", data)

@ -2,8 +2,8 @@
<el-row>
<el-col :span="24">
<div style="padding: 10px 0">
<el-input style="width: 150px;margin-left: 0.5%" placeholder="绑定人" v-model="searchForm.wxname"></el-input>
<el-input style="width: 150px;margin-left: 0.5%" placeholder="车牌号" v-model="searchForm.vehicleid"></el-input>
<el-input style="width: 150px;margin-left: 0.5%" placeholder="绑定人" v-model="searchForm.wxname" clearable></el-input>
<el-input style="width: 150px;margin-left: 0.5%" placeholder="车牌号" v-model="searchForm.vehicleid" clearable></el-input>
<el-select v-model="searchForm.vehiclecolor" class="m-2" :clearable="true" placeholder="车牌颜色"
style="width: 150px;margin-left: 0.5%">
<el-option

@ -62,23 +62,74 @@
:height=myHeight
@selection-change="handleSelectionChange"
v-loading="tableLoading"
@row-dblclick="handleRowDblclick"
>
<el-table-column :resizable="false" fixed type="selection" width="50" align="center"></el-table-column>
<el-table-column prop="vehicleid" fixed label="车牌" align="center" width="120"></el-table-column>
<el-table-column prop="vehicleid" fixed label="车牌" align="center" width="110"></el-table-column>
<el-table-column prop="platecolorname" fixed label="车牌颜色" align="center"></el-table-column>
<el-table-column prop="typename" label="车型" align="center" width="120"></el-table-column>
<el-table-column prop="phoneNumber" label="手机号" align="center" width="160"></el-table-column>
<el-table-column prop="freetypename" label="免费类型" align="center"></el-table-column>
<el-table-column prop="freeStartTime" label="免费开始时间" align="center" width="180"></el-table-column>
<el-table-column prop="freeEndTime" label="免费结束时间" align="center" width="180"></el-table-column>
<el-table-column prop="freeTimes" label="免费次数" align="center" width="100" :formatter="transforFreeTimes"></el-table-column>
<el-table-column prop="applyTimes" label="使用次数" align="center" width="100" ></el-table-column>
<el-table-column prop="surplusTimes" label="剩余次数" align="center" width="100" :formatter="transforSurplusTimes" ></el-table-column>
<el-table-column prop="freeStartTime" label="免费开始时间" align="center" width="170"></el-table-column>
<el-table-column prop="freeEndTime" label="免费结束时间" align="center" width="170"></el-table-column>
<!-- <el-table-column prop="freeTimes" label="免费次数" align="center" width="100" :formatter="transforFreeTimes" ></el-table-column>-->
<el-table-column
prop="freeTimes"
label="免费次数"
align="center"
width="120">
<!-- 使用 template 插槽来自定义单元格内容 -->
<template v-slot="scope">
<div v-if="scope.row.freetype === 5">
<span style="color: green;">已审核: {{ scope.row.reviewedTimes }}</span><br />
<div v-if="scope.row.notReviewedTimes > 0">
<span style="color: red;">未审核: {{ scope.row.notReviewedTimes }}</span><br />
</div>
<span>合计: {{ scope.row.freeTimes }}</span>
</div>
<div v-else>
&nbsp; <!-- 如果 row.freeType 不等于 5则显示为空字符串 -->
</div>
</template>
</el-table-column>
<el-table-column label="预存增次" align="center">
<template v-slot="scope">
<!-- 仅当 freeType 等于 5 时显示按钮 -->
<el-tooltip effect="dark" placement="top" content="预存增次">
<el-button
v-if="scope.row.freetype === 5 &&addShow"
type="text"
@click="increaseFreeTimes(scope.row)"
>
<el-icon><Plus /></el-icon>
</el-button>
</el-tooltip>
</template>
</el-table-column>
<el-table-column prop="applyTimes" label="使用次数" align="center" width="100" :formatter="transforApplyTimes"></el-table-column>
<el-table-column prop="surplusTimes" label="剩余次数" align="center" width="100" :formatter="transforSurplusTimes" ></el-table-column>
<el-table-column prop="adduserid" label="添加人ID" align="center"></el-table-column>
<el-table-column prop="adduser" label="添加人" align="center"></el-table-column>
<el-table-column prop="freesta" label="免费站" align="center" :formatter="transforSta"
width="120"></el-table-column>
<el-table-column prop="advancefee" label="预缴金额" align="center" width="90"></el-table-column>
<el-table-column prop="advancefee" label="预缴金额" align="center" width="130">
<template v-slot="scope">
<div v-if="scope.row.freetype === 5 || scope.row.freetype === 2">
<span style="color: green;">已审核: {{ scope.row.reviewedFee }}</span><br />
<div v-if="scope.row.notReviewedFee > 0">
<span style="color: red;">未审核: {{ scope.row.notReviewedFee }}</span><br />
</div>
<span>合计: {{ scope.row.totalAdvancefee }}</span>
</div>
<div v-else>
&nbsp; <!-- 如果 row.freeType 不等于 5则显示为空字符串 -->
</div>
</template>
</el-table-column>
<el-table-column prop="applyType" label="申请" align="center" width="90" v-if="completeShow">
<template v-slot="scope">
<el-tooltip effect="dark" placement="top" content="解绑申请">
@ -93,7 +144,7 @@
</el-table-column>
<el-table-column prop="iscomplete" label="审核状态" align="center" width="100">
<el-table-column prop="iscomplete" label="审核状态" align="center" width="90" fixed="right">
<template v-slot="{ row }">
<span :style="getColorStyle(row)">{{ isCompleted(row) }}</span>
@ -148,6 +199,7 @@
</el-config-provider>
</el-col>
</el-row>
<el-dialog title="免费车登记操作" v-model="editShow" width="60%" top="0.5%" destroy-on-close
:close-on-click-modal="false">
<el-form :model="editThisRow" size="medium" :rules="editRules" ref="editThisRow">
@ -318,11 +370,201 @@
</span>
</template>
</el-dialog>
<el-dialog title="预存车增加次数操作" v-model="editPreTimesShow" width="60%" top="0.5%" destroy-on-close
:close-on-click-modal="false">
<el-form :model="editPreTimesRow" size="medium" :rules="editPreTimesRules" ref="editPreTimesRow">
<el-row>
<el-col :span="12">
<el-form-item label="车牌" :label-width="formLabelWidth" prop="vehicleid">
<el-input v-model="editPreTimesRow.vehicleid" autocomplete="off" disabled
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌颜色" :label-width="formLabelWidth" prop="vehiclecolor">
<el-select v-model="editPreTimesRow.vehiclecolor" class="m-2" placeholder="请选择车牌颜色"
style="width: 100%;"
disabled
>
<el-option
v-for="item in CarColorList"
:label="item.text"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车型" :label-width="formLabelWidth" prop="vehicletype">
<el-select v-model="editPreTimesRow.vehicletype" class="m-2" placeholder="请选择车型"
style="width: 100%;"
disabled
>
<el-option
v-for="item in CarTypeList"
:label="item.text"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号" :label-width="formLabelWidth" prop="phoneNumber">
<el-input v-model="editPreTimesRow.phoneNumber" autocomplete="off" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="免费类型" :label-width="formLabelWidth" prop="freetype">
<el-select v-model="editPreTimesRow.freetype" class="m-2" placeholder="请选择免费类型"
style="width: 100%;"
disabled
>
<el-option
v-for="item in FreeTypeList"
:label="item.text"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="免费开始时间" :label-width="formLabelWidth" prop="freeStartTime">
<el-date-picker
v-model="editPreTimesRow.freeStartTime"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
:clearable="false"
style="width: 100%;"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="免费结束时间" :label-width="formLabelWidth" prop="freeEndTime">
<el-date-picker
v-model="editPreTimesRow.freeEndTime"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
:clearable="false"
style="width: 100%;"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="免费站" :label-width="formLabelWidth" prop="freesta">
<el-select v-model="editPreTimesRow.freesta" class="m-2" placeholder="请选择免费站"
multiple
style="width: 100%;"
disabled
>
<el-option
v-for="item in freestas"
:label="item.text"
:value="item.freesta"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="添加人ID" :label-width="formLabelWidth" prop="adduserid">
<el-input v-model="editPreTimesRow.adduserid" autocomplete="off" disabled
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="添加人" :label-width="formLabelWidth" prop="adduser">
<el-input v-model="editPreTimesRow.adduser" autocomplete="off" disabled
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="预缴金额" :label-width="formLabelWidth" prop="advancefee" >
<el-input v-model.number="editPreTimesRow.advancefee" autocomplete="off" clearable
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value<0)value=0"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="增加免费次数" :label-width="formLabelWidth" prop="freeTimes" >
<el-input v-model.number="editPreTimesRow.freeTimes" autocomplete="off"
oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value<0)value=0"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="editPreTimesShow=false"> </el-button>
<el-button type="primary" @click="editPreTimesCommit()"></el-button>
</span>
</template>
</el-dialog>
<el-dialog title="预存明细记录" v-model="isDepositDetailDialogVisible" width="80%" top="0.5%" destroy-on-close
:close-on-click-modal="false">
<el-table
:data="depositDetails"
border
style="width: 100%;"
>
<el-table-column prop="vehicleid" fixed label="车牌" align="center" width="100"></el-table-column>
<el-table-column prop="platecolorname" fixed label="车牌颜色" align="center"></el-table-column>
<el-table-column prop="insertTime" label="入库时间" align="center" width="180"></el-table-column>
<el-table-column prop="typename" label="车型" align="center" ></el-table-column>
<el-table-column prop="freetypename" label="免费类型" align="center"></el-table-column>
<el-table-column prop="freeStartTime" label="免费开始时间" align="center" width="165"></el-table-column>
<el-table-column prop="freeEndTime" label="免费结束时间" align="center" width="165"></el-table-column>
<el-table-column prop="freeTimes" label="免费次数" align="center" ></el-table-column>
<el-table-column prop="adduserid" label="添加人ID" align="center"></el-table-column>
<el-table-column prop="adduser" label="添加人" align="center"></el-table-column>
<el-table-column prop="freesta" label="免费站" align="center" :formatter="transforSta"
width="120"></el-table-column>
<el-table-column prop="advancefee" label="预缴金额" align="center" ></el-table-column>
<el-table-column prop="iscomplete" label="审核状态" align="center" width="100">
<template v-slot="{ row }">
<span :style="getColorStyle(row)">{{ isCompleted(row) }}</span>
</template>
</el-table-column>
<el-table-column :resizable="false" prop="right" label="操作" align="center" width="100" fixed="right">
<template v-slot="scope">
<el-tooltip effect="dark" placement="top" content="审核通过">
<el-button style="width: 23%;margin-left: 2%;margin-top: 0%;" @click="completeDetails(scope.row)"
type="success"
size="default"
v-if="scope.row.iscomplete === 0 && completeShow"
:icon="Select">
</el-button>
</el-tooltip>
<el-tooltip effect="dark" placement="top" content="删除">
<el-button style="width: 23%;margin-left: 2%;margin-top: 2%" @click="deleteDetails(scope.row)"
type="danger"
v-if="scope.row.iscomplete === 0 && addShow"
size="default" :icon="Delete">
</el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<template #footer>
<span class="dialog-footer">
<el-button @click="isDepositDetailDialogVisible=false"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import zhCn from 'element-plus/lib/locale/lang/zh-cn'
import {getPage, getCarColorList, commitVehicleBind, deleteVehicleBind} from "../../util/api/api.js";
import {getPage, getCarColorList, commitVehicleBind, deleteVehicleBind,commitPreTimes,queryDepositDetails,completeDetailsInfo,deleteDetailsInfo} from "../../util/api/api.js";
import pro from '../../util/tool.js';
import {Delete, Edit, Reading, ZoomIn, Select, CloseBold, Switch} from '@element-plus/icons-vue'
import {ElMessage} from "element-plus/es";
@ -370,6 +612,11 @@ export default {
Switch,
version: '',
editPreTimesShow: false,
editPreTimesRow: {},
depositDetails: [], //
isDepositDetailDialogVisible: false, //
unBindShow: false,
unBindThisRow: {},
@ -400,6 +647,7 @@ export default {
},
man: '',
manno: '',
mannoDe: '',
wxIsComplete: '1',
formLabelWidth: '130px',
myHeight: 500,
@ -421,6 +669,10 @@ export default {
advancefee: [{required: true, message: '请输入预缴金额', trigger: 'blur'}],
// imageList: [{required: true, message: '', trigger: 'blur'}],
},
editPreTimesRules: {
freeTimes: [{required: true, message: '请输入免费次数', trigger: 'blur'}],
advancefee: [{required: true, message: '请输入预缴金额', trigger: 'blur'}],
},
unBindRules: {
// vehicleid: [{required: true, message: '', trigger: 'blur'},
// {validator: validatorCarno, message: ''}],
@ -437,9 +689,11 @@ export default {
// wxIsComplete 0-1-2-
this.man = localStorage.getItem("man");
this.manno = localStorage.getItem("manno");
this.mannoDe = localStorage.getItem("mannoDe");
this.wxIsComplete = localStorage.getItem("wxIsComplete");
// this.man = "";
// this.manno = "A/WmzjNaj6k=";
// this.mannoDe = "0";
// this.wxIsComplete = "2";
if (this.wxIsComplete === '0') {
this.addShow = true;
@ -451,6 +705,107 @@ export default {
}
},
deleteDetails(row){
ElMessageBox.confirm(
'是否删除数据?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
deleteDetailsInfo(row).then((res) => {
if (res) {
ElMessage({
message: '删除成功!',
type: 'success',
})
this.isDepositDetailDialogVisible =false
this.network()
} else {
ElMessage.error('删除失败!')
}
})
}).catch(() => {
ElMessage({
type: 'info',
message: '已取消!',
})
})
},
completeDetails(row){
ElMessageBox.confirm(
'是否审核数据?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
completeDetailsInfo(row).then((res) => {
if (res) {
ElMessage({
message: '审核成功!',
type: 'success',
});
this.isDepositDetailDialogVisible =false
this.network()
} else {
ElMessage.error(('审核失败!'))
}
})
}).catch(() => {
ElMessage({
type: 'info',
message: '已取消!',
})
})
},
handleRowDblclick(row, column, event) {
// freetype 5
if (row.freetype === 5) {
//
this.fetchDepositDetails(row.vehicleid, row.vehiclecolor);
}
},
fetchDepositDetails(vehicleid,vehiclecolor) {
// console.log(vehicleid,vehiclecolor)
queryDepositDetails({"vehicleid":vehicleid,
"vehiclecolor":vehiclecolor}).then((res) => {
this.depositDetails = res; //
this.isDepositDetailDialogVisible = true; //
}).catch((error) => {
console.error("查询预存明细失败", error);
this.$message.error("查询预存明细失败,请稍后重试");
});
},
increaseFreeTimes(row) {
this.editPreTimesRow = JSON.parse(JSON.stringify(row));
this.editPreTimesRow.freesta = Array.isArray(row.freesta) ? row.freesta : [row.freesta];
this.editPreTimesRow.adduserid=this.mannoDe;
this.editPreTimesRow.adduser=this.man;
this.editPreTimesRow.advancefee='';
this.editPreTimesRow.freeTimes='';
this.editPreTimesShow = true;
},
//
exportExcel() {
@ -708,7 +1063,7 @@ export default {
showadvancefee(freetype) {
// console.log(freetype);
this.isShowFreeTimes=false;
this.editThisRow.freeTimes = -1000;
this.editThisRow.freeTimes = 0;
if(freetype===5){
this.isShowFreeTimes=true;
this.editThisRow.freeTimes = 0;
@ -723,6 +1078,39 @@ export default {
}
})
},
editPreTimesCommit() {
this.$refs['editPreTimesRow'].validate((valid) => {
if (valid) {
ElMessageBox.confirm(
'是否增加预存通行次数,修改后需重新审核?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
// console.log(this.editPreTimesRow)
this.editPreTimesRow.freesta = this.editPreTimesRow.freesta.join(',');
commitPreTimes(this.editPreTimesRow).then((res) => {
// console.log(res)
if (res !== "处理增加预存通行次数失败" || res) {
ElMessage.success('添加次数完成,请由审核人员审核后生效!')
this.network();
this.editPreTimesShow = false;
} else {
ElMessage.error('操作失败!')
}
return res;
})
})
}
})
},
commit() {
this.$refs['editThisRow'].validate((valid) => {
if (valid) {
@ -735,7 +1123,7 @@ export default {
type: 'warning',
}
).then(() => {
this.editThisRow.adduserid = this.manno;
this.editThisRow.adduserid = this.mannoDe;
this.editThisRow.adduser = this.man;
// console.log(this.$refs.gpy.imgArr.length)
// console.log("=========================")
@ -775,6 +1163,7 @@ export default {
editThis(row) {
this.editThisRow = JSON.parse(JSON.stringify(row));
this.editThisRow.isAdd = false;
this.editThisRow.freesta = this.editThisRow.freesta.split(',');
// console.log("===========")
// console.log(this.editThisRow.ImagesID)
@ -792,9 +1181,14 @@ export default {
// console.log(this.$refs.gpy.imgArr)
})
this.editShow = true;
this.isShow = true;
this.isShow = false;
if( this.editThisRow.freetype===5){
this.isShowFreeTimes = true;
this.isShow = false;
this.isShowFreeTimes = false;
}
if( this.editThisRow.freetype===2){
this.editThisRow.advancefee = row.totalAdvancefee;
this.isShow = true;
}
},
@ -877,16 +1271,21 @@ export default {
}
},
transforSurplusTimes(row) {
// console.log(row)
// console.log(row.applyTimes)
if (row.freeTimes < 0) {
if ( row.freetype !== 5) {
return '';
} else {
return row.surplusTimes;
}
},
transforApplyTimes(row) {
if ( row.freetype !== 5) {
return '';
} else {
return row.freeTimes-row.applyTimes;
return row.reviewedTimes-row.surplusTimes;
}
},
transforFreeTimes(row) {
if (row.freeTimes < 0) {
if ( row.freetype !== 5) {
return '';
} else {
return row.freeTimes;

Loading…
Cancel
Save