From 306e2714266cef35638514f05cf4f643857608d9 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期三, 26 七月 2023 19:06:34 +0800
Subject: [PATCH] 药剂管理

---
 igds-recir/src/main/java/com/ld/igds/drug/view/DrugPR.java                   |  114 ++-
 igds-recir/src/main/java/com/ld/igds/models/Drug.java                        |  131 +++-
 igds-recir/src/main/java/models/recir.model.xml                              |   93 +++
 igds-recir/src/main/java/com/ld/igds/drug/service/HDrugLogService.java       |   16 
 igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java          |  510 ++++++-----------
 igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1404.java |   44 
 igds-recir/src/main/java/com/ld/igds/drug/service/DrugRowMapper.java         |   28 
 igds-recir/src/main/java/com/ld/igds/drug/service/DrugLogRowMapper.java      |   66 +-
 igds-recir/src/main/java/com/ld/igds/models/DrugApply.java                   |   95 +-
 igds-recir/src/main/java/com/ld/igds/models/DrugLog.java                     |  370 +++++++++---
 igds-recir/src/main/java/com/ld/igds/drug/view/Drug.view.xml                 |  226 +++++--
 11 files changed, 1,020 insertions(+), 673 deletions(-)

diff --git a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1404.java b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1404.java
index 0fab172..bfa3aaa 100644
--- a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1404.java
+++ b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1404.java
@@ -21,6 +21,7 @@
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -40,6 +41,7 @@
     private InteStatusLogService inteStatusLogService;
     @Autowired
     private RedisUtil redisUtil;
+
     @Override
     public String getInterfaceId() {
         return ApiShConst.API_SH_1404;
@@ -56,7 +58,7 @@
 
         String key = RedisConst.buildKey(companyId, ApiShConst.API_SH_1404);
         Date startTime = (Date) redisUtil.get(key);
-        if(null == startTime){
+        if (null == startTime) {
             startTime = DateUtils.addDays(param.getEndTime(), -30);
         }
         redisUtil.set(key, param.getEndTime());
@@ -79,29 +81,29 @@
             dto = new Dto1404();
             dto.setXzzybm(data.getDepotId().substring(0, 25) + data.getId());
             dto.setCfdm(data.getDepotId().substring(0, 25));
-            dto.setXzkssj(DateFormatUtils.format(data.getStart()==null?(new Date()):data.getStart(),"yyyy-MM-dd"));
-            dto.setXzjssj(DateFormatUtils.format(data.getEnd()==null?(new Date()):data.getEnd(),"yyyy-MM-dd"));
-            dto.setHcjcdh(StringUtils.isEmpty(data.getPestBatchId())?"0":data.getPestBatchId());
-            dto.setDjcxz(data.getNum()==null?"0":data.getNum() + "");
-            dto.setCgxzfs(StringUtils.isEmpty(data.getMode())?"0":data.getMode());
-            dto.setHlxzfs(StringUtils.isEmpty(data.getRecirMode())?"0":data.getRecirMode());
-            dto.setYjmc(StringUtils.isEmpty(data.getDrugName())?"0":data.getDrugName());
-            dto.setNd(data.getConcentration()==null?"0":data.getConcentration() + "");
-            dto.setLddwyyl(data.getGrainDose()==null?"0":data.getGrainDose()+"");
-            dto.setKjdwyyl(data.getSpaceDose()==null?"0":data.getSpaceDose()+"");
-            dto.setZyyl(data.getDose()==null?"0":data.getDose()+"");
-            dto.setSqrq(DateFormatUtils.format(data.getVentilateTime()==null?(new Date()):data.getVentilateTime(),"yyyy-MM-dd"));
-            dto.setSqff(StringUtils.isEmpty(data.getVentilateMethod())?"0":data.getVentilateMethod());
-            dto.setSqjsslhqnd(data.getAfterPh3()==null?"0.0":data.getAfterPh3() + "");
-            dto.setXzxgpj(StringUtils.isEmpty(data.getEvaluate())?"0":data.getEvaluate());
-            dto.setCzsjff(StringUtils.isEmpty(data.getCzsjff())?"0":data.getCzsjff());
-            dto.setCzclcs(StringUtils.isEmpty(data.getCzclcs())?"0":data.getCzclcs());
-            dto.setXzzyry(StringUtils.isEmpty(data.getUser())?"0":data.getUser());
+            dto.setXzkssj(DateFormatUtils.format(data.getStart() == null ? (new Date()) : data.getStart(), "yyyy-MM-dd"));
+            dto.setXzjssj(DateFormatUtils.format(data.getEnd() == null ? (new Date()) : data.getEnd(), "yyyy-MM-dd"));
+            dto.setHcjcdh(StringUtils.isEmpty(data.getPestBatchId()) ? "0" : data.getPestBatchId());
+            dto.setDjcxz(data.getNum() == null ? "0" : data.getNum() + "");
+            dto.setCgxzfs(StringUtils.isEmpty(data.getMode()) ? "0" : data.getMode());
+            dto.setHlxzfs(StringUtils.isEmpty(data.getRecirMode()) ? "0" : data.getRecirMode());
+            dto.setYjmc(StringUtils.isEmpty(data.getDrugName()) ? "0" : data.getDrugName());
+            dto.setNd(data.getConcentration() == null ? "0" : data.getConcentration() + "");
+            dto.setLddwyyl(data.getGrainDose() == null ? "0" : data.getGrainDose() + "");
+            dto.setKjdwyyl(data.getSpaceDose() == null ? "0" : data.getSpaceDose() + "");
+            dto.setZyyl(data.getDose() == null ? "0" : data.getDose() + "");
+            dto.setSqrq(DateFormatUtils.format(data.getVentilateTime() == null ? (new Date()) : data.getVentilateTime(), "yyyy-MM-dd"));
+            dto.setSqff(StringUtils.isEmpty(data.getVentilateMethod()) ? "0" : data.getVentilateMethod());
+            dto.setSqjsslhqnd(data.getAfterPh3() == null ? "0.0" : data.getAfterPh3() + "");
+            dto.setXzxgpj(StringUtils.isEmpty(data.getEvaluate()) ? "0" : data.getEvaluate());
+            dto.setCzsjff(StringUtils.isEmpty(data.getCzsjff()) ? "0" : data.getCzsjff());
+            dto.setCzclcs(StringUtils.isEmpty(data.getCzclcs()) ? "0" : data.getCzclcs());
+//            dto.setXzzyry(StringUtils.isEmpty(data.getUser())?"0":data.getUser());
 
             dto.setZhgxsj(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
             //鏌ヨ鏃ュ織鐘舵�佽〃锛岃缃搷浣滄爣蹇�
             log = inteStatusLogService.getLogByBizId(companyId, ApiShConst.API_SH_1404 + "_" + data.getId());
-            if(null == log){
+            if (null == log) {
                 addLog = new InteStatusLog();
                 addLog.setBizId(ApiShConst.API_SH_1404 + "_" + data.getId());
                 addLog.setCompanyId(companyId);
@@ -111,7 +113,7 @@
                 addLog.setStatus(ApiShConst.API_SH_STATUS_SUCCESS);
 
                 inteStatusLogService.addInteStatusLog(addLog);
-            }else {
+            } else {
                 dto.setCzbz(ApiShConst.API_SH_U);
             }
             list.add(dto);
diff --git a/igds-recir/src/main/java/com/ld/igds/drug/service/DrugLogRowMapper.java b/igds-recir/src/main/java/com/ld/igds/drug/service/DrugLogRowMapper.java
index 84c507f..96913d2 100644
--- a/igds-recir/src/main/java/com/ld/igds/drug/service/DrugLogRowMapper.java
+++ b/igds-recir/src/main/java/com/ld/igds/drug/service/DrugLogRowMapper.java
@@ -9,39 +9,39 @@
 
 public class DrugLogRowMapper implements RowMapper<DrugLog> {
 
-	@Override
-	public DrugLog mapRow(ResultSet rs, int index) throws SQLException {
-		DrugLog data = new DrugLog();
-		data.setId(rs.getString("ID_"));
-		data.setCompanyId(rs.getString("COMPANY_ID_"));
-		data.setDeptId(rs.getString("DEPT_ID_"));
-		data.setDepotId(rs.getString("DEPOT_ID_"));
-		data.setEnd(rs.getTimestamp("END_"));
-		data.setStart(rs.getTimestamp("START_"));
-		
-		data.setPestBatchId(rs.getString("PEST_BATCH_ID_"));
-		data.setNum(rs.getInt("NUM_"));
-		data.setMode(rs.getString("MODE_"));
-		data.setRecirMode(rs.getString("RECIR_MODE_"));
-		data.setDrugName(rs.getString("DRUG_NAME_"));
-		data.setConcentration(rs.getDouble("CONCENTRATION_"));
-		data.setGrainDose(rs.getDouble("GRAIN_DOSE_"));
-		
-		data.setSpaceDose(rs.getDouble("SPACE_DOSE_"));
-		data.setDose(rs.getDouble("DOSE_"));
-		data.setVentilateMethod(rs.getString("VENTILATE_METHOD_"));
-		data.setVentilateTime(rs.getDate("VENTILATE_TIME_"));
-		data.setAfterPh3(rs.getDouble("AFTER_PH3_"));
-		data.setEvaluate(rs.getString("EVALUATE_"));
-		data.setCzsjff(rs.getString("CZSJFF_"));
-		data.setCzclcs(rs.getString("CZCLCS_"));
-		
-		data.setRemarks(rs.getString("REMARKS_"));
-		data.setUpdateTime(rs.getTimestamp("UPDATE_TIME_"));
-		data.setUpdateUser(rs.getString("UPDATE_USER_"));
+    @Override
+    public DrugLog mapRow(ResultSet rs, int index) throws SQLException {
+        DrugLog data = new DrugLog();
+        data.setId(rs.getString("ID_"));
+        data.setCompanyId(rs.getString("COMPANY_ID_"));
+        data.setDeptId(rs.getString("DEPT_ID_"));
+        data.setDepotId(rs.getString("DEPOT_ID_"));
+        data.setEnd(rs.getTimestamp("END_"));
+        data.setStart(rs.getTimestamp("START_"));
 
-		data.setUser(rs.getString("USER_"));
-		return data;
-	}
+        data.setPestBatchId(rs.getString("PEST_BATCH_ID_"));
+        data.setNum(rs.getInt("NUM_"));
+        data.setMode(rs.getString("MODE_"));
+        data.setRecirMode(rs.getString("RECIR_MODE_"));
+        data.setDrugName(rs.getString("DRUG_NAME_"));
+        data.setConcentration(rs.getDouble("CONCENTRATION_"));
+        data.setGrainDose(rs.getDouble("GRAIN_DOSE_"));
+
+        data.setSpaceDose(rs.getDouble("SPACE_DOSE_"));
+        data.setDose(rs.getDouble("DOSE_"));
+        data.setVentilateMethod(rs.getString("VENTILATE_METHOD_"));
+        data.setVentilateTime(rs.getDate("VENTILATE_TIME_"));
+        data.setAfterPh3(rs.getDouble("AFTER_PH3_"));
+        data.setEvaluate(rs.getString("EVALUATE_"));
+        data.setCzsjff(rs.getString("CZSJFF_"));
+        data.setCzclcs(rs.getString("CZCLCS_"));
+
+        data.setRemarks(rs.getString("REMARKS_"));
+        data.setUpdateTime(rs.getTimestamp("UPDATE_TIME_"));
+        data.setUpdateUser(rs.getString("UPDATE_USER_"));
+
+        data.setUser(rs.getString("USER_"));
+        return data;
+    }
 
 }
diff --git a/igds-recir/src/main/java/com/ld/igds/drug/service/DrugRowMapper.java b/igds-recir/src/main/java/com/ld/igds/drug/service/DrugRowMapper.java
index adc21a5..23c1663 100644
--- a/igds-recir/src/main/java/com/ld/igds/drug/service/DrugRowMapper.java
+++ b/igds-recir/src/main/java/com/ld/igds/drug/service/DrugRowMapper.java
@@ -9,19 +9,19 @@
 
 public class DrugRowMapper implements RowMapper<Drug> {
 
-	@Override
-	public Drug mapRow(ResultSet rs, int index) throws SQLException {
-		Drug data = new Drug();
-		data.setId(rs.getString("ID_"));
-		data.setCompanyId(rs.getString("COMPANY_ID_"));
-		data.setCount(rs.getInt("COUNT_"));
-		data.setDosage(rs.getString("DOSAGE_"));
-		data.setName(rs.getString("NAME_"));
-		data.setSpec(rs.getString("SPEC_"));
-		data.setRemarks(rs.getString("REMARKS_"));
-		data.setUpdateTime(rs.getTimestamp("UPDATE_TIME_"));
-		data.setUpdateUser(rs.getString("UPDATE_USER_"));
-		return data;
-	}
+    @Override
+    public Drug mapRow(ResultSet rs, int index) throws SQLException {
+        Drug data = new Drug();
+        data.setId(rs.getString("ID_"));
+        data.setCompanyId(rs.getString("COMPANY_ID_"));
+        data.setCount(rs.getInt("COUNT_"));
+        data.setDosage(rs.getString("DOSAGE_"));
+        data.setName(rs.getString("NAME_"));
+//		data.setSpec(rs.getString("SPEC_"));
+        data.setRemarks(rs.getString("REMARKS_"));
+        data.setUpdateTime(rs.getTimestamp("UPDATE_TIME_"));
+        data.setUpdateUser(rs.getString("UPDATE_USER_"));
+        return data;
+    }
 
 }
diff --git a/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugLogService.java b/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugLogService.java
index bf969f7..7b5a279 100644
--- a/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugLogService.java
+++ b/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugLogService.java
@@ -9,6 +9,7 @@
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.hibernate.Session;
 import org.springframework.stereotype.Service;
+
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -42,11 +43,11 @@
 
     }
 
-    private List<DrugLog> getDrugLogByTime(String companyId){
+    private List<DrugLog> getDrugLogByTime(String companyId) {
         String hql = " from " + DrugLog.class.getName()
                 + " where companyId =:companyId ";
 
-        Map<String,Object> args = new HashMap<String,Object>();
+        Map<String, Object> args = new HashMap<String, Object>();
         args.put("companyId", companyId);
 
         hql += " and updateTime >:startTime";
@@ -62,18 +63,18 @@
         return this.query(hql, args);
     }
 
-    public String getIndex(String companyId){
+    public String getIndex(String companyId) {
         List<DrugLog> list = getDrugLogByTime(companyId);
         String index = "001";
-        if(list != null && list.size() > 0){
+        if (list != null && list.size() > 0) {
             String id = list.get(0).getId().substring(8);
             int temp = Integer.valueOf(id) + 1;
             index = temp + "";
         }
-        if(index.length() == 1){
+        if (index.length() == 1) {
             index = "00" + index;
         }
-        if(index.length() == 2){
+        if (index.length() == 2) {
             index = "0" + index;
         }
         return index;
@@ -91,7 +92,7 @@
         data.setUpdateUser(ContextUtil.getLoginUserCName());
         try {
             if (null == data.getId()) {
-                data.setId(DateFormatUtils.format(new Date(), "yyyyMMdd") + getIndex(data.getCompanyId()));
+                data.setId(data.getDepotId() + DateFormatUtils.format(new Date(), "yyyyMMdd") + getIndex(data.getCompanyId()));
                 session.save(data);
             } else {
                 session.update(data);
@@ -103,6 +104,7 @@
             session.close();
         }
     }
+
     public String delData(DrugLog data) {
         Session session = this.getSessionFactory().openSession();
         try {
diff --git a/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java b/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java
index c61fec0..68e9104 100644
--- a/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java
+++ b/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java
@@ -1,369 +1,239 @@
 package com.ld.igds.drug.service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Repository;
+import com.bstek.bdf2.core.model.DefaultDept;
+import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
 
-import com.bstek.bdf2.core.orm.jdbc.JdbcDao;
 import com.bstek.dorado.data.provider.Page;
+import com.ld.igds.constant.RedisConst;
 import com.ld.igds.models.Drug;
 import com.ld.igds.models.DrugApply;
 import com.ld.igds.models.DrugInout;
-import com.ld.igds.models.DrugLog;
+import com.ld.igds.sys.service.SysDeptService;
 import com.ld.igds.util.ContextUtil;
+import com.ld.igds.util.RedisUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.hibernate.Session;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 /**
- * 鍚庢湡璋冩暣涓篐ibernate
- * @author Andy
+ * 鑽墏绠$悊
  *
+ * @author Andy
  */
-@Repository
-public class HDrugService extends JdbcDao {
+@Service
+public class HDrugService extends HibernateDao {
+    @Autowired
+    private RedisUtil redisUtil;
+    @Autowired
+    private SysDeptService sysDeptService;
 
-	public void pageDrug(Page<Drug> page, Map<String, Object> param)
-			throws Exception {
+    /**
+     * 缂撳瓨 鑽墏ID
+     */
+    public static final String CACHE_DRUG_ID = "LOSS_DRUG_ID";
 
-		List<Object> args = new ArrayList<Object>();
+    /**
+     * 鍒嗛〉鏌ヨ鑽墏淇℃伅
+     *
+     * @param page
+     * @param param
+     * @throws Exception
+     */
+    public void pageDrug(Page<Drug> page, Map<String, Object> param) throws Exception {
+        StringBuffer hql = new StringBuffer();
+        Map<String, Object> args = new HashMap<>();
+        hql.append(" from " + Drug.class.getName() + " where companyId=:companyId");
+        args.put("companyId", ContextUtil.getCompanyId());
+        if (null != param) {
+            buildHql(hql, param, args);
+        }
+        hql.append(" order by id ");
+        String countHql = "select count(*) " + hql.toString();
+        this.pagingQuery(page, String.valueOf(hql), countHql, args);
+    }
 
-		args.add(ContextUtil.getCompanyId());
+    /**
+     * 鑾峰彇鑽墏鍒楄〃
+     *
+     * @param companyId
+     * @return
+     */
+    public List<Drug> listDrug(String companyId, Map<String, Object> param) {
+        StringBuffer hql = new StringBuffer(" from " + Drug.class.getName() + " where companyId=:companyId");
+        Map<String, Object> args = new HashMap<>();
+        args.put("companyId", companyId);
+        if (null != param) {
+            buildHql(hql, param, args);
+        }
+        hql.append(" order by id desc");
+        return this.query(hql.toString(), args);
 
-		String sql = "select * from D_DRUG where company_id_ =? ";
+    }
 
-		if (null != param) {
-			String str = (String) param.get("name");
-			if (StringUtils.isNotEmpty(str)) {
-				sql += " and name_ like ?";
-				args.add("%" + str + "%");
-			}
-		}
-		sql += " order by name_ ";
+    /**
+     * 鏇存柊鎴栨坊鍔犺嵂鍓備俊鎭�
+     *
+     * @param data
+     * @return
+     */
+    public String saveDrug(Drug data) {
+        if (null == data.getCompanyId()) {
+            data.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (null == data.getDeptId()) {
+            data.setDeptId(ContextUtil.subDeptId(null));
+        }
+        DefaultDept dept = sysDeptService.getDeptById(data.getDeptId());
+        data.setDeptName(dept.getName());
+        Session session = this.getSessionFactory().openSession();
+        data.setUpdateTime(new Date());
+        data.setUpdateUser(ContextUtil.getLoginUserCName());
+        try {
+            if (null == data.getId()) {
+                String id = createId(data.getCompanyId(), data.getDeptId());
+                data.setId(id);
+                session.save(data);
+            } else {
+                session.saveOrUpdate(data);
+            }
 
-		this.pagingQuery(page, sql, args.toArray(), new DrugRowMapper());
-	}
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            session.flush();
+            session.close();
+        }
+        return null;
+    }
 
-	public List<Drug> listDrug(String name) {
+    /**
+     * 鍒犻櫎鑽墏淇℃伅
+     *
+     * @param data
+     * @return
+     */
+    public String delDrug(Drug data) {
+        Session session = this.getSessionFactory().openSession();
+        try {
+            if (null != data.getId()) {
+                session.delete(data);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            session.flush();
+            session.close();
+        }
+        return null;
+    }
 
-		String sql = "select * from D_DRUG where company_id_ =? ";
 
-		List<Object> args = new ArrayList<Object>();
+    public void pageDrugInout(Page<DrugInout> page, Map<String, Object> param) {
 
-		args.add(ContextUtil.getCompanyId());
+    }
 
-		if (StringUtils.isNotEmpty(name)) {
-			sql += " and name_ like ?";
-			args.add("%" + name + "%");
-		}
+    public String delDrugInout(DrugInout data) {
 
-		sql += " order by name_ ";
+        return null;
+    }
 
-		return this.getJdbcTemplate().query(sql, args.toArray(),
-				new DrugRowMapper());
-	}
+    public String updateDrugInout(DrugInout data) {
 
-	public String delDrug(Drug data) {
+        return null;
+    }
 
-		if (null == data.getId()) {
-			return null;
-		}
+    private String addDrugInout(DrugInout data) {
+        return null;
+    }
 
-		String sql = " delete from D_DRUG where ID_ =?";
 
-		this.getJdbcTemplate().update(sql, new Object[] { data.getId() });
+    public String auditDrugApply(DrugApply data) {
 
-		return null;
-	}
+        if (null == data.getAuditUser()) {
+            data.setAuditUser(ContextUtil.getLoginUserCName());
+        }
+        if (null == data.getAuditTime()) {
+            data.setApplyTime(new Date());
+        }
 
-	public String updateDrug(Drug data) {
-		data.setUpdateTime(new Date());
-		data.setUpdateUser(ContextUtil.getLoginUserCName());
-		if (null == data.getId()) {
-			return this.addDrug(data);
-		}
+        if (data.getApplyUser().equals(data.getAuditUser())) {
+            return "绯荤粺锛氬鏍镐汉鍜岀敵璇蜂汉涓嶅彲涓哄悓涓�涓汉銆�";
+        }
 
-		String sql = " update D_DRUG set name_=?," + "spec_=?," + "dosage_=?,"
-				+ "count_=?," + "update_User_=?," + "update_Time_=?,"
-				+ "remarks_=? where id_=?";
+        return updateDrugApply(data);
 
-		this.getJdbcTemplate().update(
-				sql,
-				new Object[] { data.getName(), data.getSpec(),
-						data.getDosage(), data.getCount(),
-						data.getUpdateUser(), data.getUpdateTime(),
-						data.getRemarks(), data.getId() });
+    }
 
-		return null;
-	}
+    public String updateDrugApply(DrugApply data) {
 
-	private String addDrug(Drug data) {
-		data.setId(ContextUtil.getUUID());
-		data.setCompanyId(ContextUtil.getCompanyId());
+        return null;
+    }
 
-		String sql = " insert into D_DRUG(id_,company_ID_,name_,spec_,dosage_,count_,update_User_,update_Time_,remarks_) "
-				+ " values(?,?,?,?,?,?,?,?,?)";
+    private String addDrugApply(DrugApply data) {
+        return null;
+    }
 
-		this.getJdbcTemplate().update(
-				sql,
-				new Object[] { data.getId(), data.getCompanyId(),
-						data.getName(), data.getSpec(), data.getDosage(),
-						data.getCount(), data.getUpdateUser(),
-						data.getUpdateTime(), data.getRemarks() });
+    public String delDrugApply(DrugApply data) {
+        return null;
+    }
 
-		return null;
-	}
+    public void pageDrugApply(Page<DrugApply> page, Map<String, Object> param) {
 
-	public void pageDrugInout(Page<DrugInout> page, Map<String, Object> param) {
-		List<Object> args = new ArrayList<Object>();
+    }
 
-		args.add(ContextUtil.getCompanyId());
+    public String createId(String companyId, String deptId) {
 
-		String sql = "select * from D_DRUG_INOUT where company_id_ =? ";
+        // 浠庣紦瀛樹腑鑾峰彇宸叉湁鐨勭粍缁囩紪鐮�
+        String cacheKey = RedisConst.buildKey(companyId, HDrugService.CACHE_DRUG_ID);
 
-		if (null != param) {
-			String str = (String) param.get("name");
+        String cacheId = (String) redisUtil.get(cacheKey);
 
-			if (StringUtils.isNotEmpty(str)) {
-				sql += " and person_ like ?";
-				args.add("%" + str + "%");
-			}
+        if (null != cacheId && cacheId.indexOf(deptId) >= 0) {
+            String temp = cacheId.substring(cacheId.length() - 3);
+            Integer i = Integer.valueOf(temp);
+            cacheId = deptId + String.format("%03d", ++i);
+        } else {
+            List<Drug> result = listDrug(companyId, null);
+            if (null == result || result.size() == 0) {
+                cacheId = deptId + "001";
+            } else {
+                Drug drug = result.get(0);
+                String temp = drug.getId().substring(drug.getId().length() - 3);
+                Integer i = Integer.valueOf(temp);
+                cacheId = deptId + String.format("%03d", ++i);
+            }
+        }
+        // 鏇存柊缂撳瓨
+        redisUtil.set(cacheKey, cacheId);
 
-			str = (String) param.get("type");
-			if (StringUtils.isNotEmpty(str)) {
-				sql += " and type_ = ?";
-				args.add(str);
-			}
-		}
+        return cacheId;
+    }
 
-		sql += " order by update_time_ desc ";
 
-		this.pagingQuery(page, sql, args.toArray(), new DrugInoutRowMapper());
-	}
-
-	public String delDrugInout(DrugInout data) {
-
-		if (null == data.getId()) {
-			return null;
-		}
-
-		String sql = " delete from D_DRUG_INOUT where ID_ =?";
-
-		this.getJdbcTemplate().update(sql, new Object[] { data.getId() });
-
-		return null;
-	}
-
-	public String updateDrugInout(DrugInout data) {
-		data.setUpdateTime(new Date());
-		data.setUpdateUser(ContextUtil.getLoginUserCName());
-		if (null == data.getId()) {
-			return this.addDrugInout(data);
-		}
-
-		String sql = " update D_DRUG_INOUT set DRUG_ID_=?," + "TIME_=?,"
-				+ "PERSON_=?," + "REASON_=?," + "COUNT_=?," + "TYPE_=?,"
-				+ "UPDATE_USER_=?,UPDATE_TIME_=?,REMARKS_=? where id_=?";
-
-		this.getJdbcTemplate()
-				.update(sql,
-						new Object[] { data.getDrugId(), data.getTime(),
-								data.getPerson(), data.getReason(),
-								data.getCount(), data.getType(),
-								data.getUpdateUser(), data.getUpdateTime(),
-								data.getRemarks(), data.getId() });
-
-		return null;
-	}
-
-	private String addDrugInout(DrugInout data) {
-		data.setId(ContextUtil.getUUID());
-		data.setCompanyId(ContextUtil.getCompanyId());
-
-		String sql = "insert into D_DRUG_INOUT(ID_,COMPANY_ID_,DRUG_ID_,TIME_,PERSON_,REASON_,COUNT_,TYPE_,UPDATE_USER_,UPDATE_TIME_,REMARKS_)"
-				+ " values(?,?,?,?,?,?,?,?,?,?,?)";
-
-		this.getJdbcTemplate().update(
-				sql,
-				new Object[] { data.getId(), data.getCompanyId(),
-						data.getDrugId(), data.getTime(), data.getPerson(),
-						data.getReason(), data.getCount(), data.getType(),
-						data.getUpdateUser(), data.getUpdateTime(),
-						data.getRemarks() });
-		return null;
-	}
-
-	public String delDrugLog(DrugLog data) {
-		if (null == data.getId()) {
-			return null;
-		}
-
-		String sql = " delete from D_DRUG_LOG where ID_ =?";
-
-		this.getJdbcTemplate().update(sql, new Object[] { data.getId() });
-
-		return null;
-	}
-
-	public String updateDrugLog(DrugLog data) {
-		data.setUpdateTime(new Date());
-		data.setUpdateUser(ContextUtil.getLoginUserCName());
-		if (null == data.getId()) {
-			return this.addDrugLog(data);
-		}
-
-		String sql = " update D_DRUG_LOG set DEPOT_ID_=?,"
-				+ "START_=?,"
-				+ "END_=?,"
-				+ "USER_=?,"
-				+ "UPDATE_USER_=?,UPDATE_TIME_=?,REMARKS_=?,DOSE_=? where ID_=?";
-
-		this.getJdbcTemplate().update(
-				sql,
-				new Object[] { data.getDepotId(), data.getStart(),
-						data.getEnd(), data.getUser(), data.getUpdateUser(),
-						data.getUpdateTime(), data.getRemarks(),
-						data.getDose(), data.getId() });
-
-		return null;
-	}
-
-	private String addDrugLog(DrugLog data) {
-		data.setId(ContextUtil.getUUID());
-		data.setCompanyId(ContextUtil.getCompanyId());
-
-		String sql = "insert into D_DRUG_LOG(ID_,COMPANY_ID_,DEPOT_ID_,START_,END_,USER_,UPDATE_USER_,UPDATE_TIME_,REMARKS_,DOSE_)"
-				+ " values(?,?,?,?,?,?,?,?,?,?)";
-
-		this.getJdbcTemplate()
-				.update(sql,
-						new Object[] { data.getId(), data.getCompanyId(),
-								data.getDepotId(), data.getStart(),
-								data.getEnd(), data.getUser(),
-								data.getUpdateUser(), data.getUpdateTime(),
-								data.getRemarks(), data.getDose() });
-		return null;
-	}
-	
-	
-	public void pageDrugLog(Page<DrugLog> page, Map<String, Object> param) {
-		List<Object> args = new ArrayList<Object>();
-
-		args.add(ContextUtil.getCompanyId());
-
-		String sql = "select * from D_DRUG_LOG where company_id_ =? ";
-
-		if (null != param) {
-			String str = (String) param.get("name");
-			if (StringUtils.isNotEmpty(str)) {
-				sql += " and user_ = ?";
-				args.add(str);
-			}
-		}
-		sql += " order by start_ desc ";
-
-		this.pagingQuery(page, sql, args.toArray(), new DrugLogRowMapper());
-
-	}
-
-	public String auditDrugApply(DrugApply data) {
-
-		if (null == data.getAuditUser()) {
-			data.setAuditUser(ContextUtil.getLoginUserCName());
-		}
-		if (null == data.getAuditTime()) {
-			data.setApplyTime(new Date());
-		}
-
-		if (data.getApplyUser().equals(data.getAuditUser())) {
-			return "绯荤粺锛氬鏍镐汉鍜岀敵璇蜂汉涓嶅彲涓哄悓涓�涓汉銆�";
-		}
-
-		return updateDrugApply(data);
-
-	}
-
-	public String updateDrugApply(DrugApply data) {
-
-		if (null == data.getApplyTime()) {
-			data.setAuditTime(new Date());
-		}
-		if (null == data.getApplyUser()) {
-			data.setApplyUser(ContextUtil.getLoginUserCName());
-		}
-
-		if (null == data.getId()) {
-			return this.addDrugApply(data);
-		}
-
-		String sql = " update D_DRUG_APPLY set " + "APPLY_TIME_=?,"
-				+ "APPLY_USER_=?," + "APPLY_REASON_=?," + "DRUG_NAME_=?,"
-				+ "COUNT_=?," + "AUDIT_TIME_=?," + "AUDIT_USER_=?,"
-				+ "AUDIT_REASON_=?," + "STATUS_=?," + "REMARKS_=? "
-				+ "where ID_=?";
-
-		this.getJdbcTemplate().update(
-				sql,
-				new Object[] { data.getApplyTime(), data.getApplyUser(),
-						data.getApplyReason(), data.getDrugName(),
-						data.getCount(), data.getAuditTime(),
-						data.getAuditUser(), data.getAuditReason(),
-						data.getStatus(), data.getRemarks(), data.getId() });
-
-		return null;
-	}
-
-	private String addDrugApply(DrugApply data) {
-		data.setId(ContextUtil.getUUID());
-		data.setCompanyId(ContextUtil.getCompanyId());
-		data.setStatus(DrugApply.STATUS_APPLY);
-
-		String sql = "INSERT INTO D_DRUG_APPLY(ID_,COMPANY_ID_,APPLY_TIME_,APPLY_USER_,APPLY_REASON_,DRUG_NAME_,COUNT_,AUDIT_TIME_,AUDIT_USER_,AUDIT_REASON_,"
-				+ "STATUS_,REMARKS_) values(?,?,?,?,?,?,?,?,?,?,?,?)";
-
-		this.getJdbcTemplate().update(
-				sql,
-				new Object[] { data.getId(), data.getCompanyId(),
-						data.getApplyTime(), data.getApplyUser(),
-						data.getApplyReason(), data.getDrugName(),
-						data.getCount(), data.getAuditTime(),
-						data.getAuditUser(), data.getAuditReason(),
-						data.getStatus(), data.getRemarks() });
-
-		return null;
-	}
-
-	public String delDrugApply(DrugApply data) {
-
-		if (null == data.getId()) {
-			return null;
-		}
-
-		String sql = " delete from D_DRUG_APPLY where ID_ =?";
-
-		this.getJdbcTemplate().update(sql, new Object[] { data.getId() });
-
-		return null;
-	}
-
-	public void pageDrugApply(Page<DrugApply> page, Map<String, Object> param) {
-		List<Object> args = new ArrayList<Object>();
-
-		args.add(ContextUtil.getCompanyId());
-
-		String sql = "select * from D_DRUG_APPLY where company_id_ =? ";
-
-		if (null != param) {
-			String str = (String) param.get("name");
-			if (StringUtils.isNotEmpty(str)) {
-				sql += " and APPLY_USER_ like ?";
-				args.add("%" + str + "%");
-			}
-		}
-		sql += " order by APPLY_TIME_ desc ";
-
-		this.pagingQuery(page, sql, args.toArray(), new DrugApplyRowMapper());
-	}
+    public void buildHql(StringBuffer hql, Map<String, Object> param, Map<String, Object> args) {
+        String str = (String) param.get("id");
+        if (StringUtils.isNotEmpty(str)) {
+            hql.append(" and id =:id");
+            args.put("id", str);
+        }
+        str = (String) param.get("name");
+        if (StringUtils.isNotEmpty(str)) {
+            hql.append(" and name like :name");
+            args.put("name", "%" + str + "%");
+        }
+        Date date = (Date) param.get("start");
+        if (null != date) {
+            hql.append(" and cgrq >=:start");
+            args.put("start", date);
+        }
+        date = (Date) param.get("end");
+        if (null != date) {
+            hql.append(" and cgrq <=:end");
+            args.put("end", date);
+        }
+    }
 
 }
diff --git a/igds-recir/src/main/java/com/ld/igds/drug/view/Drug.view.xml b/igds-recir/src/main/java/com/ld/igds/drug/view/Drug.view.xml
index 675dd32..4550575 100644
--- a/igds-recir/src/main/java/com/ld/igds/drug/view/Drug.view.xml
+++ b/igds-recir/src/main/java/com/ld/igds/drug/view/Drug.view.xml
@@ -21,6 +21,7 @@
       </Label>
       <Button layoutConstraint="left">
         <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert({});&#xD;
+view.get(&quot;#id&quot;).set(&quot;readOnly&quot;,false);&#xD;
 view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
         <Property name="caption">鏂板</Property>
         <Property name="exClassName">btn-default</Property>
@@ -29,6 +30,7 @@
       <Button layoutConstraint="left">
         <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
 if(data){&#xD;
+	view.get(&quot;#id&quot;).set(&quot;readOnly&quot;,true);&#xD;
 	view.get(&quot;#dialogMain&quot;).show();&#xD;
 }</ClientEvent>
         <Property name="caption">缂栬緫</Property>
@@ -61,43 +63,57 @@
       </TextEditor>
       <Trigger id="triggerQuery">
         <ClientEvent name="onExecute">var name = view.get(&quot;#paramName.text&quot;);&#xD;
-if(null != name &amp;&amp; &quot;&quot;!= name){&#xD;
-	view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,{name:name}).flushAsync();&#xD;
-}</ClientEvent>
+view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,{name:name}).flushAsync();</ClientEvent>
         <Property name="iconClass">fa fa-search</Property>
       </Trigger>
     </Container>
-    <Container layoutConstraint="center">
+    <Container layout="regionPadding:10" layoutConstraint="center">
       <Property name="exClassName">bg-color</Property>
       <DataGrid>
         <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
 if(data){&#xD;
+	view.get(&quot;#id&quot;).set(&quot;readOnly&quot;,true);&#xD;
 	view.get(&quot;#dialogMain&quot;).show();&#xD;
 }</ClientEvent>
         <Property name="dataSet">dsMain</Property>
         <Property name="readOnly">true</Property>
-        <Property name="highlightCurrentRow">false</Property>
+        <Property name="highlightCurrentRow">true</Property>
         <RowNumColumn/>
+        <DataColumn name="id">
+          <Property name="property">id</Property>
+          <Property name="align">center</Property>
+        </DataColumn>
         <DataColumn name="name">
           <Property name="property">name</Property>
+          <Property name="align">center</Property>
         </DataColumn>
         <DataColumn name="count">
           <Property name="property">count</Property>
+          <Property name="align">center</Property>
         </DataColumn>
-        <DataColumn name="dosage">
-          <Property name="property">dosage</Property>
+        <DataColumn name="kcsldw">
+          <Property name="property">kcsldw</Property>
+          <Property name="align">center</Property>
         </DataColumn>
-        <DataColumn name="spec">
-          <Property name="property">spec</Property>
+        <DataColumn name="sccj">
+          <Property name="property">sccj</Property>
+          <Property name="align">center</Property>
+        </DataColumn>
+        <DataColumn name="cctj">
+          <Property name="property">cctj</Property>
+          <Property name="align">center</Property>
+        </DataColumn>
+        <DataColumn name="ccdd">
+          <Property name="property">ccdd</Property>
+          <Property name="align">center</Property>
+        </DataColumn>
+        <DataColumn name="bzq">
+          <Property name="property">bzq</Property>
+          <Property name="align">center</Property>
         </DataColumn>
         <DataColumn name="updateUser">
           <Property name="property">updateUser</Property>
-        </DataColumn>
-        <DataColumn name="updateTime">
-          <Property name="property">updateTime</Property>
-        </DataColumn>
-        <DataColumn name="remarks">
-          <Property name="property">remarks</Property>
+          <Property name="align">center</Property>
         </DataColumn>
       </DataGrid>
     </Container>
@@ -111,7 +127,8 @@
     <Dialog id="dialogMain">
       <Property name="closeable">false</Property>
       <Property name="caption">鏁版嵁淇℃伅</Property>
-      <Property name="width">60%</Property>
+      <Property name="width">85%</Property>
+      <Property name="shadowMode">none</Property>
       <Buttons>
         <Button>
           <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
@@ -120,7 +137,6 @@
 	$notify(&quot;鏁版嵁鏍¢獙澶辫触锛侊紒&quot;);&#xD;
 	return;&#xD;
 }&#xD;
-&#xD;
 view.get(&quot;#ajaxSave&quot;).set(&quot;parameter&quot;,data).execute(function(result){&#xD;
 	if(result){&#xD;
 		$alert(result);&#xD;
@@ -128,6 +144,7 @@
 	}&#xD;
 	$notify(&quot;鏁版嵁鎵ц瀹屾垚锛侊紒&quot;);&#xD;
 	self.get(&quot;parent&quot;).hide();&#xD;
+	view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,{}).flushAsync();&#xD;
 });</ClientEvent>
           <Property name="caption">纭畾</Property>
           <Property name="iconClass">fa fa-check</Property>
@@ -140,49 +157,136 @@
         </Button>
       </Buttons>
       <Children>
-        <AutoForm>
-          <Property name="dataSet">dsMain</Property>
-          <Property name="cols">*,*,*</Property>
-          <AutoFormElement>
-            <Property name="name">name</Property>
-            <Property name="property">name</Property>
-            <Editor/>
-          </AutoFormElement>
-          <AutoFormElement>
-            <Property name="name">count</Property>
-            <Property name="property">count</Property>
-            <Editor/>
-          </AutoFormElement>
-          <AutoFormElement>
-            <Property name="name">dosage</Property>
-            <Property name="property">dosage</Property>
-            <Property name="trigger">listDosage</Property>
-            <Editor/>
-          </AutoFormElement>
-          <AutoFormElement layoutConstraint="colSpan:2">
-            <Property name="name">spec</Property>
-            <Property name="property">spec</Property>
-            <Editor/>
-          </AutoFormElement>
-          <AutoFormElement layoutConstraint="colSpan:3">
-            <Property name="name">remarks</Property>
-            <Property name="property">remarks</Property>
-            <Property name="editorType">TextArea</Property>
-            <Editor/>
-          </AutoFormElement>
-          <AutoFormElement>
-            <Property name="name">updateUser</Property>
-            <Property name="property">updateUser</Property>
-            <Property name="readOnly">true</Property>
-            <Editor/>
-          </AutoFormElement>
-          <AutoFormElement>
-            <Property name="name">updateTime</Property>
-            <Property name="property">updateTime</Property>
-            <Property name="readOnly">true</Property>
-            <Editor/>
-          </AutoFormElement>
-        </AutoForm>
+        <Container layout="regionPadding:5">
+          <FieldSet>
+            <Property name="caption">鑽墏淇℃伅</Property>
+            <Buttons/>
+            <Children>
+              <AutoForm>
+                <Property name="dataSet">dsMain</Property>
+                <Property name="cols">*,*,*</Property>
+                <Property name="labelAlign">right</Property>
+                <Property name="labelSeparator">:</Property>
+                <Property name="labelWidth">120</Property>
+                <AutoFormElement id="id">
+                  <Property name="name">id</Property>
+                  <Property name="property">id</Property>
+                  <Editor>
+                    <TextEditor>
+                      <Property name="blankText"> -- 鎵嬪姩濉啓鎴栫郴缁熻嚜鍔ㄧ敓鎴� --</Property>
+                    </TextEditor>
+                  </Editor>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">name</Property>
+                  <Property name="property">name</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">count</Property>
+                  <Property name="property">count</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">kcsldw</Property>
+                  <Property name="property">kcsldw</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">dosage</Property>
+                  <Property name="property">dosage</Property>
+                  <Property name="trigger">listDosage</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">deptId</Property>
+                  <Property name="property">deptId</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">cgrq</Property>
+                  <Property name="property">cgrq</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">bzw</Property>
+                  <Property name="property">bzw</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">ggxh</Property>
+                  <Property name="property">ggxh</Property>
+                  <Editor>
+                    <TextEditor>
+                      <Property name="blankText">--渚嬪:100mg/绮�;10g/鐗囩瓑--</Property>
+                    </TextEditor>
+                  </Editor>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">sccj</Property>
+                  <Property name="property">sccj</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">cgly</Property>
+                  <Property name="property">cgly</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">cctj</Property>
+                  <Property name="property">cctj</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">ccdd</Property>
+                  <Property name="property">ccdd</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">bzq</Property>
+                  <Property name="property">bzq</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">updateUser</Property>
+                  <Property name="property">updateUser</Property>
+                  <Property name="readOnly">true</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement>
+                  <Property name="name">updateTime</Property>
+                  <Property name="property">updateTime</Property>
+                  <Property name="readOnly">true</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement layoutConstraint="colSpan:3">
+                  <Property name="name">bzwclfs</Property>
+                  <Property name="property">bzwclfs</Property>
+                  <Property name="editorType">TextEditor</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement layoutConstraint="colSpan:3">
+                  <Property name="name">czclfs</Property>
+                  <Property name="property">czclfs</Property>
+                  <Property name="editorType">TextEditor</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement layoutConstraint="colSpan:3">
+                  <Property name="name">aqsysms</Property>
+                  <Property name="property">aqsysms</Property>
+                  <Property name="editorType">TextArea</Property>
+                  <Editor/>
+                </AutoFormElement>
+                <AutoFormElement layoutConstraint="colSpan:3">
+                  <Property name="name">remarks</Property>
+                  <Property name="property">remarks</Property>
+                  <Property name="editorType">TextArea</Property>
+                  <Editor/>
+                </AutoFormElement>
+              </AutoForm>
+            </Children>
+          </FieldSet>
+        </Container>
       </Children>
       <Tools/>
     </Dialog>
@@ -191,7 +295,7 @@
       <Property name="autoOpen">true</Property>
     </ListDropDown>
     <AjaxAction id="ajaxSave">
-      <Property name="service">drugPR#updateDrug</Property>
+      <Property name="service">drugPR#saveDrug</Property>
     </AjaxAction>
     <AjaxAction id="ajaxDel">
       <Property name="service">drugPR#delDrug</Property>
diff --git a/igds-recir/src/main/java/com/ld/igds/drug/view/DrugPR.java b/igds-recir/src/main/java/com/ld/igds/drug/view/DrugPR.java
index 5d82afa..fba4c02 100644
--- a/igds-recir/src/main/java/com/ld/igds/drug/view/DrugPR.java
+++ b/igds-recir/src/main/java/com/ld/igds/drug/view/DrugPR.java
@@ -1,8 +1,11 @@
 package com.ld.igds.drug.view;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import com.ld.igds.inout.InoutConstant;
+import com.ld.igds.models.DicTrigger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -14,57 +17,88 @@
 
 /**
  * 鐔忚捀绠$悊鐨凱R
- * 
+ *
  * @author: andy.jia
  * @description:
  * @version:
  * @data:2020骞�3鏈�6鏃�
- *
  */
 @Component("drugPR")
 public class DrugPR {
 
-	@Autowired
-	private HDrugService drugService;
+    @Autowired
+    private HDrugService drugService;
 
-	/**
-	 * ${dorado.getDataProvider("drugPR#listDrug").getResult()}
-	 * 
-	 * @param page
-	 * @param param
-	 * @throws Exception
-	 */
-	@DataProvider
-	public List<Drug> listDrug(String name) throws Exception {
-		return drugService.listDrug(name);
-	}
 
-	@DataProvider
-	public void pageDrug(Page<Drug> page, Map<String, Object> param)
-			throws Exception {
-		drugService.pageDrug(page, param);
-	}
+    // ${dorado.getDataProvider("drugPR#triggerPackage").getResult()}
+    @DataProvider
+    public List<DicTrigger> triggerPackage() {
+        List<DicTrigger> list = new ArrayList<DicTrigger>();
+        list.add(new DicTrigger("1", "鐡惰"));
+        list.add(new DicTrigger("2", "琚嬭"));
+        list.add(new DicTrigger("3", "鍏朵粬"));
+        return list;
+    }
 
-	/**
-	 * drugPR#delDrug
-	 * 
-	 * @param param
-	 * @throws Exception
-	 */
-	@Expose
-	public String delDrug(Drug data) throws Exception {
-		return drugService.delDrug(data);
-	}
+    // ${dorado.getDataProvider("drugPR#triggerLocation").getResult()}
+    @DataProvider
+    public List<DicTrigger> triggerLocation() {
+        List<DicTrigger> list = new ArrayList<DicTrigger>();
+        list.add(new DicTrigger("1", "鑽墏搴�"));
+        list.add(new DicTrigger("2", "鍏朵粬"));
+        return list;
+    }
 
-	/**
-	 * drugPR#updateDrug 鏂板鎴栬�呬慨鏀�
-	 * 
-	 * @param param
-	 * @throws Exception
-	 */
-	@Expose
-	public String updateDrug(Drug data) throws Exception {
-		return drugService.updateDrug(data);
-	}
+    // ${dorado.getDataProvider("drugPR#triggerUnit").getResult()}
+    @DataProvider
+    public List<DicTrigger> triggerUnit() {
+        List<DicTrigger> list = new ArrayList<DicTrigger>();
+        list.add(new DicTrigger("1", "鍏枻"));
+        list.add(new DicTrigger("2", "鍏�"));
+        list.add(new DicTrigger("3", "姣厠"));
+        return list;
+    }
+
+    /**
+     * ${dorado.getDataProvider("drugPR#listDrug").getResult()}
+     *
+     * @throws Exception
+     */
+//    @DataProvider
+//    public List<Drug> listDrug(String name) throws Exception {
+//        return drugService.listDrug(name);
+//    }
+
+    /**
+     * ${dorado.getDataProvider("drugPR#pageDrug").getResult()}
+     *
+     * @throws Exception
+     */
+    @DataProvider
+    public void pageDrug(Page<Drug> page, Map<String, Object> param) throws Exception {
+        drugService.pageDrug(page, param);
+    }
+
+    /**
+     * ${dorado.getDataProvider("drugPR#saveDrug").getResult()}
+     *
+     * @throws Exception
+     */
+    @Expose
+    public void saveDrug(Drug drug) throws Exception {
+        drugService.saveDrug(drug);
+    }
+
+    /**
+     * drugPR#delDrug
+     *
+     * @param
+     * @throws Exception
+     */
+    @Expose
+    public String delDrug(Drug data) throws Exception {
+        return drugService.delDrug(data);
+    }
+
 
 }
diff --git a/igds-recir/src/main/java/com/ld/igds/models/Drug.java b/igds-recir/src/main/java/com/ld/igds/models/Drug.java
index e49c1f8..06f4130 100644
--- a/igds-recir/src/main/java/com/ld/igds/models/Drug.java
+++ b/igds-recir/src/main/java/com/ld/igds/models/Drug.java
@@ -1,5 +1,6 @@
 package com.ld.igds.models;
 
+import java.io.Serializable;
 import java.util.Date;
 
 import javax.persistence.Column;
@@ -7,57 +8,123 @@
 import javax.persistence.Id;
 import javax.persistence.Table;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import com.bstek.dorado.annotation.PropertyDef;
 
 /**
  * 鐜祦鐔忚捀-鑽搧搴撳瓨
- * 
+ *
  * @ClassName: Drug
- * @date 2018骞�3鏈�9鏃� 涓嬪崍2:54:37
- * @version 1.0
+ * @date 2023骞�7鏈�26鏃�
  */
 @Data
 @Entity
 @Table(name = "D_DRUG")
-public class Drug {
+public class Drug implements Serializable {
 
-	@Id
-	@Column(name = "ID_", length = 40)
-	@PropertyDef(label = "缂栫爜")
-	private String id;
+    @Id
+    @Column(name = "ID_", length = 40)
+    @PropertyDef(label = "鑽墏缂栧彿", description = "搴撳尯浠g爜+涓変綅椤哄簭鍙�")
+    private String id;
 
-	@Column(name = "COMPANY_ID_", length = 10)
-	@PropertyDef(label = "缁勭粐缂栫爜")
-	private String companyId;
+    @Id
+    @Column(name = "DEPT_ID_", length = 50)
+    @PropertyDef(label = "搴撳尯浠g爜")
+    private String deptId;
 
-	@Column(name = "NAME_", length = 50)
-	@PropertyDef(label = "鑽搧鍚嶇О")
-	private String name;
+    @Id
+    @Column(name = "cgrq")
+    @PropertyDef(label = "閲囪喘鏃ユ湡")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date cgrq;
 
-	@Column(name = "SPEC_", length = 50)
-	@PropertyDef(label = "瑙勬牸璇存槑")
-	private String spec;
+    @Column(name = "DEPT_NAME_", length = 256)
+    @PropertyDef(label = "搴撳尯鍚嶇О")
+    private String deptName;
 
-	@Column(name = "DOSAGE_", length = 20)
-	@PropertyDef(label = "鍓傚瀷")
-	private String dosage;
+    @Column(name = "dwdm", length = 18)
+    @PropertyDef(label = "鍗曚綅浠g爜")
+    private String dwdm;
 
-	@Column(name = "COUNT_")
-	@PropertyDef(label = "搴撳瓨閲�")
-	private int count = 0;
+    @Column(name = "COMPANY_ID_", length = 10)
+    @PropertyDef(label = "缁勭粐缂栫爜")
+    private String companyId;
 
-	@PropertyDef(label = "鎿嶄綔鍛�")
-	@Column(name = "UPDATE_USER_", length = 30)
-	private String updateUser;
+    @Column(name = "NAME_", length = 50)
+    @PropertyDef(label = "鑽搧鍚嶇О")
+    private String name;
 
-	@PropertyDef(label = "鎿嶄綔鏃堕棿")
-	@Column(name = "UPDATE_TIME_")
-	private Date updateTime;
 
-	@PropertyDef(label = "鎿嶄綔鏃堕棿")
-	@Column(name = "REMARKS_", length = 300)
-	private String remarks;
+    @Column(name = "bzw", length = 1)
+    @PropertyDef(label = "鍖呰鐗�", description = "1锛氱摱瑁咃紝2锛氳瑁咃紝3锛氬叾浠�")
+    private String bzw;
+
+    @Column(name = "ggxh", length = 256)
+    @PropertyDef(label = "鍨嬪彿瑙勬牸", description = "濡傦細100mg/绮掓垨10g/鐗�")
+    private String ggxh;
+
+    @Column(name = "aqsysms", length = 1000)
+    @PropertyDef(label = "瀹夊叏浣跨敤璇存槑涔�")
+    private String aqsysms;
+
+    @Column(name = "sccj", length = 40)
+    @PropertyDef(label = "鐢熶骇鍘傚")
+    private String sccj;
+
+    @Column(name = "cgly", length = 40)
+    @PropertyDef(label = "閲囪喘鏉ユ簮")
+    private String cgly;
+
+    @Column(name = "cctj", length = 200)
+    @PropertyDef(label = "瀛樺偍鏉′欢")
+    private String cctj;
+
+    @Column(name = "ccdd", length = 1)
+    @PropertyDef(label = "鍌ㄥ瓨鍦扮偣", description = "1:鑽墏搴�,2:鍏朵粬")
+    private String ccdd;
+
+    @Column(name = "bzwclfs", length = 1000)
+    @PropertyDef(label = "鍖呰鐗╁鐞嗘柟寮�")
+    private String bzwclfs;
+
+    @Column(name = "czclfs", length = 1000)
+    @PropertyDef(label = "娈嬫福澶勭悊鏂瑰紡")
+    private String czclfs;
+
+    @Column(name = "bzq", length = 20)
+    @PropertyDef(label = "淇濊川鏈�")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date bzq;
+
+//    @Column(name = "SPEC_", length = 50)
+//    @PropertyDef(label = "瑙勬牸璇存槑")
+//    private String spec;
+
+    @Column(name = "DOSAGE_", length = 20)
+    @PropertyDef(label = "鍓傚瀷")
+    private String dosage;
+
+    @Column(name = "COUNT_")
+    @PropertyDef(label = "搴撳瓨閲�")
+    private int count = 0;
+
+    @Column(name = "kcsldw", length = 1)
+    @PropertyDef(label = "搴撳瓨閲忓崟浣�", description = "1(榛樿)锛氬叕鏂わ紱2锛氬厠锛�3锛氭鍗囷紱")
+    private String kcsldw;
+
+
+    @PropertyDef(label = "鎿嶄綔鍛�")
+    @Column(name = "UPDATE_USER_", length = 30)
+    private String updateUser;
+
+    @PropertyDef(label = "鏇存柊鏃堕棿")
+    @Column(name = "UPDATE_TIME_")
+    private Date updateTime;
+
+    @PropertyDef(label = "澶囨敞")
+    @Column(name = "REMARKS_", length = 300)
+    private String remarks;
 
 }
diff --git a/igds-recir/src/main/java/com/ld/igds/models/DrugApply.java b/igds-recir/src/main/java/com/ld/igds/models/DrugApply.java
index ab91394..c3089f7 100644
--- a/igds-recir/src/main/java/com/ld/igds/models/DrugApply.java
+++ b/igds-recir/src/main/java/com/ld/igds/models/DrugApply.java
@@ -1,5 +1,6 @@
 package com.ld.igds.models;
 
+import java.io.Serializable;
 import java.util.Date;
 
 import javax.persistence.Column;
@@ -12,68 +13,68 @@
 import com.bstek.dorado.annotation.PropertyDef;
 
 /**
- * 鐜祦鐔忚捀-鑽搧鍑哄叆搴�
- * 
- * @ClassName: DrugInOut
- * @date 2018骞�3鏈�9鏃� 涓嬪崍3:46:24
+ * 鐜祦鐔忚捀-鑽搧鐢宠
+ *
  * @version 1.0
+ * @ClassName: DrugApply
+ * @date 2018骞�3鏈�9鏃� 涓嬪崍3:46:24
  */
 @Data
 @Entity
 @Table(name = "D_DRUG_APPLY")
-public class DrugApply {
-	
-	
-	public static final String STATUS_APPLY = "APPLY";
-	
+public class DrugApply implements Serializable {
 
-	@Id
-	@Column(name = "ID_", length = 40)
-	@PropertyDef(label = "id")
-	private String id;
 
-	@Column(name = "COMPANY_ID_", length = 10)
-	@PropertyDef(label = "缁勭粐缂栫爜", description = "")
-	private String companyId;
+    public static final String STATUS_APPLY = "APPLY";
 
-	@Column(name = "APPLY_TIME_")
-	@PropertyDef(label = "鐢宠鏃堕棿")
-	private Date applyTime;
 
-	@Column(name = "APPLY_USER_", length = 30)
-	@PropertyDef(label = "鐢宠浜�")
-	private String applyUser;
+    @Id
+    @Column(name = "ID_", length = 40)
+    @PropertyDef(label = "id")
+    private String id;
 
-	@Column(name = "APPLY_REASON_", length = 300)
-	@PropertyDef(label = "鐢ㄩ�旇鏄�")
-	private String applyReason;
+    @Column(name = "COMPANY_ID_", length = 10)
+    @PropertyDef(label = "缁勭粐缂栫爜", description = "")
+    private String companyId;
 
-	@Column(name = "DRUG_NAME_", length = 40)
-	@PropertyDef(label = "鐢宠鑽搧")
-	private String drugName;
+    @Column(name = "APPLY_TIME_")
+    @PropertyDef(label = "鐢宠鏃堕棿")
+    private Date applyTime;
 
-	@Column(name = "COUNT_")
-	@PropertyDef(label = "鏁伴噺")
-	private int count;
+    @Column(name = "APPLY_USER_", length = 30)
+    @PropertyDef(label = "鐢宠浜�")
+    private String applyUser;
 
-	@Column(name = "AUDIT_TIME_")
-	@PropertyDef(label = "瀹℃牳鏃堕棿")
-	private Date auditTime;
+    @Column(name = "APPLY_REASON_", length = 300)
+    @PropertyDef(label = "鐢ㄩ�旇鏄�")
+    private String applyReason;
 
-	@Column(name = "AUDIT_USER_", length = 30)
-	@PropertyDef(label = "瀹℃牳浜�")
-	private String auditUser;
+    @Column(name = "DRUG_NAME_", length = 40)
+    @PropertyDef(label = "鐢宠鑽搧")
+    private String drugName;
 
-	@Column(name = "AUDIT_REASON_", length = 300)
-	@PropertyDef(label = "瀹℃牳璇存槑")
-	private String auditReason;
+    @Column(name = "COUNT_")
+    @PropertyDef(label = "鏁伴噺")
+    private int count;
 
-	@Column(name = "STATUS_", length = 20)
-	@PropertyDef(label = "鏁版嵁鐘舵��", description = "APPLY=寰呭鏍革紝PASS=閫氳繃锛孶NPASS=鎷掔粷")
-	private String status;
-	
-	@Column(name = "REMARKS_", length = 300)
-	@PropertyDef(label = "澶囨敞璇存槑")
-	private String remarks;
+    @Column(name = "AUDIT_TIME_")
+    @PropertyDef(label = "瀹℃牳鏃堕棿")
+    private Date auditTime;
+
+    @Column(name = "AUDIT_USER_", length = 30)
+    @PropertyDef(label = "瀹℃牳浜�")
+    private String auditUser;
+
+    @Column(name = "AUDIT_REASON_", length = 300)
+    @PropertyDef(label = "瀹℃牳璇存槑")
+    private String auditReason;
+
+    @Column(name = "STATUS_", length = 20)
+    @PropertyDef(label = "鏁版嵁鐘舵��", description = "APPLY=寰呭鏍革紝PASS=閫氳繃锛孶NPASS=鎷掔粷")
+    private String status;
+
+    @Column(name = "REMARKS_", length = 300)
+    @PropertyDef(label = "澶囨敞璇存槑")
+    private String remarks;
 
 }
diff --git a/igds-recir/src/main/java/com/ld/igds/models/DrugLog.java b/igds-recir/src/main/java/com/ld/igds/models/DrugLog.java
index f4bc674..86aeecf 100644
--- a/igds-recir/src/main/java/com/ld/igds/models/DrugLog.java
+++ b/igds-recir/src/main/java/com/ld/igds/models/DrugLog.java
@@ -1,5 +1,6 @@
 package com.ld.igds.models;
 
+import java.io.Serializable;
 import java.util.Date;
 
 import javax.persistence.Column;
@@ -7,128 +8,305 @@
 import javax.persistence.Id;
 import javax.persistence.Table;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import com.bstek.dorado.annotation.PropertyDef;
 
 /**
  * 鐜祦鐔忚捀-鐔忚捀浣滀笟璁板綍
- * 
- * @date 2018骞�3鏈�9鏃� 涓嬪崍3:46:24
- * @version 1.0
+ *
+ * @date 2023骞�7鏈�26鏃�
  */
 @Data
 @Entity
 @Table(name = "D_DRUG_LOG")
-public class DrugLog {
+public class DrugLog implements Serializable {
 
-	@Id
-	@Column(name = "ID_", length = 40)
-	@PropertyDef(label = "id")
-	private String id;
+    @Id
+    @Column(name = "ID_", length = 40)
+    @PropertyDef(label = "鐔忚捀浣滀笟鍗曞彿", description = "浠撴埧浠g爜+浣滀笟鏃ユ湡 (yyyyMMdd) +3 浣嶉『搴忓彿")
+    private String id;
 
-	@Column(name = "COMPANY_ID_", length = 10)
-	@PropertyDef(label = "缁勭粐缂栫爜")
-	private String companyId;
+    @Column(name = "COMPANY_ID_", length = 10)
+    @PropertyDef(label = "缁勭粐缂栫爜")
+    private String companyId;
 
-	@Column(name = "DEPT_ID_", length = 40)
-	@PropertyDef(label = "鎵�灞炲垎搴�")
-	private String deptId;
+    @Column(name = "DEPT_ID_", length = 40)
+    @PropertyDef(label = "鎵�灞炲垎搴�")
+    private String deptId;
 
-	@Column(name = "DEPOT_ID_", length = 50)
-	@PropertyDef(label = "浠撳簱")
-	private String depotId;
+    @Column(name = "DEPOT_ID_", length = 50)
+    @PropertyDef(label = "浠撳簱")
+    private String depotId;
+
+    @Column(name = "START_")
+    @PropertyDef(label = "寮�濮嬫椂闂�")
+    private Date start;
+
+    @Column(name = "END_")
+    @PropertyDef(label = "鎴嚦鏃堕棿")
+    private Date end;
+
+    @Column(name = "PEST_BATCH_ID_", length = 50)
+    @PropertyDef(label = "铏妫�娴嬪崟鍙�")
+    private String pestBatchId;
+
+    @Column(name = "NUM_")
+    @PropertyDef(label = "绗嚑娆$啅钂�")
+    private Integer num = 0;
 
 
-	@Column(name = "START_")
-	@PropertyDef(label = "寮�濮嬫椂闂�")
-	private Date start;
+    @Column(name = "MODE_", length = 1)
+    @PropertyDef(label = "鐔忚捀鏂瑰紡", description = "0:绮潰娼В1:甯冭鍩嬭棌2:鎺㈢3:缁煎悎鏂借嵂")
+    private String mode;
 
-	@Column(name = "END_")
-	@PropertyDef(label = "鎴嚦鏃堕棿")
-	private Date end;
+    @Column(name = "RECIR_MODE_", length = 1)
+    @PropertyDef(label = "鐜祦鐔忚捀鏂瑰紡", description = "0:鍥哄畾寮忓竷缃舰寮�1:绉诲姩寮忓竷缃舰寮�")
+    private String recirMode;
 
-	@Column(name = "PEST_BATCH_ID_", length = 50)
-	@PropertyDef(label = "铏妫�娴嬪崟鍙�")
-	private String pestBatchId;
+    @Column(name = "hlxzynhljsjh", length = 1)
+    @PropertyDef(label = "鐜祦鐔忚捀涓庡唴鐜祦鎶�鏈粨鍚�", description = "0:鍒嗗埆浣跨敤_鍥哄畾寮�1:鍒嗗埆浣跨敤_绉诲姩寮�2:浜屽悎涓�搴旂敤_鍗曞悜鎺у埗3:浜屽悎涓�搴旂敤_鍙屽悜鎺у埗")
+    private String hlxzynhljsjh;
 
-	@Column(name = "NUM_")
-	@PropertyDef(label = "绗嚑娆$啅钂�")
-	private Integer num = 0;
+    @PropertyDef(label = "鐔忚捀鏂规鍒跺畾")
+    @Column(name = "xzfazd", length = 128)
+    private String xzfazd;
+
+    @PropertyDef(label = "鐔忚捀鏂规璧疯崏浜�")
+    @Column(name = "xzfaqcr", length = 64)
+    private String xzfaqcr;
+
+    @PropertyDef(label = "鐔忚捀鏂规鎵瑰噯浜�")
+    @Column(name = "xzfapzr", length = 64)
+    private String xzfapzr;
+
+    @PropertyDef(label = "鐔忚捀鏂规鎶ュ鎯呭喌")
+    @Column(name = "xzfabbqk", length = 64)
+    private String xzfabbqk;
+
+    @PropertyDef(label = "鏂借嵂浜哄憳璧勮川鎯呭喌")
+    @Column(name = "syryzzqk", length = 64)
+    private String syryzzqk;
+
+    @PropertyDef(label = "鏂借嵂璧勮川瀹℃牳")
+    @Column(name = "syzzsh", length = 64)
+    private String syzzsh;
+
+    @Column(name = "DRUG_NAME_", length = 64)
+    @PropertyDef(label = "鑽墏鍚嶇О")
+    private String drugName;
+
+    @PropertyDef(label = "鍓傚瀷")
+    @Column(name = "jx", length = 64)
+    private String jx;
+
+    @Column(name = "CONCENTRATION_", length = 50)
+    @PropertyDef(label = "鑽墏娴撳害", description = "%")
+    private Double concentration = 0.0;
+
+    @Column(name = "GRAIN_DOSE_")
+    @PropertyDef(label = "绮爢鍗曚綅鐢ㄨ嵂閲�", description = "g/m鲁")
+    private Double grainDose = 0.0;
+
+    @Column(name = "SPACE_DOSE_")
+    @PropertyDef(label = "绌洪棿鍗曚綅鐢ㄨ嵂閲�", description = "g/m鲁")
+    private Double SpaceDose = 0.0;
+
+    @Column(name = "DOSE_")
+    @PropertyDef(label = "鎬荤敤鑽噺", description = "kg")
+    private Double dose = 0.0;
+
+    @PropertyDef(label = "鏂借嵂鏂规硶", description = "0:娼В娉�1:浠撳鍙戠敓鍣�2:閽㈢摱姘�")
+    @Column(name = "syff", length = 1)
+    private String syff;
+
+    @PropertyDef(label = "杈呭姪鏂借嵂鎺柦")
+    @Column(name = "fzsycs", length = 128)
+    private String fzsycs;
+
+    @PropertyDef(label = "绌烘皵鍛煎惛鍣ㄥ強瀹夊叏妫�鏌ユ儏鍐�")
+    @Column(name = "kqhqjaqjcqk", length = 128)
+    private String kqhqjaqjcqk;
+
+    @PropertyDef(label = "纾峰寲姘㈡娴嬭缃皟璇曟儏鍐�")
+    @Column(name = "lhqjczztsqk", length = 128)
+    private String lhqjczztsqk;
+
+    @PropertyDef(label = "姘ф皵娣卞害妫�娴嬭缃皟璇曟儏鍐�")
+    @Column(name = "yqsdjczztsqk", length = 128)
+    private String yqsdjczztsqk;
+
+    @PropertyDef(label = "纾峰寲姘㈡姤璀︿华瀹夊叏妫�鏌�")
+    @Column(name = "lhqbjyaqjc", length = 128)
+    private String lhqbjyaqjc;
+
+    @PropertyDef(label = "姘ф皵鎶ヨ浠畨鍏ㄦ鏌�")
+    @Column(name = "yqbjyaqjc", length = 128)
+    private String yqbjyaqjc;
+
+    @PropertyDef(label = "琛ヨ嵂鍓嶄粨鍐呯7鍖栨阿娴撳害")
+    @Column(name = "byqcnlhqnd", precision = 20, scale = 3)
+    private double byqcnlhqnd;
+
+    @PropertyDef(label = "纾峰寲姘㈡祿搴﹀崟浣�", description = "1锛歡/m鲁(榛樿);2锛歱pm;3:ml/m鲁;4锛�%VOL")
+    @Column(name = "nlhqnddw", length = 1)
+    private String nlhqnddw;
+
+    @PropertyDef(label = "鐩爣娴撳害", description = "鍗曚綅锛歡/m鲁")
+    @Column(name = "mbnd", precision = 20, scale = 3)
+    private double mbnd;
+
+    @PropertyDef(label = "璁$畻琛ヨ嵂閲�", description = "鍗曚綅锛歡")
+    @Column(name = "jsbyl", precision = 20, scale = 3)
+    private double jsbyl;
+
+    @PropertyDef(label = "瀹為檯琛ヨ嵂閲�", description = "鍗曚綅锛歡")
+    @Column(name = "sjbyl", precision = 20, scale = 3)
+    private double sjbyl;
+
+    @PropertyDef(label = "琛ヨ嵂鏂规硶")
+    @Column(name = "byff", length = 128)
+    private String byff;
+
+    @PropertyDef(label = "浣滀笟浜烘暟")
+    @Column(name = "zyrs")
+    private Integer zyrs;
+
+    @PropertyDef(label = "琛ヨ嵂浣滀笟鎵瑰噯浜�")
+    @Column(name = "byzypzr", length = 64)
+    private String byzypzr;
+
+    @PropertyDef(label = "鐜板満鎸囨尌浜�")
+    @Column(name = "xczhr", length = 64)
+    private String xczhr;
+
+    @PropertyDef(label = "宄板�兼祿搴�", description = "鍗曚綅锛歡/m鲁")
+    @Column(name = "fznd", precision = 20, scale = 3)
+    private double fznd;
+
+    @PropertyDef(label = "鐩爣娴撳害缁存寔澶╂暟", description = "鍗曚綅锛氬ぉ")
+    @Column(name = "mbndwcts")
+    private Integer mbndwcts;
+
+    @PropertyDef(label = "婕忔皵浣嶇疆鐩戞祴")
+    @Column(name = "lswzjc", length = 128)
+    private String lswzjc;
+
+    @PropertyDef(label = "婕忔皵閮ㄤ綅閲囧彇鐨勮ˉ鏁戞帾鏂�")
+    @Column(name = "lqbwcqdbjcs", length = 128)
+    private String lqbwcqdbjcs;
+
+    @PropertyDef(label = "瀵嗛棴鏃堕棿", description = "鍗曚綅锛氬ぉ")
+    @Column(name = "mbsj")
+    private Integer mbsj;
+
+    @PropertyDef(label = "CT鍊�")
+    @Column(name = "ctz", precision = 20, scale = 3)
+    private double ctz;
+
+    @PropertyDef(label = "鏁f皵鍓嶇7鍖栨阿娴撳害", description = "鍗曚綅锛歡/m鲁")
+    @Column(name = "sqqlhqnd", precision = 20, scale = 3)
+    private double sqqlhqnd;
+
+    @Column(name = "VENTILATE_TIME_")
+    @PropertyDef(label = "鏁f皵鏃堕棿")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date ventilateTime;
+
+    @Column(name = "VENTILATE_METHOD_", length = 100)
+    @PropertyDef(label = "鏁f皵鏂规硶")
+    private String ventilateMethod;
+
+    @PropertyDef(label = "鏁f皵鎵瑰噯浜�")
+    @Column(name = "sqpzr", length = 64)
+    private String sqpzr;
+
+    @PropertyDef(label = "鏁f皵鎸佺画澶╂暟", description = "鍗曚綅锛氬ぉ")
+    @Column(name = "sqcsts")
+    private Integer sqcsts;
+
+    @Column(name = "AFTER_PH3_")
+    @PropertyDef(label = "鏁f皵鍚庣7鍖栨阿娴撳害", description = "鍗曚綅锛歡/m鲁")
+    private Double afterPh3;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @PropertyDef(label = "娈嬫福鏀堕泦浣滀笟鏃堕棿")
+    @Column(name = "czsjzysj")
+    private Date czsjzysj;
+
+    @PropertyDef(label = "娈嬫福鏀堕泦浣滀笟浜烘暟")
+    @Column(name = "czsjzyrs")
+    private Integer czsjzyrs;
+
+    @PropertyDef(label = "娈嬫福鏀堕泦鏂规硶")
+    @Column(name = "czsjff", length = 128)
+    private String czsjff;
+
+    @PropertyDef(label = "娈嬫福鏀堕泦浣滀笟鎵瑰噯浜�")
+    @Column(name = "czsjzypzr", length = 64)
+    private String czsjzypzr;
+
+    @PropertyDef(label = "娈嬫福澶勭悊鎺柦")
+    @Column(name = "czclcs", length = 128)
+    private String czclcs;
+
+    @PropertyDef(label = "娈嬫福澶勭悊浣滀笟浜烘暟")
+    @Column(name = "czclzyrs")
+    private Integer czclzyrs;
+
+    @PropertyDef(label = "娈嬫福澶勭悊鎵瑰噯浜�")
+    @Column(name = "czclpzr", length = 64)
+    private String czclpzr;
+
+    @PropertyDef(label = "鐔忚捀鍚庢椿铏鍑烘儏鍐�")
+    @Column(name = "xzhhcjcqk", length = 128)
+    private String xzhhcjcqk;
+
+    @PropertyDef(label = "鐔忚捀鍚庤櫕鍙e瘑搴�", description = "鍗曚綅锛氬ご/kg")
+    @Column(name = "xzhckmd")
+    private Integer xzhckmd;
+
+    @PropertyDef(label = "鍩瑰吇15澶╁悗娲昏櫕鏁�", description = "鍗曚綅锛氬ご/kg")
+    @Column(name = "pyswthhcs")
+    private Integer pyswthhcs;
+
+    @PropertyDef(label = "鍩瑰吇45澶╁悗娲昏櫕鏁�", description = "鍗曚綅锛氬ご/kg")
+    @Column(name = "pysswthhcs")
+    private Integer pysswthhcs;
 
 
-	@Column(name = "MODE_", length = 50)
-	@PropertyDef(label = "鐔忚捀鏂瑰紡")
-	private String mode;
+    /**
+     * 0锛氳壇濂�
+     * 1锛氫竴鑸�
+     * 2锛氫笉濂�
+     */
+    @Column(name = "EVALUATE_", length = 1)
+    @PropertyDef(label = "鐔忚捀璇勪环", description = "0锛氳壇濂� 1锛氫竴鑸� 2锛氫笉濂�")
+    private String evaluate;
 
-	@Column(name = "RECIR_MODE_", length = 50)
-	@PropertyDef(label = "鐜祦鐔忚捀鏂瑰紡")
-	private String recirMode;
+    @PropertyDef(label = "鐔忚捀璐熻矗浜�")
+    @Column(name = "xzfzr", length = 64)
+    private String xzfzr;
 
-	@Column(name = "DRUG_NAME_", length = 50)
-	@PropertyDef(label = "鑽墏鍚嶇О")
-	private String drugName;
+    @PropertyDef(label = "鐔忚捀浣滀笟浜哄憳")
+    @Column(name = "xzzyry", length = 128)
+    private String xzzyry;
 
-	@Column(name = "CONCENTRATION_", length = 50)
-	@PropertyDef(label = "鑽墏娴撳害",description = "%")
-	private Double concentration = 0.0;
+    @Column(name = "USER_", length = 30)
+    @PropertyDef(label = "鎿嶄綔浜�")
+    private String user;
 
-	@Column(name = "GRAIN_DOSE_")
-	@PropertyDef(label = "绮爢浣跨敤鍓傞噺",description = "g/m鲁")
-	private Double grainDose = 0.0;
+    @PropertyDef(label = "鏇存柊浜�")
+    @Column(name = "UPDATE_USER_", length = 30)
+    private String updateUser;
 
-	@Column(name = "SPACE_DOSE_")
-	@PropertyDef(label = "绌洪棿浣跨敤鍓傞噺",description = "g/m鲁")
-	private Double SpaceDose =0.0;
+    @PropertyDef(label = "鏇存柊鏃堕棿")
+    @Column(name = "UPDATE_TIME_")
+    private Date updateTime;
 
-	@Column(name = "DOSE_")
-	@PropertyDef(label = "鎬讳娇鐢ㄥ墏閲�",description = "g/m鲁")
-	private Double dose = 0.0;
-
-
-	@Column(name = "VENTILATE_TIME_")
-	@PropertyDef(label = "鏁f皵鏃堕棿")
-	private Date ventilateTime;
-
-	@Column(name = "VENTILATE_METHOD_",length = 100)
-	@PropertyDef(label = "鏁f皵鏂规硶")
-	private String  ventilateMethod;
-
-	@Column(name = "AFTER_PH3_")
-	@PropertyDef(label = "鏁f皵鍚庣7鍖栨阿娴撳害")
-	private Double afterPh3;
-
-	/**
-	 * 0锛氳壇濂�
-	 * 1锛氫竴鑸�
-	 * 2锛氫笉濂�
-	 */
-	@Column(name = "EVALUATE_",length = 10)
-	@PropertyDef(label = "鐔忚捀璇勪环")
-	private String evaluate;
-
-	@Column(name = "CZSJFF_",length = 100)
-	@PropertyDef(label = "娈嬫福鏀堕泦鏂规硶")
-	private String czsjff;
-
-	@Column(name = "CZCLCS_",length = 100)
-	@PropertyDef(label = "娈嬫福澶勭悊鎺柦")
-	private String czclcs;
-
-	@Column(name = "USER_", length = 30)
-	@PropertyDef(label = "鎿嶄綔浜�")
-	private String user;
-
-	@PropertyDef(label = "鏇存柊浜�")
-	@Column(name = "UPDATE_USER_", length = 30)
-	private String updateUser;
-
-	@PropertyDef(label = "鎿嶄綔鏃堕棿")
-	@Column(name = "UPDATE_TIME_")
-	private Date updateTime;
-
-	@Column(name = "REMARKS_", length = 500)
-	@PropertyDef(label = "澶囨敞璇存槑")
-	private String remarks;
+    @Column(name = "REMARKS_", length = 500)
+    @PropertyDef(label = "澶囨敞璇存槑")
+    private String remarks;
 
 }
diff --git a/igds-recir/src/main/java/models/recir.model.xml b/igds-recir/src/main/java/models/recir.model.xml
index 1e11730..1cafba1 100644
--- a/igds-recir/src/main/java/models/recir.model.xml
+++ b/igds-recir/src/main/java/models/recir.model.xml
@@ -4,7 +4,7 @@
     <Property name="creationType">com.ld.igds.models.Drug</Property>
     <PropertyDef name="id">
       <Property></Property>
-      <Property name="label">缂栫爜</Property>
+      <Property name="label">缂栫爜鑽墏缂栧彿</Property>
     </PropertyDef>
     <PropertyDef name="companyId">
       <Property></Property>
@@ -27,19 +27,108 @@
     <PropertyDef name="count">
       <Property name="dataType">int</Property>
       <Property name="label">搴撳瓨閲�</Property>
+      <Property name="required">true</Property>
     </PropertyDef>
     <PropertyDef name="updateUser">
       <Property></Property>
       <Property name="label">鎿嶄綔鍛�</Property>
     </PropertyDef>
     <PropertyDef name="updateTime">
-      <Property name="dataType">Date</Property>
+      <Property name="dataType">DateTime</Property>
       <Property name="label">鎿嶄綔鏃堕棿</Property>
     </PropertyDef>
     <PropertyDef name="remarks">
       <Property></Property>
       <Property name="label">澶囨敞淇℃伅</Property>
     </PropertyDef>
+    <PropertyDef name="deptId">
+      <Property/>
+      <Property name="label">鎵�灞炲簱鍖�</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;deptPR#loadParents&quot;).getResult()}</Property>
+        <Property name="keyProperty">id</Property>
+        <Property name="valueProperty">name</Property>
+      </Property>
+      <Property name="required">true</Property>
+    </PropertyDef>
+    <PropertyDef name="deptName">
+      <Property/>
+      <Property name="label">搴撳尯鍚嶇О</Property>
+    </PropertyDef>
+    <PropertyDef name="dwdm">
+      <Property/>
+      <Property name="label">鍗曚綅浠g爜</Property>
+    </PropertyDef>
+    <PropertyDef name="cgrq">
+      <Property name="dataType">Date</Property>
+      <Property name="label">閲囪喘鏃ユ湡</Property>
+      <Property name="required">true</Property>
+    </PropertyDef>
+    <PropertyDef name="bzw">
+      <Property/>
+      <Property name="label">鍖呰鐗�</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;drugPR#triggerPackage&quot;).getResult()}</Property>
+        <Property name="keyProperty">code</Property>
+        <Property name="valueProperty">name</Property>
+      </Property>
+      <Property name="required">true</Property>
+    </PropertyDef>
+    <PropertyDef name="ggxh">
+      <Property/>
+      <Property name="label">鍨嬪彿瑙勬牸</Property>
+      <Property name="required">true</Property>
+    </PropertyDef>
+    <PropertyDef name="aqsysms">
+      <Property/>
+      <Property name="label">瀹夊叏浣跨敤璇存槑涔�</Property>
+    </PropertyDef>
+    <PropertyDef name="sccj">
+      <Property/>
+      <Property name="label">鐢熶骇鍘傚</Property>
+      <Property name="required">true</Property>
+    </PropertyDef>
+    <PropertyDef name="cgly">
+      <Property/>
+      <Property name="label">閲囪喘鏉ユ簮</Property>
+    </PropertyDef>
+    <PropertyDef name="cctj">
+      <Property/>
+      <Property name="label">瀛樺偍鏉′欢</Property>
+    </PropertyDef>
+    <PropertyDef name="ccdd">
+      <Property/>
+      <Property name="label">鍌ㄥ瓨鍦扮偣</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;drugPR#triggerLocation&quot;).getResult()}</Property>
+        <Property name="keyProperty">code</Property>
+        <Property name="valueProperty">name</Property>
+      </Property>
+      <Property name="required">true</Property>
+    </PropertyDef>
+    <PropertyDef name="bzwclfs">
+      <Property/>
+      <Property name="label">鍖呰鐗╁鐞嗘柟寮�</Property>
+    </PropertyDef>
+    <PropertyDef name="czclfs">
+      <Property/>
+      <Property name="label">娈嬫福澶勭悊鏂瑰紡</Property>
+    </PropertyDef>
+    <PropertyDef name="bzq">
+      <Property/>
+      <Property name="label">淇濊川鏈�</Property>
+      <Property name="required">true</Property>
+      <Property name="dataType">Date</Property>
+    </PropertyDef>
+    <PropertyDef name="kcsldw">
+      <Property/>
+      <Property name="label">搴撳瓨閲忓崟浣�</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;drugPR#triggerUnit&quot;).getResult()}</Property>
+        <Property name="keyProperty">code</Property>
+        <Property name="valueProperty">name</Property>
+      </Property>
+    </PropertyDef>
   </DataType>
   <DataType name="dtTempIntelTask">
     <Property name="creationType">com.ld.igds.models.TempIntelTask</Property>

--
Gitblit v1.9.3