diff --git a/README.md b/README.md index 6602dec13..a663f84f0 100644 --- a/README.md +++ b/README.md @@ -11,3 +11,23 @@ idea运行需要把内存修改大一点 ![](asset/img.png) + +# 兼容达梦(连接mycat代理的达梦) +## 创建函数: +CREATE OR REPLACE FUNCTION TO_DAYS(in_date DATE) +RETURN NUMBER +AS +BEGIN +RETURN TRUNC(in_date) - DATE '1970-01-01'; +END; + +## 修改server.xml配置 +system标签下添加: +true +dm + + +1 + +## 修改dm.ini配置 +COMPATIBLE_MODE改成mysql的数字 diff --git a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java index bfe13d211..99c1c5d09 100644 --- a/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java +++ b/src/main/java/com/zhgd/mybatis/DataScopeInterceptor.java @@ -14,18 +14,13 @@ import com.zhgd.annotation.DataScope; import com.zhgd.jeecg.common.util.SpringContextUtils; import com.zhgd.xmgl.constant.Cts; import com.zhgd.xmgl.entity.dto.OperLogDataChange; -import com.zhgd.xmgl.entity.dto.OperLogInsertChange; import com.zhgd.xmgl.security.util.SecurityUtils; -import com.zhgd.xmgl.util.EnvironmentUtil; -import com.zhgd.xmgl.util.LogMdcUtil; -import com.zhgd.xmgl.util.PrintColorUtil; -import com.zhgd.xmgl.util.ThreadLocalUtil; +import com.zhgd.xmgl.util.*; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.insert.Insert; import net.sf.jsqlparser.statement.select.*; -import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; @@ -41,7 +36,6 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; -import java.lang.reflect.Array; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.SQLException; @@ -196,14 +190,17 @@ public class DataScopeInterceptor extends JsqlParserSupport implements InnerInte Method[] declaredMethods = clazz.getDeclaredMethods(); Optional dsOption = Arrays.stream(declaredMethods).filter(method -> method.getName().equals(methodName)).map(method -> method.getAnnotation(DataScope.class)).filter(Objects::nonNull).findFirst(); annotation = dsOption.orElseGet(() -> clazz.getAnnotation(DataScope.class)); - if (findIgnoreDataScope(parameter, annotation) && isNotSqlTest()) { - return; - } +// if (findIgnoreDataScope(parameter, annotation) && isNotSqlTest()) { +// return; +// } PluginUtils.MPBoundSql mpBs = PluginUtils.mpBoundSql(boundSql); JSONObject jo = new JSONObject(); jo.put("ds", annotation); jo.put("parameter", parameter); - mpBs.sql(this.parserSingle(mpBs.sql(), jo)); + log.debug("原来sql:{}",mpBs.sql()); + //过滤器转换成达梦函数 + String convertedSql = DamengUtil.convertMySQLFormatToDm(mpBs.sql()); + mpBs.sql(this.parserSingle(convertedSql, jo)); } catch (Exception e) { log.error(e.getMessage(), e); } diff --git a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterAlarmMapper.xml b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterAlarmMapper.xml index fc8289710..08f109b05 100644 --- a/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterAlarmMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/bigdevice/mapper/xml/LifterAlarmMapper.xml @@ -337,6 +337,6 @@ from lifter_alarm la where la.add_time >= #{queryStartTime} and la.add_time - DATE_FORMAT(#{queryEndTime},'%Y-%m-%d 23:59:59') + CONCAT(DATE_FORMAT(#{queryEndTime},'%Y-%m-%d'), ' 23:59:59') diff --git a/src/main/java/com/zhgd/xmgl/modules/environment/mapper/xml/DustNoiseDataMapper.xml b/src/main/java/com/zhgd/xmgl/modules/environment/mapper/xml/DustNoiseDataMapper.xml index 839d3b2d3..5665456bd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/environment/mapper/xml/DustNoiseDataMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/environment/mapper/xml/DustNoiseDataMapper.xml @@ -16,7 +16,7 @@ from dust_noise_data where @@ -46,7 +46,7 @@ from dust_noise_data where diff --git a/src/main/java/com/zhgd/xmgl/modules/mechanicalequipmentposition/mapper/xml/MechanicalEquipmentPositionDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/mechanicalequipmentposition/mapper/xml/MechanicalEquipmentPositionDevMapper.xml index ac6171ae0..44da63b9e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/mechanicalequipmentposition/mapper/xml/MechanicalEquipmentPositionDevMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/mechanicalequipmentposition/mapper/xml/MechanicalEquipmentPositionDevMapper.xml @@ -6,7 +6,7 @@ select mepd.*,wi.worker_name driver_name,IFNULL(((case when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heartbeat_time)) / 60) <= 60 then 1 - else 0 end)),0) online + else 0 end)),0) as online from mechanical_equipment_position_dev mepd left join worker_info wi on mepd.project_sn = wi.project_sn and wi.id=mepd.driver_id ${ew.customSqlSegment} diff --git a/src/main/java/com/zhgd/xmgl/modules/vehicleposition/mapper/xml/VehiclePositionDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/vehicleposition/mapper/xml/VehiclePositionDevMapper.xml index d10b437e8..fc7ca85f4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/vehicleposition/mapper/xml/VehiclePositionDevMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/vehicleposition/mapper/xml/VehiclePositionDevMapper.xml @@ -7,6 +7,7 @@ CONCAT(IFNULL(vpd.car_type, ''), IFNULL(ct.car_type_name, '')) carType, CONCAT(IFNULL(vpd.driver, ''), IFNULL(wi.worker_name, '')) driver, CONCAT(IFNULL(vpd.driver_telephone, ''), IFNULL(ci.driver_telephone, '')) driverTelephone + ,vpd.project_sn from vehicle_position_dev vpd LEFT JOIN car_info ci ON ci.id = vpd.car_id LEFT JOIN enterprise_info en ON en.id = ci.enterprise_id diff --git a/src/main/java/com/zhgd/xmgl/modules/vehicleposition/service/impl/VehiclePositionDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/vehicleposition/service/impl/VehiclePositionDevServiceImpl.java index 45ab9a745..58e5f37b8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/vehicleposition/service/impl/VehiclePositionDevServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/vehicleposition/service/impl/VehiclePositionDevServiceImpl.java @@ -111,8 +111,8 @@ public class VehiclePositionDevServiceImpl extends ServiceImpl getQueryWrapper(HashMap paramMap) { - String alias = "vpd."; - QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(VehiclePositionDev.class, paramMap, alias); + String alias = ""; + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(VehiclePositionDev.class, paramMap, false); queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(VehiclePositionDev::getId)); Integer online = MapUtils.getInteger(paramMap, "online"); if (online != null) { diff --git a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml index 9d871e701..a1a5d49dc 100644 --- a/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/video/mapper/xml/AiAnalyseHardWareAlarmRecordMapper.xml @@ -146,7 +146,7 @@ and a.create_time >= CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -6 DAY), '%Y-%m-%d'), ' 00:00:00') - and a.create_time >= DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00') + and a.create_time >= CONCAT(DATE_FORMAT(NOW(), '%Y-%m-%d'), ' 00:00:00') and a.create_time >= DATE_ADD(NOW(), INTERVAL -1 DAY) @@ -173,7 +173,7 @@ 00:00:00'),1,0)),0) as past30AlarmNum, ifnull(sum(if(a.create_time >= CONCAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -6 DAY), '%Y-%m-%d'), ' 00:00:00'),1,0)),0) as past7AlarmNum, - ifnull(sum(if(a.create_time >= DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00'),1,0)),0) as todayAlarmNum + ifnull(sum(if(a.create_time >= CONCAT(DATE_FORMAT(NOW(), '%Y-%m-%d'), ' 00:00:00'),1,0)),0) as todayAlarmNum FROM ai_analyse_hard_ware_alarm_record a where 1=1 and a.project_sn = #{projectSn} diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml index 69e96de31..5c894fdd3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml @@ -1,6 +1,26 @@ + + a.id + ,a.person_sn + ,a.pass_type + ,a.create_time + ,a.project_sn + ,a.dev_sn + ,a.card_type + ,a.attendance_type + ,a.passageway_name + ,a.attendance_status + ,a.temperature + ,a.is_statistics + ,a.car_number + ,a.health_code + ,a.nucleic_acid_time + ,a.nucleic_acid_result + ,a.vaccinate_time + ,a.vaccinate_state + - SELECT a.*, + SELECT IF(a.image_url IS NOT NULL, a.image_url, b.id_card_big_photo_url) image_url, - b.worker_name, + + ,b.worker_name, b.id_card, c.team_name, d.department_name, @@ -499,9 +522,10 @@ ORDER BY d.enterprise_id