查看采集器状态,开发pasc采集同步更新

gaoming_branch
ALW 3 years ago
parent 088f3ad6ee
commit 8f48d71706

@ -1,5 +1,6 @@
package com.emr.controller;
import com.emr.dao.ArchiveOtherExtMapper;
import com.emr.entity.ArchiveOther;
import com.emr.entity.OffsetLimitPage;
import com.emr.service.ipml.ArchiveOtherExtService;
@ -31,6 +32,8 @@ public class ArchiveOtherExtController {
private ArchiveOtherExtService archiveOtherExtService;
@Autowired
private ArchiveOtherService archiveOtherService;
@Autowired
private ArchiveOtherExtMapper archiveOtherExtMapper;
/**
*
* @param offset

@ -9,6 +9,7 @@ import com.emr.vo.*;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
@ -36,6 +37,8 @@ import java.util.List;
@Controller
@RequestMapping("statistics/")
public class StatisticsController {
@Value("${calculationTime}")
private String calculationTime;
@Autowired
private StatisticsService statisticsService;
//终审按天统计
@ -62,6 +65,19 @@ public class StatisticsController {
return "statistics/statisticsDetail";
}
//采集器明细
@RequestMapping("acquisitionStatus")
public String acquisitionStatus(){
return "statistics/acquisitionStatus";
}
//采集器未采集明细
@RequestMapping("notCollected")
public String notCollected(){
return "statistics/notCollected";
}
//复印记录报表
@RequestMapping("printCount")
public String printCount(){
@ -107,6 +123,95 @@ public class StatisticsController {
}
}
//采集器任务记录统计
@RequestMapping("getCollectorTaskNum")
@ResponseBody
public OffsetLimitPage getCollectorTaskNum(Integer offset, Integer limit,FinalAndFirstStatistics finalAndFirstStatistics){
//判断是否是初始化查询,是初始化查询把开始结束时间置空
try {
List<FinalAndFirstStatistics> list = statisticsService.getCollectorTaskNum(offset, limit,finalAndFirstStatistics);
return new OffsetLimitPage((Page)list);
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
e.printStackTrace();
return null;
}
}
//导出采集器任务记录统计
@RequestMapping("exportExcelCollectorTaskNum")
@ResponseBody
public void exportExcelCollectorTaskNum(HttpServletResponse response,Integer offset, Integer limit,FinalAndFirstStatistics finalAndFirstStatistics){
//全部明细
String tableThNames = "业务系统,产生日期,产生的数量,采集完成,相差数量,采错数量";
String fieldCns = "sysFlagStr,produceDate,produceNum,completeNum,differ,errorNum";
//判断是否是初始化查询,是初始化查询把开始结束时间置空
try {
List<FinalAndFirstStatistics> list = statisticsService.getCollectorTaskNum(offset, limit,finalAndFirstStatistics);
//文件名
String fileName = "采集器任务记录统计报表(" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ").xls";
//ExportExcelUtil
ExportExcelUtil1 exportExcelUtil = new ExportExcelUtil1();
//导出excel的操作
exportExcelUtil.expordExcel(tableThNames,fieldCns,list,fileName,response);
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
e.printStackTrace();
}
}
//采集器未开始任务记录统计
@RequestMapping("getNotStartedNum")
@ResponseBody
public OffsetLimitPage getNotStartedNum(Integer offset, Integer limit,FinalAndFirstStatistics finalAndFirstStatistics){
finalAndFirstStatistics.setCalculationTime(calculationTime);
//判断是否是初始化查询,是初始化查询把开始结束时间置空
try {
List<FinalAndFirstStatistics> list = statisticsService.getNotStartedNum(offset, limit,finalAndFirstStatistics);
return new OffsetLimitPage((Page)list);
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
e.printStackTrace();
return null;
}
}
//导出采集器未开始任务记录统计
@RequestMapping("exportExcelNotStartedNum")
@ResponseBody
public void exportExcelNotStartedNum(HttpServletResponse response,Integer offset, Integer limit,FinalAndFirstStatistics finalAndFirstStatistics){
//全部明细
finalAndFirstStatistics.setCalculationTime(calculationTime);
String tableThNames = "业务系统,任务剩余数量";
String fieldCns = "sysFlagStr,notStarted";
//判断是否是初始化查询,是初始化查询把开始结束时间置空
try {
List<FinalAndFirstStatistics> list = statisticsService.getNotStartedNum(offset, limit,finalAndFirstStatistics);
//文件名
String fileName = "采集器剩余任务统计报表(" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ").xls";
//ExportExcelUtil
ExportExcelUtil1 exportExcelUtil = new ExportExcelUtil1();
//导出excel的操作
exportExcelUtil.expordExcel(tableThNames,fieldCns,list,fileName,response);
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
e.printStackTrace();
}
}
//初审按天统计
@RequestMapping("getFirstStatistics")
@ResponseBody

@ -88,4 +88,18 @@ public interface ArchiveOtherExtMapper {
*/
List<ArchiveOtherExt> selectEmrBackInfo(@Param("masterId") String masterId);
/**
* C1
* @param idTemp
* @return
*/
List<ArchiveOtherExtVo> selectEmrBackInfo1(@Param("idTemp") String idTemp);
/**
* C1
* @param archiveOtherExtVo
* @return
*/
List<ArchiveOtherExtVo> selectEmrBackInfo2(ArchiveOtherExtVo archiveOtherExtVo);
}

@ -7,9 +7,15 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface StatisticsMapper {
//终审按天统计
List<FinalAndFirstStatistics> finalStatistics(@Param("startDate")String startDate,@Param("endDate")String endDate,@Param("sql")String sql);
//采集器任务详情
List<FinalAndFirstStatistics> getCollectorTaskNum(FinalAndFirstStatistics finalAndFirstStatistics);
//采集器任务未开始详情
List<FinalAndFirstStatistics> getNotStartedNum(FinalAndFirstStatistics finalAndFirstStatistics);
//初审按天统计
List<FinalAndFirstStatistics> firstStatistics(@Param("startDate")String startDate,@Param("endDate")String endDate,@Param("sql")String sql);

@ -89,6 +89,10 @@ public class Archive_Master_Vo extends Archive_Master{
private String printStatus;//打印状态
private Integer isOverTime;//是否超期
private String hisStatic;
private String patientId;
}

@ -76,7 +76,7 @@ public class ArchiveOtherExtService {
for (KeyValue keyValue : statusAndSysFlagValues) {
if ("otherExtStatusFlag".equals(keyValue.getType())) {
if (keyValue.getCode().equals(statusflag.toString())) {
vo.setStatusFlagStr(keyValue.getName());
vo.setSysFlagStr(keyValue.getName());
break;
}
}
@ -97,6 +97,31 @@ public class ArchiveOtherExtService {
}
}
}
String idTemp = vo.getIdTemp();
List<ArchiveOtherExtVo> archiveOtherExtVos = archiveOtherExtMapper.selectEmrBackInfo1(idTemp);
for (int i=0;archiveOtherExtVos.size()>i;i++){
if (null != archiveOtherExtVos) {
if (!archiveOtherExtVos.get(i).getC1().equals("")) {
vo.setStatusFlagStr("完成");
}else {
vo.setStatusFlagStr("未完成");
}
}
}
if (vo.getSysflag().equals(1)) {
archiveOtherExtVo.setPid(vo.getJzh());
List<ArchiveOtherExtVo> archiveOtherExtVos1 = archiveOtherExtMapper.selectEmrBackInfo2(archiveOtherExtVo);
if (null != archiveOtherExtVos1) {
for (int a = 0; archiveOtherExtVos1.size() > a; a++) {
if (!archiveOtherExtVos1.get(a).getC1().equals("")) {
vo.setStatusFlagStr("完成");
} else {
vo.setStatusFlagStr("未完成");
}
}
}
}
}
}
return list;
@ -168,6 +193,10 @@ public class ArchiveOtherExtService {
idsTemp = splitString2String(notNursingIds);
}
}
// if (null != sysFlag && sysFlag == 3){
//// archiveOtherService.updateArchiveOtherExt(ids)
//// }
//ext表更新非护理记录
if(StringUtils.isNotBlank(notNursingIds)){
updateCommomSubmit(jzh, masterId,idsTemp);

@ -59,6 +59,9 @@ public class ArchiveOtherService {
archiveOtherMapper.insert(archiveOther);
}
}
public void updateArchiveOtherExt(String ids,String masterId,Integer sysFlag,Long extId) throws Exception{
}
/**
* ArchiveOtherExt

@ -295,6 +295,16 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
if(null != role) {
for (Archive_Master_Vo masterVo : list) {
String archivestate = masterVo.getArchivestate();
String inpNo = masterVo.getPatientId();
// String sql = "SELECT FISZH FROM V_JSWZH_EMR_CALLBACK WHERE JZH='"+inpNo+"'";
// try {
// String select = OracleConnect.select(sql);
// masterVo.setHisStatic(select);
// String hisStatic = masterVo.getHisStatic();
// } catch (Exception e) {
// ExceptionPrintUtil.printException(e);
// e.printStackTrace();
// }
if (StringUtils.isNotBlank(archivestate)) {
//转换中文状态
boolean numeric = isNumeric(archivestate);
@ -1347,7 +1357,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
StringBuilder failResult = new StringBuilder();
//判断护理文书是否完成sysFlag = 1
//查询护理文书采集任务
String sql1 = "SELECT SHOW_NAME,KDSJ FROM V_JSWZH_HL_DATA WHERE (ENABLED_VALUE = 'Y' OR ENABLED_VALUE IS NULL) AND SHOW_NAME != '护嘱单' AND JZH = '"+jzh+"'";
String sql1 = "SELECT SHOW_NAME,KDSJ FROM V_JSWZH_HL_DATA WHERE (ENABLED_VALUE = 'Y' OR ENABLED_VALUE IS NULL) AND SHOW_NAME != '护嘱单' AND SHOW_NAME != '术前准备与手术交接记录单' AND JZH = '"+jzh+"'";
try {
List<Map> selectList1 = OracleConnect.selectListConvertMap(sql1);
if(!CollectionUtils.isEmpty(selectList1)) {

@ -64,6 +64,35 @@ public class StatisticsService {
return list;
}
//采集器任务详情
public List<FinalAndFirstStatistics> getCollectorTaskNum(Integer offset, Integer limit,FinalAndFirstStatistics finalAndFirstStatistics) throws Exception{
if(null != offset && null != limit){
PageHelper.offsetPage(offset, limit);
}
List<FinalAndFirstStatistics> list = statisticsMapper.getCollectorTaskNum(finalAndFirstStatistics);
for (int i=0;list.size()>i;i++){
String produceNum = list.get(i).getProduceNum();
int i1 = Integer.parseInt(produceNum);
String completeNum = list.get(i).getCompleteNum();
int i2 = Integer.parseInt(completeNum);
int i3 = i1 - i2;
String differNum = String.valueOf(i3);
list.get(i).setDiffer(differNum);
}
//转换姓名
return list;
}
//采集器任务未开始详情
public List<FinalAndFirstStatistics> getNotStartedNum(Integer offset, Integer limit,FinalAndFirstStatistics finalAndFirstStatistics) throws Exception{
if(null != offset && null != limit){
PageHelper.offsetPage(offset, limit);
}
List<FinalAndFirstStatistics> list = statisticsMapper.getNotStartedNum(finalAndFirstStatistics);
return list;
}
//初审按天统计
public List<FinalAndFirstStatistics> getFirstStatistics(Integer offset, Integer limit, String startDate, String endDate,String sql) throws Exception{

@ -24,6 +24,8 @@ public class ArchiveOtherExtVo extends ArchiveOtherExt {
private String stimeStr;
private String sysFlag3;
private Integer timeStatus;
private String etimeStr;
@ -38,6 +40,10 @@ public class ArchiveOtherExtVo extends ArchiveOtherExt {
private String assortId;
private String pid;
private String jzh;
private String tempTime;
private String nursingEndTime;

@ -1,5 +1,7 @@
package com.emr.vo;
import java.util.Date;
/**
* @ProjectName:
* @Description:
@ -19,8 +21,119 @@ public class FinalAndFirstStatistics {
private String createTime;//审核日期
private String notStarted;
public String getCalculationTime() {
return calculationTime;
}
public void setCalculationTime(String calculationTime) {
this.calculationTime = calculationTime;
}
private String calculationTime;
public String getNotStarted() {
return notStarted;
}
public void setNotStarted(String notStarted) {
this.notStarted = notStarted;
}
public String getErrorNum() {
return errorNum;
}
public void setErrorNum(String errorNum) {
this.errorNum = errorNum;
}
private String errorNum;
public String getDiffer() {
return differ;
}
public void setDiffer(String differ) {
this.differ = differ;
}
private String sysflag;
private String differ;
public String getSysflag() {
return sysflag;
}
public void setSysflag(String sysflag) {
this.sysflag = sysflag;
}
private int count;//审核份数
private String produceDate;
private String produceNum;
public String getProduceNum() {
return produceNum;
}
public void setProduceNum(String produceNum) {
this.produceNum = produceNum;
}
public String getCompleteNum() {
return completeNum;
}
public void setCompleteNum(String completeNum) {
this.completeNum = completeNum;
}
public String getSysFlagStr() {
return sysFlagStr;
}
public void setSysFlagStr(String sysFlagStr) {
this.sysFlagStr = sysFlagStr;
}
public String getProduceDate() {
return produceDate;
}
public void setProduceDate(String produceDate) {
this.produceDate = produceDate;
}
private String completeNum;
private String sysFlagStr;
private String startDate;
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
private String endDate;
public String getCheckCode() {
return checkCode;
}

@ -67,3 +67,5 @@ oraclePassWord = Jswzh
#oracleUserName = docus
#oraclePassWord = docus702
calculationTime= 2022/08/01

@ -10,6 +10,7 @@
<result column="sysUpdateTime" property="sysupdatetime" jdbcType="TIMESTAMP" />
<result column="jzh" property="jzh" jdbcType="NVARCHAR" />
<result column="zyh" property="zyh" jdbcType="NVARCHAR" />
<result column="sysFlag3" property="sysFlag3" jdbcType="NVARCHAR" />
<result column="stime" property="stime" jdbcType="TIMESTAMP" />
<result column="eTime" property="etime" jdbcType="TIMESTAMP" />
<result column="statusFlag" property="statusflag" jdbcType="INTEGER" />
@ -318,9 +319,9 @@
<if test="mid != null" >
MID = #{mid,jdbcType=NVARCHAR},
</if>
<if test="did != null" >
DID = #{did,jdbcType=NVARCHAR},
</if>
<!--<if test="did != null" >-->
<!--DID = #{did,jdbcType=NVARCHAR},-->
<!--</if>-->
<if test="c1 != null" >
C1 = #{c1,jdbcType=NVARCHAR},
</if>
@ -395,7 +396,7 @@
statusFlag = #{statusflag,jdbcType=INTEGER},
pResult = #{presult,jdbcType=NVARCHAR},
MID = #{mid,jdbcType=NVARCHAR},
DID = #{did,jdbcType=NVARCHAR},
-- DID = #{did,jdbcType=NVARCHAR},
C1 = #{c1,jdbcType=NVARCHAR},
C2 = #{c2,jdbcType=NVARCHAR},
C3 = #{c3,jdbcType=NVARCHAR},
@ -583,47 +584,7 @@
</select>
<!--查询未同步更新完成的文件名称集合-->
<select id="selectC1WithNotCollectFinishByPatientId" resultMap="BaseResultMap">
SELECT DISTINCT
CASE
WHEN
sysFlag = 8 THEN
'长临医嘱' ELSE C1
END C1
FROM
(SELECT
CASE
WHEN
sysFlag = 1 THEN
(
SELECT
MAX( eTime ) eTime
FROM
archive_other_ext with(nolock)
WHERE
sysFlag = 1
AND archive_other_ext.jzh = #{patientId}
GROUP BY
sysFlag,
jzh
) ELSE eTime
END eTime,
ID,sysFlag,C1
FROM
archive_other_ext with(nolock)
WHERE
archive_other_ext.jzh = #{patientId})
archive_other_ext
INNER JOIN archive_other_ext_submitTime ON archive_other_ext.ID = archive_other_ext_submitTime.other_ext_id
WHERE
sysFlag in (1,2,3,4,5,6,7,8,9,10,11) and
eTime &lt;=
case when
sysFlag = 1
then
archive_other_ext_submitTime.create_time
else
archive_other_ext_submitTime.str2
end
SELECT * from archive_other_ext WHERE archive_other_ext.jzh ='1365253' AND sysFlag!=3 AND DID is null
</select>
<!--查询校验不完整的集合-->
<select id="selectNotCompleteMidList" resultMap="BaseResultMap">
@ -845,4 +806,12 @@
sysFlag = - 300
AND MID = #{masterId}
</select>
<select id="selectEmrBackInfo1" resultType="com.emr.vo.ArchiveOtherExtVo" parameterType="java.lang.String">
select * from archive_other where c2=#{idTemp}
</select>
<select id="selectEmrBackInfo2" resultType="com.emr.vo.ArchiveOtherExtVo"
parameterType="com.emr.vo.ArchiveOtherExtVo">
select * from archive_other where pid=#{pid} and otherInfo='护理系统按需采集'
</select>
</mapper>

@ -129,61 +129,109 @@
</otherwise>
</choose>
ORDER BY discharge_date_time desc
<!--SELECT
check_doctor,
check_datetime,
checked_doctor,
checked_datetime,
archive_master.name,
inp_no,
emr_dictionary.Name dept_name,
discharge_date_time,
emr_dictionary1.Name dept_admission_to,
admission_date_time,
DATEDIFF(day,admission_date_time,discharge_date_time) days
FROM archive_master
LEFT JOIN
emr_dictionary on archive_master.dept_name = emr_dictionary.code and emr_dictionary.parent_id='dept_code'
LEFT JOIN
emr_dictionary emr_dictionary1 on archive_master.dept_name = emr_dictionary1.code and
emr_dictionary1.parent_id='dept_code'
WHERE checked_datetime is not null
<choose>
<when test="sql != null and sql != ''">
${sql}
</when>
<otherwise>
<if test="record.checkDoctor != null and record.checkDoctor != ''">
<if test="flag == 2">
AND (check_doctor in (${record.checkDoctor}) or checked_doctor in (${record.checkDoctor}))
</if>
<if test="flag == 1">
AND checked_doctor in (${record.checkDoctor})
</if>
</if>
<if test="record.startDate != null and record.startDate != '' and record.endDate != null and record.endDate != ''">
<if test="flag == 2">
AND ((check_datetime between #{record.startDate}+' 00:00:00' and #{record.endDate}+' 23:59:59')
or (checked_datetime between #{record.startDate}+' 00:00:00' and #{record.endDate}+' 23:59:59'))
</if>
<if test="flag == 1">
AND checked_datetime between #{record.startDate}+' 00:00:00' and #{record.endDate}+' 23:59:59'
</if>
</if>
<if test="disStartDate != null and disStartDate != '' and disEndDate != null and disEndDate != ''">
AND discharge_date_time between #{disStartDate}+' 00:00:00' and #{disEndDate}+' 23:59:59'
</if>
<if test="record.name != null and record.name != '' ">
AND archive_master.name LIKE '%' + #{record.name} + '%'
</if>
<if test="record.inpNo != null and record.inpNo != '' ">
AND inp_no LIKE '%' + #{record.inpNo} + '%'
</if>
<if test="record.deptName != null and record.deptName != '' ">
AND archive_master.dept_name in (${record.deptName})
</if>
</otherwise>
</choose>
ORDER BY discharge_date_time desc-->
</select>
<select id="getCollectorTaskNum" resultType="com.emr.vo.FinalAndFirstStatistics"
parameterType="com.emr.vo.FinalAndFirstStatistics">
SELECT
CASE
WHEN
a.sysFlag = 1 THEN
'移动护理系统采集服务'
WHEN a.sysFlag = 2 THEN
'电子病历系统采集服务'
WHEN a.sysFlag = 3 THEN
'PACS系统采集服务'
WHEN a.sysFlag = 4 THEN
'心电系统采集服务'
WHEN a.sysFlag = 5 THEN
'手麻系统采集服务'
WHEN a.sysFlag = 6 THEN
'LIS系统采集服务'
WHEN a.sysFlag = 7 THEN
'电子病历系统采集服务-首页'
WHEN a.sysFlag = 8 THEN
'电子病历系统采集服务-长临医嘱'
WHEN a.sysFlag = 9 THEN
'广东省病案上报统计系统采集服务'
WHEN a.sysFlag = 10 THEN
'输血系统采集服务'
WHEN a.sysFlag = 11 THEN
'电子病历系统采集服务-会诊单'
WHEN a.sysFlag =- 300 THEN
'按需采集系统采集服务'
END sysFlagStr,
CAST ( sysUpdateTime AS DATE ) AS produceDate,
COUNT ( * ) AS produceNum,
COUNT ( CASE WHEN statusFlag = 3 THEN id ELSE NULL END ) AS completeNum,
COUNT ( CASE WHEN statusFlag = 1 THEN id ELSE NULL END ) AS errorNum
FROM
archive_other_ext a
<where>a.sysFlag !=- 100
<if test="startDate != null and startDate !='' ">
AND CAST ( a.sysUpdateTime AS DATE ) >= #{startDate}
</if>
<if test="endDate != null and endDate !='' ">
AND CAST ( a.sysUpdateTime AS DATE ) &lt;=#{endDate}
</if>
<if test="sysflag != null and sysflag !='' ">
AND a.sysFlag =#{sysflag}
</if>
</where>
GROUP BY
CAST ( a.sysUpdateTime AS DATE ),
a.sysFlag
ORDER BY
CAST ( a.sysUpdateTime AS DATE ) DESC
</select>
<select id="getNotStartedNum" resultType="com.emr.vo.FinalAndFirstStatistics"
parameterType="com.emr.vo.FinalAndFirstStatistics">
SELECT
CASE
WHEN
a.sysFlag = 1 THEN
'移动护理系统采集服务'
WHEN a.sysFlag = 2 THEN
'电子病历系统采集服务'
WHEN a.sysFlag = 3 THEN
'PACS系统采集服务'
WHEN a.sysFlag = 4 THEN
'心电系统采集服务'
WHEN a.sysFlag = 5 THEN
'手麻系统采集服务'
WHEN a.sysFlag = 6 THEN
'LIS系统采集服务'
WHEN a.sysFlag = 7 THEN
'电子病历系统采集服务-首页'
WHEN a.sysFlag = 8 THEN
'电子病历系统采集服务-长临医嘱'
WHEN a.sysFlag = 9 THEN
'广东省病案上报统计系统采集服务'
WHEN a.sysFlag = 10 THEN
'输血系统采集服务'
WHEN a.sysFlag = 11 THEN
'电子病历系统采集服务-会诊单'
WHEN a.sysFlag =- 300 THEN
'按需采集系统采集服务'
WHEN a.sysFlag =- 200 THEN
'手麻系统病例'
END sysFlagStr,
COUNT ( * ) AS notStarted
FROM
archive_other_ext a
LEFT JOIN archive_master b
ON b.id=a.MID
<where> statusFlag = 0 AND sysFlag !=0 AND sysFlag !=-100 AND
CONVERT(varchar(12) ,b.discharge_date_time, 111 )> #{calculationTime}
<if test="sysflag != null and sysflag !='' ">
AND a.sysFlag =#{sysflag}
</if>
</where>
GROUP BY
a.sysFlag
</select>
</mapper>

@ -193,9 +193,9 @@
<label>出院日期:</label>
<div class="input-group input-daterange">
<input type="text" class="input-sm form-control" name="start" id="startDateTo"
maxlength="10" autocomplete="off" value="${overDateSet}"/>
maxlength="10" autocomplete="off"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endDateTo" maxlength="10" autocomplete="off" value="${remindDate}"/>
<input type="text" class="input-sm form-control" name="end" id="endDateTo" maxlength="10" autocomplete="off" />
</div>
</div>
<div class="form-group divCss">

@ -0,0 +1,118 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<title>采集器任务记录统计报表</title>
<meta charset="utf-8">
<!-- 解决部分兼容性问题如果安装了GCF则使用GCF来渲染页面如果未安装GCF则使用最高版本的IE内核进行渲染。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@include file="../../jspf/comm.jspf" %>
<style>
.divCss {
margin-top: 5px;
}
.divCss8 {
margin-top: 5px;
margin-right: 20px;
}
/* dataTables表头居中 */
.table > thead:first-child > tr:first-child > th {
text-align: center !important;
}
/**
*多选下拉框
*/
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
width: 168px !important;
}
.filter-option-inner-inner {
font-size: 12px;
}
</style>
<script>
var path = "${path}";
</script>
</head>
<body>
<!--隐藏是否是初始化-->
<input type="hidden" id="isSearch" value="1">
<div class="mainBody">
<div class="main">
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
采集器任务记录统计报表
</span>
</div>
</div>
<div class="mainDiv">
<!--搜索-->
<form style="margin-top:5px;margin-bottom: 0!important;">
<div class="form-inline">
<div class="form-group divCss">
<label>产生日期:</label>
<div class="input-group" id="datepicker">
<input type="text" class="input-sm form-control" name="start" id="startTime1"
style="text-align: center" maxlength="10" autocomplete="off"/>
<span class="input-group-addon">-</span>
<input type="text" class="input-sm form-control" name="end" id="endTime1"
maxlength="10" style="text-align: center" autocomplete="off"/>
</div>
</div>
<div class="form-group divCss">
<label>业务系统:</label>
<select class="form-control input-sm" id="sysflag">
<option value="">全部</option>
<option value="1">移动护理系统采集服务</option>
<option value="2">电子病历系统采集服务</option>
<option value="3">PACS系统采集服务</option>
<option value="4">心电系统采集服务</option>
<option value="5">手麻系统采集服务</option>
<option value="6">LIS系统采集服务</option>
<option value="7">电子病历系统采集服务-首页</option>
<option value="8">电子病历系统采集服务-长临医嘱</option>
<option value="9">广东省病案上报统计系统采集服务</option>
<option value="10">输血系统采集服务</option>
<option value="11">电子病历系统采集服务-会诊单</option>
<option value="-300">按需采集系统采集服务</option>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</button>
</div>
</form>
<!--数据表格-->
<table id="table" class="table table-striped"></table>
<div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;">
<div class="columns columns-right btn-group pull-right">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>
               
<option value="all">导出全部数据</option>
             
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success" style="height: 34px" type="button" id="refreshBtn" name="refresh"
aria-label="Refresh"
title="Refresh">
<i class="glyphicon glyphicon-refresh icon-refresh"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<script src="${path}/static/js/statistics/acquisitionStatus.js?time=2020-08-18"></script>
<script src="${path}/static/js/statistics/statisticsCommom.js?time=2020-07-24"></script>
</body>
</html>

@ -0,0 +1,119 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<title>采集器未采集任务统计报表</title>
<meta charset="utf-8">
<!-- 解决部分兼容性问题如果安装了GCF则使用GCF来渲染页面如果未安装GCF则使用最高版本的IE内核进行渲染。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@include file="../../jspf/comm.jspf" %>
<style>
.divCss {
margin-top: 5px;
}
.divCss8 {
margin-top: 5px;
margin-right: 20px;
}
/* dataTables表头居中 */
.table > thead:first-child > tr:first-child > th {
text-align: center !important;
}
/**
*多选下拉框
*/
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
width: 168px !important;
}
.filter-option-inner-inner {
font-size: 12px;
}
</style>
<script>
var path = "${path}";
</script>
</head>
<body>
<!--隐藏是否是初始化-->
<input type="hidden" id="isSearch" value="1">
<div class="mainBody">
<div class="main">
<div class="headDiv">
<div class="headSpanDiv">
<span class="headspan">
采集器未采集任务统计报表
</span>
</div>
</div>
<div class="mainDiv">
<!--搜索-->
<form style="margin-top:5px;margin-bottom: 0!important;">
<div class="form-inline">
<%--<div class="form-group divCss">--%>
<%--<label>产生日期:</label>--%>
<%--<div class="input-group" id="datepicker">--%>
<%--<input type="text" class="input-sm form-control" name="start" id="startTime1"--%>
<%--style="text-align: center" maxlength="10" autocomplete="off"/>--%>
<%--<span class="input-group-addon">-</span>--%>
<%--<input type="text" class="input-sm form-control" name="end" id="endTime1"--%>
<%--maxlength="10" style="text-align: center" autocomplete="off"/>--%>
<%--</div>--%>
<%--</div>--%>
<div class="form-group divCss">
<label>业务系统:</label>
<select class="form-control input-sm" id="sysflag">
<option value="">全部</option>
<option value="1">移动护理系统采集服务</option>
<option value="2">电子病历系统采集服务</option>
<option value="3">PACS系统采集服务</option>
<option value="4">心电系统采集服务</option>
<option value="5">手麻系统采集服务</option>
<option value="6">LIS系统采集服务</option>
<option value="7">电子病历系统采集服务-首页</option>
<option value="8">电子病历系统采集服务-长临医嘱</option>
<option value="9">广东省病案上报统计系统采集服务</option>
<option value="10">输血系统采集服务</option>
<option value="11">电子病历系统采集服务-会诊单</option>
<option value="-200">手麻系统病例</option>
<option value="-300">按需采集系统采集服务</option>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
<button type="button" class="btn btn-info btn-sm divCss" id="excelBtn">条件导出</button>
</div>
</form>
<!--数据表格-->
<table id="table" class="table table-striped"></table>
<div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;">
<div class="columns columns-right btn-group pull-right">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>
               
<option value="all">导出全部数据</option>
             
<option value="selected">导出选中数据</option>
</select>
</div>
<button class=" btn btn-success" style="height: 34px" type="button" id="refreshBtn" name="refresh"
aria-label="Refresh"
title="Refresh">
<i class="glyphicon glyphicon-refresh icon-refresh"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<script src="${path}/static/js/statistics/notCollected.js?time=2020-08-18"></script>
<script src="${path}/static/js/statistics/statisticsCommom.js?time=2020-07-24"></script>
</body>
</html>

@ -152,14 +152,15 @@ function initTable() {
},
{
title: 'HIS召回状态',
field: 'callBackStatus',
field: 'hisStatic',
align: 'center',
valign: 'middle',
formatter:function(value, row){
if(value != '否'){
return '<span style="color:green">'+value+'</span>';
var hisStatic = row.hisStatic;
if(hisStatic == '已召回'){
return '<span style="color:green">'+hisStatic+'</span>';
}else{
return '<span style="color:red">未召回</span>';
return '<span style="color:red"></span>';
}
}
},

@ -152,14 +152,15 @@ function initTable() {
},
{
title: 'HIS召回状态',
field: 'callBackStatus',
field: 'hisStatic',
align: 'center',
valign: 'middle',
formatter:function(value, row){
if(value == '召回中'){
return '<span style="color:green">召回中</span>';
var hisStatic = row.hisStatic;
if(hisStatic == '已召回'){
return '<span style="color:green">'+hisStatic+'</span>';
}else{
return '<span style="color:red">未召回</span>';
return '<span style="color:red"></span>';
}
}
},

@ -1219,24 +1219,12 @@ function initTable5(data,sidePagination) {
align: 'center',
hidden: true,
formatter: function (value, row, index) {
// let nursingEndTime = row.nursingEndTime;
// let time = row.createTime;
// let etimeStr = row.etimeStr;
// if(row.sysflag == 1){
// if (time==null || nursingEndTime > time || nursingEndTime == null) {
// return { disabled : false}
// }else {
// return { disabled : true,}
// }
// }else{
// if (time==null || etimeStr > time || etimeStr == null) {
// return { disabled : false,}
// }else {
// return { disabled : true,}
// }
// }
let statusFlagStr = row.statusFlagStr;
if (statusFlagStr=="正采" ||statusFlagStr=="未开始"){
if (statusFlagStr=="未完成" ||statusFlagStr==""){
return { disabled : true}
}
let sysFlagStr=row.sysFlagStr
if (sysFlagStr=='Pacs检查'){
return { disabled : true}
}
},
@ -1247,33 +1235,18 @@ function initTable5(data,sidePagination) {
valign: 'middle',
width: 120, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
// let nursingEndTime = row.nursingEndTime;
// // let time = row.createTime;
// // let etimeStr = row.etimeStr;
// // //1是护理
// // if(row.sysflag == 1){
// // if ( time=='' ||time==null || nursingEndTime > time && nursingEndTime != null ){
// // var html = '<button type="button" class="btn btn-primary btn-sm editInfo" >同步更新</button>';
// // return html;
// // } else if ( nursingEndTime != null && nursingEndTime < time && time !=null && time !=''){
// // var html = '<button type="button" class="btn btn-primary btn-sm editInfo" disabled : false>正在更新</button>';
// // return html;
// // }
// // }else{
// // if ( time=='' ||time==null || etimeStr > time && etimeStr != null){
// // var html = '<button type="button" class="btn btn-primary btn-sm editInfo" >同步更新</button>';
// // return html;
// // } else if ( etimeStr != null && etimeStr < time && time !=null && time !=''){
// // var html = '<button type="button" class="btn btn-primary btn-sm editInfo" disabled : false>正在更新</button>';
// // return html;
// // }
// // }
let statusFlagStr = row.statusFlagStr;
if (statusFlagStr=="正采" ||statusFlagStr=="未开始"){
var html = '<button type="button" class="btn btn-primary btn-sm editInfo" disabled : false>正在更新</button>';
return html;
let sysFlagStr=row.sysFlagStr
if (sysFlagStr!='Pacs检查'){
if (statusFlagStr=="未完成" ||statusFlagStr==""){
var html = '<button type="button" class="btn btn-primary btn-sm editInfo" disabled : false>正在更新</button>';
return html;
}else {
var html = '<button type="button" class="btn btn-primary btn-sm editInfo" >同步更新</button>';
return html;
}
}else {
var html = '<button type="button" class="btn btn-primary btn-sm editInfo" >同步更新</button>';
var html = '<button type="button" display = "block" class="btn btn-primary btn-sm editInfo" disabled : false >同步更新</button>';
return html;
}
},
@ -1345,17 +1318,17 @@ function initTable5(data,sidePagination) {
field: 'statusFlagStr',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
if(value != null){
var color = '';
if(row.statusflag == 0){
color = selectTimeColor(row.tempTime,row.etimeStr);
}
return '<span style="color:'+color+'">'+value+'</span>';
}else{
return value;
}
}
// formatter: function (value, row, index) {
// if(value != null){
// var color = '';
// if(row.statusflag == 0){
// color = selectTimeColor(row.tempTime,row.etimeStr);
// }
// return '<span style="color:'+color+'">'+value+'</span>';
// }else{
// return value;
// }
// }
},
{
title: '分段',
@ -1422,7 +1395,7 @@ function initTable5(data,sidePagination) {
*/
function selectTimeColor(value,row){
let statusFlagStr = row.statusFlagStr;
if (statusFlagStr=="正采" ||statusFlagStr=="未开始"){
if (statusFlagStr=="未完成" ||statusFlagStr==""){
color = 'red';
}else {
color = 'green';
@ -1431,7 +1404,7 @@ function selectTimeColor(value,row){
}
function selectTimeColor2(value,row){
let statusFlagStr = row.statusFlagStr;
if (statusFlagStr=="正采" ||statusFlagStr=="未开始"){
if (statusFlagStr=="未完成" ||statusFlagStr==""){
color = 'red';
}else {
color = 'green';

@ -0,0 +1,132 @@
var tipLoad = 1;
//定义表格内容最大高度
var maxHeight = 0;
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
url: path+"/statistics/getCollectorTaskNum", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: getStaticTableHeight(), //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
startDate: $("#startTime1").val(),
endDate: $("#endTime1").val(),
isSearch:$("#isSearch").val(),
sysflag:$("#sysflag").val()
};
return temp;
},
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
},
{
title: '业务系统',
field: 'sysFlagStr',
align: 'center',
valign: 'middle',
},
{
title: '产生日期',
field: 'produceDate',
align: 'center',
valign: 'middle',
},
{
title: '产生的数量',
field: 'produceNum',
align: 'center',
valign: 'middle',
},
{
title: '采集完成',
field: 'completeNum',
align: 'center',
valign: 'middle',
},
{
title: '相差数量',
field: 'differ',
align: 'center',
valign: 'middle',
},
{
title: '采错数量',
field: 'errorNum',
align: 'center',
valign: 'middle',
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
tipLoad =0;
reloadTableHeight("table");
},
onLoadError: function () { //加载失败时执行
tipLoad = 0;
}
});
}
}
//导出excel功能
$("#excelBtn").click(function () {
//获取选中数据记录
var url = path+"/statistics/exportExcelCollectorTaskNum";
post(url, {
"startDate": $("#startTime1").val(),
"endDate": $("#endTime1").val(),
"isSearch":$("#isSearch").val(),
"sysflag":$("#sysflag").val()
});
});

@ -0,0 +1,108 @@
var tipLoad = 1;
//定义表格内容最大高度
var maxHeight = 0;
function initTable() {
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
url: path+"/statistics/getNotStartedNum", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [5,10, 20, 50, 100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
toolbar: '#toolbar',//指定工具栏
searchOnEnterKey: true, //设置为 true时按回车触发搜索方法否则自动触发搜索方法
undefinedText: '--', //当数据为 undefined 时显示的字符
singleSelect: false,//设置True 将禁止多选
clickToSelect: true,//设置true 将在点击行时自动选择rediobox 和 checkbox
//height: getStaticTableHeight(), //定义表格的高度。
searchTimeOut: 500,// 默认500 设置搜索超时时间。
toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right'
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
showHeader: true,//是否显示列头。
trimOnSearch: true,//设置为 true 将自动去掉搜索字符的前后空格。
//是否显示导出按钮
showExport: true,
//导出表格方式默认basic只导出当前页的表格数据all导出所有数据selected导出选中的数据
exportDataType: "basic",
//导出文件类型
exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel'],
exportOptions: {
fileName: document.title
},
queryParams: function (params) {
var currPageSize = this.pageSize;
if (currPageSize == 2) {
currPageSize = 10;
}
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
startDate: $("#startTime1").val(),
endDate: $("#endTime1").val(),
isSearch:$("#isSearch").val(),
sysflag:$("#sysflag").val()
};
return temp;
},
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
},
{
title: '业务系统',
field: 'sysFlagStr',
align: 'center',
valign: 'middle',
},
{
title: '任务剩余数量',
field: 'notStarted',
align: 'center',
valign: 'middle',
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
tipLoad =0;
reloadTableHeight("table");
},
onLoadError: function () { //加载失败时执行
tipLoad = 0;
}
});
}
}
//导出excel功能
$("#excelBtn").click(function () {
//获取选中数据记录
var url = path+"/statistics/exportExcelNotStartedNum";
post(url, {
"startDate": $("#startTime1").val(),
"endDate": $("#endTime1").val(),
"isSearch":$("#isSearch").val(),
"sysflag":$("#sysflag").val()
});
});
Loading…
Cancel
Save