Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java =================================================================== diff -u -r12738 -r12739 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12738) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12739) @@ -40,6 +40,13 @@ public List getWareHouseListByCurrentOrgUnit(); /** + * 判断仓库是否已经存在,id不为空时判断名字是否与其它仓库名字相同,如果id为空判断名字是否已经存在 + * @param wareHouse + * @return + */ + public boolean existsWareHouse(WareHouse wareHouse); + + /** * 新增或修改仓库 * @param wareHouse * @return Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java =================================================================== diff -u -r12738 -r12739 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12738) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12739) @@ -108,10 +108,10 @@ * @throws Exception */ public WareHouse saveOrUpdateWareHouse(WareHouse wareHouse) throws Exception{ - if(existsWareHouse(wareHouse)){ - throw new Exception("仓库名称已存在"); - } LoginUserData userData = AcegiHelper.getLoginUser(); + if(wareHouse.getId() != null && wareHouse.getId() == 0){ + wareHouse.setId(null); + } if(userData != null){ wareHouse.setCreatedUserId(userData.getUserId()); wareHouse.setCreatedUserName(userData.getUserName()); @@ -132,9 +132,9 @@ * @param wareHouse * @return */ - private boolean existsWareHouse(WareHouse wareHouse){ + public boolean existsWareHouse(WareHouse wareHouse){ String sql = " where 1=1 "; - if(wareHouse.getId() != null){ + if(wareHouse.getId() != null && wareHouse.getId() != 0){ sql += " and id<> " + wareHouse.getId(); } sql += " and name = '" + wareHouse.getName() + "'"; Index: forgon-core/src/main/java/com/forgon/directory/model/BarcodeDevice.java =================================================================== diff -u -r12331 -r12739 --- forgon-core/src/main/java/com/forgon/directory/model/BarcodeDevice.java (.../BarcodeDevice.java) (revision 12331) +++ forgon-core/src/main/java/com/forgon/directory/model/BarcodeDevice.java (.../BarcodeDevice.java) (revision 12739) @@ -38,6 +38,7 @@ public static final String BARCODE_TYPE_INVOICE = "发货单"; public static final String BARCODE_TYPE_DIPOSABLEGOODS = "一次性物品"; public static final String BARCODE_TYPE_SIGNBOARD = "标识牌"; + public static final String BARCODE_TYPE_WAREHOUSE = "仓库"; @Id @GeneratedValue(strategy = GenerationType.AUTO) Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java =================================================================== diff -u -r12738 -r12739 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12738) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12739) @@ -21,6 +21,8 @@ import org.apache.struts2.convention.annotation.ParentPackage; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.BarcodeDevice; +import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; @@ -63,6 +65,40 @@ this.wareHouseManager = wareHouseManager; } + /** + * 判断仓库是否已经存在,id不为空时判断名字是否与其它仓库名字相同,如果id为空判断名字是否已经存在 + */ + public void validateWareHouseNameExists(){ + String id = StrutsParamUtils.getPraramValue("id", ""); + String name = StrutsParamUtils.getPraramValue("name", ""); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("success", true);//为true代表验证成功 + if(StringUtils.isNotBlank(name)){ + WareHouse wareHouse = new WareHouse(); + wareHouse.setName(name); + if(StringUtils.isNotBlank(id)){ + try{ + wareHouse.setId(Long.valueOf(id)); + }catch(Exception e){ + + } + } + boolean result = wareHouseManager.existsWareHouse(wareHouse); + if(result){ + jsonObject.put("success", false); + jsonObject.put("message", "仓库名称" + name + "已存在,不能重复"); + } + }else{ + jsonObject.put("success", false); + jsonObject.put("message", "仓库名称不能为空"); + } + try{ + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + StrutsParamUtils.getResponse().getWriter().print(jsonObject); + }catch (Exception e) { + // TODO: handle exception + } + } /** * 保存仓库数据 @@ -74,12 +110,15 @@ try { if (wareHouse != null) { try { + wareHouse.setType(BarcodeDevice.BARCODE_TYPE_WAREHOUSE); wareHouseManager.saveOrUpdateWareHouse(wareHouse); } catch (Exception e) { + e.printStackTrace(); jsonObject.put("success", false); jsonObject.put("message", e.getMessage()); logger.error("保存仓库失败:" + e); } + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); StrutsParamUtils.getResponse().getWriter().print(jsonObject); }else{ jsonObject.put("success", false);