package com.ld.igds.drug.service; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; import com.bstek.bdf2.core.orm.jdbc.JdbcDao; import com.bstek.dorado.data.provider.Page; 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.util.ContextUtil; /** * 后期调整为Hibernate * @author Andy * */ @Repository public class HDrugService extends JdbcDao { public void pageDrug(Page page, Map param) throws Exception { List args = new ArrayList(); args.add(ContextUtil.getCompanyId()); 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_ "; this.pagingQuery(page, sql, args.toArray(), new DrugRowMapper()); } public List listDrug(String name) { String sql = "select * from D_DRUG where company_id_ =? "; List args = new ArrayList(); args.add(ContextUtil.getCompanyId()); if (StringUtils.isNotEmpty(name)) { sql += " and name_ like ?"; args.add("%" + name + "%"); } sql += " order by name_ "; return this.getJdbcTemplate().query(sql, args.toArray(), new DrugRowMapper()); } public String delDrug(Drug data) { if (null == data.getId()) { return null; } String sql = " delete from D_DRUG where ID_ =?"; this.getJdbcTemplate().update(sql, new Object[] { data.getId() }); return null; } public String updateDrug(Drug data) { data.setUpdateTime(new Date()); data.setUpdateUser(ContextUtil.getLoginUserCName()); if (null == data.getId()) { return this.addDrug(data); } String sql = " update D_DRUG set name_=?," + "spec_=?," + "dosage_=?," + "count_=?," + "update_User_=?," + "update_Time_=?," + "remarks_=? where id_=?"; this.getJdbcTemplate().update( sql, new Object[] { data.getName(), data.getSpec(), data.getDosage(), data.getCount(), data.getUpdateUser(), data.getUpdateTime(), data.getRemarks(), data.getId() }); return null; } private String addDrug(Drug data) { data.setId(ContextUtil.getUUID()); data.setCompanyId(ContextUtil.getCompanyId()); String sql = " insert into D_DRUG(id_,company_ID_,name_,spec_,dosage_,count_,update_User_,update_Time_,remarks_) " + " values(?,?,?,?,?,?,?,?,?)"; this.getJdbcTemplate().update( sql, new Object[] { data.getId(), data.getCompanyId(), data.getName(), data.getSpec(), data.getDosage(), data.getCount(), data.getUpdateUser(), data.getUpdateTime(), data.getRemarks() }); return null; } public void pageDrugInout(Page page, Map param) { List args = new ArrayList(); args.add(ContextUtil.getCompanyId()); String sql = "select * from D_DRUG_INOUT where company_id_ =? "; if (null != param) { String str = (String) param.get("name"); if (StringUtils.isNotEmpty(str)) { sql += " and person_ like ?"; args.add("%" + str + "%"); } str = (String) param.get("type"); if (StringUtils.isNotEmpty(str)) { sql += " and type_ = ?"; args.add(str); } } 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 page, Map param) { List args = new ArrayList(); 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 page, Map param) { List args = new ArrayList(); 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()); } }