Commit c9a6e682 authored by Rensq's avatar Rensq

Merge remote-tracking branch 'origin/dev_2.6.0' into dev_2.6.0

parents 0feec04b 03fc4e46
......@@ -150,4 +150,11 @@ ALTER TABLE t_hazard_condition_confirmation_details ADD COLUMN control_measures
COMMENT ON COLUMN t_hazard_condition_confirmation_details.control_measures IS '现有控制措施';
# 值班日期类型修改
ALTER TABLE t_sys_duty ALTER COLUMN duty_date TYPE varchar(255) USING duty_date::varchar;
\ No newline at end of file
ALTER TABLE t_sys_duty ALTER COLUMN duty_date TYPE varchar(255) USING duty_date::varchar;
# 20250611上线
# 教育培训人员类型支持多选
ALTER TABLE t_train_project
ALTER COLUMN visit_type TYPE varchar(1000);
\ No newline at end of file
package com.testor.common.scheduler;
import com.testor.module.notice.service.TSysOrgService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import oshi.SystemInfo;
......@@ -19,6 +21,10 @@ import java.util.List;
@Component
@Slf4j
public class DiskCheckScheduler {
@Autowired
private TSysOrgService tSysOrgService;
// 每5分钟更新一次
@Scheduled(cron = "0 0/5 * * * ?")
public void refreshSwitch() {
......@@ -41,4 +47,14 @@ public class DiskCheckScheduler {
NumberFormat num = NumberFormat.getPercentInstance();
log.info("磁盘使用情况:" + num.format(usage));
}
/**
* 每天1点同步
* 查询没有部门的租赁库数据并且添加默认部门以及默认岗位
*/
@Scheduled(cron = "0 0 1 * * ?")
public void addIsRentDept(){
tSysOrgService.addIsRentDept();
}
}
......@@ -668,11 +668,28 @@ public class TSysLoginController extends SuperController {
List<DeptAndPost> deptAndPosts = new ArrayList();
Iterator var11 = records.iterator();
while (var11.hasNext()) {
/*while (var11.hasNext()) {
SysOrg record = (SysOrg) var11.next();
DeptAndPost deptAndPost = (DeptAndPost) BeanHelper.beanToBean(record, DeptAndPost.class);
String orgId = deptAndPost.getOrgId();
List<TSysPost> list = this.tSysPostService.list((Wrapper) ((QueryWrapper) (new QueryWrapper()).eq("dept_id", orgId)).ne("status", "1"));
deptAndPost.setTSysPosts(list);
deptAndPosts.add(deptAndPost);
}*/
while (var11.hasNext()) {
SysOrg record = (SysOrg) var11.next();
DeptAndPost deptAndPost = BeanHelper.beanToBean(record, DeptAndPost.class);
String orgId = deptAndPost.getOrgId();
// 使用旧版排序方式
List<TSysPost> list = this.tSysPostService.list(
new QueryWrapper<TSysPost>()
.eq("dept_id", orgId)
.ne("status", "1")
.orderBy(true, false, "create_date") // 降序排序
);
deptAndPost.setTSysPosts(list);
deptAndPosts.add(deptAndPost);
}
......
......@@ -2,6 +2,7 @@ package com.testor.module.contractor.ledger.model.template;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import com.testor.common.annotation.ExcelDictFormat;
import com.testor.common.annotation.ExcelSelected;
import com.testor.common.constant.ExcelSelectConstant;
......
......@@ -69,4 +69,10 @@ public class ContractorInfoDTO extends TContractorBasicInfo {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date validPeriod;
/**
* 承包商类型
*/
@ApiModelProperty(value = "承包商类型")
private String type;
}
......@@ -50,5 +50,8 @@ public class TContractorBasicInfoParam extends TContractorBasicInfo {
@ApiModelProperty(value = "待办任务id")
private String taskId;
@ApiModelProperty(value = "承包商类别")
private String type;
private Map<String, Object> map;
}
......@@ -1260,7 +1260,18 @@ public class DutyServiceImpl extends ServiceImpl<DutyDao, TSysDuty> implements D
@SneakyThrows
public Person saveDuty(Map<Integer, Object> item, TSysDuty duty, SysOrg sysOrg, UserInfo loginUser, String monthId) {
TSysDuty tSysDuty = BeanHelper.beanToBean(duty, TSysDuty.class);
String dateStr = item.get(2) + "-" + item.get(3) + "-" + item.get(4);
String month = item.get(3)+"";
String day = item.get(4)+"";
if (month.length() == 1) {
month = "0" + month;
}
// Add leading zero to day if it's a single digit
if (day.length() == 1) {
day = "0" + day;
}
String dateStr = item.get(2) + "-" + month + "-" + day;
//String dateStr = item.get(2) + "-" + item.get(3) + "-" + item.get(4);
tSysDuty.setDutyDate(dateStr);
tSysDuty.setClasses(item.get(6).toString());
String id = IdHelper.getId32bit();
......
......@@ -140,7 +140,7 @@ public class THazardConditionConfirmationServiceImpl extends SuperServiceImpl<TH
if (StringUtils.isBlank(todayStr)) {
todayStr = today.format(DateTimeFormatter.ISO_DATE);
}
//查询所有未完成的工作计划,且状态不为关闭或取消
//查询所有未完成的工作计划,且状态不为关闭或取消或已超时(关闭时判断结束时间在当前时间之前设置的状态)
THazardWorkPlanParam tHazardWorkPlanParam = new THazardWorkPlanParam();
tHazardWorkPlanParam.setActualStartTime(new Date());
QueryWrapper<THazardWorkPlan> query = new QueryWrapper<>();
......@@ -148,6 +148,7 @@ public class THazardConditionConfirmationServiceImpl extends SuperServiceImpl<TH
query.isNotNull(THazardWorkPlan.ACTUAL_START_TIME);
query.ne(THazardWorkPlan.WORK_STATUS, WorkPlanStatusEnum.CLOSED.getValue());
query.ne(THazardWorkPlan.WORK_STATUS, WorkPlanStatusEnum.CANCELED.getValue());
query.ne(THazardWorkPlan.WORK_STATUS, WorkPlanStatusEnum.OVERDUE.getValue());
List<THazardWorkPlan> tHazardWorkPlans = tHazardWorkPlanService.list(query);
for (THazardWorkPlan tHazardWorkPlan : tHazardWorkPlans) {
List<THazardConditionConfirmationRecord> tHazardConditionConfirmations = tHazardConditionConfirmationRecordService.list(new QueryWrapper<THazardConditionConfirmationRecord>()
......
......@@ -7,7 +7,9 @@ import java.util.function.Consumer;
import com.testor.biz.sys.org.model.domain.SysOrg;
import com.testor.biz.sys.org.service.SysOrgService;
import com.testor.common.core.domain.R;
import com.testor.module.lease.model.dto.*;
import com.testor.module.notice.service.TSysOrgService;
import com.testor.module.safe.model.domain.TSafeHazardOrg;
import com.testor.module.safe.service.TSafeHazardOrgService;
import com.testor.module.sys.model.domian.NewSysOrg;
......@@ -66,6 +68,9 @@ public class TLeaseBankController extends SuperController {
@Autowired
private TSafeHazardOrgService tSafeHazardOrgService;
@Autowired
private TSysOrgService tSysOrgService;
@ApiOperation(value = "获取首页地图 经纬度 ", notes = "Get TLeaseBank By Id")
@GetMapping(value = "/getHomeMapCoordinate")
public BaseResponse<List<SysOrg>> getHomeMapCoordinate(String orgId) {
......@@ -84,6 +89,59 @@ public class TLeaseBankController extends SuperController {
return baseResponse;
}
@ApiOperation(value = "获取首页地图统计 ", notes = "Get TLeaseBank By Id")
@GetMapping(value = "/getHomeStatisticsOther")
public BaseResponse<List<HomeStatistics>> getHomeStatisticsOther(String orgId) {
BaseResponse<List<HomeStatistics>> baseResponse = new BaseResponse<>();
if (StringHelper.isEmpty(orgId)) {
// 当前登录用户的组织机构id
//orgId = ContextUtils.getLoginUser().getOrgId();
//不传取所有
orgId = "32cdbb3a278944f1a83ca40dbcc93c0a";
}
// 获取当前的子机构
List<SysOrg> orgList = sysOrgService.list(new QueryWrapper<SysOrg>()
.like(SysOrg.PARENT_IDS, orgId)
.eq(SysOrg.IS_DEPT, "0")
.ne(SysOrg.STATUS, BizConstants.STATUS_DELETE)
);
List<HomeStatistics> homeStatistics = new ArrayList<>();
for (SysOrg sysOrg : orgList) {
String orgId1 = sysOrg.getOrgId();
HomeStatistics statistics = new HomeStatistics();
// 获取危险源统计
SourceOfDanger sourceOfDanger = getHomeRiskSource(orgId1).getData();
// 获取隐患数量统计
HiddenDanger hiddenDanger = getHiddenDanger(orgId1).getData();
// 获取地图粮库数量
GrainBlank grainBlank = getHomeGrain(orgId1).getData();
//机构信息
statistics.setLatitude(sysOrg.getLatitude());
statistics.setLongitude(sysOrg.getLongitude());
statistics.setOrgId(sysOrg.getOrgId());
statistics.setOrgName(sysOrg.getOrgName());
// 危险源
statistics.setMajor(sourceOfDanger.getMajor());
statistics.setRiskRourceNum(sourceOfDanger.getRiskRourceNum());
statistics.setRiskPoint(sourceOfDanger.getRiskPoint());
// 隐患
statistics.setGeneral(hiddenDanger.getGeneral());
statistics.setGreate(hiddenDanger.getGreate());
statistics.setHiddenDangerCount(hiddenDanger.getHiddenDangerCount());
// 粮库
statistics.setFundsBankNum(grainBlank.getFundsBankNum());
statistics.setBusinessDeptNum(grainBlank.getBusinessDeptNum());
statistics.setTLeaseBankNUm(grainBlank.getTLeaseBankNUm());
statistics.setCount(grainBlank.getCount());
homeStatistics.add(statistics);
}
baseResponse.setData(homeStatistics);
return baseResponse;
}
@ApiOperation(value = "获取首页地图统计 ", notes = "Get TLeaseBank By Id")
@GetMapping(value = "/getHomeStatistics")
......@@ -96,7 +154,7 @@ public class TLeaseBankController extends SuperController {
}
// 获取当前的子机构
List<SysOrg> orgList = sysOrgService.list(new QueryWrapper<SysOrg>()
.eq(SysOrg.PARENT_ID, orgId)
.like(SysOrg.PARENT_ID, orgId)
.eq(SysOrg.IS_DEPT, "0")
.ne(SysOrg.STATUS, BizConstants.STATUS_DELETE)
);
......@@ -411,4 +469,10 @@ public class TLeaseBankController extends SuperController {
}
return queryWrapper;
}
@ApiOperation(value = "查询没有部门的租赁库数据并且添加默认部门以及默认岗位", notes = "get org by SysOrg")
@GetMapping("/addIsRentDept")
public R addIsRentDept() {
return R.ok(tSysOrgService.addIsRentDept());
}
}
......@@ -11,6 +11,8 @@ import java.util.List;
public interface WeatherDao extends SuperDao<WeatherDomain> {
List<WeatherWarnInfoVO> getInfoByList(@Param("list") List<String> codeList);
List<WeatherWarnInfoVO> getInfoByListTemp(@Param("list") List<String> codeList);
String selectDirct(@Param("code") String code);
/**
......
......@@ -17,6 +17,7 @@ import com.testor.module.mq.dao.WeatherDao;
import com.testor.module.mq.domain.OrganizationEntity;
import com.testor.module.mq.domain.WeatherDomain;
import com.testor.module.mq.service.WeatherService;
import com.testor.module.mq.util.RandomCity;
import com.testor.module.mq.vo.WeatherDetailInfoVO;
import com.testor.module.mq.vo.WeatherWarnInfoVO;
import com.testor.module.sys.model.domian.NewSysOrg;
......@@ -68,10 +69,15 @@ public class WeatherServiceImpl extends SuperServiceImpl<WeatherDao, WeatherDoma
return new ArrayList<>();
}
List<WeatherWarnInfoVO> warnInfoVOList = this.baseMapper.getInfoByList(cityCodeList);
//临时修改,培训使用
//List<WeatherWarnInfoVO> warnInfoVOList = this.baseMapper.getInfoByListTemp(cityCodeList);
if (CollectionUtils.isEmpty(warnInfoVOList)) {
return new ArrayList<>();
}
RandomCity randomCity = new RandomCity();
for (WeatherWarnInfoVO weatherWarnInfoVO : warnInfoVOList) {
if (weatherWarnInfoVO != null){
//根据编码查询预警内容
......@@ -79,6 +85,9 @@ public class WeatherServiceImpl extends SuperServiceImpl<WeatherDao, WeatherDoma
//查询当前区县所在的市
String araInfo = getMessageInfo(weatherWarnInfoVO.getAreaCode());
String resultMessage = araInfo + "发布" + info;
//临时修改,培训使用
//String resultMessage =randomCity.getRandomCity()+ "发布" + info;
weatherWarnInfoVO.setWarnMessage(resultMessage);
}
}
......
package com.testor.module.mq.util;
import com.testor.module.mq.vo.WeatherWarnInfoVO;
import java.util.Random;
public class RandomCity {
// 在类中添加市名数组
private static final String[] CITIES = {
"北京", "上海", "天津", "重庆",
"石家庄", "太原", "呼和浩特", "沈阳", "长春", "哈尔滨",
"南京", "杭州", "合肥", "福州", "南昌", "济南",
"郑州", "武汉", "长沙", "广州", "南宁", "海口",
"成都", "贵阳", "昆明", "拉萨", "西安", "兰州",
"西宁", "银川", "乌鲁木齐"
};
// 添加随机市名生成方法
public String getRandomCity() {
Random random = new Random();
return CITIES[random.nextInt(CITIES.length)];
}
}
package com.testor.module.notice.controller;
import com.testor.common.core.domain.R;
import com.testor.module.notice.service.TSysOrgService;
import com.tongtech.tfw.backend.common.biz.models.BaseResponse;
import com.tongtech.tfw.backend.common.models.supers.SuperController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -25,4 +27,5 @@ public class TSysOrgController {
return tSysOrgService.getOrg();
}
}
......@@ -25,4 +25,16 @@ public interface TSysOrgDao extends SuperDao<TSysOrg> {
List<String> selectOrgIdAllSubId(@Param("orgId") String orgId);
/**
* 查询租赁库数据
* @return
*/
List<TSysOrg> selectIsRent();
/**
* 查询租赁库下有部门的数据
* @return
*/
List<TSysOrg> selectIsRentDept();
}
......@@ -60,7 +60,29 @@ public class TSysOrg extends SuperModel
@TableField("tree_sort")
private String treeSort;
/**
/**
* 级别
*/
@ApiModelProperty(value = "级别")
@TableField("tree_level")
private String treeLevel;
/**
* 是否部门 1部门 0 机构
*/
@ApiModelProperty(value = "是否部门 1部门 0 机构")
@TableField("is_dept")
private String isDept;
/**
* 是否为租赁库 0否 1是
*/
@ApiModelProperty(value = "是否为租赁库 0否 1是")
@TableField("is_rent")
private String isRent;
/**
* 机构名称
*/
@ApiModelProperty(value = "机构名称")
......
......@@ -12,4 +12,11 @@ import com.tongtech.tfw.backend.common.models.supers.SuperService;
*/
public interface TSysOrgService extends SuperService<TSysOrg> {
public BaseResponse getOrg();
/**
* 查询没有部门的租赁库数据并且添加默认部门以及默认岗位
* @return
*/
public int addIsRentDept();
}
package com.testor.module.notice.service.impl;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.excel.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.testor.biz.sys.org.model.domain.SysOrg;
import com.testor.biz.sys.org.service.SysOrgService;
import com.testor.biz.sys.post.model.domain.TSysPost;
import com.testor.biz.sys.post.service.TSysPostService;
import com.testor.biz.sys.user.model.domain.SysUser;
import com.testor.biz.sys.user.service.SysUserService;
import com.testor.module.notice.dao.TSysOrgDao;
......@@ -15,9 +20,12 @@ import com.tongtech.tfw.backend.common.context.ContextUtils;
import com.tongtech.tfw.backend.common.models.supers.SuperServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
......@@ -34,6 +42,8 @@ public class TSysOrgServiceImpl extends SuperServiceImpl<TSysOrgDao, TSysOrg> im
private SysUserService sysUserService;
@Autowired
private SysOrgService sysOrgService;
@Autowired
private TSysPostService postService;
@Override
public BaseResponse getOrg() {
......@@ -53,6 +63,77 @@ public class TSysOrgServiceImpl extends SuperServiceImpl<TSysOrgDao, TSysOrg> im
return response;
}
@Transactional(rollbackFor = Exception.class)
@Override
public int addIsRentDept() {
// 1. 查询租赁库数据
List<TSysOrg> tSysOrgs = tSysOrgDao.selectIsRent();
if (CollectionUtils.isEmpty(tSysOrgs)) {
return 0;
}
// 2. 查询已有部门的租赁库数据
List<TSysOrg> tSysOrgDept = tSysOrgDao.selectIsRentDept();
// 3. 筛选出没有子部门的租赁库
Set<String> parentIdsWithDept = tSysOrgDept.stream()
.map(TSysOrg::getParentId)
.collect(Collectors.toSet());
List<TSysOrg> tSysOrgWithoutDept = tSysOrgs.stream()
.filter(org -> !parentIdsWithDept.contains(org.getOrgId()))
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(tSysOrgWithoutDept)) {
return 0;
}
// 4. 为无部门的租赁库添加默认部门
List<TSysOrg> addSysOrg = new ArrayList<>();
for (TSysOrg temp : tSysOrgWithoutDept) {
if (StringUtils.isEmpty(temp.getOrgId()) || StringUtils.isEmpty(temp.getParentId())) {
log.warn("orgId 或 parentId 为空,跳过");
continue;
}
TSysOrg tSysOrg = new TSysOrg();
String orgId = IdWorker.getIdStr(); // 使用雪花算法生成唯一 ID
tSysOrg.setOrgId(orgId);
tSysOrg.setParentId(temp.getOrgId());
tSysOrg.setParentIds(temp.getParentId() + "," + orgId);
tSysOrg.setTreeSort("1");
tSysOrg.setTreeLevel("4");
tSysOrg.setOrgName("安全环保部");
tSysOrg.setStatus("0");
tSysOrg.setIsDept("1");
tSysOrg.setIsRent("1");
addSysOrg.add(tSysOrg);
}
// 5. 为这些部门添加默认岗位
List<TSysPost> addSysPost = new ArrayList<>();
for (TSysOrg temp : addSysOrg) {
TSysPost sysPost = new TSysPost();
String id = IdWorker.getIdStr(); // 使用雪花算法生成唯一 ID
sysPost.setId(id);
sysPost.setDeptId(temp.getOrgId());
sysPost.setOrgId(temp.getParentId());
sysPost.setPostName("安全环保部员工");
sysPost.setStatus("0");
addSysPost.add(sysPost);
}
// 6. 批量插入(如果某条记录失败,整个事务回滚)
if (!addSysOrg.isEmpty()) {
this.saveBatch(addSysOrg);
}
if (!addSysPost.isEmpty()) {
postService.saveBatch(addSysPost);
}
return 1;
}
// @Override
// public BaseResponse getOrg() {
// BaseResponse<Object> response = new BaseResponse<>();
......
......@@ -200,7 +200,11 @@ public class TrainProjectStatisticsAllServiceImpl implements TrainProjectStatist
AtomicInteger sort = new AtomicInteger(1);
String finalTrainTimeTotal = trainTimeTotal;
sortList.forEach(item -> {
String ratio = getRatio(Integer.valueOf(item.getFanChartValue()), Integer.valueOf(finalTrainTimeTotal));
//String ratio = getRatio(Integer.valueOf(item.getFanChartValue()), Integer.valueOf(finalTrainTimeTotal));
String ratio = getRatio(
Double.parseDouble(item.getFanChartValue()),
Double.parseDouble(finalTrainTimeTotal)
);
item.setFanChartRatio(ratio);
item.setFanChartSort(sort.getAndIncrement());
});
......@@ -240,7 +244,8 @@ public class TrainProjectStatisticsAllServiceImpl implements TrainProjectStatist
String name = TrainTypeEnum.getName(fanChartKey);
item.setFanChartKey(name);
}
String ratio = getRatio(Integer.valueOf(item.getFanChartValue()), total);
//String ratio = getRatio(Integer.valueOf(item.getFanChartValue()), total);
String ratio = getRatio(Double.valueOf(item.getFanChartValue()), Double.valueOf(total));
item.setFanChartRatio(ratio);
item.setFanChartTotal(String.valueOf(total));
});
......@@ -283,7 +288,8 @@ public class TrainProjectStatisticsAllServiceImpl implements TrainProjectStatist
statTotalVo.setProjectPersonCompleted(projectPersonCompleted.toString());
// 完成率
int projectPersonTotal = Integer.parseInt(String.valueOf(total));
String chapterProgress = getRatio(projectPersonCompleted.get(), projectPersonTotal);
//String chapterProgress = getRatio(projectPersonCompleted.get(), projectPersonTotal);
String chapterProgress = getRatio(Double.valueOf(projectPersonCompleted.get()), Double.valueOf(projectPersonTotal));
statTotalVo.setProjectPersonCompletedRatio(chapterProgress);
}
......@@ -363,9 +369,14 @@ public class TrainProjectStatisticsAllServiceImpl implements TrainProjectStatist
* @param divisor 除数
* @return
*/
public String getRatio(Integer dividend, Integer divisor) {
/*public String getRatio(Integer dividend, Integer divisor) {
int percentage = (int) Math.round((double) dividend / divisor * 100);
return percentage + "%";
}*/
public String getRatio(Double dividend, Double divisor) {
int percentage = (int) Math.round(dividend / divisor * 100);
return percentage + "%";
}
......
uc3Y29XJfVtZtZTbmFsrU2y4yb2CnB3RfplYtZTbmFsrU2y4pY2Cmx2VfVuc9MTaWQDc1E1MpY2Cmx2VfVucwZTdHlmlh10cjcmbApGVfVhd0ZTZGFDI10yMzLTLTAmVuE4CkYXZF9TIwRlPtMDMjUTgKYtMfUHVFdHVjJvZOYWdF9VRv1lPXZWbmdFdfIKVyc2VmVl9OlvbiZXdW1y4wI9NKVFLkU1BVdfQPVUX0NQpi5UPkaXaW5lRXA9ChcmX0hXJlR3YkPQX0l19NpUVfTnYXhmVyVtYxClPS00VkRXXpb2aXRW1i49RKTkZWQ1ZFVXXJT0UlNElD5fTDRTRU5XpK1Ka1QmRVBHp3VNZ3V0RWN05iVWYTSmYU1Ho0tLSJemUGRTBSNrSzSWb2Yk5ZFqSRSWVFVDM3tFaSOHcXV3NpBGcwU2MmMTd5NUM4QjOGxHV0V3UzMzMUM3dmZyQ1MkaEIHNvVMZlalL3hjNrU1UreHU3ojY3FvRoMTMmtwpOFBLfVkRVd0lPVSUMSUTl9kNFNFTFUXPVRmV6VTQraGREkFdl5TdYQzMHljhPEwdsT2dzFXNSdYeZYnUzZ2ZFBZQEcVcUVW85pHavM3UENm41NDRGcTQUVGV0c3V5Q0MThzV4JXLGNXMjdVdEY4dsZUZVl1RapVU3NDZGVzdKkxTlMFeElGJXZiajUlQzlUpFdRazCkSjU19W5FVTSURVJ0xJ9OXOQ0Q0VGphU9dMSUeUREVZdKWyZWb3QnF6gze3a3L0JEtIF4djYUcHNElEFzZ5N1bUFElYlQU1NmbEwEhEg3NWQmZWZzAydaaiNGY09nJaY0YuRmMVNHhCY4d9PQK2cVdfpORSU0VkVl9MlPTFTkSUN1NVNFXOZWTj1Fh29OSORFc3NC9ZdCOwMXVjEENWZoaibDRkV0tqY1c3MzUTRFJNl1S4dETklGxp9zcMOVUmlmtGMxQudnRmJmFyVtSWdmaFNUw3l0UjajcjlEJDI3OzdVKzNXlEFhSqbjYmhDRsFOU5R1Y0QmVLB5dpcHTWJ1ZlhDSUTgM3dVdfpORSU0VkVl9MlPTFTkSUN1NVNFXmcETj1DdSxVehbDKzFXVmFGb1a0OHU1Nxg4cRQWK1VHY4FURaUURk1HJ4ZBRGZnMFNVVkBKRwajOTZ2lkhGT1WDS0NjdMNXbBN0MVJFpkJuZLU0SkdEJ2dMOUbGRmtURYg3YBbnZVB2JRdmRuR2czB3dX5ZNFOHS0VU81ZRavSwM04VdfpORSU0VkVl9MlPTFTkSUN1NVNFX5WGTj1mhitkb0ZVaDhkJkMzTqNlYUl2tBJkUQNlUTNDdIhFRZNleW1TZlhZWuckeWpnpN40M4N1VlNllXZUZpWXVDJHA3BYZzelcFQktXpTQRNjQlhXZPlCY5eTT1o05NEza6M0aEFnhmI3czcHZGMndwZodaRzMEhHU1l1MXSwMVpVdfpORSU0VkVl9MlPTFTkSUN1NVNFXpY0Tj1G1JVWW3TibFUDJEtPMRbWZ0ZEQzhRdVK0TW1nREVZaYdUdStTgxVKdoRFWC9ituk5b4ckdTMTBm04QOdjdUlm5JFERSZWUnV0JDtQd4bmcEkXB353Q2TDejFWNoNWT1VFT3Qnlsc3TjSUSWZ1R3EvSGWHTlJDgrluOHQgZzV o=
\ No newline at end of file
uc3Y29XJfVtZtZTbmFMG43W0S1ww7Pm9qpwc0X2ZWNWU95hbBuM1tDtewOz0ru7ssi9DFexoGvcz6LmxpyoCuc2Y2VWQ9VfayMjMTImxpY3Cuc2Y2VHlwVfd0cmZT1ApjlhbhdGcmVGF0VfZyMDZT0TA2I1LzCmLTAF9kVuZlPTYXRjUtIwMtMDMDkFdfMKVvZHUHJF9OVjdlPVYW1mdXRvbKVFZWImVydfVvblc2lW1i9Od9NyZXIkUK4wLfQ1VFd0NPBVXUPQVU5W5kpia9ClaXA0hhRXX3YXcmR0lkJlXUV1PQpXhf9NYtYmTnVS0xVyPheFCk1W1i9OdfTGZXJXQ9ltawClMS40VkRXXpb2aXRW1i49RKTkZWQ1ZFVXXJT0UlNElD5fTDRTRU5VZN1OOaekejl3Q3pCSabXWTVllPVKT0S2MnIHdF5jOLMWSDN05qY5UxcTQzQk9sBSbyM2cVFnhJ8rblTWTDdEMzd0V3VVRjdVdqFMMOSlUHFmxFU2SiUVcTRnlmJLVCWGTEl1g5tmM6U2S1ZjFIF5anU1Zk50tYRuS2bHZTQgpOoxbfVkRVd0lPVSUMSUTl9kNFNFT0M2PUtUpjc3OuejdzdHdDRjSodlQ0V0ZYBicFVUMkZ3Rp8yTOalY0V3FOMzb4aUVVAXFLEvYZVzbDd3VolkY1cDeUYFh3NtRHSEME929NIrbxblSno3loJiUmTWVjBWY4xGSaK1UjJWtOMwSZVWU05UtvdaYyZ2cWcVhGdLVrCkNWM19W5FVTSURVJ0xJ9OXOQ0Q0VndlU9aCRzS1FmgrJ5WZd1bnFEMzNsUwa1VGc1ordCKIT1T2lmg0RKRnc1SFdTlOM5QpNVREpEllV1Z3ZXMGEHdsdPcNL0NnVm5Jt2NvZlRUw054I5ZqdUc1JW1CdhUYS1TWxVFscyTyRURTJlFo9nc5RXS25GIyN6T2SFLzAHEKJOWXX1TkVlNJZFUfTET05U5DlDR2bHRT1mRQlVawK2Z3k09YtVU5eWWVBVBz1IZSWXSEtTVogrbkVDbkhFdvAwWqQ1a250xkRNZ2elUm9kdyQ5Q2RWbVJ3hVVacJTEZG1VA2tIewMycGNGh6t1VUL3M1dDcylHaxRTKyszZOVDZwK1NmlDE2dPdRdnLzhFYwV6S3RQWVJVdfpORSU0VkVl9MlPTFTkSUN1NVNFXJUXTj1mJaEzMuV1b0F3pIJhNBUEUGxlpz1kbrdXSjg1VMM5TROVcmNzNhhzMQV3SWRjAyl6YiaUZlRzdoJBczSGUTgkV3gydUbCd29XdZsxOFaXTWl2k3VRY3eXNUMXg1ZQNyL2RkgDRi81TOVlMHJWNmphTwc1VnMmlFcvQrMwNDYVdfpORSU0VkVl9MlPTFTkSUN1NVNFXiaWTj1zRPFpcMUFUU51d2JuaKQWK2ZnpXRpY2eFUHEWxrZYMHRXVHBEc4hsN3ZkTlMkFY5DSxc3amNUV5gwMqYnQ2lGlNl6WlYmdzFkJnFJMpT2SFdFR0lkNKVUZHJTFo9JWvcUMnhmdpFrapaFRk90xRkyL1d3R20DNLlnVLZQbk5VdfpORSU0VkVl9MlPTFTkSUN1NVNFXINWTj1DE1hNWBUDbTRWNhVrSLbDVGJUZxRrQHZkemV21wlSdlR2WHhEFRZiM5czM3F1lGhyLrV0Z0Z3NjlIYyL3TnpzBnNocraCMXh0NZ9Hd3N0dHNXdHE3c2SlMUlk0vlnR3RydTdVoztST2cSNFgGt3tGUoS1eGR04xpXMGNAdnFVdfpORSU0VkVl9MlPTFTkSUN1NVNFXtNETj1ngrQyThUjZmlzFlg2R5TSTjR0p69uRLYUWkV2VpNtTJQnVGlEJic4crOUcXQG1vlIdDTGTzB2V6twbsSkZ3FVRt1uZTcWbjRVJXdQNsSHSjlTRDZyYYb2U3VFhLticNT0bjZkNl5WNwZmSlJHpt9oNlV3dDlWVzQ4VMQQQXF o=
\ No newline at end of file
......@@ -56,7 +56,8 @@
tci.addr,
tci.reg_date,
tci.valid_period,
tcbi.process_status
tcbi.process_status,
tcl.type type
FROM
t_contractor_basic_info AS tcbi
LEFT JOIN t_contractor_ledger_project AS tclp ON tcbi.id = tclp.biz_id
......@@ -73,6 +74,9 @@
AND to_char(tci.valid_period,'yyyy-mm-dd') &gt;= to_char(#{param.validityStartDate}::DATE,'yyyy-mm-dd')
AND to_char(tci.valid_period,'yyyy-mm-dd') &lt;= to_char(#{param.validityEndDate}::DATE,'yyyy-mm-dd')
</if>
<if test="param.type != null and param.type != ''">
AND tcl.type =#{param.type}
</if>
GROUP BY
tcbi.id,
tcl.id,
......
......@@ -48,4 +48,17 @@
WHERE status = '0' and is_dept = '0' and org_id=#{orgId}
</select>
<select id="selectIsRent" resultType="com.testor.module.notice.model.domain.TSysOrg">
select * from t_sys_org
where is_rent = '1' and status = '0' AND org_name LIKE '%租赁库%'
</select>
<select id="selectIsRentDept" resultType="com.testor.module.notice.model.domain.TSysOrg">
select * from t_sys_org
where parent_id in(
select org_id from t_sys_org
where is_rent = '1' and status = '0' AND org_name LIKE '%租赁库%'
)
</select>
</mapper>
\ No newline at end of file
......@@ -18,6 +18,13 @@
order by record_time desc
</select>
<select id="getInfoByListTemp" parameterType="java.lang.String" resultType="com.testor.module.mq.vo.WeatherWarnInfoVO">
select id, signal_type_code as code,record_time as warnTime,sender,signal_level_code as colorMsg,sender_area_code as
areaCode from t_weather_notice
order by record_time desc
limit 50
</select>
<select id="selectDirct" resultType="java.lang.String">
select message
......
......@@ -129,7 +129,7 @@
AND p.train_type =#{param.trainType}
</if>
<if test="param.visitType!=null and param.visitType!=''">
AND p.visit_type =#{param.visitType}
AND p.visit_type LIKE CONCAT('%',#{param.visitType},'%')
</if>
order by p.create_date desc
) mm
......@@ -631,7 +631,7 @@
</select>
<select id="findTrainTimeSumByOrgId" resultType="java.lang.String" databaseId="kingbase">
SELECT
SUM(EXTRACT(EPOCH FROM AGE(p.visit_end_time, p.visit_start_time)) / 3600) AS fanChartValue
ROUND(SUM(EXTRACT(EPOCH FROM AGE(p.visit_end_time, p.visit_start_time)) / 3600)) AS fanChartValue
FROM
t_train_project p
LEFT JOIN
......
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