From 2583d630205582822e2af3026b75c5f915352bfc Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期六, 07 十月 2023 18:51:24 +0800
Subject: [PATCH] 贝博粮情解析6-温湿度解析
---
igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java | 510 +++++++++++++++++++++-----------------------------------
1 files changed, 190 insertions(+), 320 deletions(-)
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..045e470 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 = "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);
+ }
+ }
}
--
Gitblit v1.9.3