Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java =================================================================== diff -u -r12739 -r12749 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12739) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12749) @@ -23,6 +23,7 @@ import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; @@ -110,6 +111,14 @@ try { if (wareHouse != null) { try { + 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()); + } wareHouse.setType(BarcodeDevice.BARCODE_TYPE_WAREHOUSE); wareHouseManager.saveOrUpdateWareHouse(wareHouse); } catch (Exception e) { Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r12745 -r12749 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 12745) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 12749) @@ -1965,14 +1965,14 @@ jsonObject.put("success", true); //处理科室(为空时需提示) String cssdOrgUnitCode = application.getHandleDepartCoding(); - if(StringUtils.isNotBlank(cssdOrgUnitCode)){ + if(StringUtils.isBlank(cssdOrgUnitCode)){ jsonObject.put("success", false); jsonObject.put("message", "处理科室不能为空"); return jsonObject; } //申请科室(为空时需提示) String applyOrgUnitCode = application.getDepartCoding(); - if(StringUtils.isNotBlank(cssdOrgUnitCode)){ + if(StringUtils.isBlank(cssdOrgUnitCode)){ jsonObject.put("success", false); jsonObject.put("message", "申请科室不能为空"); return jsonObject; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r12748 -r12749 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 12748) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 12749) @@ -334,9 +334,9 @@ tousseDefinitionManager.validateRecyclingApplicationCssdPrivilege(application, newTousseItemVoList); //如果校验不通过,则直接返回至前端 -// if(jsonObject != null && !jsonObject.optBoolean("success")){ -// return jsonObject; -// } + if(jsonObject != null && !jsonObject.optBoolean("success")){ + return jsonObject; + } if(projectManager != null && StringUtils.isNotBlank(application.getProjCode())){ //验证是否必须选择项目及所选项目是否已经超支 Index: ssts-web/src/main/java/com/forgon/disinfectsystem/initdata/service/InitializeDataManagerImpl.java =================================================================== diff -u -r12335 -r12749 --- ssts-web/src/main/java/com/forgon/disinfectsystem/initdata/service/InitializeDataManagerImpl.java (.../InitializeDataManagerImpl.java) (revision 12335) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/initdata/service/InitializeDataManagerImpl.java (.../InitializeDataManagerImpl.java) (revision 12749) @@ -18,14 +18,19 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.model.OrgUnit; import com.forgon.directory.model.OrgUserRelation; import com.forgon.directory.service.SysUserManager; +import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.oa.formula.dao.SerialNumberDao; import com.forgon.oa.initdata.bean.InitializationData; @@ -56,6 +61,8 @@ * */ public class InitializeDataManagerImpl implements InitializeDataManager { + + Logger logger = Logger.getLogger(InitializeDataManagerImpl.class); private RoleManager roleManager; private ResourceManager rescManager; @@ -74,6 +81,8 @@ private ContainerManager containerManager; private SupplyRoomConfigManager supplyRoomConfigManager; + private WareHouseManager wareHouseManager; + public void setSupplyRoomConfigManager( SupplyRoomConfigManager supplyRoomConfigManager) { this.supplyRoomConfigManager = supplyRoomConfigManager; @@ -132,6 +141,10 @@ this.objectDao = objectDao; } + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } + public void clearData() { } @@ -148,8 +161,16 @@ initSerialNumber(); initRoles(); + /** + * 初始化根级科室(即id为0的科室,默认名称为组织机构) + */ initOrgUnit(); + /** + * 初始化各科室下的仓库 + */ + intWareHouseOfOrgUnit(); + //创建虚拟篮筐数据 initVirtualContainerData(); @@ -494,6 +515,34 @@ initAdministrator(orgUnit); } + private void intWareHouseOfOrgUnit(){ + List departOrgUnitList = + objectDao.findByProperty(OrgUnit.class.getSimpleName(), "orgType", OrgUnit.ORGUNIT_TYPE_DEPARTMENT.toString()); + if(CollectionUtils.isNotEmpty(departOrgUnitList)){ + WareHouse wareHouse = null; + for(OrgUnit orgUnit : departOrgUnitList){ + //如果该科室未创建仓库,则添加一个默认仓库 + if(CollectionUtils.isEmpty(wareHouseManager.getWareHouseListByOrgUnit(orgUnit))){ + try { + wareHouse = new WareHouse(); + wareHouse.setCreatedUserName("初始化"); + wareHouse.setName(orgUnit.getName() + "仓库"); + wareHouse.setOrgUnitId(orgUnit.getId()); + wareHouse.setOrgUnitCode(orgUnit.getOrgUnitCoding()); + wareHouse.setOrgUnitName(orgUnit.getName()); + wareHouse.setSequence(1L); + wareHouse.setRemark("应用启动时初始化仓库"); + wareHouse.setType(BarcodeDevice.BARCODE_TYPE_WAREHOUSE); + wareHouseManager.saveOrUpdateWareHouse(wareHouse); + logger.info("初始化"+orgUnit.getName()+"仓库成功"); + } catch (Exception e) { + logger.error("初始化"+orgUnit.getName()+"仓库失败:"+e); + } + } + } + } + } + /** * 创建虚拟篮筐数据,如之前已创建,则指定当前虚拟篮筐赋值至相应的全局变量 */ Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js =================================================================== diff -u -r12702 -r12749 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 12702) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 12749) @@ -223,7 +223,7 @@ fields : [ /*{name : 'cssdOrgUnitId',mapping : 'cssdOrgUnitId'},*/ {name : 'cssdOrgUnitCode',mapping : 'cssdOrgUnitCode'}, - {name : 'cssdOrgUnitName',mapping : 'cssdOrgUnitName'} + {name : 'name',mapping : 'cssdOrgUnitName'} ] }); handleDepartStore.reload(); @@ -1726,8 +1726,8 @@ }, { xtype : 'hidden', - name : 'handleDepartName', - id : 'handleDepartName' + name : 'handleDepartCoding', + id : 'handleDepartCoding' }, { xtype : 'hidden', name : 'isDiposableGoods', @@ -1840,9 +1840,8 @@ var record = records; if (records.length == 1){ record = records[0]; - top.Ext4.getCmp("handleDepart").setValue(record.data.cssdOrgUnitCode); - //top.Ext4.getCmp("handleDepart").setValue(record.data.cssdOrgUnitName); - top.Ext4.getCmp('handleDepart').setRawValue(record.data.cssdOrgUnitName); + top.Ext4.getCmp("handleDepartCoding").setValue(record.data.cssdOrgUnitCode); + top.Ext4.getCmp('handleDepart').setValue(record.data.name); comboGoodsStore.proxy.extraParams.cssdOrgUnitCode = record.data.cssdOrgUnitCode; comboGoodsStore.reload(); @@ -1898,8 +1897,8 @@ id : 'handleDepart', name : 'handleDepart', minChars : 0, - valueField : 'cssdOrgUnitCode', - displayField : 'cssdOrgUnitName', + valueField : 'name', + displayField : 'name', store : handleDepartStore, forceSelection : true, lazyInit : true, @@ -1910,9 +1909,9 @@ flex : 1, listeners:{ select:function(combo, record, index){ - console.log(combo);console.log(record); - //alert(combo.getValue() + '=' + combo.value);alert(combo.getRawValue() + '=' + combo.rawValue); - top.Ext4.getCmp("handleDepartName").setValue(combo.rawValue); + var deptName = top.Ext4.getCmp("handleDepart").getValue(); + var deptCoding = getDepartCoding(handleDepartStore,deptName); + top.Ext4.getCmp("handleDepartCoding").setValue(deptCoding); comboGoodsStore.proxy.extraParams.cssdOrgUnitCode = combo.value; comboGoodsStore.reload(); @@ -2490,6 +2489,12 @@ top.Ext4.getCmp("settleAccountsDepart").forceSelection = true; top.Ext4.getCmp("settleAccountsDepartCoding").setValue(recyclingApplication.settleAccountsDepartCoding); + + top.Ext4.getCmp("handleDepart").forceSelection = false; + top.Ext4.getCmp("handleDepart").setValue(recyclingApplication.handleDepart); + top.Ext4.getCmp("handleDepart").forceSelection = true; + top.Ext4.getCmp("handleDepartCoding").setValue(recyclingApplication.handleDepartCoding); + if(recyclingApplication.applicationTime){ top.Ext4.getCmp('applicationTimeStr').setValue(Ext.util.Format.date(new Date(recyclingApplication.applicationTime.time),'Y-m-d H:i')); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java =================================================================== diff -u -r12739 -r12749 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12739) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12749) @@ -75,7 +75,16 @@ public List getWareHouseListByOrgUnit(OrgUnit orgUnit){ String sql = " where 1=1 "; if(orgUnit != null){ - if(orgUnit.getId() != null && orgUnit.getId() != 0){ + //如果科室id与编码都不为空 + if(orgUnit.getId() != null && orgUnit.getId() != 0 && StringUtils.isNotBlank(orgUnit.getOrgUnitCoding())){ + sql += " and ( "; + if(orgUnit.getId() != null && orgUnit.getId() != 0){ + sql += " orgUnitId = " + orgUnit.getId(); + }else if(StringUtils.isNotBlank(orgUnit.getOrgUnitCoding())){ + sql += " or orgUnitCode = '" + orgUnit.getOrgUnitCoding() + "'"; + } + sql += " ) "; + }else if(orgUnit.getId() != null && orgUnit.getId() != 0){ sql += " and orgUnitId = " + orgUnit.getId(); }else if(StringUtils.isNotBlank(orgUnit.getOrgUnitCoding())){ sql += " and orgUnitCode = '" + orgUnit.getOrgUnitCoding() + "'"; @@ -108,14 +117,6 @@ * @throws Exception */ public WareHouse saveOrUpdateWareHouse(WareHouse wareHouse) throws 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()); - } wareHouse.setCreateTime(new Date()); //设置条码 String barcode = wareHouse.getBarcode();