Index: ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-disinfectsystem-service.xml =================================================================== diff -u -r32918 -r33110 --- ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 32918) +++ ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 33110) @@ -2745,4 +2745,15 @@ class="com.forgon.disinfectsystem.adverseeventrecord.service.AdverseEventRecordManagerImpl"> + + + + + + + + + + \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/instrumentrepair/InstrumentRepair.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/instrumentrepair/InstrumentRepair.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/instrumentrepair/InstrumentRepair.java (revision 33110) @@ -0,0 +1,474 @@ +package com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.Transient; + +import org.apache.commons.collections.MapUtils; +import org.apache.commons.collections4.CollectionUtils; +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; +import org.hibernate.annotations.Cascade; +import org.hibernate.annotations.CascadeType; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.forgon.Constants; +import com.forgon.tools.string.StringTools; + +/** + * 器械维修管理 + * @author ZhouPeiMian + * @since 2022-01-24 + */ +@Entity +@DynamicInsert(false) +@DynamicUpdate(true) +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class InstrumentRepair { + + private Long id; + + /** + * 状态(维修中,待维修,已修好,报废) + */ + private String repairStatus = REPAIR_STATUS_REPAIRING; + + //状态(维修中,待维修,已修好,报废) + public final static String REPAIR_STATUS_REPAIRING = "维修中"; + public final static String REPAIR_STATUS_WAIRT_REPAIR = "待维修"; + public final static String REPAIR_STATUS_REPAIRED = "已修好"; + public final static String REPAIR_STATUS_DISCARD = "报废"; + + /** + * 登记人ID + */ + private Long registrantID; + + /** + * 登记人姓名 + */ + private String registrantName; + + /** + * 登记时间 + */ + private Date registerDateTime; + + /** + * 房间号 + */ + private String roomNumber; + + /** + * 洗手护士ID(发现故障) + */ + private Long washHandNurseID; + + /** + * 洗手护士姓名(发现故障) + */ + private String washHandNurseName; + + /** + * 送修护士ID + */ + private Long repairNurseID; + + /** + * 送修护士 + */ + private String repairNurseName; + + /** + * 工程师(现场) + */ + private String engineer; + + /** + * 送修类别:默认不勾选,选项有:送修厂家、自行维修、无法维修,只能选择其中一个 + */ + private String repairType; + + //默认不勾选,选项有:送修厂家、自行维修、无法维修 + public final static String REPAIR_TYPE_MANUFACTOR_REPAIR = "送修厂家"; + public final static String REPAIR_TYPE_SELF_REPAIR = "自行维修"; + public final static String REPAIR_TYPE_UNABLE_REPAIR = "无法维修"; + + /** + * 器械是否唯一:默认不勾选,选项有“是”和“否” + */ + private String uniqueTousse; + + /** + * 维修时间 + */ + private Date repairDateTime; + + /** + * 是否感染:“是”和“否” + */ + private String infected = Constants.STR_NO; + + /** + * 感染的疾病 + */ + private String infectDisease; + + /** + * 器械故障现象描述并标记故障点 + */ + private String repairDesc; + + /** + * 出科交接人ID + */ + private String outHandoverUserID; + + /** + * 出科交接人名称 + */ + private String outHandoverUserName; + + /** + * 出科时间 + */ + private Date outHandoverDateTime; + + /** + * 回科交接人ID + */ + private String returnHandoverUserID; + + /** + * 回科交接人姓名 + */ + private String returnHandoverUserName; + + /** + * 回科时间 + */ + private Date returnHandoverDateTime; + + /** + * 审核人ID + */ + private Long reviewerID; + + /** + * 审核人姓名 + */ + private String reviewerName; + + /** + * 审核状态 + */ + private String reviewStatus = REVIEW_STATUS_UNREVIEW; + //审核状态 + public final static String REVIEW_STATUS_REVIEWED = "已审核"; + public final static String REVIEW_STATUS_UNREVIEW = "未审核"; + + /** + * 废弃时间 + */ + private Date discardDateTime; + + /** + * 备注 + */ + private String remark; + + /** + * 需要维修的器械 + */ + private List instrumentRepairGoodsList = new ArrayList(); + + /** + * 材料明细汇总信息 + */ + private String materialNameAndAmount; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getRepairStatus() { + return repairStatus; + } + + public void setRepairStatus(String repairStatus) { + this.repairStatus = repairStatus; + } + + public Long getRegistrantID() { + return registrantID; + } + + public void setRegistrantID(Long registrantID) { + this.registrantID = registrantID; + } + + public String getRegistrantName() { + return registrantName; + } + + public void setRegistrantName(String registrantName) { + this.registrantName = registrantName; + } + + public Date getRegisterDateTime() { + return registerDateTime; + } + + public void setRegisterDateTime(Date registerDateTime) { + this.registerDateTime = registerDateTime; + } + + public String getRoomNumber() { + return roomNumber; + } + + public void setRoomNumber(String roomNumber) { + this.roomNumber = roomNumber; + } + + public Long getWashHandNurseID() { + return washHandNurseID; + } + + public void setWashHandNurseID(Long washHandNurseID) { + this.washHandNurseID = washHandNurseID; + } + + public String getWashHandNurseName() { + return washHandNurseName; + } + + public void setWashHandNurseName(String washHandNurseName) { + this.washHandNurseName = washHandNurseName; + } + + public Long getRepairNurseID() { + return repairNurseID; + } + + public void setRepairNurseID(Long repairNurseID) { + this.repairNurseID = repairNurseID; + } + + public String getRepairNurseName() { + return repairNurseName; + } + + public void setRepairNurseName(String repairNurseName) { + this.repairNurseName = repairNurseName; + } + + public String getEngineer() { + return engineer; + } + + public void setEngineer(String engineer) { + this.engineer = engineer; + } + + public String getRepairType() { + return repairType; + } + + public void setRepairType(String repairType) { + this.repairType = repairType; + } + + public String getUniqueTousse() { + return uniqueTousse; + } + + public void setUniqueTousse(String uniqueTousse) { + this.uniqueTousse = uniqueTousse; + } + + public Date getRepairDateTime() { + return repairDateTime; + } + + public void setRepairDateTime(Date repairDateTime) { + this.repairDateTime = repairDateTime; + } + + public String getInfected() { + return infected; + } + + public void setInfected(String infected) { + this.infected = infected; + } + + public String getInfectDisease() { + return infectDisease; + } + + public void setInfectDisease(String infectDisease) { + this.infectDisease = infectDisease; + } + + public String getRepairDesc() { + return repairDesc; + } + + public void setRepairDesc(String repairDesc) { + this.repairDesc = repairDesc; + } + + public String getOutHandoverUserID() { + return outHandoverUserID; + } + + public void setOutHandoverUserID(String outHandoverUserID) { + this.outHandoverUserID = outHandoverUserID; + } + + public String getOutHandoverUserName() { + return outHandoverUserName; + } + + public void setOutHandoverUserName(String outHandoverUserName) { + this.outHandoverUserName = outHandoverUserName; + } + + public Date getOutHandoverDateTime() { + return outHandoverDateTime; + } + + public void setOutHandoverDateTime(Date outHandoverDateTime) { + this.outHandoverDateTime = outHandoverDateTime; + } + + public String getReturnHandoverUserID() { + return returnHandoverUserID; + } + + public void setReturnHandoverUserID(String returnHandoverUserID) { + this.returnHandoverUserID = returnHandoverUserID; + } + + public String getReturnHandoverUserName() { + return returnHandoverUserName; + } + + public void setReturnHandoverUserName(String returnHandoverUserName) { + this.returnHandoverUserName = returnHandoverUserName; + } + + public Date getReturnHandoverDateTime() { + return returnHandoverDateTime; + } + + public void setReturnHandoverDateTime(Date returnHandoverDateTime) { + this.returnHandoverDateTime = returnHandoverDateTime; + } + + public Date getDiscardDateTime() { + return discardDateTime; + } + + public void setDiscardDateTime(Date discardDateTime) { + this.discardDateTime = discardDateTime; + } + + public Long getReviewerID() { + return reviewerID; + } + + public void setReviewerID(Long reviewerID) { + this.reviewerID = reviewerID; + } + + public String getReviewerName() { + return reviewerName; + } + + public void setReviewerName(String reviewerName) { + this.reviewerName = reviewerName; + } + + public String getReviewStatus() { + return reviewStatus; + } + + public void setReviewStatus(String reviewStatus) { + this.reviewStatus = reviewStatus; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + @OneToMany(mappedBy = "instrumentRepair",fetch = FetchType.EAGER) + @Cascade(value = { CascadeType.SAVE_UPDATE, CascadeType.DELETE }) + @JsonIgnore + public List getInstrumentRepairGoodsList() { + return instrumentRepairGoodsList; + } + + public void setInstrumentRepairGoodsList( + List instrumentRepairGoodsList) { + this.instrumentRepairGoodsList = instrumentRepairGoodsList; + } + + @Transient + public String getMaterialNameAndAmount() { + if(CollectionUtils.isEmpty(instrumentRepairGoodsList)){ + return ""; + } + materialNameAndAmount = ""; + Map materialAmountMap = new HashMap(); + for (InstrumentRepairGoods instrumentRepairGoods : instrumentRepairGoodsList) { + String materialName = instrumentRepairGoods.getMaterialDefinitionName(); + Integer amount = materialAmountMap.get(materialName); + if(amount == null){ + amount = 0; + } + Integer goodsAmount = instrumentRepairGoods.getAmount(); + goodsAmount = goodsAmount == null ? 0 : goodsAmount; + amount += goodsAmount; + materialAmountMap.put(materialName, amount); + } + List materialAmountList = new ArrayList(); + if(MapUtils.isNotEmpty(materialAmountMap)){ + for (String materialName : materialAmountMap.keySet()) { + materialAmountList.add(materialName + "x" + materialAmountMap.get(materialName)); + } + materialNameAndAmount = StringTools.join(materialAmountList, ","); + } + return materialNameAndAmount; + } + + public void setMaterialNameAndAmount(String materialNameAndAmount) { + this.materialNameAndAmount = materialNameAndAmount; + } + +} Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/action/InstrumentRepairAction.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/action/InstrumentRepairAction.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/action/InstrumentRepairAction.java (revision 33110) @@ -0,0 +1,168 @@ +package com.forgon.disinfectsystem.tousse.instrumentrepair.action; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + +import com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair.InstrumentRepair; +import com.forgon.disinfectsystem.tousse.instrumentrepair.service.InstrumentRepairManager; +import com.forgon.entity.PageEntity; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.json.DateJsonValueProcessor; +import com.forgon.tools.json.JSONUtil; +import com.forgon.tools.util.PageUtil; +import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.Preparable; + +/** + * 器械维修管理接口 + * @author ZhouPeiMian + * @since 2022-01-24 + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem/baseData") +@Action(value = "instrumentRepairAction") +public class InstrumentRepairAction implements Preparable, ModelDriven { + + private InstrumentRepair instrumentRepair; + + private InstrumentRepairManager instrumentRepairManager; + + public void setInstrumentRepairManager( + InstrumentRepairManager instrumentRepairManager) { + this.instrumentRepairManager = instrumentRepairManager; + } + + @Override + public InstrumentRepair getModel() { + return instrumentRepair; + } + + @Override + public void prepare() throws Exception { + instrumentRepair = new InstrumentRepair(); + String id = StrutsParamUtils.getPraramValue("id", ""); + if(DatabaseUtil.isPoIdValid(id)){ + instrumentRepair = instrumentRepairManager.get(id); + } + } + + /** + * 加载器械维修管理记录 + */ + public void loadInstrumentRepair(){ + try { + JsonConfig config = new JsonConfig(); + config.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss")); + config.setExcludes(new String[]{"instrumentRepair"}); + Map map = new HashMap(); + map.put("success", true); + map.put("data", instrumentRepair); + JSONObject result = JSONObject.fromObject(map, config); + StrutsResponseUtils.output(result); + } catch (Exception e) { + e.printStackTrace(); + JSONObject result = new JSONObject(); + JSONUtil.addSuccess(result, false); + JSONUtil.addMessage(result, "查询失败:" + e.getMessage()); + StrutsResponseUtils.output(result); + } + } + + /** + * 分页加载“器械维修管理”列表 + */ + public void loadInstrumentRepairList(){ + //分页的参数 + PageEntity pageEntity = PageUtil.getPagePara(); + //查询条件 + Map map = StrutsParamUtils.getParameters(); + JSONObject result = new JSONObject(); + JSONUtil.addSuccess(result, true); + JSONArray data = new JSONArray(); + try { + List instrumentRepairList = + instrumentRepairManager.loadInstrumentRepairList(pageEntity, map); + if(CollectionUtils.isNotEmpty(instrumentRepairList)){ + JsonConfig config = new JsonConfig(); + config.registerJsonValueProcessor(Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss")); + config.setExcludes(new String[]{"instrumentRepairGoodsList"}); + data = JSONArray.fromObject(instrumentRepairList, config); + } + JSONUtil.addProperty(result, "data", data); + JSONUtil.addProperty(result, "totalCount", pageEntity.getCount()); + } catch (Exception e) { + e.printStackTrace(); + JSONUtil.addSuccess(result, false); + JSONUtil.addMessage(result, "查询失败:" + e.getMessage()); + } + StrutsResponseUtils.output(result); + } + + /** + * 保存器械维修记录 + */ + public void saveInstrumentRepair(){ + String tousseMaterialInfo = StrutsParamUtils.getPraramValue("tousseMaterialInfo", ""); + JSONObject result = new JSONObject(); + try { + instrumentRepairManager.saveInstrumentRepair(instrumentRepair, tousseMaterialInfo); + JSONUtil.addSuccess(result, true); + JSONUtil.addMessage(result, "保存成功!"); + } catch (Exception e) { + JSONUtil.addSuccess(result, false); + JSONUtil.addMessage(result, "保存失败:" + e.getMessage()); + e.printStackTrace(); + } + StrutsResponseUtils.output(result); + } + + /** + * 删除器械维修记录 + */ + public void deleteInstrumentRepair(){ + JSONObject result = new JSONObject(); + try { + String ids = StrutsParamUtils.getPraramValue("ids", ""); + instrumentRepairManager.batchDeleteInstrumentRepair(ids); + JSONUtil.addSuccess(result, true); + JSONUtil.addMessage(result, "删除成功!"); + } catch (Exception e) { + JSONUtil.addSuccess(result, false); + JSONUtil.addMessage(result, "删除失败:" + e.getMessage()); + e.printStackTrace(); + } + StrutsResponseUtils.output(result); + } + + /** + * 审核器械维修记录 + */ + public void reviewInstrumentRepair(){ + JSONObject result = new JSONObject(); + try { + String ids = StrutsParamUtils.getPraramValue("ids", ""); + instrumentRepairManager.batchReviewInstrumentRepair(ids); + JSONUtil.addSuccess(result, true); + JSONUtil.addMessage(result, "审核成功!"); + } catch (Exception e) { + JSONUtil.addSuccess(result, false); + JSONUtil.addMessage(result, "审核失败:" + e.getMessage()); + e.printStackTrace(); + } + StrutsResponseUtils.output(result); + } + +} Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManager.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManager.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManager.java (revision 33110) @@ -0,0 +1,50 @@ +package com.forgon.disinfectsystem.tousse.instrumentrepair.service; + +import java.util.List; +import java.util.Map; + +import com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair.InstrumentRepair; +import com.forgon.entity.PageEntity; +import com.forgon.tools.hibernate.BasePoManager; + +/** + * 器械维修管理manager + * @author ZhouPeiMian + * @since 2022-01-24 + */ +public interface InstrumentRepairManager extends BasePoManager { + + /** + * 保存器械维修管理记录 + * @param instrumentRepair 器械维修管理记录 + * @param tousseMaterialInfo 器械及器械所属器械包信息 + */ + public void saveInstrumentRepair(InstrumentRepair instrumentRepair, String tousseMaterialInfo); + + /** + * 加载器械维修管理记录列表 + * @param pageEntity + * @param map + * @return + */ + public List loadInstrumentRepairList(PageEntity pageEntity, Map map); + + /** + * 审核器械维修管理记录 + * @param instrumentRepair + */ + public void reviewInstrumentRepair(InstrumentRepair instrumentRepair); + + /** + * 批量删除器械维修记录 + * @param ids + */ + public void batchDeleteInstrumentRepair(String ids); + + /** + * 批量审核器械维修记录 + * @param ids + */ + public void batchReviewInstrumentRepair(String ids); + +} Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManagerImpl.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManagerImpl.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/instrumentrepair/service/InstrumentRepairManagerImpl.java (revision 33110) @@ -0,0 +1,128 @@ +package com.forgon.disinfectsystem.tousse.instrumentrepair.service; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair.InstrumentRepair; +import com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair.InstrumentRepairGoods; +import com.forgon.entity.PageEntity; +import com.forgon.exception.SystemException; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.hibernate.BasePoManagerImpl; +import com.forgon.tools.string.StringTools; +import com.google.common.reflect.TypeToken; +import com.google.gson.Gson; + +/** + * 器械维修管理manager + * @author ZhouPeiMian + * @since 2022-01-24 + */ +public class InstrumentRepairManagerImpl extends BasePoManagerImpl implements InstrumentRepairManager{ + + @SuppressWarnings("serial") + @Override + public void saveInstrumentRepair(InstrumentRepair instrumentRepair, String tousseMaterialInfos) { + + if(DatabaseUtil.isPoIdValid(instrumentRepair.getId()) && StringUtils.equals(instrumentRepair.getReviewStatus(), InstrumentRepair.REVIEW_STATUS_REVIEWED)){ + throw new SystemException("该记录状态为已审核,不能修改!"); + } + + //删除旧的器械 + List oldInstrumentRepairGoodsList = instrumentRepair.getInstrumentRepairGoodsList(); + if(CollectionUtils.isNotEmpty(oldInstrumentRepairGoodsList)){ + for (InstrumentRepairGoods instrumentRepairGoods : oldInstrumentRepairGoodsList) { + instrumentRepairGoods.setInstrumentRepair(null); + objectDao.delete(instrumentRepairGoods); + } + instrumentRepair.setInstrumentRepairGoodsList(null); + } + + //保存基础信息 + this.objectDao.saveOrUpdate(instrumentRepair); + + //保存维修材料信息 + List instrumentRepairGoodsList = new ArrayList(); + if(StringUtils.isNotBlank(tousseMaterialInfos)){ + instrumentRepairGoodsList = new Gson().fromJson(tousseMaterialInfos, new TypeToken>(){}.getType()); + if(CollectionUtils.isNotEmpty(instrumentRepairGoodsList)){ + for (InstrumentRepairGoods instrumentRepairGoods : instrumentRepairGoodsList) { + instrumentRepairGoods.setInstrumentRepair(instrumentRepair); + } + } + } + instrumentRepair.setInstrumentRepairGoodsList(instrumentRepairGoodsList); + } + + @SuppressWarnings("unchecked") + @Override + public List loadInstrumentRepairList(PageEntity pageEntity, Map map) { + List instrumentRepairList = new ArrayList(); + String sql = " where 1=1 "; + //查询条件内容 + String searchKeyWord = map.get("searchKeyWord"); + //查询条件 + String searchColumns = map.get("searchColumns"); + if(StringUtils.isNotBlank(searchKeyWord) && StringUtils.isNotBlank(searchColumns)){ + Collection searchColumnColl = StringTools.toCollectionIgnoreNullAndBlank(searchColumns, ";"); + List sqlList = new ArrayList(); + for (String column : searchColumnColl) { + String tempSql = " po." + column + " like '%" + searchKeyWord + "%' "; + sqlList.add(tempSql); + } + sql += " and (" + StringTools.join(sqlList, "or") + ") "; + } + //总记录数 + String countSql = "select count(*) from " + InstrumentRepair.class.getSimpleName() + " po " + sql; + int totalCount = objectDao.countBySql(countSql); + pageEntity.setCount(totalCount); + //查询记录 + if(totalCount > 0){ + String hql = String.format("select po from %s po %s ", InstrumentRepair.class.getSimpleName(), sql); + instrumentRepairList = objectDao.findByHql(hql, pageEntity.getStart(), pageEntity.getLimit()); + } + return instrumentRepairList; + } + + @Override + public void reviewInstrumentRepair(InstrumentRepair instrumentRepair) { + if(instrumentRepair == null){ + return; + } + instrumentRepair.setReviewerID(AcegiHelper.getLoginUser().getUserId()); + instrumentRepair.setReviewerName(AcegiHelper.getLoginUser().getUserName()); + instrumentRepair.setReviewStatus(InstrumentRepair.REVIEW_STATUS_REVIEWED); + this.objectDao.saveOrUpdate(instrumentRepair); + } + + @Override + public void batchDeleteInstrumentRepair(String ids) { + if(StringUtils.isBlank(ids)){ + return; + } + List instrumentRepairList = this.getCollection(ids, ";"); + if(CollectionUtils.isNotEmpty(instrumentRepairList)){ + objectDao.deleteAll(instrumentRepairList); + } + } + + @Override + public void batchReviewInstrumentRepair(String ids) { + if(StringUtils.isBlank(ids)){ + return; + } + List instrumentRepairList = this.getCollection(ids, ";"); + if(CollectionUtils.isNotEmpty(instrumentRepairList)){ + for (InstrumentRepair instrumentRepair : instrumentRepairList) { + this.reviewInstrumentRepair(instrumentRepair); + } + } + } + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/instrumentrepair/InstrumentRepairGoods.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/instrumentrepair/InstrumentRepairGoods.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/instrumentrepair/InstrumentRepairGoods.java (revision 33110) @@ -0,0 +1,125 @@ +package com.forgon.disinfectsystem.entity.basedatamanager.instrumentrepair; + +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; + +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; +import org.hibernate.annotations.Cascade; +import org.hibernate.annotations.CascadeType; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +/** + * 维修器械 + * @author ZhouPeiMian + * @since 2022-01-25 + */ +@Entity +@DynamicInsert(false) +@DynamicUpdate(true) +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class InstrumentRepairGoods { + + private Long id; + + /** + * 材料定义ID + */ + private Long materialDefinitionID; + + /** + * 材料定义名称 + */ + private String materialDefinitionName; + + /** + * 材料器械所属器械定义ID + */ + private Long tousseDefinitionID; + + /** + * 材料器械所属器械包定义名称 + */ + private String tousseDefinitionName; + + /** + * 材料数量 + */ + private Integer amount; + + /** + * 维修器械关联的器械维修记录 + */ + private InstrumentRepair instrumentRepair; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getMaterialDefinitionID() { + return materialDefinitionID; + } + + public void setMaterialDefinitionID(Long materialDefinitionID) { + this.materialDefinitionID = materialDefinitionID; + } + + public String getMaterialDefinitionName() { + return materialDefinitionName; + } + + public void setMaterialDefinitionName(String materialDefinitionName) { + this.materialDefinitionName = materialDefinitionName; + } + + public Long getTousseDefinitionID() { + return tousseDefinitionID; + } + + public void setTousseDefinitionID(Long tousseDefinitionID) { + this.tousseDefinitionID = tousseDefinitionID; + } + + public String getTousseDefinitionName() { + return tousseDefinitionName; + } + + public void setTousseDefinitionName(String tousseDefinitionName) { + this.tousseDefinitionName = tousseDefinitionName; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + @ManyToOne(fetch = FetchType.EAGER) + @Cascade(value = { CascadeType.SAVE_UPDATE, CascadeType.DELETE}) + @JoinColumn(name = "instrumentRepair_ID") + public InstrumentRepair getInstrumentRepair() { + return instrumentRepair; + } + + public void setInstrumentRepair(InstrumentRepair instrumentRepair) { + this.instrumentRepair = instrumentRepair; + } + +}