feat:接入海康二级口门进出记录
parent
145235c9de
commit
75419ffd05
|
|
@ -6,8 +6,10 @@ import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
|
@ -24,5 +26,9 @@ import org.apache.ibatis.annotations.Param;
|
||||||
public interface ClosedAreaCarApplyMapper extends BaseMapper<ClosedAreaCarApplyDO> {
|
public interface ClosedAreaCarApplyMapper extends BaseMapper<ClosedAreaCarApplyDO> {
|
||||||
|
|
||||||
IPage<ClosedAreaCarApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
|
IPage<ClosedAreaCarApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);
|
||||||
|
|
||||||
|
List<TwoLevelCar> getFgsCarToDay(String licenceNo);
|
||||||
|
|
||||||
|
List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@ package com.zcloud.primeport.persistence.repository;
|
||||||
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
||||||
import com.alibaba.cola.dto.PageResponse;
|
import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -14,5 +16,9 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
public interface ClosedAreaCarApplyRepository extends BaseRepository<ClosedAreaCarApplyDO> {
|
public interface ClosedAreaCarApplyRepository extends BaseRepository<ClosedAreaCarApplyDO> {
|
||||||
PageResponse<ClosedAreaCarApplyDO> listPage(Map<String, Object> params);
|
PageResponse<ClosedAreaCarApplyDO> listPage(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<TwoLevelCar> getFgsCarToDay(String licenceNo);
|
||||||
|
|
||||||
|
List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,12 @@ import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.jjb.saas.framework.repository.common.PageHelper;
|
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -37,5 +40,15 @@ public class ClosedAreaCarApplyRepositoryImpl extends BaseRepositoryImpl<ClosedA
|
||||||
IPage<ClosedAreaCarApplyDO> result = closedAreaCarApplyMapper.listPage(page, params, menuPerms);
|
IPage<ClosedAreaCarApplyDO> result = closedAreaCarApplyMapper.listPage(page, params, menuPerms);
|
||||||
return PageHelper.pageToResponse(result, result.getRecords());
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TwoLevelCar> getFgsCarToDay(String licenceNo) {
|
||||||
|
return closedAreaCarApplyMapper.getFgsCarToDay(licenceNo);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TwoLevelCar> dockTmpCarLevelTwo(String licenceNo) {
|
||||||
|
return closedAreaCarApplyMapper.dockTmpCarLevelTwo(licenceNo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public class OnePersonUtil {
|
||||||
// private Integer dockFlag;
|
// private Integer dockFlag;
|
||||||
// @Value("${oneLevelPerson.prefix}")
|
// @Value("${oneLevelPerson.prefix}")
|
||||||
// private String prefix;
|
// private String prefix;
|
||||||
private static Integer dockFlag = 1;
|
private static Integer dockFlag = 0;
|
||||||
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
||||||
private static String username = "shuangkong";
|
private static String username = "shuangkong";
|
||||||
private static String password = "qinan@202604";
|
private static String password = "qinan@202604";
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,120 @@
|
||||||
|
package com.zcloud.primeport.plan.mjDevice;
|
||||||
|
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.zcloud.gbscommon.dahuaDevice.DaHuaDeviceCommon;
|
||||||
|
import com.zcloud.gbscommon.dahuaDevice.DhuaConfig;
|
||||||
|
import com.zcloud.gbscommon.hkDevice.HKDeviceUtil;
|
||||||
|
import com.zcloud.gbscommon.utils.DateUtil;
|
||||||
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
|
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
|
||||||
|
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserImgQry;
|
||||||
|
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserImgBase64Co;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaCarApplyDO;
|
||||||
|
import com.zcloud.primeport.persistence.dataobject.ClosedAreaPersonApplyDO;
|
||||||
|
import com.zcloud.primeport.persistence.repository.ClosedAreaCarApplyRepository;
|
||||||
|
import com.zcloud.primeport.persistence.repository.ClosedAreaPersonApplyRepository;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.CarEnum;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.OneLevelCarSaveDto;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar;
|
||||||
|
import com.zcloud.primeport.plan.mjDevice.dto.TwoLevelUser;
|
||||||
|
import jodd.util.Base64;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一级人员门禁对接 前缀
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class TwoCarUtil {
|
||||||
|
@Resource
|
||||||
|
private ClosedAreaCarApplyRepository closedAreaCarApplyRepository;
|
||||||
|
|
||||||
|
|
||||||
|
private static Integer dockFlag = 0;
|
||||||
|
private static String prefix;
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批时候的主入口 传一个申请id来
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void levelTwoCarCompanyByApplyId(Long applyId) {
|
||||||
|
if (!dockFlag.equals(1)) return;
|
||||||
|
ClosedAreaCarApplyDO byId = closedAreaCarApplyRepository.getById(applyId);
|
||||||
|
if (byId.getCarBelongType().equals(4)) {
|
||||||
|
dockTmpCarLevelTwo(byId.getLicenceNo());
|
||||||
|
}else {
|
||||||
|
dockFgsCarLevelTwo(byId.getLicenceNo());
|
||||||
|
}
|
||||||
|
OneLevelCarSaveDto oneLevelCarSaveDto = new OneLevelCarSaveDto();
|
||||||
|
oneLevelCarSaveDto.setTruckNo(byId.getLicenceNo());
|
||||||
|
oneLevelCarSaveDto.setTruckCardColor(byId.getLicenceType());
|
||||||
|
oneLevelCarSaveDto.setTruckTypCod(CarEnum.getMenuKeyByPath(byId.getVehicleType()));
|
||||||
|
// todo 待确定到底是东港还是西港
|
||||||
|
oneLevelCarSaveDto.setPortId("0");
|
||||||
|
oneLevelCarSaveDto.setDriverNam(byId.getDrivingUserName());
|
||||||
|
oneLevelCarSaveDto.setLinkTel(byId.getUserPhone());
|
||||||
|
oneLevelCarSaveDto.setValidDte(DateUtil.date2Str(new Date(),"yyyy-MM-dd"));
|
||||||
|
oneLevelCarSaveDto.setRecTim(DateUtil.date2Str(new Date()));
|
||||||
|
oneLevelCarSaveDto.setYqlCheckFlag("1");
|
||||||
|
oneLevelCarSaveDto.setIsNeedCheck("0");
|
||||||
|
tmpVehicleSave(oneLevelCarSaveDto);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对接一级口门车辆
|
||||||
|
public void tmpVehicleSave(OneLevelCarSaveDto oneLevelCarSaveDto) {
|
||||||
|
if (dockFlag.equals(1)) {
|
||||||
|
oneLevelCarSaveDto.setIsNeedCheck("0");
|
||||||
|
String body = HttpRequest.post(prefix + "HD_QHD_IGATE_1.0/webresources/login/CTruck/qaSaveTemp").body(new JSONObject(oneLevelCarSaveDto).toString()).execute().body();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对接分公司二级口门车
|
||||||
|
*/
|
||||||
|
public void dockFgsCarLevelTwo(String licence_no) {
|
||||||
|
if (!dockFlag.equals(1)) return;
|
||||||
|
List<TwoLevelCar> carList = closedAreaCarApplyRepository.getFgsCarToDay(licence_no);
|
||||||
|
for (TwoLevelCar twoLevelCar : carList) {
|
||||||
|
// todo 车牌号转一下类型
|
||||||
|
HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0);
|
||||||
|
HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), DateUtil.date2Str(new Date(), "yyyy-MM-dd"), DateUtil.date2Str(new Date(), "yyyy-MM-dd"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对接临时访客二级口门车
|
||||||
|
*/
|
||||||
|
public void dockTmpCarLevelTwo(String licence_no) {
|
||||||
|
if (!dockFlag.equals(1)) return;
|
||||||
|
List<TwoLevelCar> carList = closedAreaCarApplyRepository.dockTmpCarLevelTwo(licence_no);
|
||||||
|
for (TwoLevelCar twoLevelCar : carList) {
|
||||||
|
// todo 车牌号转一下类型
|
||||||
|
HKDeviceUtil.saveOrUpdCar(twoLevelCar.getLicenceNo(), 0);
|
||||||
|
HKDeviceUtil.vehicleTopUp(twoLevelCar.getLicenceNo(), 0, twoLevelCar.getHkIndexCode(), twoLevelCar.getKhParkSysCode(), DateUtil.date2Str(new Date(), "yyyy-MM-dd"), DateUtil.date2Str(new Date(), "yyyy-MM-dd"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static <T> List<List<T>> partition(List<T> list, int size) {
|
||||||
|
List<List<T>> partitions = new ArrayList<>();
|
||||||
|
for (int i = 0; i < list.size(); i += size) {
|
||||||
|
partitions.add(list.subList(i, Math.min(i + size, list.size())));
|
||||||
|
}
|
||||||
|
return partitions;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -44,7 +44,7 @@ public class TwoPersonUtil {
|
||||||
// private Integer dockFlag;
|
// private Integer dockFlag;
|
||||||
// @Value("${oneLevelPerson.prefix}")
|
// @Value("${oneLevelPerson.prefix}")
|
||||||
// private String prefix;
|
// private String prefix;
|
||||||
private static Integer dockFlag = 1;
|
private static Integer dockFlag = 0;
|
||||||
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
private static String prefix = "https://skqhdg.porthebei.com:9008/yjkmRy/";
|
||||||
private static String username = "shuangkong";
|
private static String username = "shuangkong";
|
||||||
private static String password = "qinan@202604";
|
private static String password = "qinan@202604";
|
||||||
|
|
@ -74,11 +74,14 @@ public class TwoPersonUtil {
|
||||||
/*
|
/*
|
||||||
* 定时任务对接人
|
* 定时任务对接人
|
||||||
* */
|
* */
|
||||||
public void scheduledPeopleCompany() {
|
public void scheduledPeopleCompany() throws Exception {
|
||||||
if (!dockFlag.equals(1)) return;
|
if (!dockFlag.equals(1)) return;
|
||||||
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthTmpInfoById(null);
|
List<TwoLevelUser> userList = closedAreaPersonApplyRepository.getDockAuthTmpInfoById(null);
|
||||||
userList.addAll(closedAreaPersonApplyRepository.getDockAuthInfoById(null));
|
userList.addAll(closedAreaPersonApplyRepository.getDockAuthInfoById(null));
|
||||||
dockUserReal(userList);
|
dockUserReal(userList);
|
||||||
|
for (TwoLevelUser item : userList) {
|
||||||
|
dockOneLevelPerson(item.getUserCard(), item.getUserFaceImages(), item.getUserUid(), item.getUserName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
|
|
@ -112,7 +115,8 @@ public class TwoPersonUtil {
|
||||||
userInfo.set("personType", 0);
|
userInfo.set("personType", 0);
|
||||||
daHuaDeviceCommon.saveUser(userInfo);
|
daHuaDeviceCommon.saveUser(userInfo);
|
||||||
} else {
|
} else {
|
||||||
// 一级门禁的长期人 一般都有权限,临时、相关方的不一定有。
|
// 一级门禁的长期人 一般都有已经有权限了,
|
||||||
|
// 临时、相关方的不一定有。 他们每日刷新权限所以不影响
|
||||||
userByUserCard.getStr("validStartTime");
|
userByUserCard.getStr("validStartTime");
|
||||||
userByUserCard.getStr("validEndTime");
|
userByUserCard.getStr("validEndTime");
|
||||||
// true=在范围内,false=不在范围内
|
// true=在范围内,false=不在范围内
|
||||||
|
|
@ -122,11 +126,6 @@ public class TwoPersonUtil {
|
||||||
onePersonUtil.expirationDateRefreshedUserCard(userCard,DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "00:00:00",DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "23:59:59");
|
onePersonUtil.expirationDateRefreshedUserCard(userCard,DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "00:00:00",DateUtil.date2Str(new Date(), "yyyy-MM-dd") + "23:59:59");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userByUserCard.isEmpty()) System.out.println(userByUserCard);
|
|
||||||
if (userByUserCard.isEmpty()) System.out.println(userByUserCard);
|
|
||||||
// 如果这个人存在 哪么 看一下今天有没有时间
|
|
||||||
// 这个人不存在 新增这个人
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void dockUserReal(List<TwoLevelUser> userList) {
|
protected void dockUserReal(List<TwoLevelUser> userList) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.zcloud.primeport.plan.mjDevice.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TwoLevelCar {
|
||||||
|
private String licenceNo;
|
||||||
|
private String licenceType;
|
||||||
|
private String hkIndexCode;
|
||||||
|
private String khParkSysCode;
|
||||||
|
}
|
||||||
|
|
@ -43,6 +43,94 @@
|
||||||
</if>
|
</if>
|
||||||
order by c.id desc
|
order by c.id desc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getFgsCarToDay" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar">
|
||||||
|
SELECT
|
||||||
|
caca.licence_no,
|
||||||
|
GROUP_CONCAT( caca.licence_type ) licence_type,
|
||||||
|
GROUP_CONCAT( areatmp.hk_index_code ) hk_index_code,
|
||||||
|
GROUP_CONCAT( areatmp.kh_park_sys_code ) kh_park_sys_code
|
||||||
|
FROM
|
||||||
|
closed_area_car_apply caca
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
m.closed_area_id,
|
||||||
|
GROUP_CONCAT( tmp.hk_index_code ) hk_index_code,
|
||||||
|
GROUP_CONCAT( tmp.kh_park_sys_code ) kh_park_sys_code
|
||||||
|
FROM
|
||||||
|
mkmj m
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
mg.mkmj_id,
|
||||||
|
GROUP_CONCAT( DISTINCT mg.hk_index_code ) hk_index_code,
|
||||||
|
mg.kh_park_sys_code
|
||||||
|
FROM
|
||||||
|
mkmj_gate mg
|
||||||
|
WHERE
|
||||||
|
mg.gate_type = 'HGKM_MKMJ_GATE_TYPE_CAR'
|
||||||
|
AND mg.gate_status = 2
|
||||||
|
AND mg.delete_enum = 'FALSE'
|
||||||
|
GROUP BY
|
||||||
|
mg.mkmj_id,
|
||||||
|
mg.kh_park_sys_code
|
||||||
|
) tmp ON m.id = tmp.mkmj_id
|
||||||
|
WHERE
|
||||||
|
m.delete_enum = 'FALSE'
|
||||||
|
AND m.mkmj_status = 2
|
||||||
|
AND m.mkmj_level = 2
|
||||||
|
AND m.mkmj_type = 'HGKM_MKMJ_CKM'
|
||||||
|
GROUP BY
|
||||||
|
m.closed_area_id
|
||||||
|
) areatmp ON caca.closed_area_id = areatmp.closed_area_id
|
||||||
|
WHERE
|
||||||
|
caca.delete_enum = 'FALSE'
|
||||||
|
AND caca.car_belong_type IN ( 1, 2, 3, 5 )
|
||||||
|
AND caca.visit_end_time >= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||||
|
AND caca.visit_start_time <= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||||
|
and caca.audit_flag = 2
|
||||||
|
<if test="licenceNo != null and licenceNo != ''">
|
||||||
|
AND c.licence_no = #{licenceNo}
|
||||||
|
</if>
|
||||||
|
GROUP BY
|
||||||
|
caca.licence_no,
|
||||||
|
areatmp.kh_park_sys_code
|
||||||
|
</select>
|
||||||
|
<select id="dockTmpCarLevelTwo" resultType="com.zcloud.primeport.plan.mjDevice.dto.TwoLevelCar">
|
||||||
|
SELECT
|
||||||
|
caca.licence_no,
|
||||||
|
GROUP_CONCAT( caca.licence_type ) licence_type,
|
||||||
|
caca.level_two_mkmj_id,
|
||||||
|
tmp.hk_index_code,
|
||||||
|
tmp.kh_park_sys_code
|
||||||
|
FROM
|
||||||
|
closed_area_car_apply caca
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
mg.mkmj_id,
|
||||||
|
GROUP_CONCAT( DISTINCT mg.hk_index_code ) hk_index_code,
|
||||||
|
mg.kh_park_sys_code
|
||||||
|
FROM
|
||||||
|
mkmj_gate mg
|
||||||
|
WHERE
|
||||||
|
mg.gate_type = 'HGKM_MKMJ_GATE_TYPE_CAR'
|
||||||
|
AND mg.gate_status = 2
|
||||||
|
AND mg.delete_enum = 'FALSE'
|
||||||
|
GROUP BY
|
||||||
|
mg.mkmj_id,
|
||||||
|
mg.kh_park_sys_code
|
||||||
|
) tmp ON caca.level_two_mkmj_id = tmp.mkmj_id
|
||||||
|
WHERE
|
||||||
|
caca.delete_enum = 'FALSE'
|
||||||
|
AND caca.car_belong_type = 4
|
||||||
|
AND caca.visit_end_time >= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||||
|
AND caca.visit_start_time <= DATE_FORMAT( now(), '%Y-%m-%d' )
|
||||||
|
and caca.audit_flag = 2
|
||||||
|
<if test="licenceNo != null and licenceNo != ''">
|
||||||
|
AND c.licence_no = #{licenceNo}
|
||||||
|
</if>
|
||||||
|
GROUP BY
|
||||||
|
caca.licence_no,
|
||||||
|
caca.level_two_mkmj_id
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue