|
|
@@ -1617,49 +1617,58 @@ public class DataTemplateProvider extends GenericProvider implements IDataTempla
|
|
|
* 恒生医院 试剂耗材 入库流水hrp接口逻辑
|
|
|
*/
|
|
|
private void ReagentConsumabInputForHSYY(DataTemplateRequestVo dataTemplateRequestVo) throws Exception{
|
|
|
- /**
|
|
|
- * 入库流水保存成功后,要从 试剂耗材入库流水表(t_sjhcrkls)里删除对应数据
|
|
|
- */
|
|
|
-
|
|
|
- /** 1.是否 恒生医院环境 */
|
|
|
- String setting = ContextUtil.getSetting();
|
|
|
- //ContextUtil.getSetting()的作用:从t_ipcc表的id_为1的数据的setting字段获取每个环境的独有的标识参数
|
|
|
- //恒生环境的特有标识:"HSYY":"true"
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
- HashMap<String, Object> map =(HashMap) objectMapper.readValue(setting, Map.class);
|
|
|
- String hsyy = Optional.ofNullable(map)
|
|
|
- .map(m -> m.get("HSYY"))
|
|
|
- .map(Object::toString)
|
|
|
- .orElse("");
|
|
|
- boolean flag1 = Boolean.parseBoolean(hsyy);
|
|
|
- //flag1为 是否 恒生医院环境 的标识
|
|
|
-
|
|
|
-
|
|
|
- /** 2.是否 试剂耗材入库登记保存接口 */
|
|
|
- boolean flag2 = Optional.ofNullable(dataTemplateRequestVo)
|
|
|
- .map(DataTemplateRequestVo::getBoCode)
|
|
|
- .map("sjhxhclrkysdjb"::equalsIgnoreCase)
|
|
|
- .orElse(false);
|
|
|
- //flag1为 是否 试剂耗材入库登记保存接口 的标识
|
|
|
-
|
|
|
- /** 3.如果 <是 恒生医院环境> 并且 <是 试剂耗材入库登记保存接口> */
|
|
|
- if(flag1 && flag2){
|
|
|
-
|
|
|
- /** 4. 则删除 试剂耗材入库流水表(t_sjhcrkls)里对应数据 */
|
|
|
-
|
|
|
- /** 4-1.从 shiJiHeHaoCai 字段 中获取数据id */
|
|
|
- ObjectMapper objectMapper1 = new ObjectMapper();
|
|
|
- String dataStr = dataTemplateRequestVo.getData();
|
|
|
- JsonNode dataNode = objectMapper1.readTree(dataStr);
|
|
|
- if (dataNode.has("shiJiHeHaoCai")) {
|
|
|
- String ids = dataNode.get("shiJiHeHaoCai").asText();
|
|
|
- if(StringUtils.isNotEmpty(ids)){
|
|
|
- /** 4-2. 数据库操作,删除已保存确认的入库流水记录 */
|
|
|
- List<String> idsList = Arrays.asList(ids.split(","));
|
|
|
- reagentConsumableDao.deleteByIdsForInput(idsList);
|
|
|
+
|
|
|
+ try{
|
|
|
+ /**
|
|
|
+ * 入库流水保存成功后,要从 试剂耗材入库流水表(t_sjhcrkls)里删除对应数据
|
|
|
+ */
|
|
|
+
|
|
|
+ /** 1.是否 恒生医院环境 */
|
|
|
+ String setting = ContextUtil.getSetting();
|
|
|
+ //ContextUtil.getSetting()的作用:从t_ipcc表的id_为1的数据的setting字段获取每个环境的独有的标识参数
|
|
|
+ //恒生环境的特有标识:"HSYY":"true"
|
|
|
+ boolean flag1 = false;
|
|
|
+ if (StringUtils.isNotEmpty(setting)) {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ HashMap<String, Object> map =(HashMap) objectMapper.readValue(setting, Map.class);
|
|
|
+ String hsyy = Optional.ofNullable(map)
|
|
|
+ .map(m -> m.get("HSYY"))
|
|
|
+ .map(Object::toString)
|
|
|
+ .orElse("");
|
|
|
+ flag1 = Boolean.parseBoolean(hsyy);
|
|
|
+ }
|
|
|
+ //flag1为 是否 恒生医院环境 的标识
|
|
|
+
|
|
|
+
|
|
|
+ /** 2.是否 试剂耗材入库登记保存接口 */
|
|
|
+ boolean flag2 = Optional.ofNullable(dataTemplateRequestVo)
|
|
|
+ .map(DataTemplateRequestVo::getBoCode)
|
|
|
+ .map("sjhxhclrkysdjb"::equalsIgnoreCase)
|
|
|
+ .orElse(false);
|
|
|
+ //flag1为 是否 试剂耗材入库登记保存接口 的标识
|
|
|
+
|
|
|
+ /** 3.如果 <是 恒生医院环境> 并且 <是 试剂耗材入库登记保存接口> */
|
|
|
+ if(flag1 && flag2){
|
|
|
+
|
|
|
+ /** 4. 则删除 试剂耗材入库流水表(t_sjhcrkls)里对应数据 */
|
|
|
+
|
|
|
+ /** 4-1.从 shiJiHeHaoCai 字段 中获取数据id */
|
|
|
+ ObjectMapper objectMapper1 = new ObjectMapper();
|
|
|
+ String dataStr = dataTemplateRequestVo.getData();
|
|
|
+ JsonNode dataNode = objectMapper1.readTree(dataStr);
|
|
|
+ if (dataNode.has("shiJiHeHaoCai")) {
|
|
|
+ String ids = dataNode.get("shiJiHeHaoCai").asText();
|
|
|
+ if(StringUtils.isNotEmpty(ids)){
|
|
|
+ /** 4-2. 数据库操作,删除已保存确认的入库流水记录 */
|
|
|
+ List<String> idsList = Arrays.asList(ids.split(","));
|
|
|
+ reagentConsumableDao.deleteByIdsForInput(idsList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ }catch (Exception e){
|
|
|
+ logger.error("",e);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "上传解析excel文件", notes = "上传解析excel文件")
|