Commit 5105d17b authored by 赵啸非's avatar 赵啸非

添加系统接入模块

parent b54b8c95
...@@ -162,14 +162,22 @@ DROP TABLE IF EXISTS `mortals_xhx_pj_evaluate_stat`; ...@@ -162,14 +162,22 @@ DROP TABLE IF EXISTS `mortals_xhx_pj_evaluate_stat`;
DROP TABLE IF EXISTS `mortals_xhx_access`; DROP TABLE IF EXISTS `mortals_xhx_access`;
CREATE TABLE mortals_xhx_access( CREATE TABLE mortals_xhx_access(
`id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长', `id` bigint(20) AUTO_INCREMENT COMMENT '序号,主键,自增长',
`area_name` varchar(64) NOT NULL COMMENT '区域名称', `area_id` varchar(64) NOT NULL DEFAULT '' COMMENT '区域Id',
`area_code` varchar(64) NOT NULL COMMENT '区域编码', `area_name` varchar(64) NOT NULL DEFAULT '' COMMENT '区域名称',
`big_path` varchar(128) NOT NULL COMMENT '背景图片地址', `area_code` varchar(64) NOT NULL DEFAULT '' COMMENT '区域编码',
`tag` varchar(255) NOT NULL COMMENT '标签', `site_id` bigint(20) COMMENT '站点Id',
`site_code` varchar(128) NOT NULL DEFAULT '' COMMENT '站点编码',
`site_name` varchar(128) NOT NULL DEFAULT '' COMMENT '站点名称',
`big_path` varchar(128) NOT NULL DEFAULT '' COMMENT '背景图片地址',
`icon` varchar(128) NOT NULL DEFAULT '' COMMENT '图标',
`tag` varchar(255) NOT NULL DEFAULT '' COMMENT '标签',
`latitude` varchar(64) NOT NULL DEFAULT '' COMMENT '维度',
`longitude` varchar(64) COMMENT '经度',
`type` varchar(16) NOT NULL DEFAULT '类型' COMMENT '接入类型 (area.区域,site.站点)',
`sort` int(4) DEFAULT '0' COMMENT '排序', `sort` int(4) DEFAULT '0' COMMENT '排序',
`remark` varchar(128) COMMENT '备注', `remark` varchar(128) NOT NULL DEFAULT '' COMMENT '备注',
`create_user_id` bigint(20) COMMENT '创建用户', `create_user_id` bigint(20) COMMENT '创建用户',
`create_time` datetime NOT NULL COMMENT '创建时间', `create_time` datetime COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间', `update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域接入'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域接入';
...@@ -191,4 +199,28 @@ CREATE TABLE mortals_xhx_access_system( ...@@ -191,4 +199,28 @@ CREATE TABLE mortals_xhx_access_system(
`create_time` datetime NOT NULL COMMENT '创建时间', `create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间', `update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域接入系统'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区域接入系统';
\ No newline at end of file
-- ----------------------------
-- 汇总统计表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_stat`;
CREATE TABLE `mortals_xhx_stat` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`site_id` bigint(20) COMMENT '站点Id',
`site_code` varchar(128) DEFAULT '' COMMENT '站点编码',
`site_name` varchar(128) DEFAULT '' COMMENT '站点名称',
`count` int(9) NOT NULL COMMENT '数量',
`year` int(9) NOT NULL COMMENT '年',
`month` int(9) NOT NULL COMMENT '月',
`day` int(9) NOT NULL COMMENT '日',
`create_user_id` bigint(20) COMMENT '创建用户',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
,KEY `year` (`year`) USING BTREE
,KEY `month` (`month`) USING BTREE
,KEY `day` (`day`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='汇总统计';
\ No newline at end of file
...@@ -391,4 +391,8 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE ...@@ -391,4 +391,8 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
Long[] userIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new); Long[] userIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
roleUserService.remove(userIds, context); roleUserService.remove(userIds, context);
} }
public static void main(String[] args) throws Exception {
System.out.println(SecurityUtil.md5DoubleEncoding("wangdongmei@123"));
}
} }
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 接入类型 (area.区域,site.站点)枚举类
*
* @author zxfei
*/
public enum TypeEnum {
区域("area", "区域"),
站点("site", "站点");
private String value;
private String desc;
TypeEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static TypeEnum getByValue(String value) {
for (TypeEnum typeEnum : TypeEnum.values()) {
if (typeEnum.getValue() == value) {
return typeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (TypeEnum item : TypeEnum.values()) {
try {
boolean hasE = false;
for (String e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
...@@ -8,7 +8,7 @@ import java.util.List; ...@@ -8,7 +8,7 @@ import java.util.List;
* 区域接入 DAO接口 * 区域接入 DAO接口
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
public interface AccessDao extends ICRUDDao<AccessEntity,Long>{ public interface AccessDao extends ICRUDDao<AccessEntity,Long>{
......
...@@ -8,7 +8,7 @@ import java.util.List; ...@@ -8,7 +8,7 @@ import java.util.List;
* 区域接入系统 DAO接口 * 区域接入系统 DAO接口
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
public interface AccessSystemDao extends ICRUDDao<AccessSystemEntity,Long>{ public interface AccessSystemDao extends ICRUDDao<AccessSystemEntity,Long>{
......
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
* 区域接入DaoImpl DAO接口 * 区域接入DaoImpl DAO接口
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Repository("accessDao") @Repository("accessDao")
public class AccessDaoImpl extends BaseCRUDDaoMybatis<AccessEntity,Long> implements AccessDao { public class AccessDaoImpl extends BaseCRUDDaoMybatis<AccessEntity,Long> implements AccessDao {
......
...@@ -11,7 +11,7 @@ import java.util.List; ...@@ -11,7 +11,7 @@ import java.util.List;
* 区域接入系统DaoImpl DAO接口 * 区域接入系统DaoImpl DAO接口
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Repository("accessSystemDao") @Repository("accessSystemDao")
public class AccessSystemDaoImpl extends BaseCRUDDaoMybatis<AccessSystemEntity,Long> implements AccessSystemDao { public class AccessSystemDaoImpl extends BaseCRUDDaoMybatis<AccessSystemEntity,Long> implements AccessSystemDao {
......
...@@ -15,7 +15,7 @@ import lombok.Data; ...@@ -15,7 +15,7 @@ import lombok.Data;
* 区域接入实体对象 * 区域接入实体对象
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Data @Data
public class AccessEntity extends AccessVo { public class AccessEntity extends AccessVo {
...@@ -46,6 +46,38 @@ public class AccessEntity extends AccessVo { ...@@ -46,6 +46,38 @@ public class AccessEntity extends AccessVo {
*/ */
private String remark; private String remark;
/** /**
* 区域Id
*/
private String areaId;
/**
* 站点Id
*/
private Long siteId;
/**
* 站点编码
*/
private String siteCode;
/**
* 站点名称
*/
private String siteName;
/**
* 图标
*/
private String icon;
/**
* 维度
*/
private String latitude;
/**
* 经度
*/
private String longitude;
/**
* 接入类型 (area.区域,site.站点)
*/
private String type;
/**
* 区域接入系统信息 * 区域接入系统信息
*/ */
private List<AccessSystemEntity> accessSystemList=new ArrayList<>();; private List<AccessSystemEntity> accessSystemList=new ArrayList<>();;
...@@ -79,5 +111,13 @@ public class AccessEntity extends AccessVo { ...@@ -79,5 +111,13 @@ public class AccessEntity extends AccessVo {
this.tag = ""; this.tag = "";
this.sort = 0; this.sort = 0;
this.remark = ""; this.remark = "";
this.areaId = "";
this.siteId = null;
this.siteCode = "";
this.siteName = "";
this.icon = "";
this.latitude = "";
this.longitude = "";
this.type = "类型";
} }
} }
\ No newline at end of file
...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.access.model.AccessEntity; ...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.access.model.AccessEntity;
* 区域接入查询对象 * 区域接入查询对象
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
public class AccessQuery extends AccessEntity { public class AccessQuery extends AccessEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
...@@ -92,6 +92,56 @@ public class AccessQuery extends AccessEntity { ...@@ -92,6 +92,56 @@ public class AccessQuery extends AccessEntity {
/** 结束 更新时间 */ /** 结束 更新时间 */
private String updateTimeEnd; private String updateTimeEnd;
/** 区域Id */
private List<String> areaIdList;
/** 区域Id排除列表 */
private List <String> areaIdNotList;
/** 开始 站点Id */
private Long siteIdStart;
/** 结束 站点Id */
private Long siteIdEnd;
/** 增加 站点Id */
private Long siteIdIncrement;
/** 站点Id列表 */
private List <Long> siteIdList;
/** 站点Id排除列表 */
private List <Long> siteIdNotList;
/** 站点编码 */
private List<String> siteCodeList;
/** 站点编码排除列表 */
private List <String> siteCodeNotList;
/** 站点名称 */
private List<String> siteNameList;
/** 站点名称排除列表 */
private List <String> siteNameNotList;
/** 图标 */
private List<String> iconList;
/** 图标排除列表 */
private List <String> iconNotList;
/** 维度 */
private List<String> latitudeList;
/** 维度排除列表 */
private List <String> latitudeNotList;
/** 经度 */
private List<String> longitudeList;
/** 经度排除列表 */
private List <String> longitudeNotList;
/** 接入类型 (area.区域,site.站点) */
private List<String> typeList;
/** 接入类型 (area.区域,site.站点)排除列表 */
private List <String> typeNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<AccessQuery> orConditionList; private List<AccessQuery> orConditionList;
...@@ -567,6 +617,311 @@ public class AccessQuery extends AccessEntity { ...@@ -567,6 +617,311 @@ public class AccessQuery extends AccessEntity {
this.updateTimeEnd = updateTimeEnd; this.updateTimeEnd = updateTimeEnd;
} }
/**
* 获取 区域Id
* @return areaIdList
*/
public List<String> getAreaIdList(){
return this.areaIdList;
}
/**
* 设置 区域Id
* @param areaIdList
*/
public void setAreaIdList(List<String> areaIdList){
this.areaIdList = areaIdList;
}
/**
* 获取 区域Id
* @return areaIdNotList
*/
public List<String> getAreaIdNotList(){
return this.areaIdNotList;
}
/**
* 设置 区域Id
* @param areaIdNotList
*/
public void setAreaIdNotList(List<String> areaIdNotList){
this.areaIdNotList = areaIdNotList;
}
/**
* 获取 开始 站点Id
* @return siteIdStart
*/
public Long getSiteIdStart(){
return this.siteIdStart;
}
/**
* 设置 开始 站点Id
* @param siteIdStart
*/
public void setSiteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
}
/**
* 获取 结束 站点Id
* @return $siteIdEnd
*/
public Long getSiteIdEnd(){
return this.siteIdEnd;
}
/**
* 设置 结束 站点Id
* @param siteIdEnd
*/
public void setSiteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
}
/**
* 获取 增加 站点Id
* @return siteIdIncrement
*/
public Long getSiteIdIncrement(){
return this.siteIdIncrement;
}
/**
* 设置 增加 站点Id
* @param siteIdIncrement
*/
public void setSiteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
}
/**
* 获取 站点Id
* @return siteIdList
*/
public List<Long> getSiteIdList(){
return this.siteIdList;
}
/**
* 设置 站点Id
* @param siteIdList
*/
public void setSiteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
}
/**
* 获取 站点Id
* @return siteIdNotList
*/
public List<Long> getSiteIdNotList(){
return this.siteIdNotList;
}
/**
* 设置 站点Id
* @param siteIdNotList
*/
public void setSiteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
}
/**
* 获取 站点编码
* @return siteCodeList
*/
public List<String> getSiteCodeList(){
return this.siteCodeList;
}
/**
* 设置 站点编码
* @param siteCodeList
*/
public void setSiteCodeList(List<String> siteCodeList){
this.siteCodeList = siteCodeList;
}
/**
* 获取 站点编码
* @return siteCodeNotList
*/
public List<String> getSiteCodeNotList(){
return this.siteCodeNotList;
}
/**
* 设置 站点编码
* @param siteCodeNotList
*/
public void setSiteCodeNotList(List<String> siteCodeNotList){
this.siteCodeNotList = siteCodeNotList;
}
/**
* 获取 站点名称
* @return siteNameList
*/
public List<String> getSiteNameList(){
return this.siteNameList;
}
/**
* 设置 站点名称
* @param siteNameList
*/
public void setSiteNameList(List<String> siteNameList){
this.siteNameList = siteNameList;
}
/**
* 获取 站点名称
* @return siteNameNotList
*/
public List<String> getSiteNameNotList(){
return this.siteNameNotList;
}
/**
* 设置 站点名称
* @param siteNameNotList
*/
public void setSiteNameNotList(List<String> siteNameNotList){
this.siteNameNotList = siteNameNotList;
}
/**
* 获取 图标
* @return iconList
*/
public List<String> getIconList(){
return this.iconList;
}
/**
* 设置 图标
* @param iconList
*/
public void setIconList(List<String> iconList){
this.iconList = iconList;
}
/**
* 获取 图标
* @return iconNotList
*/
public List<String> getIconNotList(){
return this.iconNotList;
}
/**
* 设置 图标
* @param iconNotList
*/
public void setIconNotList(List<String> iconNotList){
this.iconNotList = iconNotList;
}
/**
* 获取 维度
* @return latitudeList
*/
public List<String> getLatitudeList(){
return this.latitudeList;
}
/**
* 设置 维度
* @param latitudeList
*/
public void setLatitudeList(List<String> latitudeList){
this.latitudeList = latitudeList;
}
/**
* 获取 维度
* @return latitudeNotList
*/
public List<String> getLatitudeNotList(){
return this.latitudeNotList;
}
/**
* 设置 维度
* @param latitudeNotList
*/
public void setLatitudeNotList(List<String> latitudeNotList){
this.latitudeNotList = latitudeNotList;
}
/**
* 获取 经度
* @return longitudeList
*/
public List<String> getLongitudeList(){
return this.longitudeList;
}
/**
* 设置 经度
* @param longitudeList
*/
public void setLongitudeList(List<String> longitudeList){
this.longitudeList = longitudeList;
}
/**
* 获取 经度
* @return longitudeNotList
*/
public List<String> getLongitudeNotList(){
return this.longitudeNotList;
}
/**
* 设置 经度
* @param longitudeNotList
*/
public void setLongitudeNotList(List<String> longitudeNotList){
this.longitudeNotList = longitudeNotList;
}
/**
* 获取 接入类型 (area.区域,site.站点)
* @return typeList
*/
public List<String> getTypeList(){
return this.typeList;
}
/**
* 设置 接入类型 (area.区域,site.站点)
* @param typeList
*/
public void setTypeList(List<String> typeList){
this.typeList = typeList;
}
/**
* 获取 接入类型 (area.区域,site.站点)
* @return typeNotList
*/
public List<String> getTypeNotList(){
return this.typeNotList;
}
/**
* 设置 接入类型 (area.区域,site.站点)
* @param typeNotList
*/
public void setTypeNotList(List<String> typeNotList){
this.typeNotList = typeNotList;
}
/** /**
* 设置 序号,主键,自增长 * 设置 序号,主键,自增长
* @param id * @param id
...@@ -826,6 +1181,193 @@ public class AccessQuery extends AccessEntity { ...@@ -826,6 +1181,193 @@ public class AccessQuery extends AccessEntity {
/**
* 设置 区域Id
* @param areaId
*/
public AccessQuery areaId(String areaId){
setAreaId(areaId);
return this;
}
/**
* 设置 区域Id
* @param areaIdList
*/
public AccessQuery areaIdList(List<String> areaIdList){
this.areaIdList = areaIdList;
return this;
}
/**
* 设置 站点Id
* @param siteId
*/
public AccessQuery siteId(Long siteId){
setSiteId(siteId);
return this;
}
/**
* 设置 开始 站点Id
* @param siteIdStart
*/
public AccessQuery siteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
return this;
}
/**
* 设置 结束 站点Id
* @param siteIdEnd
*/
public AccessQuery siteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
return this;
}
/**
* 设置 增加 站点Id
* @param siteIdIncrement
*/
public AccessQuery siteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
return this;
}
/**
* 设置 站点Id
* @param siteIdList
*/
public AccessQuery siteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
return this;
}
/**
* 设置 站点Id
* @param siteIdNotList
*/
public AccessQuery siteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
return this;
}
/**
* 设置 站点编码
* @param siteCode
*/
public AccessQuery siteCode(String siteCode){
setSiteCode(siteCode);
return this;
}
/**
* 设置 站点编码
* @param siteCodeList
*/
public AccessQuery siteCodeList(List<String> siteCodeList){
this.siteCodeList = siteCodeList;
return this;
}
/**
* 设置 站点名称
* @param siteName
*/
public AccessQuery siteName(String siteName){
setSiteName(siteName);
return this;
}
/**
* 设置 站点名称
* @param siteNameList
*/
public AccessQuery siteNameList(List<String> siteNameList){
this.siteNameList = siteNameList;
return this;
}
/**
* 设置 图标
* @param icon
*/
public AccessQuery icon(String icon){
setIcon(icon);
return this;
}
/**
* 设置 图标
* @param iconList
*/
public AccessQuery iconList(List<String> iconList){
this.iconList = iconList;
return this;
}
/**
* 设置 维度
* @param latitude
*/
public AccessQuery latitude(String latitude){
setLatitude(latitude);
return this;
}
/**
* 设置 维度
* @param latitudeList
*/
public AccessQuery latitudeList(List<String> latitudeList){
this.latitudeList = latitudeList;
return this;
}
/**
* 设置 经度
* @param longitude
*/
public AccessQuery longitude(String longitude){
setLongitude(longitude);
return this;
}
/**
* 设置 经度
* @param longitudeList
*/
public AccessQuery longitudeList(List<String> longitudeList){
this.longitudeList = longitudeList;
return this;
}
/**
* 设置 接入类型 (area.区域,site.站点)
* @param type
*/
public AccessQuery type(String type){
setType(type);
return this;
}
/**
* 设置 接入类型 (area.区域,site.站点)
* @param typeList
*/
public AccessQuery typeList(List<String> typeList){
this.typeList = typeList;
return this;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList * @return orConditionList
......
...@@ -14,7 +14,7 @@ import lombok.Data; ...@@ -14,7 +14,7 @@ import lombok.Data;
* 区域接入系统实体对象 * 区域接入系统实体对象
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Data @Data
public class AccessSystemEntity extends AccessSystemVo { public class AccessSystemEntity extends AccessSystemVo {
......
...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.access.model.AccessSystemEntity; ...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.access.model.AccessSystemEntity;
* 区域接入系统查询对象 * 区域接入系统查询对象
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
public class AccessSystemQuery extends AccessSystemEntity { public class AccessSystemQuery extends AccessSystemEntity {
/** 开始 序号,主键,自增长 */ /** 开始 序号,主键,自增长 */
......
...@@ -11,7 +11,7 @@ import java.util.Date; ...@@ -11,7 +11,7 @@ import java.util.Date;
* 区域接入系统视图对象 * 区域接入系统视图对象
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Data @Data
public class AccessSystemVo extends BaseEntityLong { public class AccessSystemVo extends BaseEntityLong {
......
...@@ -11,7 +11,7 @@ import java.util.Date; ...@@ -11,7 +11,7 @@ import java.util.Date;
* 区域接入视图对象 * 区域接入视图对象
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Data @Data
public class AccessVo extends BaseEntityLong { public class AccessVo extends BaseEntityLong {
......
...@@ -8,7 +8,7 @@ import com.mortals.xhx.module.access.dao.AccessDao; ...@@ -8,7 +8,7 @@ import com.mortals.xhx.module.access.dao.AccessDao;
* 区域接入 service接口 * 区域接入 service接口
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
public interface AccessService extends ICRUDService<AccessEntity,Long>{ public interface AccessService extends ICRUDService<AccessEntity,Long>{
......
...@@ -8,7 +8,7 @@ import com.mortals.xhx.module.access.dao.AccessSystemDao; ...@@ -8,7 +8,7 @@ import com.mortals.xhx.module.access.dao.AccessSystemDao;
* 区域接入系统 service接口 * 区域接入系统 service接口
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
public interface AccessSystemService extends ICRUDService<AccessSystemEntity,Long>{ public interface AccessSystemService extends ICRUDService<AccessSystemEntity,Long>{
......
...@@ -20,7 +20,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -20,7 +20,7 @@ import lombok.extern.slf4j.Slf4j;
* 区域接入 service实现 * 区域接入 service实现
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Service("accessService") @Service("accessService")
@Slf4j @Slf4j
......
...@@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j;
* 区域接入系统 service实现 * 区域接入系统 service实现
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@Service("accessSystemService") @Service("accessSystemService")
@Slf4j @Slf4j
......
...@@ -28,7 +28,7 @@ import com.mortals.xhx.common.code.*; ...@@ -28,7 +28,7 @@ import com.mortals.xhx.common.code.*;
* 区域接入 * 区域接入
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@RestController @RestController
@RequestMapping("access") @RequestMapping("access")
...@@ -43,6 +43,7 @@ public class AccessController extends BaseCRUDJsonBodyMappingController<AccessSe ...@@ -43,6 +43,7 @@ public class AccessController extends BaseCRUDJsonBodyMappingController<AccessSe
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", TypeEnum.getEnumMap());
super.init(model, context); super.init(model, context);
} }
......
...@@ -28,7 +28,7 @@ import com.mortals.xhx.common.code.*; ...@@ -28,7 +28,7 @@ import com.mortals.xhx.common.code.*;
* 区域接入系统 * 区域接入系统
* *
* @author zxfei * @author zxfei
* @date 2024-06-28 * @date 2024-07-02
*/ */
@RestController @RestController
@RequestMapping("access/system") @RequestMapping("access/system")
......
...@@ -28,4 +28,49 @@ public class PhQueueStatVo extends BaseEntityLong { ...@@ -28,4 +28,49 @@ public class PhQueueStatVo extends BaseEntityLong {
private List<String> hallNameList; private List<String> hallNameList;
/** 开始 年 */
private Integer yearStart;
/** 结束 年 */
private Integer yearEnd;
/** 增加 年 */
private Integer yearIncrement;
/** 年列表 */
private List <Integer> yearList;
/** 年排除列表 */
private List <Integer> yearNotList;
/** 开始 月 */
private Integer monthStart;
/** 结束 月 */
private Integer monthEnd;
/** 增加 月 */
private Integer monthIncrement;
/** 月列表 */
private List <Integer> monthList;
/** 月排除列表 */
private List <Integer> monthNotList;
/** 开始 日 */
private Integer dayStart;
/** 结束 日 */
private Integer dayEnd;
/** 增加 日 */
private Integer dayIncrement;
/** 日列表 */
private List <Integer> dayList;
/** 日排除列表 */
private List <Integer> dayNotList;
} }
\ No newline at end of file
...@@ -26,4 +26,57 @@ public class PjEvaluateStatVo extends BaseEntityLong { ...@@ -26,4 +26,57 @@ public class PjEvaluateStatVo extends BaseEntityLong {
private List<String> windowFromnumList; private List<String> windowFromnumList;
private List<String> hallNameList; private List<String> hallNameList;
/** 开始 评价时间 */
private String timeStart;
/** 结束 评价时间 */
private String timeEnd;
/** 开始 年 */
private Integer yearStart;
/** 结束 年 */
private Integer yearEnd;
/** 增加 年 */
private Integer yearIncrement;
/** 年列表 */
private List <Integer> yearList;
/** 年排除列表 */
private List <Integer> yearNotList;
/** 开始 月 */
private Integer monthStart;
/** 结束 月 */
private Integer monthEnd;
/** 增加 月 */
private Integer monthIncrement;
/** 月列表 */
private List <Integer> monthList;
/** 月排除列表 */
private List <Integer> monthNotList;
/** 开始 日 */
private Integer dayStart;
/** 结束 日 */
private Integer dayEnd;
/** 增加 日 */
private Integer dayIncrement;
/** 日列表 */
private List <Integer> dayList;
/** 日排除列表 */
private List <Integer> dayNotList;
} }
\ No newline at end of file
...@@ -81,6 +81,9 @@ public class PjEvaluateStatController extends BaseCRUDJsonBodyMappingController< ...@@ -81,6 +81,9 @@ public class PjEvaluateStatController extends BaseCRUDJsonBodyMappingController<
if (ObjectUtils.isEmpty(query.getPjOption())) query.setPjOption(""); if (ObjectUtils.isEmpty(query.getPjOption())) query.setPjOption("");
if (ObjectUtils.isEmpty(query.getWindowFromnum())) query.setWindowFromnum(""); if (ObjectUtils.isEmpty(query.getWindowFromnum())) query.setWindowFromnum("");
//年月日
model.put("siteId",query.getSiteId()); model.put("siteId",query.getSiteId());
} }
......
package com.mortals.xhx.module.stat.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.pj.model.PjEvaluateStatEntity;
import com.mortals.xhx.module.pj.model.PjEvaluateStatQuery;
import com.mortals.xhx.module.stat.model.StatEntity;
import com.mortals.xhx.module.stat.model.StatQuery;
import java.util.List;
/**
* 汇总统计Dao
* 汇总统计 DAO接口
*
* @author zxfei
* @date 2024-07-02
*/
public interface StatDao extends ICRUDDao<StatEntity,Long>{
String SQLID_GET_STATLIST = "getAllStatList";
List<StatEntity> getStatList(StatQuery query, PageInfo pageInfo);
}
package com.mortals.xhx.module.stat.dao.ibatis;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.ParamDto;
import com.mortals.xhx.module.pj.model.PjEvaluateStatEntity;
import com.mortals.xhx.module.pj.model.PjEvaluateStatQuery;
import com.mortals.xhx.module.stat.model.StatQuery;
import org.apache.ibatis.session.RowBounds;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.stat.dao.StatDao;
import com.mortals.xhx.module.stat.model.StatEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 汇总统计DaoImpl DAO接口
*
* @author zxfei
* @date 2024-07-02
*/
@Repository("statDao")
public class StatDaoImpl extends BaseCRUDDaoMybatis<StatEntity,Long> implements StatDao {
@Override
public List<StatEntity> getStatList(StatQuery query, PageInfo pageInfo) {
ParamDto queryParam = super.getQueryParam(query);
if (pageInfo.getPrePageResult() == -1) {
return getSqlSession().selectList(SQLID_GET_STATLIST, queryParam);
} else {
RowBounds rowBounds = new RowBounds(pageInfo.getBeginIndex(), pageInfo.getPrePageResult());
return getSqlSession().selectList(SQLID_GET_STATLIST, queryParam, rowBounds);
}
}
}
package com.mortals.xhx.module.stat.model;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.stat.model.vo.StatVo;
import lombok.Data;
/**
* 汇总统计实体对象
*
* @author zxfei
* @date 2024-07-02
*/
@Data
public class StatEntity extends StatVo {
private static final long serialVersionUID = 1L;
/**
* 站点Id
*/
private Long siteId;
/**
* 站点编码
*/
private String siteCode;
/**
* 站点名称
*/
private String siteName;
/**
* 数量
*/
private Integer count;
/**
* 年
*/
private Integer year;
/**
* 月
*/
private Integer month;
/**
* 日
*/
private Integer day;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof StatEntity) {
StatEntity tmp = (StatEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.siteId = null;
this.siteCode = "";
this.siteName = "";
this.count = 0;
this.year = DateUtil.year(new Date());
this.month = DateUtil.month(new Date())+1;
this.day = DateUtil.dayOfMonth(new Date());
}
}
\ No newline at end of file
package com.mortals.xhx.module.stat.model;
import java.util.List;
import com.mortals.xhx.module.stat.model.StatEntity;
/**
* 汇总统计查询对象
*
* @author zxfei
* @date 2024-07-02
*/
public class StatQuery extends StatEntity {
/** 开始 ID */
private Long idStart;
/** 结束 ID */
private Long idEnd;
/** 增加 ID */
private Long idIncrement;
/** ID列表 */
private List <Long> idList;
/** ID排除列表 */
private List <Long> idNotList;
/** 开始 站点Id */
private Long siteIdStart;
/** 结束 站点Id */
private Long siteIdEnd;
/** 增加 站点Id */
private Long siteIdIncrement;
/** 站点Id列表 */
private List <Long> siteIdList;
/** 站点Id排除列表 */
private List <Long> siteIdNotList;
/** 站点编码 */
private List<String> siteCodeList;
/** 站点编码排除列表 */
private List <String> siteCodeNotList;
/** 站点名称 */
private List<String> siteNameList;
/** 站点名称排除列表 */
private List <String> siteNameNotList;
/** 开始 数量 */
private Integer countStart;
/** 结束 数量 */
private Integer countEnd;
/** 增加 数量 */
private Integer countIncrement;
/** 数量列表 */
private List <Integer> countList;
/** 数量排除列表 */
private List <Integer> countNotList;
/** 开始 年 */
private Integer yearStart;
/** 结束 年 */
private Integer yearEnd;
/** 增加 年 */
private Integer yearIncrement;
/** 年列表 */
private List <Integer> yearList;
/** 年排除列表 */
private List <Integer> yearNotList;
/** 开始 月 */
private Integer monthStart;
/** 结束 月 */
private Integer monthEnd;
/** 增加 月 */
private Integer monthIncrement;
/** 月列表 */
private List <Integer> monthList;
/** 月排除列表 */
private List <Integer> monthNotList;
/** 开始 日 */
private Integer dayStart;
/** 结束 日 */
private Integer dayEnd;
/** 增加 日 */
private Integer dayIncrement;
/** 日列表 */
private List <Integer> dayList;
/** 日排除列表 */
private List <Integer> dayNotList;
/** 开始 创建用户 */
private Long createUserIdStart;
/** 结束 创建用户 */
private Long createUserIdEnd;
/** 增加 创建用户 */
private Long createUserIdIncrement;
/** 创建用户列表 */
private List <Long> createUserIdList;
/** 创建用户排除列表 */
private List <Long> createUserIdNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 更新时间 */
private String updateTimeStart;
/** 结束 更新时间 */
private String updateTimeEnd;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<StatQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<StatQuery> andConditionList;
public StatQuery(){}
/**
* 获取 开始 ID
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 ID
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 ID
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 ID
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 ID
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 ID
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 ID
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 ID
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 ID
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 ID
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 开始 站点Id
* @return siteIdStart
*/
public Long getSiteIdStart(){
return this.siteIdStart;
}
/**
* 设置 开始 站点Id
* @param siteIdStart
*/
public void setSiteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
}
/**
* 获取 结束 站点Id
* @return $siteIdEnd
*/
public Long getSiteIdEnd(){
return this.siteIdEnd;
}
/**
* 设置 结束 站点Id
* @param siteIdEnd
*/
public void setSiteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
}
/**
* 获取 增加 站点Id
* @return siteIdIncrement
*/
public Long getSiteIdIncrement(){
return this.siteIdIncrement;
}
/**
* 设置 增加 站点Id
* @param siteIdIncrement
*/
public void setSiteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
}
/**
* 获取 站点Id
* @return siteIdList
*/
public List<Long> getSiteIdList(){
return this.siteIdList;
}
/**
* 设置 站点Id
* @param siteIdList
*/
public void setSiteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
}
/**
* 获取 站点Id
* @return siteIdNotList
*/
public List<Long> getSiteIdNotList(){
return this.siteIdNotList;
}
/**
* 设置 站点Id
* @param siteIdNotList
*/
public void setSiteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
}
/**
* 获取 站点编码
* @return siteCodeList
*/
public List<String> getSiteCodeList(){
return this.siteCodeList;
}
/**
* 设置 站点编码
* @param siteCodeList
*/
public void setSiteCodeList(List<String> siteCodeList){
this.siteCodeList = siteCodeList;
}
/**
* 获取 站点编码
* @return siteCodeNotList
*/
public List<String> getSiteCodeNotList(){
return this.siteCodeNotList;
}
/**
* 设置 站点编码
* @param siteCodeNotList
*/
public void setSiteCodeNotList(List<String> siteCodeNotList){
this.siteCodeNotList = siteCodeNotList;
}
/**
* 获取 站点名称
* @return siteNameList
*/
public List<String> getSiteNameList(){
return this.siteNameList;
}
/**
* 设置 站点名称
* @param siteNameList
*/
public void setSiteNameList(List<String> siteNameList){
this.siteNameList = siteNameList;
}
/**
* 获取 站点名称
* @return siteNameNotList
*/
public List<String> getSiteNameNotList(){
return this.siteNameNotList;
}
/**
* 设置 站点名称
* @param siteNameNotList
*/
public void setSiteNameNotList(List<String> siteNameNotList){
this.siteNameNotList = siteNameNotList;
}
/**
* 获取 开始 数量
* @return countStart
*/
public Integer getCountStart(){
return this.countStart;
}
/**
* 设置 开始 数量
* @param countStart
*/
public void setCountStart(Integer countStart){
this.countStart = countStart;
}
/**
* 获取 结束 数量
* @return $countEnd
*/
public Integer getCountEnd(){
return this.countEnd;
}
/**
* 设置 结束 数量
* @param countEnd
*/
public void setCountEnd(Integer countEnd){
this.countEnd = countEnd;
}
/**
* 获取 增加 数量
* @return countIncrement
*/
public Integer getCountIncrement(){
return this.countIncrement;
}
/**
* 设置 增加 数量
* @param countIncrement
*/
public void setCountIncrement(Integer countIncrement){
this.countIncrement = countIncrement;
}
/**
* 获取 数量
* @return countList
*/
public List<Integer> getCountList(){
return this.countList;
}
/**
* 设置 数量
* @param countList
*/
public void setCountList(List<Integer> countList){
this.countList = countList;
}
/**
* 获取 数量
* @return countNotList
*/
public List<Integer> getCountNotList(){
return this.countNotList;
}
/**
* 设置 数量
* @param countNotList
*/
public void setCountNotList(List<Integer> countNotList){
this.countNotList = countNotList;
}
/**
* 获取 开始 年
* @return yearStart
*/
public Integer getYearStart(){
return this.yearStart;
}
/**
* 设置 开始 年
* @param yearStart
*/
public void setYearStart(Integer yearStart){
this.yearStart = yearStart;
}
/**
* 获取 结束 年
* @return $yearEnd
*/
public Integer getYearEnd(){
return this.yearEnd;
}
/**
* 设置 结束 年
* @param yearEnd
*/
public void setYearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
}
/**
* 获取 增加 年
* @return yearIncrement
*/
public Integer getYearIncrement(){
return this.yearIncrement;
}
/**
* 设置 增加 年
* @param yearIncrement
*/
public void setYearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
}
/**
* 获取 年
* @return yearList
*/
public List<Integer> getYearList(){
return this.yearList;
}
/**
* 设置 年
* @param yearList
*/
public void setYearList(List<Integer> yearList){
this.yearList = yearList;
}
/**
* 获取 年
* @return yearNotList
*/
public List<Integer> getYearNotList(){
return this.yearNotList;
}
/**
* 设置 年
* @param yearNotList
*/
public void setYearNotList(List<Integer> yearNotList){
this.yearNotList = yearNotList;
}
/**
* 获取 开始 月
* @return monthStart
*/
public Integer getMonthStart(){
return this.monthStart;
}
/**
* 设置 开始 月
* @param monthStart
*/
public void setMonthStart(Integer monthStart){
this.monthStart = monthStart;
}
/**
* 获取 结束 月
* @return $monthEnd
*/
public Integer getMonthEnd(){
return this.monthEnd;
}
/**
* 设置 结束 月
* @param monthEnd
*/
public void setMonthEnd(Integer monthEnd){
this.monthEnd = monthEnd;
}
/**
* 获取 增加 月
* @return monthIncrement
*/
public Integer getMonthIncrement(){
return this.monthIncrement;
}
/**
* 设置 增加 月
* @param monthIncrement
*/
public void setMonthIncrement(Integer monthIncrement){
this.monthIncrement = monthIncrement;
}
/**
* 获取 月
* @return monthList
*/
public List<Integer> getMonthList(){
return this.monthList;
}
/**
* 设置 月
* @param monthList
*/
public void setMonthList(List<Integer> monthList){
this.monthList = monthList;
}
/**
* 获取 月
* @return monthNotList
*/
public List<Integer> getMonthNotList(){
return this.monthNotList;
}
/**
* 设置 月
* @param monthNotList
*/
public void setMonthNotList(List<Integer> monthNotList){
this.monthNotList = monthNotList;
}
/**
* 获取 开始 日
* @return dayStart
*/
public Integer getDayStart(){
return this.dayStart;
}
/**
* 设置 开始 日
* @param dayStart
*/
public void setDayStart(Integer dayStart){
this.dayStart = dayStart;
}
/**
* 获取 结束 日
* @return $dayEnd
*/
public Integer getDayEnd(){
return this.dayEnd;
}
/**
* 设置 结束 日
* @param dayEnd
*/
public void setDayEnd(Integer dayEnd){
this.dayEnd = dayEnd;
}
/**
* 获取 增加 日
* @return dayIncrement
*/
public Integer getDayIncrement(){
return this.dayIncrement;
}
/**
* 设置 增加 日
* @param dayIncrement
*/
public void setDayIncrement(Integer dayIncrement){
this.dayIncrement = dayIncrement;
}
/**
* 获取 日
* @return dayList
*/
public List<Integer> getDayList(){
return this.dayList;
}
/**
* 设置 日
* @param dayList
*/
public void setDayList(List<Integer> dayList){
this.dayList = dayList;
}
/**
* 获取 日
* @return dayNotList
*/
public List<Integer> getDayNotList(){
return this.dayNotList;
}
/**
* 设置 日
* @param dayNotList
*/
public void setDayNotList(List<Integer> dayNotList){
this.dayNotList = dayNotList;
}
/**
* 获取 开始 创建用户
* @return createUserIdStart
*/
public Long getCreateUserIdStart(){
return this.createUserIdStart;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public void setCreateUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
}
/**
* 获取 结束 创建用户
* @return $createUserIdEnd
*/
public Long getCreateUserIdEnd(){
return this.createUserIdEnd;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public void setCreateUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
}
/**
* 获取 增加 创建用户
* @return createUserIdIncrement
*/
public Long getCreateUserIdIncrement(){
return this.createUserIdIncrement;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public void setCreateUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
}
/**
* 获取 创建用户
* @return createUserIdList
*/
public List<Long> getCreateUserIdList(){
return this.createUserIdList;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public void setCreateUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
}
/**
* 获取 创建用户
* @return createUserIdNotList
*/
public List<Long> getCreateUserIdNotList(){
return this.createUserIdNotList;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public void setCreateUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 开始 更新时间
* @return updateTimeStart
*/
public String getUpdateTimeStart(){
return this.updateTimeStart;
}
/**
* 设置 开始 更新时间
* @param updateTimeStart
*/
public void setUpdateTimeStart(String updateTimeStart){
this.updateTimeStart = updateTimeStart;
}
/**
* 获取 结束 更新时间
* @return updateTimeEnd
*/
public String getUpdateTimeEnd(){
return this.updateTimeEnd;
}
/**
* 设置 结束 更新时间
* @param updateTimeEnd
*/
public void setUpdateTimeEnd(String updateTimeEnd){
this.updateTimeEnd = updateTimeEnd;
}
/**
* 设置 ID
* @param id
*/
public StatQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 ID
* @param idStart
*/
public StatQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 ID
* @param idEnd
*/
public StatQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 ID
* @param idIncrement
*/
public StatQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 ID
* @param idList
*/
public StatQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 ID
* @param idNotList
*/
public StatQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 站点Id
* @param siteId
*/
public StatQuery siteId(Long siteId){
setSiteId(siteId);
return this;
}
/**
* 设置 开始 站点Id
* @param siteIdStart
*/
public StatQuery siteIdStart(Long siteIdStart){
this.siteIdStart = siteIdStart;
return this;
}
/**
* 设置 结束 站点Id
* @param siteIdEnd
*/
public StatQuery siteIdEnd(Long siteIdEnd){
this.siteIdEnd = siteIdEnd;
return this;
}
/**
* 设置 增加 站点Id
* @param siteIdIncrement
*/
public StatQuery siteIdIncrement(Long siteIdIncrement){
this.siteIdIncrement = siteIdIncrement;
return this;
}
/**
* 设置 站点Id
* @param siteIdList
*/
public StatQuery siteIdList(List<Long> siteIdList){
this.siteIdList = siteIdList;
return this;
}
/**
* 设置 站点Id
* @param siteIdNotList
*/
public StatQuery siteIdNotList(List<Long> siteIdNotList){
this.siteIdNotList = siteIdNotList;
return this;
}
/**
* 设置 站点编码
* @param siteCode
*/
public StatQuery siteCode(String siteCode){
setSiteCode(siteCode);
return this;
}
/**
* 设置 站点编码
* @param siteCodeList
*/
public StatQuery siteCodeList(List<String> siteCodeList){
this.siteCodeList = siteCodeList;
return this;
}
/**
* 设置 站点名称
* @param siteName
*/
public StatQuery siteName(String siteName){
setSiteName(siteName);
return this;
}
/**
* 设置 站点名称
* @param siteNameList
*/
public StatQuery siteNameList(List<String> siteNameList){
this.siteNameList = siteNameList;
return this;
}
/**
* 设置 数量
* @param count
*/
public StatQuery count(Integer count){
setCount(count);
return this;
}
/**
* 设置 开始 数量
* @param countStart
*/
public StatQuery countStart(Integer countStart){
this.countStart = countStart;
return this;
}
/**
* 设置 结束 数量
* @param countEnd
*/
public StatQuery countEnd(Integer countEnd){
this.countEnd = countEnd;
return this;
}
/**
* 设置 增加 数量
* @param countIncrement
*/
public StatQuery countIncrement(Integer countIncrement){
this.countIncrement = countIncrement;
return this;
}
/**
* 设置 数量
* @param countList
*/
public StatQuery countList(List<Integer> countList){
this.countList = countList;
return this;
}
/**
* 设置 数量
* @param countNotList
*/
public StatQuery countNotList(List<Integer> countNotList){
this.countNotList = countNotList;
return this;
}
/**
* 设置 年
* @param year
*/
public StatQuery year(Integer year){
setYear(year);
return this;
}
/**
* 设置 开始 年
* @param yearStart
*/
public StatQuery yearStart(Integer yearStart){
this.yearStart = yearStart;
return this;
}
/**
* 设置 结束 年
* @param yearEnd
*/
public StatQuery yearEnd(Integer yearEnd){
this.yearEnd = yearEnd;
return this;
}
/**
* 设置 增加 年
* @param yearIncrement
*/
public StatQuery yearIncrement(Integer yearIncrement){
this.yearIncrement = yearIncrement;
return this;
}
/**
* 设置 年
* @param yearList
*/
public StatQuery yearList(List<Integer> yearList){
this.yearList = yearList;
return this;
}
/**
* 设置 年
* @param yearNotList
*/
public StatQuery yearNotList(List<Integer> yearNotList){
this.yearNotList = yearNotList;
return this;
}
/**
* 设置 月
* @param month
*/
public StatQuery month(Integer month){
setMonth(month);
return this;
}
/**
* 设置 开始 月
* @param monthStart
*/
public StatQuery monthStart(Integer monthStart){
this.monthStart = monthStart;
return this;
}
/**
* 设置 结束 月
* @param monthEnd
*/
public StatQuery monthEnd(Integer monthEnd){
this.monthEnd = monthEnd;
return this;
}
/**
* 设置 增加 月
* @param monthIncrement
*/
public StatQuery monthIncrement(Integer monthIncrement){
this.monthIncrement = monthIncrement;
return this;
}
/**
* 设置 月
* @param monthList
*/
public StatQuery monthList(List<Integer> monthList){
this.monthList = monthList;
return this;
}
/**
* 设置 月
* @param monthNotList
*/
public StatQuery monthNotList(List<Integer> monthNotList){
this.monthNotList = monthNotList;
return this;
}
/**
* 设置 日
* @param day
*/
public StatQuery day(Integer day){
setDay(day);
return this;
}
/**
* 设置 开始 日
* @param dayStart
*/
public StatQuery dayStart(Integer dayStart){
this.dayStart = dayStart;
return this;
}
/**
* 设置 结束 日
* @param dayEnd
*/
public StatQuery dayEnd(Integer dayEnd){
this.dayEnd = dayEnd;
return this;
}
/**
* 设置 增加 日
* @param dayIncrement
*/
public StatQuery dayIncrement(Integer dayIncrement){
this.dayIncrement = dayIncrement;
return this;
}
/**
* 设置 日
* @param dayList
*/
public StatQuery dayList(List<Integer> dayList){
this.dayList = dayList;
return this;
}
/**
* 设置 日
* @param dayNotList
*/
public StatQuery dayNotList(List<Integer> dayNotList){
this.dayNotList = dayNotList;
return this;
}
/**
* 设置 创建用户
* @param createUserId
*/
public StatQuery createUserId(Long createUserId){
setCreateUserId(createUserId);
return this;
}
/**
* 设置 开始 创建用户
* @param createUserIdStart
*/
public StatQuery createUserIdStart(Long createUserIdStart){
this.createUserIdStart = createUserIdStart;
return this;
}
/**
* 设置 结束 创建用户
* @param createUserIdEnd
*/
public StatQuery createUserIdEnd(Long createUserIdEnd){
this.createUserIdEnd = createUserIdEnd;
return this;
}
/**
* 设置 增加 创建用户
* @param createUserIdIncrement
*/
public StatQuery createUserIdIncrement(Long createUserIdIncrement){
this.createUserIdIncrement = createUserIdIncrement;
return this;
}
/**
* 设置 创建用户
* @param createUserIdList
*/
public StatQuery createUserIdList(List<Long> createUserIdList){
this.createUserIdList = createUserIdList;
return this;
}
/**
* 设置 创建用户
* @param createUserIdNotList
*/
public StatQuery createUserIdNotList(List<Long> createUserIdNotList){
this.createUserIdNotList = createUserIdNotList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<StatQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<StatQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<StatQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<StatQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.stat.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.stat.model.StatEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 汇总统计视图对象
*
* @author zxfei
* @date 2024-07-02
*/
@Data
public class StatVo extends BaseEntityLong {
/** ID列表 */
private List <Long> idList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 开始 年 */
private Integer yearStart;
/** 结束 年 */
private Integer yearEnd;
/** 增加 年 */
private Integer yearIncrement;
/** 年列表 */
private List <Integer> yearList;
/** 年排除列表 */
private List <Integer> yearNotList;
/** 开始 月 */
private Integer monthStart;
/** 结束 月 */
private Integer monthEnd;
/** 增加 月 */
private Integer monthIncrement;
/** 月列表 */
private List <Integer> monthList;
/** 月排除列表 */
private List <Integer> monthNotList;
/** 开始 日 */
private Integer dayStart;
/** 结束 日 */
private Integer dayEnd;
/** 日列表 */
private List <Integer> dayList;
/** 日排除列表 */
private List <Integer> dayNotList;
}
\ No newline at end of file
package com.mortals.xhx.module.stat.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.pj.model.PjEvaluateStatEntity;
import com.mortals.xhx.module.stat.model.StatEntity;
import com.mortals.xhx.module.stat.dao.StatDao;
/**
* StatService
*
* 汇总统计 service接口
*
* @author zxfei
* @date 2024-07-02
*/
public interface StatService extends ICRUDService<StatEntity,Long>{
StatDao getDao();
/**
* 更新站点统计
* @param entity
* @param context
* @return
*/
Rest<Void> updateSiteStat(StatEntity entity, Context context);
}
\ No newline at end of file
package com.mortals.xhx.module.stat.service.impl;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.ph.model.PhQueueStatEntity;
import com.mortals.xhx.module.ph.model.PhQueueStatQuery;
import com.mortals.xhx.module.ph.service.PhQueueStatService;
import com.mortals.xhx.module.pj.model.PjEvaluateEntity;
import com.mortals.xhx.module.pj.model.PjEvaluateQuery;
import com.mortals.xhx.module.pj.model.PjEvaluateStatEntity;
import com.mortals.xhx.module.pj.model.PjEvaluateStatQuery;
import com.mortals.xhx.module.pj.service.PjEvaluateStatService;
import com.mortals.xhx.module.stat.model.StatQuery;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.stat.dao.StatDao;
import com.mortals.xhx.module.stat.model.StatEntity;
import com.mortals.xhx.module.stat.service.StatService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* StatService
* 汇总统计 service实现
*
* @author zxfei
* @date 2024-07-02
*/
@Service("statService")
@Slf4j
public class StatServiceImpl extends AbstractCRUDServiceImpl<StatDao, StatEntity, Long> implements StatService {
@Autowired
private PjEvaluateStatService pjEvaluateStatService;
@Autowired
private PhQueueStatService phQueueStatService;
@Override
public Result<StatEntity> find(StatEntity entity, PageInfo pageInfo, Context context) throws AppException {
Result<StatEntity> result = new Result<>();
StatQuery query = new StatQuery();
BeanUtils.copyProperties(entity, query, BeanUtil.getNullPropertyNames(entity));
List<StatEntity> billInfos = this.getBillInfos(query, pageInfo, context);
result.setList(billInfos);
result.setPageInfo(pageInfo);
return result;
}
public List<StatEntity> getBillInfos(StatQuery query, PageInfo pageInfo, Context context) {
if (!ObjectUtils.isEmpty(query.getGroupList())) {
//针对groupList分组 进行排序
if (query.getGroupList().contains("year") && query.getGroupList().contains("month") && query.getGroupList().contains("day")) {
query.setOrderColList(Arrays.asList(new OrderCol("year", OrderCol.DESCENDING), new OrderCol("month", OrderCol.DESCENDING), new OrderCol("day", OrderCol.DESCENDING), new OrderCol("createTime")));
} else if (query.getGroupList().contains("year") && query.getGroupList().contains("month")) {
query.setOrderColList(Arrays.asList(new OrderCol("year", OrderCol.DESCENDING), new OrderCol("month", OrderCol.DESCENDING), new OrderCol("createTime")));
} else if (query.getGroupList().contains("year")) {
query.setOrderColList(Arrays.asList(new OrderCol("year", OrderCol.DESCENDING), new OrderCol("createTime")));
}
}
return this.getDao().getStatList(query, pageInfo);
}
@Override
public Rest<Void> updateSiteStat(StatEntity entity, Context context) {
//查询当前站点当日评价数量
PjEvaluateStatQuery pjEvaluateStatQuery = new PjEvaluateStatQuery();
pjEvaluateStatQuery.setSiteId(entity.getSiteId());
pjEvaluateStatQuery.setYear(entity.getYear());
pjEvaluateStatQuery.setMonth(entity.getMonth());
pjEvaluateStatQuery.setDay(entity.getDay());
PjEvaluateStatEntity pjEvaluateStatEntity = pjEvaluateStatService.selectOne(pjEvaluateStatQuery, context);
PhQueueStatQuery phQueueStatQuery = new PhQueueStatQuery();
phQueueStatQuery.setSiteId(entity.getSiteId());
phQueueStatQuery.setYear(entity.getYear());
phQueueStatQuery.setMonth(entity.getMonth());
phQueueStatQuery.setDay(entity.getDay());
PhQueueStatEntity phQueueStatEntity = phQueueStatService.selectOne(phQueueStatQuery, context);
int pjcount = pjEvaluateStatEntity == null ? 0 : pjEvaluateStatEntity.getPjCount();
int phcount = phQueueStatEntity == null ? 0 : phQueueStatEntity.getPhCount();
StatEntity StatEntity = this.selectOne(new StatQuery()
.siteId(entity.getSiteId())
.year(entity.getYear())
.month(entity.getMonth())
.day(entity.getDay()));
if (ObjectUtils.isEmpty(StatEntity)) {
StatEntity = new StatEntity();
StatEntity.initAttrValue();
StatEntity.setSiteId(entity.getSiteId());
StatEntity.setSiteCode(entity.getSiteCode());
StatEntity.setSiteName(entity.getSiteName());
StatEntity.setCount(pjcount+phcount);
StatEntity.setYear(entity.getYear());
StatEntity.setMonth(entity.getMonth());
StatEntity.setDay(entity.getDay());
StatEntity.setCreateTime(new Date());
StatEntity.setCreateUserId(1L);
this.save(StatEntity);
} else {
StatEntity.setCount(pjcount+phcount);
StatEntity.setYear(entity.getYear());
StatEntity.setMonth(entity.getMonth());
StatEntity.setDay(entity.getDay());
StatEntity.setUpdateTime(new Date());
StatEntity.setUpdateUserId(1L);
this.update(StatEntity);
}
return Rest.ok();
}
}
\ No newline at end of file
package com.mortals.xhx.module.stat.web;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.service.ICacheService;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.pdu.RespData;
import com.mortals.xhx.common.pdu.site.SitePdu;
import com.mortals.xhx.feign.site.ISiteFeign;
import com.mortals.xhx.module.pj.model.PjEvaluateQuery;
import com.mortals.xhx.module.pj.model.PjEvaluateStatEntity;
import com.mortals.xhx.module.stat.model.StatQuery;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StopWatch;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.stat.model.StatEntity;
import com.mortals.xhx.module.stat.service.StatService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
import com.mortals.xhx.common.code.*;
/**
* 汇总统计
*
* @author zxfei
* @date 2024-07-02
*/
@RestController
@RequestMapping("stat")
@Slf4j
public class StatController extends BaseCRUDJsonBodyMappingController<StatService, StatEntity, Long> {
@Autowired
private ParamService paramService;
@Autowired
private ISiteFeign siteFeign;
@Autowired
private ICacheService cacheService;
public StatController() {
super.setModuleDesc("汇总统计");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
@PostMapping(value = "/stat")
@UnAuth
public Rest<String> stat(@RequestBody StatQuery query) {
Rest<String> ret = new Rest();
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询" + this.getModuleDesc();
int code = 1;
try {
//天数区间分段计算
DateTime attendStart = DateUtil.parseDate(query.getCreateTimeStart());
DateTime attendEnd = DateUtil.parseDate(query.getCreateTimeEnd());
Long compare = DateUtil.between(attendEnd, attendStart, DateUnit.DAY);
StopWatch stopWatch = new StopWatch("stopwatch");
log.info("计算天数区间:{}", compare);
for (int i = 0; i <= compare.intValue(); i++) {
DateTime curDate = DateUtil.offsetDay(attendStart, i);
log.info("记录日期:{}", curDate.toDateStr());
stopWatch.start("执行本地方法");
SitePdu sitePdu = new SitePdu();
sitePdu.setSize(-1);
Rest<RespData<List<SitePdu>>> resp = siteFeign.list(sitePdu);
if (resp.getCode() == 1) {
List<SitePdu> sitePduList = resp.getData().getData();
sitePduList.stream().forEach(site -> {
StatEntity statEntity = new StatEntity();
statEntity.initAttrValue();
statEntity.setSiteId(site.getId());
statEntity.setSiteName(site.getSiteName());
statEntity.setSiteCode(site.getSiteCode());
statEntity.setYear(curDate.year());
statEntity.setMonth(curDate.month() + 1);
statEntity.setDay(curDate.dayOfMonth());
//设置年月日
this.service.updateSiteStat(statEntity, context);
});
}
stopWatch.stop();
log.info("日期:{} 完成,耗时:{}ms", curDate.toDateStr(), stopWatch.getLastTaskTimeMillis());
}
model.put("message_info", busiDesc + "成功");
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception e) {
code = -1;
this.doException(this.request, busiDesc, model, e);
model.put("message_info", e.getMessage());
}
this.init(model, context);
ret.setCode(code);
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
\ No newline at end of file
...@@ -15,6 +15,14 @@ ...@@ -15,6 +15,14 @@
<result property="createUserId" column="create_user_id" /> <result property="createUserId" column="create_user_id" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="areaId" column="area_id" />
<result property="siteId" column="site_id" />
<result property="siteCode" column="site_code" />
<result property="siteName" column="site_name" />
<result property="icon" column="icon" />
<result property="latitude" column="latitude" />
<result property="longitude" column="longitude" />
<result property="type" column="type" />
<collection property="accessSystemList" column="id" ofType="AccessSystemEntity" javaType="ArrayList" select="getAccessSystemByAccessId"></collection> <collection property="accessSystemList" column="id" ofType="AccessSystemEntity" javaType="ArrayList" select="getAccessSystemByAccessId"></collection>
</resultMap> </resultMap>
<resultMap type="AccessSystemEntity" id="AccessSystemEntity-Map"> <resultMap type="AccessSystemEntity" id="AccessSystemEntity-Map">
...@@ -65,6 +73,30 @@ ...@@ -65,6 +73,30 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.update_time, a.update_time,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('areaId') or colPickMode == 1 and data.containsKey('areaId')))">
a.area_id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
a.site_id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteCode') or colPickMode == 1 and data.containsKey('siteCode')))">
a.site_code,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
a.site_name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('icon') or colPickMode == 1 and data.containsKey('icon')))">
a.icon,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('latitude') or colPickMode == 1 and data.containsKey('latitude')))">
a.latitude,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('longitude') or colPickMode == 1 and data.containsKey('longitude')))">
a.longitude,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('type') or colPickMode == 1 and data.containsKey('type')))">
a.type,
</if>
</trim> </trim>
</sql> </sql>
<!-- 子表所有列 --> <!-- 子表所有列 -->
...@@ -76,18 +108,18 @@ ...@@ -76,18 +108,18 @@
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="AccessEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="AccessEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_access insert into mortals_xhx_access
(area_name,area_code,big_path,tag,sort,remark,create_user_id,create_time,update_time) (area_name,area_code,big_path,tag,sort,remark,create_user_id,create_time,update_time,area_id,site_id,site_code,site_name,icon,latitude,longitude,type)
VALUES VALUES
(#{areaName},#{areaCode},#{bigPath},#{tag},#{sort},#{remark},#{createUserId},#{createTime},#{updateTime}) (#{areaName},#{areaCode},#{bigPath},#{tag},#{sort},#{remark},#{createUserId},#{createTime},#{updateTime},#{areaId},#{siteId},#{siteCode},#{siteName},#{icon},#{latitude},#{longitude},#{type})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_access insert into mortals_xhx_access
(area_name,area_code,big_path,tag,sort,remark,create_user_id,create_time,update_time) (area_name,area_code,big_path,tag,sort,remark,create_user_id,create_time,update_time,area_id,site_id,site_code,site_name,icon,latitude,longitude,type)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.areaName},#{item.areaCode},#{item.bigPath},#{item.tag},#{item.sort},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateTime}) (#{item.areaName},#{item.areaCode},#{item.bigPath},#{item.tag},#{item.sort},#{item.remark},#{item.createUserId},#{item.createTime},#{item.updateTime},#{item.areaId},#{item.siteId},#{item.siteCode},#{item.siteName},#{item.icon},#{item.latitude},#{item.longitude},#{item.type})
</foreach> </foreach>
</insert> </insert>
...@@ -130,6 +162,33 @@ ...@@ -130,6 +162,33 @@
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))"> <if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.update_time=#{data.updateTime}, a.update_time=#{data.updateTime},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('areaId')) or (colPickMode==1 and !data.containsKey('areaId'))">
a.area_id=#{data.areaId},
</if>
<if test="(colPickMode==0 and data.containsKey('siteId')) or (colPickMode==1 and !data.containsKey('siteId'))">
a.site_id=#{data.siteId},
</if>
<if test="(colPickMode==0 and data.containsKey('siteIdIncrement')) or (colPickMode==1 and !data.containsKey('siteIdIncrement'))">
a.site_id=ifnull(a.site_id,0) + #{data.siteIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('siteCode')) or (colPickMode==1 and !data.containsKey('siteCode'))">
a.site_code=#{data.siteCode},
</if>
<if test="(colPickMode==0 and data.containsKey('siteName')) or (colPickMode==1 and !data.containsKey('siteName'))">
a.site_name=#{data.siteName},
</if>
<if test="(colPickMode==0 and data.containsKey('icon')) or (colPickMode==1 and !data.containsKey('icon'))">
a.icon=#{data.icon},
</if>
<if test="(colPickMode==0 and data.containsKey('latitude')) or (colPickMode==1 and !data.containsKey('latitude'))">
a.latitude=#{data.latitude},
</if>
<if test="(colPickMode==0 and data.containsKey('longitude')) or (colPickMode==1 and !data.containsKey('longitude'))">
a.longitude=#{data.longitude},
</if>
<if test="(colPickMode==0 and data.containsKey('type')) or (colPickMode==1 and !data.containsKey('type'))">
a.type=#{data.type},
</if>
</trim> </trim>
<trim suffixOverrides="where" suffix=""> <trim suffixOverrides="where" suffix="">
where where
...@@ -215,6 +274,67 @@ ...@@ -215,6 +274,67 @@
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="area_id=(case" suffix="ELSE area_id end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('areaId')) or (colPickMode==1 and !item.containsKey('areaId'))">
when a.id=#{item.id} then #{item.areaId}
</if>
</foreach>
</trim>
<trim prefix="site_id=(case" suffix="ELSE site_id end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('siteId')) or (colPickMode==1 and !item.containsKey('siteId'))">
when a.id=#{item.id} then #{item.siteId}
</when>
<when test="(colPickMode==0 and item.containsKey('siteIdIncrement')) or (colPickMode==1 and !item.containsKey('siteIdIncrement'))">
when a.id=#{item.id} then ifnull(a.site_id,0) + #{item.siteIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="site_code=(case" suffix="ELSE site_code end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('siteCode')) or (colPickMode==1 and !item.containsKey('siteCode'))">
when a.id=#{item.id} then #{item.siteCode}
</if>
</foreach>
</trim>
<trim prefix="site_name=(case" suffix="ELSE site_name end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('siteName')) or (colPickMode==1 and !item.containsKey('siteName'))">
when a.id=#{item.id} then #{item.siteName}
</if>
</foreach>
</trim>
<trim prefix="icon=(case" suffix="ELSE icon end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('icon')) or (colPickMode==1 and !item.containsKey('icon'))">
when a.id=#{item.id} then #{item.icon}
</if>
</foreach>
</trim>
<trim prefix="latitude=(case" suffix="ELSE latitude end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('latitude')) or (colPickMode==1 and !item.containsKey('latitude'))">
when a.id=#{item.id} then #{item.latitude}
</if>
</foreach>
</trim>
<trim prefix="longitude=(case" suffix="ELSE longitude end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('longitude')) or (colPickMode==1 and !item.containsKey('longitude'))">
when a.id=#{item.id} then #{item.longitude}
</if>
</foreach>
</trim>
<trim prefix="type=(case" suffix="ELSE type end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('type')) or (colPickMode==1 and !item.containsKey('type'))">
when a.id=#{item.id} then #{item.type}
</if>
</foreach>
</trim>
</trim> </trim>
where id in where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
...@@ -559,6 +679,180 @@ ...@@ -559,6 +679,180 @@
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''"> <if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.update_time <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ${_conditionType_} a.update_time <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if> </if>
<if test="conditionParamRef.containsKey('areaId')">
<if test="conditionParamRef.areaId != null and conditionParamRef.areaId != ''">
${_conditionType_} a.area_id like #{${_conditionParam_}.areaId}
</if>
<if test="conditionParamRef.areaId == null">
${_conditionType_} a.area_id is null
</if>
</if>
<if test="conditionParamRef.containsKey('areaIdList') and conditionParamRef.areaIdList.size() > 0">
${_conditionType_} a.area_id in
<foreach collection="conditionParamRef.areaIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('areaIdNotList') and conditionParamRef.areaIdNotList.size() > 0">
${_conditionType_} a.area_id not in
<foreach collection="conditionParamRef.areaIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteId')">
<if test="conditionParamRef.siteId != null ">
${_conditionType_} a.site_id = #{${_conditionParam_}.siteId}
</if>
<if test="conditionParamRef.siteId == null">
${_conditionType_} a.site_id is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
${_conditionType_} a.site_id in
<foreach collection="conditionParamRef.siteIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdNotList') and conditionParamRef.siteIdNotList.size() > 0">
${_conditionType_} a.site_id not in
<foreach collection="conditionParamRef.siteIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdStart') and conditionParamRef.siteIdStart != null">
${_conditionType_} a.site_id <![CDATA[ >= ]]> #{${_conditionParam_}.siteIdStart}
</if>
<if test="conditionParamRef.containsKey('siteIdEnd') and conditionParamRef.siteIdEnd != null">
${_conditionType_} a.site_id <![CDATA[ <= ]]> #{${_conditionParam_}.siteIdEnd}
</if>
<if test="conditionParamRef.containsKey('siteCode')">
<if test="conditionParamRef.siteCode != null and conditionParamRef.siteCode != ''">
${_conditionType_} a.site_code like #{${_conditionParam_}.siteCode}
</if>
<if test="conditionParamRef.siteCode == null">
${_conditionType_} a.site_code is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteCodeList') and conditionParamRef.siteCodeList.size() > 0">
${_conditionType_} a.site_code in
<foreach collection="conditionParamRef.siteCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteCodeNotList') and conditionParamRef.siteCodeNotList.size() > 0">
${_conditionType_} a.site_code not in
<foreach collection="conditionParamRef.siteCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteName')">
<if test="conditionParamRef.siteName != null and conditionParamRef.siteName != ''">
${_conditionType_} a.site_name like #{${_conditionParam_}.siteName}
</if>
<if test="conditionParamRef.siteName == null">
${_conditionType_} a.site_name is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteNameList') and conditionParamRef.siteNameList.size() > 0">
${_conditionType_} a.site_name in
<foreach collection="conditionParamRef.siteNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteNameNotList') and conditionParamRef.siteNameNotList.size() > 0">
${_conditionType_} a.site_name not in
<foreach collection="conditionParamRef.siteNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('icon')">
<if test="conditionParamRef.icon != null and conditionParamRef.icon != ''">
${_conditionType_} a.icon like #{${_conditionParam_}.icon}
</if>
<if test="conditionParamRef.icon == null">
${_conditionType_} a.icon is null
</if>
</if>
<if test="conditionParamRef.containsKey('iconList') and conditionParamRef.iconList.size() > 0">
${_conditionType_} a.icon in
<foreach collection="conditionParamRef.iconList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('iconNotList') and conditionParamRef.iconNotList.size() > 0">
${_conditionType_} a.icon not in
<foreach collection="conditionParamRef.iconNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('latitude')">
<if test="conditionParamRef.latitude != null and conditionParamRef.latitude != ''">
${_conditionType_} a.latitude like #{${_conditionParam_}.latitude}
</if>
<if test="conditionParamRef.latitude == null">
${_conditionType_} a.latitude is null
</if>
</if>
<if test="conditionParamRef.containsKey('latitudeList') and conditionParamRef.latitudeList.size() > 0">
${_conditionType_} a.latitude in
<foreach collection="conditionParamRef.latitudeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('latitudeNotList') and conditionParamRef.latitudeNotList.size() > 0">
${_conditionType_} a.latitude not in
<foreach collection="conditionParamRef.latitudeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('longitude')">
<if test="conditionParamRef.longitude != null and conditionParamRef.longitude != ''">
${_conditionType_} a.longitude like #{${_conditionParam_}.longitude}
</if>
<if test="conditionParamRef.longitude == null">
${_conditionType_} a.longitude is null
</if>
</if>
<if test="conditionParamRef.containsKey('longitudeList') and conditionParamRef.longitudeList.size() > 0">
${_conditionType_} a.longitude in
<foreach collection="conditionParamRef.longitudeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('longitudeNotList') and conditionParamRef.longitudeNotList.size() > 0">
${_conditionType_} a.longitude not in
<foreach collection="conditionParamRef.longitudeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('type')">
<if test="conditionParamRef.type != null and conditionParamRef.type != ''">
${_conditionType_} a.type like #{${_conditionParam_}.type}
</if>
<if test="conditionParamRef.type == null">
${_conditionType_} a.type is null
</if>
</if>
<if test="conditionParamRef.containsKey('typeList') and conditionParamRef.typeList.size() > 0">
${_conditionType_} a.type in
<foreach collection="conditionParamRef.typeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('typeNotList') and conditionParamRef.typeNotList.size() > 0">
${_conditionType_} a.type not in
<foreach collection="conditionParamRef.typeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql> </sql>
<sql id="_orderCols_"> <sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()"> <if test="orderColList != null and !orderColList.isEmpty()">
...@@ -584,6 +878,13 @@ ...@@ -584,6 +878,13 @@
</foreach> </foreach>
, ,
</if> </if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=","> <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
a.${item.colName} ${item.sortKind} a.${item.colName} ${item.sortKind}
...@@ -613,6 +914,13 @@ ...@@ -613,6 +914,13 @@
</foreach> </foreach>
, ,
</if> </if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')"> <if test="orderCol.containsKey('id')">
a.id a.id
...@@ -664,6 +972,46 @@ ...@@ -664,6 +972,46 @@
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if> <if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('areaId')">
a.area_id
<if test='orderCol.areaId != null and "DESC".equalsIgnoreCase(orderCol.areaId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteId')">
a.site_id
<if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteCode')">
a.site_code
<if test='orderCol.siteCode != null and "DESC".equalsIgnoreCase(orderCol.siteCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteName')">
a.site_name
<if test='orderCol.siteName != null and "DESC".equalsIgnoreCase(orderCol.siteName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('icon')">
a.icon
<if test='orderCol.icon != null and "DESC".equalsIgnoreCase(orderCol.icon)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('latitude')">
a.latitude
<if test='orderCol.latitude != null and "DESC".equalsIgnoreCase(orderCol.latitude)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('longitude')">
a.longitude
<if test='orderCol.longitude != null and "DESC".equalsIgnoreCase(orderCol.longitude)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('type')">
a.type
<if test='orderCol.type != null and "DESC".equalsIgnoreCase(orderCol.type)'>DESC</if>
,
</if>
</trim> </trim>
</if> </if>
......
...@@ -27,6 +27,13 @@ ...@@ -27,6 +27,13 @@
where where
<trim prefixOverrides="and" prefix=""> <trim prefixOverrides="and" prefix="">
<include refid="_condition_"/> <include refid="_condition_"/>
<if test="conditionParamRef.containsKey('timeStart') and conditionParamRef.timeStart != null and conditionParamRef.timeStart!=''">
${_conditionType_} STR_TO_DATE(CONCAT(`year`,'-',`month`,'-',`day`),'%Y-%m-%d')<![CDATA[ >= ]]>STR_TO_DATE(${_conditionParam_}.timeStart},'%Y-%m-%d')
</if>
<if test="conditionParamRef.containsKey('timeEnd') and conditionParamRef.timeEnd != null and conditionParamRef.timeEnd!=''">
${_conditionType_} STR_TO_DATE(CONCAT(`year`,'-',`month`,'-',`day`),'%Y-%m-%d')<![CDATA[ <= ]]>STR_TO_DATE(${_conditionParam_}.createTimeEnd},'%Y-%m-%d')
</if>
</trim> </trim>
</trim> </trim>
<include refid="_group_by_"/> <include refid="_group_by_"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.stat.dao.ibatis.StatDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="StatEntity" id="StatEntity-Map">
<id property="id" column="id" />
<result property="siteId" column="site_id" />
<result property="siteCode" column="site_code" />
<result property="siteName" column="site_name" />
<result property="count" column="count" />
<result property="year" column="year" />
<result property="month" column="month" />
<result property="day" column="day" />
<result property="createUserId" column="create_user_id" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
a.site_id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteCode') or colPickMode == 1 and data.containsKey('siteCode')))">
a.site_code,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
a.site_name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('count') or colPickMode == 1 and data.containsKey('count')))">
a.count,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('year') or colPickMode == 1 and data.containsKey('year')))">
a.year,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('month') or colPickMode == 1 and data.containsKey('month')))">
a.month,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('day') or colPickMode == 1 and data.containsKey('day')))">
a.day,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.create_user_id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.create_time,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.update_time,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="StatEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_stat
(site_id,site_code,site_name,count,year,month,day,create_user_id,create_time,update_time)
VALUES
(#{siteId},#{siteCode},#{siteName},#{count},#{year},#{month},#{day},#{createUserId},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_stat
(site_id,site_code,site_name,count,year,month,day,create_user_id,create_time,update_time)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteId},#{item.siteCode},#{item.siteName},#{item.count},#{item.year},#{item.month},#{item.day},#{item.createUserId},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_stat as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('siteId')) or (colPickMode==1 and !data.containsKey('siteId'))">
a.site_id=#{data.siteId},
</if>
<if test="(colPickMode==0 and data.containsKey('siteIdIncrement')) or (colPickMode==1 and !data.containsKey('siteIdIncrement'))">
a.site_id=ifnull(a.site_id,0) + #{data.siteIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('siteCode')) or (colPickMode==1 and !data.containsKey('siteCode'))">
a.site_code=#{data.siteCode},
</if>
<if test="(colPickMode==0 and data.containsKey('siteName')) or (colPickMode==1 and !data.containsKey('siteName'))">
a.site_name=#{data.siteName},
</if>
<if test="(colPickMode==0 and data.containsKey('count')) or (colPickMode==1 and !data.containsKey('count'))">
a.count=#{data.count},
</if>
<if test="(colPickMode==0 and data.containsKey('countIncrement')) or (colPickMode==1 and !data.containsKey('countIncrement'))">
a.count=ifnull(a.count,0) + #{data.countIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('year')) or (colPickMode==1 and !data.containsKey('year'))">
a.year=#{data.year},
</if>
<if test="(colPickMode==0 and data.containsKey('yearIncrement')) or (colPickMode==1 and !data.containsKey('yearIncrement'))">
a.year=ifnull(a.year,0) + #{data.yearIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('month')) or (colPickMode==1 and !data.containsKey('month'))">
a.month=#{data.month},
</if>
<if test="(colPickMode==0 and data.containsKey('monthIncrement')) or (colPickMode==1 and !data.containsKey('monthIncrement'))">
a.month=ifnull(a.month,0) + #{data.monthIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('day')) or (colPickMode==1 and !data.containsKey('day'))">
a.day=#{data.day},
</if>
<if test="(colPickMode==0 and data.containsKey('dayIncrement')) or (colPickMode==1 and !data.containsKey('dayIncrement'))">
a.day=ifnull(a.day,0) + #{data.dayIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.create_user_id=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.create_user_id=ifnull(a.create_user_id,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.create_time=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.update_time=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_stat as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="site_id=(case" suffix="ELSE site_id end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('siteId')) or (colPickMode==1 and !item.containsKey('siteId'))">
when a.id=#{item.id} then #{item.siteId}
</when>
<when test="(colPickMode==0 and item.containsKey('siteIdIncrement')) or (colPickMode==1 and !item.containsKey('siteIdIncrement'))">
when a.id=#{item.id} then ifnull(a.site_id,0) + #{item.siteIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="site_code=(case" suffix="ELSE site_code end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('siteCode')) or (colPickMode==1 and !item.containsKey('siteCode'))">
when a.id=#{item.id} then #{item.siteCode}
</if>
</foreach>
</trim>
<trim prefix="site_name=(case" suffix="ELSE site_name end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('siteName')) or (colPickMode==1 and !item.containsKey('siteName'))">
when a.id=#{item.id} then #{item.siteName}
</if>
</foreach>
</trim>
<trim prefix="count=(case" suffix="ELSE count end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('count')) or (colPickMode==1 and !item.containsKey('count'))">
when a.id=#{item.id} then #{item.count}
</when>
<when test="(colPickMode==0 and item.containsKey('countIncrement')) or (colPickMode==1 and !item.containsKey('countIncrement'))">
when a.id=#{item.id} then ifnull(a.count,0) + #{item.countIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="year=(case" suffix="ELSE year end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('year')) or (colPickMode==1 and !item.containsKey('year'))">
when a.id=#{item.id} then #{item.year}
</when>
<when test="(colPickMode==0 and item.containsKey('yearIncrement')) or (colPickMode==1 and !item.containsKey('yearIncrement'))">
when a.id=#{item.id} then ifnull(a.year,0) + #{item.yearIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="month=(case" suffix="ELSE month end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('month')) or (colPickMode==1 and !item.containsKey('month'))">
when a.id=#{item.id} then #{item.month}
</when>
<when test="(colPickMode==0 and item.containsKey('monthIncrement')) or (colPickMode==1 and !item.containsKey('monthIncrement'))">
when a.id=#{item.id} then ifnull(a.month,0) + #{item.monthIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="day=(case" suffix="ELSE day end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('day')) or (colPickMode==1 and !item.containsKey('day'))">
when a.id=#{item.id} then #{item.day}
</when>
<when test="(colPickMode==0 and item.containsKey('dayIncrement')) or (colPickMode==1 and !item.containsKey('dayIncrement'))">
when a.id=#{item.id} then ifnull(a.day,0) + #{item.dayIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="create_user_id=(case" suffix="ELSE create_user_id end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.create_user_id,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="create_time=(case" suffix="ELSE create_time end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="update_time=(case" suffix="ELSE update_time end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="StatEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_stat as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_stat as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_stat where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_stat where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_stat where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="StatEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="permissionSql != null and permissionSql != ''">
${permissionSql}
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('siteId')">
<if test="conditionParamRef.siteId != null ">
${_conditionType_} a.site_id = #{${_conditionParam_}.siteId}
</if>
<if test="conditionParamRef.siteId == null">
${_conditionType_} a.site_id is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
${_conditionType_} a.site_id in
<foreach collection="conditionParamRef.siteIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdNotList') and conditionParamRef.siteIdNotList.size() > 0">
${_conditionType_} a.site_id not in
<foreach collection="conditionParamRef.siteIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdStart') and conditionParamRef.siteIdStart != null">
${_conditionType_} a.site_id <![CDATA[ >= ]]> #{${_conditionParam_}.siteIdStart}
</if>
<if test="conditionParamRef.containsKey('siteIdEnd') and conditionParamRef.siteIdEnd != null">
${_conditionType_} a.site_id <![CDATA[ <= ]]> #{${_conditionParam_}.siteIdEnd}
</if>
<if test="conditionParamRef.containsKey('siteCode')">
<if test="conditionParamRef.siteCode != null and conditionParamRef.siteCode != ''">
${_conditionType_} a.site_code like #{${_conditionParam_}.siteCode}
</if>
<if test="conditionParamRef.siteCode == null">
${_conditionType_} a.site_code is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteCodeList') and conditionParamRef.siteCodeList.size() > 0">
${_conditionType_} a.site_code in
<foreach collection="conditionParamRef.siteCodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteCodeNotList') and conditionParamRef.siteCodeNotList.size() > 0">
${_conditionType_} a.site_code not in
<foreach collection="conditionParamRef.siteCodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteName')">
<if test="conditionParamRef.siteName != null and conditionParamRef.siteName != ''">
${_conditionType_} a.site_name like #{${_conditionParam_}.siteName}
</if>
<if test="conditionParamRef.siteName == null">
${_conditionType_} a.site_name is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteNameList') and conditionParamRef.siteNameList.size() > 0">
${_conditionType_} a.site_name in
<foreach collection="conditionParamRef.siteNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteNameNotList') and conditionParamRef.siteNameNotList.size() > 0">
${_conditionType_} a.site_name not in
<foreach collection="conditionParamRef.siteNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('count')">
<if test="conditionParamRef.count != null ">
${_conditionType_} a.count = #{${_conditionParam_}.count}
</if>
<if test="conditionParamRef.count == null">
${_conditionType_} a.count is null
</if>
</if>
<if test="conditionParamRef.containsKey('countList') and conditionParamRef.countList.size() > 0">
${_conditionType_} a.count in
<foreach collection="conditionParamRef.countList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('countNotList') and conditionParamRef.countNotList.size() > 0">
${_conditionType_} a.count not in
<foreach collection="conditionParamRef.countNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('countStart') and conditionParamRef.countStart != null">
${_conditionType_} a.count <![CDATA[ >= ]]> #{${_conditionParam_}.countStart}
</if>
<if test="conditionParamRef.containsKey('countEnd') and conditionParamRef.countEnd != null">
${_conditionType_} a.count <![CDATA[ <= ]]> #{${_conditionParam_}.countEnd}
</if>
<if test="conditionParamRef.containsKey('year')">
<if test="conditionParamRef.year != null ">
${_conditionType_} a.year = #{${_conditionParam_}.year}
</if>
<if test="conditionParamRef.year == null">
${_conditionType_} a.year is null
</if>
</if>
<if test="conditionParamRef.containsKey('yearList') and conditionParamRef.yearList.size() > 0">
${_conditionType_} a.year in
<foreach collection="conditionParamRef.yearList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearNotList') and conditionParamRef.yearNotList.size() > 0">
${_conditionType_} a.year not in
<foreach collection="conditionParamRef.yearNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('yearStart') and conditionParamRef.yearStart != null">
${_conditionType_} a.year <![CDATA[ >= ]]> #{${_conditionParam_}.yearStart}
</if>
<if test="conditionParamRef.containsKey('yearEnd') and conditionParamRef.yearEnd != null">
${_conditionType_} a.year <![CDATA[ <= ]]> #{${_conditionParam_}.yearEnd}
</if>
<if test="conditionParamRef.containsKey('month')">
<if test="conditionParamRef.month != null ">
${_conditionType_} a.month = #{${_conditionParam_}.month}
</if>
<if test="conditionParamRef.month == null">
${_conditionType_} a.month is null
</if>
</if>
<if test="conditionParamRef.containsKey('monthList') and conditionParamRef.monthList.size() > 0">
${_conditionType_} a.month in
<foreach collection="conditionParamRef.monthList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('monthNotList') and conditionParamRef.monthNotList.size() > 0">
${_conditionType_} a.month not in
<foreach collection="conditionParamRef.monthNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('monthStart') and conditionParamRef.monthStart != null">
${_conditionType_} a.month <![CDATA[ >= ]]> #{${_conditionParam_}.monthStart}
</if>
<if test="conditionParamRef.containsKey('monthEnd') and conditionParamRef.monthEnd != null">
${_conditionType_} a.month <![CDATA[ <= ]]> #{${_conditionParam_}.monthEnd}
</if>
<if test="conditionParamRef.containsKey('day')">
<if test="conditionParamRef.day != null ">
${_conditionType_} a.day = #{${_conditionParam_}.day}
</if>
<if test="conditionParamRef.day == null">
${_conditionType_} a.day is null
</if>
</if>
<if test="conditionParamRef.containsKey('dayList') and conditionParamRef.dayList.size() > 0">
${_conditionType_} a.day in
<foreach collection="conditionParamRef.dayList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dayNotList') and conditionParamRef.dayNotList.size() > 0">
${_conditionType_} a.day not in
<foreach collection="conditionParamRef.dayNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dayStart') and conditionParamRef.dayStart != null">
${_conditionType_} a.day <![CDATA[ >= ]]> #{${_conditionParam_}.dayStart}
</if>
<if test="conditionParamRef.containsKey('dayEnd') and conditionParamRef.dayEnd != null">
${_conditionType_} a.day <![CDATA[ <= ]]> #{${_conditionParam_}.dayEnd}
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.create_user_id = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.create_user_id is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
${_conditionType_} a.create_user_id in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdNotList') and conditionParamRef.createUserIdNotList.size() > 0">
${_conditionType_} a.create_user_id not in
<foreach collection="conditionParamRef.createUserIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.create_user_id <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.create_user_id <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.create_time = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.create_time is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.create_time <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.create_time <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.update_time = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.update_time is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.update_time <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.update_time <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('countList') and conditionParamRef.countList.size() > 0">
field(a.count,
<foreach collection="conditionParamRef.countList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('yearList') and conditionParamRef.yearList.size() > 0">
field(a.year,
<foreach collection="conditionParamRef.yearList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('monthList') and conditionParamRef.monthList.size() > 0">
field(a.month,
<foreach collection="conditionParamRef.monthList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('dayList') and conditionParamRef.dayList.size() > 0">
field(a.day,
<foreach collection="conditionParamRef.dayList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
a.${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
field(a.id,
<foreach collection="conditionParamRef.idList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('siteIdList') and conditionParamRef.siteIdList.size() > 0">
field(a.siteId,
<foreach collection="conditionParamRef.siteIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('countList') and conditionParamRef.countList.size() > 0">
field(a.count,
<foreach collection="conditionParamRef.countList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('yearList') and conditionParamRef.yearList.size() > 0">
field(a.year,
<foreach collection="conditionParamRef.yearList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('monthList') and conditionParamRef.monthList.size() > 0">
field(a.month,
<foreach collection="conditionParamRef.monthList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('dayList') and conditionParamRef.dayList.size() > 0">
field(a.day,
<foreach collection="conditionParamRef.dayList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<if test="conditionParamRef.containsKey('createUserIdList') and conditionParamRef.createUserIdList.size() > 0">
field(a.createUserId,
<foreach collection="conditionParamRef.createUserIdList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteId')">
a.site_id
<if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteCode')">
a.site_code
<if test='orderCol.siteCode != null and "DESC".equalsIgnoreCase(orderCol.siteCode)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteName')">
a.site_name
<if test='orderCol.siteName != null and "DESC".equalsIgnoreCase(orderCol.siteName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('count')">
a.count
<if test='orderCol.count != null and "DESC".equalsIgnoreCase(orderCol.count)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('year')">
a.year
<if test='orderCol.year != null and "DESC".equalsIgnoreCase(orderCol.year)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('month')">
a.month
<if test='orderCol.month != null and "DESC".equalsIgnoreCase(orderCol.month)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('day')">
a.day
<if test='orderCol.day != null and "DESC".equalsIgnoreCase(orderCol.day)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.create_user_id
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.create_time
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.update_time
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.ph.dao.ibatis.PhQueueStatDaoImpl">
<!-- 获取统计列表 -->
<select id="getAllStatList" parameterType="paramDto" resultMap="StatEntity-Map">
select
<!-- 获取分组字段 -->
<if test="groupList != null and !groupList.isEmpty()">
<foreach collection="groupList" open="" close="" index="index" item="item">
${item},
</foreach>
</if>
a.site_id,
a.site_code,
a.site_name,
<!-- 评价数量-->
sum(IFNULL(a.count,0)) count
from mortals_xhx_stat as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_group_by_"/>
<include refid="_orderCols_"/>
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment