develop/lyx_20241115_cfhz

1.平台自动任务:his处方信息汇总
develop/lyx_20241121_cfhz
Xiao Ye 2 months ago
parent 4fa44b4e6a
commit 60cf885b90
  1. 179
      WEB-INF/conf/sysds_cfhz.xml
  2. 51
      WEB-INF/src/com/emr/Basy/EmrBasyBaseForm.java
  3. 310
      WEB-INF/src/com/his/Cfhz/HisCfhzService.java
  4. 17
      WEB-INF/src/com/his/thread/HisCfhzThread.java

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?>
<datasource>
<!-- 1 表示 sql语句dao 2表示存储过程dao 默认为sql语句dao-->
<dao id="cfhz_ypcfzb_dao" log="true" type="1">
<sql>
SELECT PKEY,CFRQ,CFH,CFLX,JGID,CFKS,CFYS,HZPKEY,JZPKEY,JSZT,CFJE,CFZCTS,JY_PZS,JY_JE,GZ_KSS1_PZS,GZ_KSS1_JE,GZ_KSS2_PZS,GZ_KSS2_JE,GZ_KSS3_PZS,GZ_KSS3_JE,YF_SY_PZS,YF_SY_JE,YF_JZ_PZS,YF_JZ_JE,GZ_J1_PZS,GZ_J1_JE,GZ_J2_PZS,GZ_J2_JE,GZ_MZ_PZS,GZ_MZ_JE,PZS
FROM HIS_GAT_YPCF_ZB t WHERE t.JGID =? AND t.CFRQ =?
</sql>
<tables>
<table name="HIS_GAT_YPCF_ZB" insert="true" update="true" delete="true">
<primary>PKEY</primary>
</table>
</tables>
//PKEY,CFRQ,CFH,CFLX,JGID,CFKS,CFYS,HZPKEY,JZPKEY,JSZT,CFJE,CFZCTS,JY_PZS,JY_JE,GZ_KSS1_PZS,GZ_KSS1_JE,GZ_KSS2_PZS,GZ_KSS2_JE,GZ_KSS3_PZS,GZ_KSS3_JE,YF_SY_PZS,YF_SY_JE,YF_JZ_PZS,YF_JZ_JE,GZ_J1_PZS,GZ_J1_JE,GZ_J2_PZS,GZ_J2_JE,GZ_MZ_PZS,GZ_MZ_JE,PZS
<fields>
<f name="PKEY" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="CFRQ" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="CFH" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="CFLX" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="JGID" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="CFKS" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="CFYS" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="HZPKEY" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="JZPKEY" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="JSZT" type="12" table="HIS_GAT_YPCF_ZB" />
<f name="CFJE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="CFZCTS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="JY_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="JY_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_KSS1_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_KSS1_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_KSS2_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_KSS2_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_KSS3_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_KSS3_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="YF_SY_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="YF_SY_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="YF_JZ_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="YF_JZ_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_J1_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_J1_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_J2_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_J2_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_MZ_PZS" type="4" table="HIS_GAT_YPCF_ZB" />
<f name="GZ_MZ_JE" type="8" table="HIS_GAT_YPCF_ZB" />
<f name="PZS" type="4" table="HIS_GAT_YPCF_ZB" />
</fields>
<parameter>
<p>12</p>
<p>12</p>
</parameter>
</dao>
<dao id="cfhz_ypcfmxb_dao" log="true" type="1">
<sql>
SELECT PKEY,ZBPKEY,SFX,SFXDJ,SFXSL,SFXZJE,JBDWSL,YZMXPKEY,YZTS,YZYF,IS_JB,GZFL,KSS1_BDD,KSS1_BDDS,KSS1_DDD,KSS1_DDDS,KSS2_BDD,KSS2_BDDS,KSS2_DDD,KSS2_DDDS,KSS3_BDD,KSS3_BDDS,KSS3_DDD,KSS3_DDDS FROM
HIS_GAT_YPCF_MXB t WHERE 1=2
</sql>
<tables>
<table name="HIS_GAT_YPCF_MXB" insert="true" update="true" delete="true">
<primary>PKEY</primary>
</table>
</tables>
//PKEY,ZBPKEY,SFX,SFXDJ,SFXSL,SFXZJE,JBDWSL,YZMXPKEY,YZTS,YZYF,IS_JB,GZFL,KSS1_BDD,KSS1_BDDS,KSS1_DDD,KSS1_DDDS,KSS2_BDD,KSS2_BDDS,KSS2_DDD,KSS2_DDDS,KSS3_BDD,KSS3_BDDS,KSS3_DDD,KSS3_DDDS
<fields>
<f name="PKEY" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="ZBPKEY" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="SFX" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="SFXDJ" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="SFXSL" type="4" table="HIS_GAT_YPCF_MXB" />
<f name="SFXZJE" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="JBDWSL" type="4" table="HIS_GAT_YPCF_MXB" />
<f name="YZMXPKEY" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="YZTS" type="4" table="HIS_GAT_YPCF_MXB" />
<f name="YZYF" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="IS_JB" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="GZFL" type="12" table="HIS_GAT_YPCF_MXB" />
<f name="KSS1_BDD" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS1_BDDS" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS1_DDD" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS1_DDDS" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS2_BDD" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS2_BDDS" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS2_DDD" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS2_DDDS" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS3_BDD" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS3_BDDS" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS3_DDD" type="8" table="HIS_GAT_YPCF_MXB" />
<f name="KSS3_DDDS" type="8" table="HIS_GAT_YPCF_MXB" />
</fields>
</dao>
<dao id="his_ypcf_dao" log="true" type="1">
<sql><![CDATA[
SELECT b.CFH,d.JZLX,d.JJKS,b.YZXZYS,b.HZPKEY ,b.JZPKEY ,SUM(a.SFXZFY) SFXZFY ,MAX(b.YZTS) YZTS,a.JSZT
FROM HIS_SFZD_SFXMXB a
LEFT JOIN HIS_YZ_MXB b ON a.JGID =b.JGID AND a.YZMX =b.PKEY
LEFT JOIN HIS_YPXX c ON b.YZXPKEY =c.BM
LEFT JOIN HIS_JZ_BASEINFO d ON b.JGID =d.JGID AND b.JZPKEY =d.PKEY
WHERE a.JGID =?
AND a.JFRQ>=?
AND a.JFRQ<=?
AND c.BM IS NOT NULL
GROUP BY b.CFH,d.JZLX,d.JJKS,b.YZXZYS,b.HZPKEY ,b.JZPKEY
]]></sql>
//CFH,JZLX,JJKS,YZXZYS,HZPKEY,JZPKEY,SFXZFY,YZTS
<fields>
<f name="CFH" type="12" />
<f name="JZLX" type="12" />
<f name="JJKS" type="12" />
<f name="YZXZYS" type="12" />
<f name="HZPKEY" type="12" />
<f name="JZPKEY" type="12" />
<f name="SFXZFY" type="4" />
<f name="YZTS" type="12" />
<f name="JSZT" type="12" />
</fields>
<parameter>
<p>12</p>
<p>93</p>
<p>93</p>
</parameter>
</dao>
<dao id="his_ypcfmx_dao" log="true" type="1">
<sql><![CDATA[
SELECT a.PKEY SFPKEY,b.PKEY YZPKEY,b.CFH,b.YZXPKEY,b.YZMC,c.ISGJJBYW ,a.SFXZFY ,c.GZFL ,b.YZYF,y.MC ,y.ISJMGY ,y.ISZSGY ,c.BDD ,c.DDD ,c.DXSL ,c.DXDW ,c.JBDW ,b.YZDW ,a.SFXSL,
a.SFX ,a.SFXDJ,a.YZMX,b.YZTS
FROM HIS_SFZD_SFXMXB a
LEFT JOIN HIS_YZ_MXB b ON a.JGID =b.JGID AND a.YZMX =b.PKEY
LEFT JOIN HIS_YPXX c ON b.YZXPKEY =c.BM
LEFT JOIN HIS_JZ_BASEINFO d ON b.JGID =d.JGID AND b.JZPKEY =d.PKEY
LEFT JOIN HIS_YZ_YPYF y ON b.JGID =y.JGID AND b.YZYF =y.BM
WHERE a.JGID =?
AND a.JFRQ>=?
AND a.JFRQ<=?
AND c.BM IS NOT NULL
]]></sql>
//SFPKEY,YZPKEY,CFH,YZXPKEY,YZMC,ISGJJBYW,SFXZFY,GZFL,YZYF,MC,ISJMGY,ISZSGY,BDD,DDD,DXSL,DXDW,JBDW,YZDW,SFXSL,SFX,SFXDJ,YZMX,YZTS
<fields>
<f name="SFPKEY" type="12" />
<f name="YZPKEY" type="12" />
<f name="CFH" type="12" />
<f name="YZXPKEY" type="12" />
<f name="YZMC" type="12" />
<f name="ISGJJBYW" type="12" />
<f name="SFXZFY" type="12" />
<f name="GZFL" type="12" />
<f name="YZYF" type="12" />
<f name="MC" type="12" />
<f name="ISJMGY" type="12" />
<f name="ISZSGY" type="12" />
<f name="BDD" type="8" />
<f name="DDD" type="8" />
<f name="DXSL" type="8" />
<f name="DXDW" type="12" />
<f name="JBDW" type="12" />
<f name="YZDW" type="12" />
<f name="SFXSL" type="12" />
<f name="SFX" type="12" />
<f name="SFXDJ" type="12" />
<f name="YZMX" type="12" />
<f name="YZTS" type="12" />
</fields>
<parameter>
<p>12</p>
<p>93</p>
<p>93</p>
</parameter>
</dao>
</datasource>

@ -2434,8 +2434,15 @@ public class EmrBasyBaseForm extends WatWebForm {
private void popgrid21Action(String command) {
if(command == null) {
String text = popgrid21.getText();
String companyid=MainUtil.getCurCompanyID();
String key = popgrid21.getText();
if (!Delphi.isNullString(key)) {
key = "%" + key.toUpperCase() + "%";
} else {
key="%";
}
popgrid21.setListSourceParameters(new Object[] {companyid,"%","%",key,key,key });
popgrid21.loadListSource();
}else{
}
@ -2443,7 +2450,15 @@ public class EmrBasyBaseForm extends WatWebForm {
private void popgrid22Action(String command) {
if(command == null) {
String text = popgrid22.getText();
String companyid=MainUtil.getCurCompanyID();
String key = popgrid22.getText();
if (!Delphi.isNullString(key)) {
key = "%" + key.toUpperCase() + "%";
} else {
key="%";
}
popgrid22.setListSourceParameters(new Object[] {companyid,"%","%",key,key,key });
popgrid22.loadListSource();
}else{
@ -2452,7 +2467,15 @@ public class EmrBasyBaseForm extends WatWebForm {
private void popgrid23Action(String command) {
if(command == null) {
String text = popgrid23.getText();
String companyid=MainUtil.getCurCompanyID();
String key = popgrid23.getText();
if (!Delphi.isNullString(key)) {
key = "%" + key.toUpperCase() + "%";
} else {
key="%";
}
popgrid23.setListSourceParameters(new Object[] {companyid,"%","%",key,key,key });
popgrid23.loadListSource();
}else{
@ -2461,7 +2484,15 @@ public class EmrBasyBaseForm extends WatWebForm {
private void popgrid24Action(String command) {
if(command == null) {
String text = popgrid24.getText();
String companyid=MainUtil.getCurCompanyID();
String key = popgrid24.getText();
if (!Delphi.isNullString(key)) {
key = "%" + key.toUpperCase() + "%";
} else {
key="%";
}
popgrid24.setListSourceParameters(new Object[] {companyid,"%","%",key,key,key });
popgrid24.loadListSource();
}else{
@ -2470,7 +2501,15 @@ public class EmrBasyBaseForm extends WatWebForm {
private void popgrid25Action(String command) {
if(command == null) {
String text = popgrid25.getText();
String companyid=MainUtil.getCurCompanyID();
String key = popgrid25.getText();
if (!Delphi.isNullString(key)) {
key = "%" + key.toUpperCase() + "%";
} else {
key="%";
}
popgrid25.setListSourceParameters(new Object[] {companyid,"%","%",key,key,key });
popgrid25.loadListSource();
}else{

@ -0,0 +1,310 @@
package com.his.Cfhz;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import com.util.MainUtil;
import com.util.SnowIdUtils;
import com.wat.core.config.DaoCreator;
import com.wat.core.dal.DxNormalDataManager;
import com.wat.core.util.MathUtil;
/**
*
*/
public class HisCfhzService {
/**
* 循环前10天处方
* 判断有记录将不进行操作
* @param companyId
*/
public static void Main(String companyId) {
System.err.println("====================="+companyId);
// if (!"C903C18E-27EB-A242-6306-E301CB3E6AC9".equals(companyId)) {
// return;
// }
for (int i = 31; i >= 1; i--) {
Calendar begin = Calendar.getInstance();
//begin.set(Calendar.MONTH, begin.get(Calendar.MONTH) - 1);
begin.set(Calendar.DAY_OF_MONTH,begin.get(Calendar.DAY_OF_MONTH) - i);
begin.set(Calendar.HOUR_OF_DAY, 0);
begin.set(Calendar.MINUTE, 0);
begin.set(Calendar.SECOND, 0);
Calendar end = Calendar.getInstance();
//end.set(Calendar.MONTH, end.get(Calendar.MONTH) - 1);
end.set(Calendar.DAY_OF_MONTH, end.get(Calendar.DAY_OF_MONTH) - i);
end.set(Calendar.HOUR_OF_DAY, 23);
end.set(Calendar.MINUTE, 59);
end.set(Calendar.SECOND, 59);
autoCreateSjgj(companyId, begin.getTime(),end.getTime());
}
}
/**
* 归集处方信息
* @param companyId 机构编码
* @param date 日期
*/
public static void autoCreateSjgj(String companyId,Date begin,Date end ) {
String date0=MainUtil.format(begin, "yyyyMMdd");
System.err.println("==="+date0);
DxNormalDataManager cfhz_ypcfzb_dao = DaoCreator.getNormalDao("cfhz_ypcfzb_dao");//HIS归集信息 药品处方主表
cfhz_ypcfzb_dao.reload(new Object[] {companyId,date0});
DxNormalDataManager cfhz_ypcfmxb_dao = DaoCreator.getNormalDao("cfhz_ypcfmxb_dao");//HIS归集信息 药品处方明细表
cfhz_ypcfmxb_dao.reload();
if (cfhz_ypcfzb_dao.getRowCount()>0) {
return;
}else {
DxNormalDataManager cfdao = DaoCreator.getNormalDao("his_ypcf_dao");//处方信息
cfdao.reload(new Object[] {companyId,new Timestamp(begin.getTime()),new Timestamp(end.getTime())});
for (int i = 0; i < cfdao.getRowCount(); i++) {
String jzlx=cfdao.getColumnValueAsString(i,"JZLX");
if ("Z".equals(jzlx)) {
jzlx="1";
}else {
jzlx="0";
}
String jjks=cfdao.getColumnValueAsString(i,"JJKS");
String yzxzys=cfdao.getColumnValueAsString(i,"YZXZYS");
cfhz_ypcfzb_dao.absolute(cfhz_ypcfzb_dao.insert(cfhz_ypcfzb_dao.getRowCount()));
cfhz_ypcfzb_dao.setColumnValue("PKEY", SnowIdUtils.uniqueLong());
cfhz_ypcfzb_dao.setColumnValue("CFRQ", date0);//处方日期
cfhz_ypcfzb_dao.setColumnValue("CFH",cfdao.getColumnValue(i,"CFH"));//处方号
cfhz_ypcfzb_dao.setColumnValue("CFLX", jzlx);//处方类型 0门诊 1住院
cfhz_ypcfzb_dao.setColumnValue("JGID", companyId);//所属机构 HIS_SFZD_SFXMXB.JGID
cfhz_ypcfzb_dao.setColumnValue("CFKS", jjks);//处方科室 HIS_JZ_BASEINFO.JJKS
cfhz_ypcfzb_dao.setColumnValue("CFYS", yzxzys);//处方医生 HIS_YZ_MXB.YZXZYS
cfhz_ypcfzb_dao.setColumnValue("HZPKEY", cfdao.getColumnValueAsString(i,"HZPKEY"));//患者信息主键 HIS_YZ_MXB.HZPKEY
cfhz_ypcfzb_dao.setColumnValue("JZPKEY", cfdao.getColumnValueAsString(i,"JZPKEY"));//就诊信息主键 HIS_YZ_MXB.JZPKEY
cfhz_ypcfzb_dao.setColumnValue("JSZT", cfdao.getColumnValueAsString(i,"JSZT"));//0未结算 1结算 2作废 3冲红
cfhz_ypcfzb_dao.setColumnValue("CFJE", cfdao.getColumnValueAsString(i,"SFXZFY"));//处方金额 SUM(HIS_SFZD_SFXMXB.SFXZFY)
cfhz_ypcfzb_dao.setColumnValue("CFZCTS", cfdao.getColumnValueAsString(i,"YZTS"));//处方最长天数 医嘱天数 HIS_YZ_MXB.YZTS 最长的那个
cfhz_ypcfzb_dao.setColumnValue("JY_PZS", null);//基本药品 品种数 HIS_YPXX.ISGJJBYW='1'
cfhz_ypcfzb_dao.setColumnValue("JY_JE", null);//基本药品 金额 HIS_YPXX.ISGJJBYW='1' SUM(HIS_SFZD_SFXMXB.SFXZFY)
cfhz_ypcfzb_dao.setColumnValue("GZ_KSS1_PZS", null);//管制分类 非限制使用抗菌药 品种数 HIS_YPXX.GZFL='KSS1'
cfhz_ypcfzb_dao.setColumnValue("GZ_KSS1_JE", null);//管制分类 非限制使用抗菌药 金额 HIS_YPXX.GZFL='KSS1'
cfhz_ypcfzb_dao.setColumnValue("GZ_KSS2_PZS", null);//管制分类 限制使用抗菌药 品种数 HIS_YPXX.GZFL='KSS2'
cfhz_ypcfzb_dao.setColumnValue("GZ_KSS2_JE", null);//管制分类 限制使用抗菌药 金额 HIS_YPXX.GZFL='KSS2'
cfhz_ypcfzb_dao.setColumnValue("GZ_KSS3_PZS", null);//管制分类 特殊使用抗菌药 品种数 HIS_YPXX.GZFL='KSS3'
cfhz_ypcfzb_dao.setColumnValue("GZ_KSS3_JE", null);//管制分类 特殊使用抗菌药 金额 HIS_YPXX.GZFL='KSS3'
cfhz_ypcfzb_dao.setColumnValue("YF_SY_PZS", null);//用法 输液 品种数
cfhz_ypcfzb_dao.setColumnValue("YF_SY_JE", null);//用法 输液 金额
cfhz_ypcfzb_dao.setColumnValue("YF_JZ_PZS", null);//用法 肌注 品种数
cfhz_ypcfzb_dao.setColumnValue("YF_JZ_JE", null);//用法 肌注 金额
cfhz_ypcfzb_dao.setColumnValue("GZ_J1_PZS", null);//管制分类 一类精神药品 品种数 HIS_YPXX.GZFL='J1'
cfhz_ypcfzb_dao.setColumnValue("GZ_J1_JE", null);//管制分类 一类精神药品 金额 HIS_YPXX.GZFL='J1'
cfhz_ypcfzb_dao.setColumnValue("GZ_J2_PZS", null);//管制分类 二类精神药品 品种数 HIS_YPXX.GZFL='J2'
cfhz_ypcfzb_dao.setColumnValue("GZ_J2_JE", null);//管制分类 二类精神药品 种类数量 HIS_YPXX.GZFL='J2'
cfhz_ypcfzb_dao.setColumnValue("GZ_MZ_PZS", null);//管制分类 麻醉药品 品种数 HIS_YPXX.GZFL='MZ'
cfhz_ypcfzb_dao.setColumnValue("GZ_MZ_JE", null);//管制分类 麻醉药品 金额 HIS_YPXX.GZFL='MZ'
cfhz_ypcfzb_dao.setColumnValue("PZS", null);//药品品种数
}
DxNormalDataManager cfmxdao = DaoCreator.getNormalDao("his_ypcfmx_dao");//处方明细信息
cfmxdao.reload(new Object[] {companyId,new Timestamp(begin.getTime()),new Timestamp(end.getTime())});
HashMap<String, Object> mxmap = new HashMap<String, Object>();
for (int i = 0; i < cfmxdao.getRowCount(); i++) {
String CFH=cfmxdao.getColumnValueAsString(i,"CFH");
String YZXPKEY=cfmxdao.getColumnValueAsString(i,"YZXPKEY");
String SFXZFY=cfmxdao.getColumnValueAsString(i,"SFXZFY");
String YZTS=cfmxdao.getColumnValueAsString(i,"YZTS");
String ISGJJBYW=cfmxdao.getColumnValueAsString(i,"ISGJJBYW");
String GZFL=cfmxdao.getColumnValueAsString(i,"GZFL");
String ISJMGY=cfmxdao.getColumnValueAsString(i,"ISJMGY");//是否静脉给药
String ISZSGY=cfmxdao.getColumnValueAsString(i,"ISZSGY");//是否注射给药
String BDD=cfmxdao.getColumnValueAsString(i,"BDD");
String DDD=cfmxdao.getColumnValueAsString(i,"DDD");
String JY_PZS="";
String JY_JE="";
String GZ_KSS1_PZS="";
String GZ_KSS1_JE="";
String GZ_KSS2_PZS="";
String GZ_KSS2_JE="";
String GZ_KSS3_PZS="";
String GZ_KSS3_JE="";
String YF_SY_PZS="";
String YF_SY_JE="";
String YF_JZ_PZS="";
String YF_JZ_JE="";
String GZ_J1_PZS="";
String GZ_J1_JE="";
String GZ_J2_PZS="";
String GZ_J2_JE="";
String GZ_MZ_PZS="";
String GZ_MZ_JE="";
String PZS="";
String KSS1_BDD="";
String KSS1_BDDS="";
String KSS1_DDD="";
String KSS1_DDDS="";
String KSS2_BDD="";
String KSS2_BDDS="";
String KSS2_DDD="";
String KSS2_DDDS="";
String KSS3_BDD="";
String KSS3_BDDS="";
String KSS3_DDD="";
String KSS4_DDDS="";
int row =cfhz_ypcfzb_dao.find("CFH",CFH);
if (mxmap.get(CFH+YZXPKEY)==null) {
mxmap.put(CFH+YZXPKEY, YZXPKEY);
PZS=MathUtil.add(PZS, 1);
//是否基本药物
if ("1".equals(ISGJJBYW)) {
JY_PZS="1";
JY_JE=SFXZFY;
}
//管制分类
if("KSS1".equals(GZFL)) {
GZ_KSS1_PZS="1";
GZ_KSS1_JE=JY_JE;
KSS1_BDD=BDD;
KSS1_DDD=DDD;
}else if ("KSS2".equals(GZFL)) {
GZ_KSS2_PZS="1";
GZ_KSS2_JE=JY_JE;
KSS2_BDD=BDD;
KSS2_DDD=DDD;
}else if ("KSS3".equals(GZFL)) {
GZ_KSS3_PZS="1";
GZ_KSS3_JE=JY_JE;
KSS3_BDD=BDD;
KSS3_DDD=DDD;
}else if ("J1".equals(GZFL)) {
GZ_J1_PZS="1";
GZ_J1_JE=JY_JE;
}else if ("J2".equals(GZFL)) {
GZ_J2_PZS="1";
GZ_J2_JE=JY_JE;
}else if ("MZ".equals(GZFL)) {
GZ_MZ_PZS="1";
GZ_MZ_JE=JY_JE;
}
//用法
if("1".equals(ISJMGY)) {
YF_SY_PZS="1";
YF_SY_JE=JY_JE;
}else if ("1".equals(ISZSGY)) {
YF_JZ_PZS="1";
YF_JZ_JE=JY_JE;
}
}else {
//是否基本药物
if ("1".equals(ISGJJBYW)) {
JY_JE=SFXZFY;
}
//管制分类
if("KSS1".equals(GZFL)) {
GZ_KSS1_JE=JY_JE;
KSS1_BDD=BDD;
KSS1_DDD=DDD;
}else if ("KSS2".equals(GZFL)) {
GZ_KSS2_JE=JY_JE;
KSS2_BDD=BDD;
KSS2_DDD=DDD;
}else if ("KSS3".equals(GZFL)) {
GZ_KSS3_JE=JY_JE;
KSS3_BDD=BDD;
KSS3_DDD=DDD;
}else if ("J1".equals(GZFL)) {
GZ_J1_JE=JY_JE;
}else if ("J2".equals(GZFL)) {
GZ_J2_JE=JY_JE;
}else if ("MZ".equals(GZFL)) {
GZ_MZ_JE=JY_JE;
}
//用法
if("1".equals(ISJMGY)) {
YF_SY_JE=JY_JE;
}else if ("1".equals(ISZSGY)) {
YF_JZ_JE=JY_JE;
}
}
cfhz_ypcfzb_dao.setColumnValue(row,"JY_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"JY_PZS"), JY_PZS));//基本药品 品种数 HIS_YPXX.ISGJJBYW='1'
cfhz_ypcfzb_dao.setColumnValue(row,"JY_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"JY_JE"), JY_JE));//基本药品 金额 HIS_YPXX.ISGJJBYW='1' SUM(HIS_SFZD_SFXMXB.SFXZFY)
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_KSS1_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_KSS1_PZS"), GZ_KSS1_PZS));//管制分类 非限制使用抗菌药 品种数 HIS_YPXX.GZFL='KSS1'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_KSS1_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_KSS1_JE"), GZ_KSS1_JE));//管制分类 非限制使用抗菌药 金额 HIS_YPXX.GZFL='KSS1'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_KSS2_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_KSS2_PZS"), GZ_KSS2_PZS));//管制分类 限制使用抗菌药 品种数 HIS_YPXX.GZFL='KSS2'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_KSS2_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_KSS2_JE"), GZ_KSS2_JE));//管制分类 限制使用抗菌药 金额 HIS_YPXX.GZFL='KSS2'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_KSS3_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_KSS3_PZS"), GZ_KSS3_PZS));//管制分类 特殊使用抗菌药 品种数 HIS_YPXX.GZFL='KSS3'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_KSS3_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_KSS3_JE"), GZ_KSS3_JE));//管制分类 特殊使用抗菌药 金额 HIS_YPXX.GZFL='KSS3'
cfhz_ypcfzb_dao.setColumnValue(row,"YF_SY_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"YF_SY_PZS"), YF_SY_PZS));//用法 输液 品种数
cfhz_ypcfzb_dao.setColumnValue(row,"YF_SY_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"YF_SY_JE"), YF_SY_JE));//用法 输液 金额
cfhz_ypcfzb_dao.setColumnValue(row,"YF_JZ_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"YF_JZ_PZS"), YF_JZ_PZS));//用法 肌注 品种数
cfhz_ypcfzb_dao.setColumnValue(row,"YF_JZ_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"YF_JZ_JE"), YF_JZ_JE));//用法 肌注 金额
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_J1_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_J1_PZS"), GZ_J1_PZS));//管制分类 一类精神药品 品种数 HIS_YPXX.GZFL='J1'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_J1_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_J1_JE"), GZ_J1_JE));//管制分类 一类精神药品 金额 HIS_YPXX.GZFL='J1'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_J2_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_J2_PZS"), GZ_J2_PZS));//管制分类 二类精神药品 品种数 HIS_YPXX.GZFL='J2'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_J2_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_J2_JE"), GZ_J2_JE));//管制分类 二类精神药品 种类数量 HIS_YPXX.GZFL='J2'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_MZ_PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_MZ_PZS"), GZ_MZ_PZS));//管制分类 麻醉药品 品种数 HIS_YPXX.GZFL='MZ'
cfhz_ypcfzb_dao.setColumnValue(row,"GZ_MZ_JE", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"GZ_MZ_JE"), GZ_MZ_JE));//管制分类 麻醉药品 金额 HIS_YPXX.GZFL='MZ'
cfhz_ypcfzb_dao.setColumnValue(row,"PZS", MathUtil.add(cfhz_ypcfzb_dao.getColumnValueAsString(row,"PZS"), PZS));//药品品种数
String SFX=cfmxdao.getColumnValueAsString(i,"SFX");
double SFXDJ=cfmxdao.getColumnValueAsDouble(i,"SFXDJ");
String SFXSL=cfmxdao.getColumnValueAsString(i,"SFXSL");
String YZMX=cfmxdao.getColumnValueAsString(i,"YZMX");
String YZYF=cfmxdao.getColumnValueAsString(i,"YZYF");
System.err.println(SFX+"=========="+SFXDJ+"========="+MathUtil.multiply(SFXSL, "1"));
cfhz_ypcfmxb_dao.absolute(cfhz_ypcfmxb_dao.insert(cfhz_ypcfmxb_dao.getRowCount()));
cfhz_ypcfmxb_dao.setColumnValue("PKEY", SnowIdUtils.uniqueLong());
cfhz_ypcfmxb_dao.setColumnValue("ZBPKEY", cfhz_ypcfzb_dao.getColumnValueAsString(row,"PKEY"));//主表PKEY
cfhz_ypcfmxb_dao.setColumnValue("SFX", SFX);//药品编码 HIS_SFZD_SFXMXB.SFX
cfhz_ypcfmxb_dao.setColumnValue("SFXDJ", SFXDJ);//收费项单价 HIS_SFZD_SFXMXB.SFXDJ
cfhz_ypcfmxb_dao.setColumnValue("SFXSL", MathUtil.multiply(SFXSL, "1"));//收费项数量 HIS_SFZD_SFXMXB.SFXSL
cfhz_ypcfmxb_dao.setColumnValue("SFXZJE", SFXZFY);//收费项总费用 HIS_SFZD_SFXMXB.SFXZJE
cfhz_ypcfmxb_dao.setColumnValue("JBDWSL", MathUtil.multiply(SFXSL, "1"));//基本单位数量
cfhz_ypcfmxb_dao.setColumnValue("YZMXPKEY", YZMX);//医嘱明细主键 HIS_SFZD_SFXMXB.YZMX
cfhz_ypcfmxb_dao.setColumnValue("YZTS", YZTS);//医嘱天数 HIS_YZ_MXB.YZTS
cfhz_ypcfmxb_dao.setColumnValue("YZYF", YZYF);////医嘱用法 HIS_YZ_MXB.YZYF
cfhz_ypcfmxb_dao.setColumnValue("IS_JB", ISGJJBYW);//基本药物 0否 1是 HIS_YPXX.ISGJJBYW
cfhz_ypcfmxb_dao.setColumnValue("GZFL", GZFL);//管制分类 HIS_YPXX.GZFL
KSS1_BDD=MathUtil.add(KSS1_BDD, 0);
KSS2_BDD=MathUtil.add(KSS2_BDD, 0);
KSS3_BDD=MathUtil.add(KSS3_BDD, 0);
KSS1_DDD=MathUtil.add(KSS1_DDD, 0);
KSS2_DDD=MathUtil.add(KSS2_DDD, 0);
KSS3_DDD=MathUtil.add(KSS3_DDD, 0);
cfhz_ypcfmxb_dao.setColumnValue("KSS1_BDD", KSS1_BDD);//非限制使用抗生素 基本单位剂量 HIS_YPXX.BDD
cfhz_ypcfmxb_dao.setColumnValue("KSS1_BDDS", MathUtil.multiply(KSS1_BDD, SFXSL));//非限制使用抗生素 基本单位总剂量 HIS_YPXX.BDD * JBDWSL
cfhz_ypcfmxb_dao.setColumnValue("KSS1_DDD", KSS1_DDD);//非限制使用抗生素 日最高剂量限额 HIS_YPXX.DDD
cfhz_ypcfmxb_dao.setColumnValue("KSS1_DDDS", MathUtil.multiply(KSS1_DDD, YZTS));//非限制使用抗生素 处方天数最高剂量限额 HIS_YPXX.DDD * YZTS
cfhz_ypcfmxb_dao.setColumnValue("KSS2_BDD", KSS2_BDD);//限制使用抗生素 基本单位剂量 HIS_YPXX.BDD
cfhz_ypcfmxb_dao.setColumnValue("KSS2_BDDS", MathUtil.multiply(KSS2_BDD, SFXSL));//限制使用抗生素 基本单位总剂量 HIS_YPXX.BDD * JBDWSL
cfhz_ypcfmxb_dao.setColumnValue("KSS2_DDD", KSS2_DDD);//限制使用抗生素 日最高剂量限额 HIS_YPXX.DDD
cfhz_ypcfmxb_dao.setColumnValue("KSS2_DDDS", MathUtil.multiply(KSS2_DDD, YZTS));//限制使用抗生素 处方天数最高剂量限额 HIS_YPXX.DDD * YZTS
cfhz_ypcfmxb_dao.setColumnValue("KSS3_BDD", KSS3_BDD);//特殊使用抗生素 基本单位剂量 HIS_YPXX.BDD
cfhz_ypcfmxb_dao.setColumnValue("KSS3_BDDS", MathUtil.multiply(KSS3_BDD, SFXSL));//特殊使用抗生素 基本单位总剂量 HIS_YPXX.BDD * JBDWSL
cfhz_ypcfmxb_dao.setColumnValue("KSS3_DDD", KSS3_DDD);//特殊使用抗生素 日最高剂量限额 HIS_YPXX.DDD
cfhz_ypcfmxb_dao.setColumnValue("KSS3_DDDS", MathUtil.multiply(KSS3_DDD, YZTS));//特殊使用抗生素 处方天数最高剂量限额 HIS_YPXX.DDD * YZTS
}
if (!cfhz_ypcfmxb_dao.commit()) {
System.err.println(date0+"cfhz_ypcfmxb_dao保存失败");
}
if(!cfhz_ypcfzb_dao.commit()) {
System.err.println(date0+"cfhz_ypcfzb_dao保存失败");
}
}
}
}

@ -0,0 +1,17 @@
package com.his.thread;
import com.his.Cfhz.HisCfhzService;
import com.wat.component.DxThreadOperate;
import com.wat.core.dal.DxNormalDataManager;
public class HisCfhzThread implements DxThreadOperate{
public void start() {
DxNormalDataManager yljgusedao = new DxNormalDataManager("select PKEY,JGMC from MAIN_YLJG where ZT='1' ");
yljgusedao.reload();
for(int i=0;i<yljgusedao.getRowCount();i++){
String companyid=yljgusedao.getColumnValueAsString(i,"PKEY");
HisCfhzService.Main(companyid);
}
}
}
Loading…
Cancel
Save