Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/WriteBackInventoryDaoImpl.java =================================================================== diff -u -r20513 -r21250 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/WriteBackInventoryDaoImpl.java (.../WriteBackInventoryDaoImpl.java) (revision 20513) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/WriteBackInventoryDaoImpl.java (.../WriteBackInventoryDaoImpl.java) (revision 21250) @@ -162,7 +162,7 @@ //回写数据map对各集合中各元素的identification一致的进行数量汇总 List> writeBackDataMapList = new ArrayList>(); for(DisposableGoodsStorageAdjustVo disposableGoodsStorageAdjustVo : disposableGoodsStorageAdjustVoList){ - String identification = null; + String identification = ""; Long disposableGoodsID = null; if(DatabaseUtil.isPoIdValid(disposableGoodsStorageAdjustVo.getDisposableGoodsIdentificationId())){ DisposableGoodsIdentification disposableGoodsIdentification = @@ -177,7 +177,6 @@ } DisposableGoods disposableGoods = (DisposableGoods)objectDao.getByProperty(DisposableGoods.class.getSimpleName(), "id", disposableGoodsID); - // if(writeBackDataMapList.size() > 0){ // boolean existsInMapList = false; // for(Map map : writeBackDataMapList){ @@ -200,22 +199,26 @@ Map newMap = new HashMap(); newMap.put("identification", identification);//批次id newMap.put("amount", disposableGoodsStorageAdjustVo.getAdjustAmount());//数量 - newMap.put("unit",disposableGoods.getUnit());//单位 + newMap.put("unit",disposableGoods.getUnitID());//单位id newMap.put("remark","");//备注 writeBackDataMapList.add(newMap); // } } if(writeBackDataMapList.size() > 0){ for (Map map : writeBackDataMapList) { - dataXml += "" + if(map.get("unit")==null){ + map.put("unit",""); + } + dataXml += "" +"" + map.get("identification") + "" + "" + map.get("amount") + "" + "" + map.get("unit") + "" + "" + map.get("remark") + "" - + ""; + + ""; } } } + dataXml = ""+dataXml+""; return dataXml; } Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/Constant.java =================================================================== diff -u -r20513 -r21250 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/Constant.java (.../Constant.java) (revision 20513) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/Constant.java (.../Constant.java) (revision 21250) @@ -8,5 +8,5 @@ /** * sznsrmyy: webserver接口地址 */ - public final static String SSO_WEBSERVICE_URL = "http://10.240.233.103:57772/csp/i-dhcstm/DHC.Material.BS.HisServiceForCSSD.cls"; + public final static String SSO_WEBSERVICE_URL = "http://10.240.233.103:57772/csp/i-dhcstm/DHC.Material.BS.HisServiceForCSSD.cls?wsdl"; } Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/WriteBackInventoryManagerImpl.java =================================================================== diff -u -r20634 -r21250 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/WriteBackInventoryManagerImpl.java (.../WriteBackInventoryManagerImpl.java) (revision 20634) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/WriteBackInventoryManagerImpl.java (.../WriteBackInventoryManagerImpl.java) (revision 21250) @@ -201,7 +201,7 @@ String xmlParam =""; try { rs = objectDao - .executeSql(" select dii.identification,dp.amount,di.unit from DiposableGoodsItem dp join DisposableGoodsIdentification dii on dii.id=dp.identificationID join DisposableGoods di on di.id= dp.disposableGoodsID where invoice_id = " + .executeSql(" select dii.identification,dp.amount,di.unitID from DiposableGoodsItem dp join DisposableGoodsIdentification dii on dii.id=dp.identificationID join DisposableGoods di on di.id= dp.disposableGoodsID where invoice_id = " + invoice.getId()); if(rs!=null){ String userId =""; @@ -210,21 +210,21 @@ hql = " select name from User where fullName = '"+invoice.getSender()+ "' and currentOrgUnitCode = "+invoice.getOrgUnitCoding(); name = objectDao.findByHql(hql); - if (!name.isEmpty()) {// 若找到根据科室编码和发货员名字找到 默认工号为第一个 + if (CollectionUtils.isNotEmpty(name)) {// 若找到根据科室编码和发货员名字找到 默认工号为第一个 userId = name.get(0); } else { hql = "select name from User u where fullName = '" + invoice.getSender() + "' and u in (select user from OrgUserRelation where orgUnit in (select o from OrgUnit o where orgUnitCoding = " + invoice.getOrgUnitCoding(); name = objectDao.findByHql(hql); - if (!name.isEmpty()) { + if (CollectionUtils.isNotEmpty(name)) { userId = name.get(0); } else {// 若找不到则只根据发货员查找工号 默认工号为第一个 hql = "select name from User where fullName = '" + invoice.getSender()+"'"; name = objectDao.findByHql(hql); - if (!name.isEmpty()) {// 若都找不到 则工号为发货人名字 + if (CollectionUtils.isNotEmpty(name)) {// 若都找不到 则工号为发货人名字 userId = name.get(0); } else { userId = invoice.getSender(); @@ -235,29 +235,32 @@ xmlParam = ""+invoice.getOrgUnitCoding()+""+ ""+invoice.getDepartCoding()+""+ "44"+ - ""+invoice.getSender()+""+ + ""+userId+""+ ""+invoice.getRemark()+""; String dataXml = ""; List> writeBackDataMapList = new ArrayList>(); while(rs.next()){ Map newMap = new HashMap(); newMap.put("identification", rs.getString(1));//批次id newMap.put("amount", rs.getLong(2));//数量 - newMap.put("unit",rs.getString(3));//单位 + newMap.put("unitId",rs.getString(3));//单位id newMap.put("remark","");//备注 writeBackDataMapList.add(newMap); } if(writeBackDataMapList.size() > 0){ for (Map map : writeBackDataMapList) { - dataXml += "" + if(map.get("unit")==null){ + map.put("unit",""); + } + dataXml += "" +"" + map.get("identification") + "" + "" + map.get("amount") + "" + "" + map.get("unit") + "" + "" + map.get("remark") + "" - + ""; + + ""; } } - xmlParam += dataXml; + xmlParam += ""+dataXml+""; //调用回写 appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DISPOSABLEGOODS_WRITEBACK, Log.TYPE_ADD, "定时发货回写参数xmlParam="+xmlParam); String writeBackResult = writeBackInventoryDao.insertWriteBackForCommon(xmlParam); Index: ssts-web/src/main/resources/config/sznsrmyy/mybatis/syncFromHERP_Mapper.xml =================================================================== diff -u -r20513 -r21250 --- ssts-web/src/main/resources/config/sznsrmyy/mybatis/syncFromHERP_Mapper.xml (.../syncFromHERP_Mapper.xml) (revision 20513) +++ ssts-web/src/main/resources/config/sznsrmyy/mybatis/syncFromHERP_Mapper.xml (.../syncFromHERP_Mapper.xml) (revision 21250) @@ -84,18 +84,18 @@ EXPDATE, cost AS unitPrice FROM CSSD_GodownEntry t1 - INNER JOIN `cssd_godownentryitem` t2 on t1.id = t2.godownEntryId + INNER JOIN cssd_godownentryitem t2 on t1.id = t2.godownEntryId WHERE t1.serialNumber = #{entrySerialNumber} ]]> @@ -110,7 +110,7 @@ AND specification = #{specification} - AND ((specification is null) OR (specification ='')) + AND ((specification is null) OR (specification =''))limit 0,1 Index: ssts-datasync/src/main/java/com/forgon/disinfectsystem/inventorymanagement/model/Inventory.java =================================================================== diff -u -r20183 -r21250 --- ssts-datasync/src/main/java/com/forgon/disinfectsystem/inventorymanagement/model/Inventory.java (.../Inventory.java) (revision 20183) +++ ssts-datasync/src/main/java/com/forgon/disinfectsystem/inventorymanagement/model/Inventory.java (.../Inventory.java) (revision 21250) @@ -29,7 +29,20 @@ * 针对中大五院的处理,是否一次性.1为是,否则为否 */ private String one; + + /** + * 针对深圳南山人民医院,一次性物品的单位id + */ + private Long unitID; + + public Long getUnitID() { + return unitID; + } + public void setUnitID(Long unitID) { + this.unitID = unitID; + } + public String getSerialNumber() { return serialNumber; } Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/helper/WebServiceClientHelper.java =================================================================== diff -u -r20634 -r21250 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/helper/WebServiceClientHelper.java (.../WebServiceClientHelper.java) (revision 20634) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/dao/sznsrmyy/helper/WebServiceClientHelper.java (.../WebServiceClientHelper.java) (revision 21250) @@ -36,19 +36,21 @@ * @param opsystem * @param optype * @param xmlData xml参数,格式如下: - * - - - - - - - - - - - - + * + 406 + 081 + 44 + 1 + + + + 53411||21 + 1 + 1 + + + + * @return * * 0是否成功:0(成功)或负数 @@ -58,9 +60,10 @@ */ public static JSON writeBackData( String xmlData){ CSSDServiceSoap cssdServiceSoap = new CSSDServiceSoapProxy(); - String propertyValueList = ""+xmlData+""; + String propertyValueList = ""+xmlData+""; + propertyValueList = ""+propertyValueList; try { - String result = cssdServiceSoap.insertINIT(xmlData);//调用webserver方法 + String result = cssdServiceSoap.insertINIT(propertyValueList);//调用webserver方法 //String result = " 1aaa1"; logger.debug("调用webservice接口方法InsertINIT() 返回结果:" + result); //Html特殊字符解码 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoods.java =================================================================== diff -u -r21241 -r21250 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoods.java (.../DisposableGoods.java) (revision 21241) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoods.java (.../DisposableGoods.java) (revision 21250) @@ -237,6 +237,11 @@ */ private String expressInvoice; + /** + * 针对深圳南山人民医院,一次性物品的单位id + */ + private Long unitID; + @JsonIgnore public static Map ColumnNameAndPoPropertyNameMap= new LinkedHashMap(8); @@ -287,6 +292,14 @@ this.name = name; } + public Long getUnitID() { + return unitID; + } + + public void setUnitID(Long unitID) { + this.unitID = unitID; + } + public String getTtsName() { return ttsName; } Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java =================================================================== diff -u -r20976 -r21250 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java (.../InventoryManagerImpl.java) (revision 20976) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/inventorymanagement/service/InventoryManagerImpl.java (.../InventoryManagerImpl.java) (revision 21250) @@ -330,6 +330,10 @@ if(StringUtils.isNotBlank(inventory.getExternalCode())){ disposableGoods.setExternalCode(inventory.getExternalCode()); } + //设置his的单位id + if(DatabaseUtil.isPoIdValid(inventory.getUnitID())){ + disposableGoods.setUnitID(inventory.getUnitID()); + } inventory.setDisposableGoods(disposableGoods); } else { // 若不是一次性物品则查找器械材料定义 @@ -405,6 +409,10 @@ if(StringUtils.isNotBlank(inventory.getExternalCode())){ ds.setExternalCode(inventory.getExternalCode()); } + //设置his的单位id + if(DatabaseUtil.isPoIdValid(inventory.getUnitID())){ + ds.setUnitID(inventory.getUnitID()); + } } else { MaterialDefinition md = new MaterialDefinition(); inventory.setMaterialDefinition(md);