Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dto/ForeignTousseDefinitionDto.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dto/ForeignTousseDefinitionDto.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dto/ForeignTousseDefinitionDto.java (revision 24926) @@ -0,0 +1,82 @@ +package com.forgon.disinfectsystem.tousse.toussedefinition.dto; + +public class ForeignTousseDefinitionDto { + private String supplierName; + public String tousseType; + public String handlerDepartCodes; + + public boolean showDisableGoods = false; + public boolean showForeignTousseAncestorDefinition = false; + + private String spell; + private int offset; + private int limit; + private int page; + + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getTousseType() { + return tousseType; + } + + public void setTousseType(String tousseType) { + this.tousseType = tousseType; + } + + public String getHandlerDepartCodes() { + return handlerDepartCodes; + } + + public void setHandlerDepartCodes(String handlerDepartCodes) { + this.handlerDepartCodes = handlerDepartCodes; + } + + public boolean isShowDisableGoods() { + return showDisableGoods; + } + + public void setShowDisableGoods(boolean showDisableGoods) { + this.showDisableGoods = showDisableGoods; + } + + public boolean isShowForeignTousseAncestorDefinition() { + return showForeignTousseAncestorDefinition; + } + + public void setShowForeignTousseAncestorDefinition( + boolean showForeignTousseAncestorDefinition) { + this.showForeignTousseAncestorDefinition = showForeignTousseAncestorDefinition; + } + public String getSpell() { + return spell; + } + public void setSpell(String spell) { + this.spell = spell; + } + public int getOffset() { + return offset; + } + public void setOffset(int offset) { + this.offset = offset; + } + public int getLimit() { + return limit; + } + public void setLimit(int limit) { + this.limit = limit; + } + public int getPage() { + return page; + } + public void setPage(int page) { + this.page = page; + } + +} Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/controller/TousseDefinitionController.java =================================================================== diff -u -r24695 -r24926 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/controller/TousseDefinitionController.java (.../TousseDefinitionController.java) (revision 24695) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/controller/TousseDefinitionController.java (.../TousseDefinitionController.java) (revision 24926) @@ -3,16 +3,25 @@ */ package com.forgon.disinfectsystem.tousse.toussedefinition.controller; +import java.io.UnsupportedEncodingException; import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.ws.rs.core.Request; + import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.forgon.databaseadapter.service.DateQueryAdapter; @@ -30,10 +39,14 @@ import com.forgon.disinfectsystem.tousse.cssdhandletousses.service.CssdHandleTousseManager; import com.forgon.disinfectsystem.tousse.imagefilemanager.service.ImageFileManager; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.dto.ForeignTousseDefinitionDto; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.SearchTousseDefinitionParams; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.disinfectsystem.tousse.videomanager.service.VideoFileManager; import com.forgon.log.service.LogManager; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; @@ -221,4 +234,57 @@ } return json.toString(); } + + + @RequestMapping(value = "/getForeignTousseDefinitionNames",method = RequestMethod.POST)// + public String getForeignTousseDefinitionNames(@RequestBody ForeignTousseDefinitionDto foreignTousseDefinitionDto) { + + SearchTousseDefinitionParams params = new SearchTousseDefinitionParams(); + params.searchString = foreignTousseDefinitionDto.getSpell(); + params.tousseType = TousseDefinition.PACKAGE_TYPE_FOREIGN; + params.handlerDepartCodes = null; + params.supplierName = foreignTousseDefinitionDto.getSupplierName(); + params.showDisableGoods = false; + //外来器械申请时显示原始包定义还是显示最近一次申请的包定义 + if("true".equals(foreignTousseDefinitionDto.isShowForeignTousseAncestorDefinition())){ + params.showForeignTousseAncestorDefinition = true; + } + JSONObject json = tousseDefinitionManager.searchTousseDefinition(params); + + //外来器械去掉下划线、相同名称的物品取最后一次的包定义 + Map map = new HashMap(); + JSONArray array = json.optJSONArray("data"); + if(array != null && array.size() > 0){ + for (int i = 0 ; i < array.size() ; i++) { + JSONObject obj = array.optJSONObject(i); + String tousseName = obj.optString("name"); + int index = tousseName.lastIndexOf("_"); + if(index != -1){ + tousseName = tousseName.substring(0,index); + obj.put("name", tousseName); + } + map.put(tousseName,obj); + } + } + JSONObject obj = new JSONObject(); + JSONArray data = new JSONArray(); + + for (String tousseName : map.keySet()) { + data.add(map.get(tousseName)); + } + obj.put("success", true); + obj.put("total", data.size()); + obj.put("rows", data); + + return obj.toString(); + } + + + + + + + + + }