Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceOrgUnit.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceOrgUnit.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceOrgUnit.java (revision 35201) @@ -0,0 +1,102 @@ +package com.forgon.disinfectsystem.entity.invoicemanager; + +import java.util.ArrayList; +import java.util.List; + +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.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; + +/** + * 一次性物品自定义批量发货的待发货科室 + * @since 2023-01-30 + */ +@Entity +@DynamicInsert(false) +@DynamicUpdate(true) +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class InvoiceOrgUnit { + + private Long id; + + /** + * 当前登录用户ID + */ + private Long loginUserId; + + /** + * 科室ID + */ + private Long orgUnitId; + + /** + * 备注 + */ + private String remark; + + /** + * 待发一次性物品明细 + */ + @JsonIgnore + private List invoiceDisposableGoods = new ArrayList(); + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getLoginUserId() { + return loginUserId; + } + + public void setLoginUserId(Long loginUserId) { + this.loginUserId = loginUserId; + } + + public Long getOrgUnitId() { + return orgUnitId; + } + + public void setOrgUnitId(Long orgUnitId) { + this.orgUnitId = orgUnitId; + } + + @OneToMany(fetch = FetchType.LAZY) + @Cascade(value = { CascadeType.ALL }) + @JoinColumn(name = "invoice_org_id") + public List getInvoiceDisposableGoods() { + return invoiceDisposableGoods; + } + + public void setInvoiceDisposableGoods( + List invoiceDisposableGoods) { + this.invoiceDisposableGoods = invoiceDisposableGoods; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + +} Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOrgUnitManagerImpl.java =================================================================== diff -u --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOrgUnitManagerImpl.java (revision 0) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOrgUnitManagerImpl.java (revision 35201) @@ -0,0 +1,282 @@ +package com.forgon.disinfectsystem.invoicemanager.service; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang.StringUtils; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.service.OrgUnitManager; +import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; +import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceDisposableGoods; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceOrgUnit; +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.forgon.tools.util.SqlUtils; + +/** + * 一次性物品自定义批量发货设置待发货科室和待发货一次性物品明细的接口GYEY-786 + * @since 2023-01-30 + */ +public class InvoiceOrgUnitManagerImpl extends BasePoManagerImpl implements InvoiceOrgUnitManager { + + private OrgUnitManager orgUnitManager; + + private DiposableGoodsManager diposableGoodsManager; + + public void setDiposableGoodsManager(DiposableGoodsManager diposableGoodsManager) { + this.diposableGoodsManager = diposableGoodsManager; + } + + public void setOrgUnitManager(OrgUnitManager orgUnitManager) { + this.orgUnitManager = orgUnitManager; + } + + @Override + public void saveInvoiceOrgUnit(Long loginUserId, String disposableGoodIds, String orgUnitIds) { + if(!DatabaseUtil.isPoIdValid(loginUserId)){ + throw new SystemException("当前登录用户ID不能为空!"); + } + if(StringUtils.isBlank(disposableGoodIds) && StringUtils.isBlank(orgUnitIds)){ + throw new SystemException("待发货科室和待发货一次性物品不能为空!"); + } + //删除旧的待发货科室及一次性物品 + List oldInvoiceOrgUnitList = this.getByProperty("loginUserId", loginUserId); + List oldInvoiceOrgUnitIdList = new ArrayList(); + List oldDisposableGoodIdList = new ArrayList(); + if(CollectionUtils.isNotEmpty(oldInvoiceOrgUnitList)){ + for (InvoiceOrgUnit invoiceOrgUnit : oldInvoiceOrgUnitList) { + if(!oldInvoiceOrgUnitIdList.contains(invoiceOrgUnit.getOrgUnitId()) + && DatabaseUtil.isPoIdValid(invoiceOrgUnit.getOrgUnitId())){ + oldInvoiceOrgUnitIdList.add(invoiceOrgUnit.getOrgUnitId()); + } + List invoiceDisposableGoods = invoiceOrgUnit.getInvoiceDisposableGoods(); + if(CollectionUtils.isNotEmpty(invoiceDisposableGoods)){ + for (InvoiceDisposableGoods invoiceDisposableGoods2 : invoiceDisposableGoods) { + if(!oldDisposableGoodIdList.contains(invoiceDisposableGoods2.getDisposableGoodsId()) + && DatabaseUtil.isPoIdValid(invoiceDisposableGoods2.getDisposableGoodsId())){ + oldDisposableGoodIdList.add(invoiceDisposableGoods2.getDisposableGoodsId()); + } + } + } + } + for (InvoiceOrgUnit invoiceOrgUnit : oldInvoiceOrgUnitList) { + objectDao.delete(invoiceOrgUnit); + } + } + if(StringUtils.isBlank(orgUnitIds)){ + orgUnitIds = StringTools.join(oldInvoiceOrgUnitIdList, ","); + } + if(StringUtils.isBlank(disposableGoodIds)){ + disposableGoodIds = StringTools.join(oldDisposableGoodIdList, ","); + } + + //保存待发货科室及一次性物品 + List newInvoiceOrgUnitList = buildInvoiceOrgUnitList(loginUserId, disposableGoodIds, orgUnitIds); + if(CollectionUtils.isNotEmpty(newInvoiceOrgUnitList)){ + for (InvoiceOrgUnit invoiceOrgUnit : newInvoiceOrgUnitList) { + objectDao.save(invoiceOrgUnit); + } + } + } + + /** + * 保存待发货科室及一次性物品 + * @param loginUserId + * @param invoiceDisposableGoods + * @return + */ + private List buildInvoiceOrgUnitList(Long loginUserId, String disposableGoodIds, String orgUnitIds) { + List invoiceOrgUnitList = new ArrayList(); + Collection orgUnitIdList = StringTools.toCollectionIgnoreNullAndBlank(orgUnitIds, ","); + Collection disposableGoodIdList = StringTools.toCollectionIgnoreNullAndBlank(disposableGoodIds, ","); + //判断是否包含高值耗材,一次性自定义批量发货功能仅支持普通一次性物品,类型为“高值耗材”的一次性物品暂不支持! + isNotExpensiveDisposableGoods(disposableGoodIdList); + //判断是否申请科室 + isApplicationDepartment(orgUnitIdList); + if(CollectionUtils.isNotEmpty(orgUnitIdList)){ + for (String orgUnitId : orgUnitIdList) { + //保存待发货科室 + if(!DatabaseUtil.isPoIdValid(orgUnitId)){ + throw new SystemException("科室ID" + orgUnitId + "无效"); + } + InvoiceOrgUnit invoiceOrgUnit = new InvoiceOrgUnit(); + invoiceOrgUnit.setLoginUserId(loginUserId); + invoiceOrgUnit.setOrgUnitId(Long.valueOf(orgUnitId)); + //保存待发货的一次性物品 + if(CollectionUtils.isNotEmpty(disposableGoodIdList)){ + for (String disposableGoodsId : disposableGoodIdList) { + InvoiceDisposableGoods invoiceDisposableGoods = new InvoiceDisposableGoods(); + if(!DatabaseUtil.isPoIdValid(disposableGoodsId)){ + throw new SystemException("一次性物品ID" + disposableGoodsId + "无效"); + } + invoiceDisposableGoods.setDisposableGoodsId(Long.valueOf(disposableGoodsId)); + invoiceOrgUnit.getInvoiceDisposableGoods().add(invoiceDisposableGoods); + } + } + invoiceOrgUnitList.add(invoiceOrgUnit); + } + }else{ + InvoiceOrgUnit invoiceOrgUnit = new InvoiceOrgUnit(); + invoiceOrgUnit.setLoginUserId(loginUserId); + //保存待发货的一次性物品 + if(CollectionUtils.isNotEmpty(disposableGoodIdList)){ + for (String disposableGoodsId : disposableGoodIdList) { + InvoiceDisposableGoods invoiceDisposableGoods = new InvoiceDisposableGoods(); + if(!DatabaseUtil.isPoIdValid(disposableGoodsId)){ + throw new SystemException("一次性物品ID" + disposableGoodsId + "无效"); + } + invoiceDisposableGoods.setDisposableGoodsId(Long.valueOf(disposableGoodsId)); + invoiceOrgUnit.getInvoiceDisposableGoods().add(invoiceDisposableGoods); + } + } + invoiceOrgUnitList.add(invoiceOrgUnit); + } + return invoiceOrgUnitList; + } + + /** + * 判断一次性物品是否为“高值耗材”; + * 类型为“高值耗材”的一次性物品暂不支持一次性自定义批量发货功能 + * @param disposableGoodIds + */ + private void isNotExpensiveDisposableGoods(Collection disposableGoodIds) { + if(CollectionUtils.isEmpty(disposableGoodIds)){ + return; + } + List expensiveDisposableGoodsList = new ArrayList(); + String sql = String.format("select po.name, po.specification from %s po " + + "where po.goodsType = '%s' and %s ", + DisposableGoods.class.getSimpleName(), + DisposableGoods.TYPE_EXPENSIVEDIPOSABLEGOODS, + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.id", disposableGoodIds)); + ResultSet rs = null; + try { + rs = objectDao.executeSql(sql); + while(rs.next()){ + String name = rs.getString("name"); + String specification = rs.getString("specification"); + if(StringUtils.isNotBlank(specification)){ + name += "[" + specification + "]"; + } + expensiveDisposableGoodsList.add(name); + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + if(CollectionUtils.isNotEmpty(expensiveDisposableGoodsList)){ + throw new SystemException("“" + expensiveDisposableGoodsList.get(0) + "”为“高值耗材”,一次性自定义批量发货功能仅支持普通一次性物品,类型为“高值耗材”的一次性物品暂不支持!"); + } + } + + /** + * 判断科室是否申请科室 + * @param orgUnitIds + */ + private void isApplicationDepartment(Collection orgUnitIds) { + if(CollectionUtils.isEmpty(orgUnitIds)){ + return; + } + List noApplicationDepartmentList = new ArrayList(); + String sql = String.format("select ou.name department from %s ou " + + "left join %s src on ou.orgUnitCoding = src.orgUnitCoding " + + "where src.supplyRoomType = '%s' and %s and src.id is null ", + OrgUnit.class.getSimpleName(), + SupplyRoomConfig.class.getSimpleName(), + SupplyRoomConfig.SUPPLYROOM_TYPE_APPLY, + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("ou.id", orgUnitIds)); + ResultSet rs = null; + try { + rs = objectDao.executeSql(sql); + while(rs.next()){ + String department = rs.getString("department"); + noApplicationDepartmentList.add(department); + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + if(CollectionUtils.isNotEmpty(noApplicationDepartmentList)){ + throw new SystemException(noApplicationDepartmentList.get(0) + "科室不符合发货条件,请先在“科室申领配置”中配置后再发货。"); + } + } + + @Override + public JSONArray loadInvoiceOrgUnit(Long loginUserId) { + JSONArray data = new JSONArray(); + List oldInvoiceOrgUnitList = this.getByProperty("loginUserId", loginUserId); + if(CollectionUtils.isEmpty(oldInvoiceOrgUnitList)){ + return data; + } + //待发货科室及一次性物品明细 + JSONArray orgUnitJSONArray = new JSONArray(); + List invoiceDisposableGoodsList = oldInvoiceOrgUnitList.get(0).getInvoiceDisposableGoods(); + for (InvoiceOrgUnit invoiceOrgUnit : oldInvoiceOrgUnitList) { + JSONObject json = new JSONObject(); + OrgUnit orgUnit = orgUnitManager.get(invoiceOrgUnit.getOrgUnitId()); + if(orgUnit == null){ + continue; + } + if(CollectionUtils.isEmpty(invoiceDisposableGoodsList)){ + invoiceDisposableGoodsList = invoiceOrgUnit.getInvoiceDisposableGoods(); + } + json.put("orgUnitId", orgUnit.getId()); + json.put("orgUnitCode", orgUnit.getOrgUnitCoding()); + json.put("orgUnitName", orgUnit.getName()); + orgUnitJSONArray.add(json); + } + data.add(orgUnitJSONArray); + if(CollectionUtils.isNotEmpty(invoiceDisposableGoodsList)){ + JSONArray disposableGoodsJSONArray = new JSONArray(); + for (InvoiceDisposableGoods invoiceDisposableGoods : invoiceDisposableGoodsList) { + DisposableGoods disposableGoods = diposableGoodsManager.get(invoiceDisposableGoods.getDisposableGoodsId()); + if(disposableGoods == null){ + continue; + } + String showName = disposableGoods.getName(); + String specification = disposableGoods.getSpecification(); + if(StringUtils.isNotEmpty(specification)){ + showName += "[" + specification + "]"; + } + Double referencePrice = disposableGoods.getReferencePrice() == null ? 0.0 : disposableGoods.getReferencePrice(); + JSONObject disposableGoodsJson = new JSONObject(); + disposableGoodsJson.put("disposableGoodsId", disposableGoods.getId()); + disposableGoodsJson.put("showName", showName); + disposableGoodsJson.put("price/unit", referencePrice + "/" + StringTools.defaultString(disposableGoods.getUnit())); + + disposableGoodsJSONArray.add(disposableGoodsJson); + } + data.add(disposableGoodsJSONArray); + } + return data; + } + + @Override + public void deleteLoginUserInvoiceOrgUnit() { + Long loginUserId = AcegiHelper.getLoginUser().getUserId(); + List invoiceOrgUnitList = this.getByProperty("loginUserId", loginUserId); + if(CollectionUtils.isNotEmpty(invoiceOrgUnitList)){ + if(CollectionUtils.isNotEmpty(invoiceOrgUnitList)){ + for (InvoiceOrgUnit invoiceOrgUnit : invoiceOrgUnitList) { + this.delete(invoiceOrgUnit); + } + } + } + } + +} Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOrgUnitManager.java =================================================================== diff -u --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOrgUnitManager.java (revision 0) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOrgUnitManager.java (revision 35201) @@ -0,0 +1,33 @@ +package com.forgon.disinfectsystem.invoicemanager.service; + +import net.sf.json.JSONArray; + +import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceOrgUnit; +import com.forgon.tools.hibernate.BasePoManager; + +/** + * 一次性物品自定义批量发货设置待发货科室和待发货一次性物品明细的接口GYEY-786 + * @since 2023-01-30 + */ +public interface InvoiceOrgUnitManager extends BasePoManager { + + /** + * 设置待发货科室和待发货一次性物品 + * @param loginUserId + * @param invoiceDisposableGoods + */ + public void saveInvoiceOrgUnit(Long loginUserId, String disposableGoodsId, String orgUnitIds); + + /** + * 加载当前登录用户设置的待发货科室和待发货一次性物品 + * @param loginUserId + * @return + */ + public JSONArray loadInvoiceOrgUnit(Long loginUserId); + + /** + * 删除当前登录用户设置的待发货科室和一次性物品 + */ + public void deleteLoginUserInvoiceOrgUnit(); + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceDisposableGoods.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceDisposableGoods.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceDisposableGoods.java (revision 35201) @@ -0,0 +1,55 @@ +package com.forgon.disinfectsystem.entity.invoicemanager; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +/** + * 一次性物品自定义批量发货的待发货一次性物品明细 + * @since 2023-01-30 + */ +@Entity +@DynamicInsert(false) +@DynamicUpdate(true) +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class InvoiceDisposableGoods { + + private Long id; + + private Long disposableGoodsId; + + private Long amount; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDisposableGoodsId() { + return disposableGoodsId; + } + + public void setDisposableGoodsId(Long disposableGoodsId) { + this.disposableGoodsId = disposableGoodsId; + } + + public Long getAmount() { + return amount; + } + + public void setAmount(Long amount) { + this.amount = amount; + } + +} Index: ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-disinfectsystem-service.xml =================================================================== diff -u -r35163 -r35201 --- ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 35163) +++ ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 35201) @@ -2867,4 +2867,16 @@ + + + + + + + + + + + \ No newline at end of file Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceOrgUnitAction.java =================================================================== diff -u --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceOrgUnitAction.java (revision 0) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceOrgUnitAction.java (revision 35201) @@ -0,0 +1,115 @@ +package com.forgon.disinfectsystem.invoicemanager.action; + +import java.util.List; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +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.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.entity.invoicemanager.InvoiceOrgUnit; +import com.forgon.disinfectsystem.invoicemanager.service.InvoiceOrgUnitManager; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.json.JSONUtil; +import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.Preparable; + +/** + * 一次性物品自定义批量发货设置待发货科室和待发货一次性物品明细的接口GYEY-786 + * @since 2023-01-30 + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem") +@Action(value = "invoiceOrgUnitAction") +public class InvoiceOrgUnitAction implements ModelDriven, Preparable { + + private InvoiceOrgUnit invoiceOrgUnit; + + private InvoiceOrgUnitManager invoiceOrgUnitManager; + + public void setInvoiceOrgUnitManager(InvoiceOrgUnitManager invoiceOrgUnitManager) { + this.invoiceOrgUnitManager = invoiceOrgUnitManager; + } + + /** + * 设置待发货科室或者设置待发货一次性物品 + */ + public void saveInvoiceOrgUnit(){ + JSONObject result = JSONUtil.buildJsonObject(true, "保存成功"); + Long loginUserId = AcegiHelper.getLoginUser().getUserId(); + String disposableGoodsIds = StrutsParamUtils.getPraramValue("disposableGoodsIds", ""); + String orgUnitIds = StrutsParamUtils.getPraramValue("orgUnitIds", ""); + try { + invoiceOrgUnitManager.saveInvoiceOrgUnit(loginUserId, disposableGoodsIds, orgUnitIds); + } catch (Exception e) { + result = JSONUtil.buildJsonObject(false, "保存失败:" + e.getMessage()); + } + StrutsResponseUtils.output(result); + } + + /** + * 加载待发货科室和待发货一次性物品 + */ + public void loadInvoiceOrgUnit(){ + JSONObject result = JSONUtil.buildJsonObject(true); + Long loginUserId = AcegiHelper.getLoginUser().getUserId(); + try { + JSONArray data = invoiceOrgUnitManager.loadInvoiceOrgUnit(loginUserId); + result = JSONUtil.buildJsonObject(true, data); + } catch (Exception e) { + result = JSONUtil.buildJsonObject(false, "查询失败:" + e.getMessage()); + } + StrutsResponseUtils.output(result); + } + + /** + * 删除待发货科室和待发货一次性物品 + */ + public void deleteInvoiceOrgUnit(){ + JSONObject result = JSONUtil.buildJsonObject(true, "删除成功"); + try { + if(DatabaseUtil.isPoIdValid(invoiceOrgUnit.getId())){ + invoiceOrgUnitManager.delete(invoiceOrgUnit); + } + } catch (Exception e) { + result = JSONUtil.buildJsonObject(false, "删除失败:" + e.getMessage()); + } + StrutsResponseUtils.output(result); + } + + /** + * 删除当前登录用户设置的待发货科室和一次性物品 + */ + public void deleteLoginUserInvoiceOrgUnit(){ + JSONObject result = JSONUtil.buildJsonObject(true, "删除成功"); + try { + invoiceOrgUnitManager.deleteLoginUserInvoiceOrgUnit(); + } catch (Exception e) { + result = JSONUtil.buildJsonObject(false, "删除失败:" + e.getMessage()); + } + StrutsResponseUtils.output(result); + } + + @Override + public void prepare() throws Exception { + String id = StrutsParamUtils.getPraramValue("id", ""); + if(DatabaseUtil.isPoIdValid(id)){ + invoiceOrgUnit = invoiceOrgUnitManager.get(id); + } + if(invoiceOrgUnit == null){ + invoiceOrgUnit = new InvoiceOrgUnit(); + } + } + + @Override + public InvoiceOrgUnit getModel() { + return invoiceOrgUnit; + } + +}