diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 1c30b8629..2b96672ee 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -192,11 +192,10 @@ public class IoCodeTempController extends BaseController { IoCollectOrder ioCollectOrder = new IoCollectOrder(); BeanUtils.copyProperties(collectOrder, ioCollectOrder); collectOrderService.updateById(ioCollectOrder); - BaseResponse response = ResultVOUtils.error(601, code); response.setData(collectOrder); return response; - } else { + } else if (addEnterCodeRequest.getBusType().startsWith("SC")) { BaseResponse baseResponse2 = collectOrderService.importSpmsUdi(collectOrderRequest); if (baseResponse2.getCode() == 20000) { collectOrder = collectOrderService.unionSearch(null, null, code); @@ -213,7 +212,7 @@ public class IoCodeTempController extends BaseController { } } } - BaseResponse response = ResultVOUtils.error(501, "未找到匹配单据"); + BaseResponse response = ResultVOUtils.error(501, "未找到匹配单据或单据存在未对照产品"); response.setData(code); return response; } @@ -2134,7 +2133,7 @@ public class IoCodeTempController extends BaseController { } } - if (list.size() == 0 || list == null){ + if (list.size() == 0 || list == null) { return codeTempService.findCodes(filterCodeRequest); } PageInfo pageInfo = new PageInfo<>(list); @@ -2847,11 +2846,11 @@ public class IoCodeTempController extends BaseController { // 检查该码的所有一级码并且加入进去 for (String code : codeList) { List list = relCodeDetailService.getAllNextOne(code); - if(list!=null && list.size() >0){ + if (list != null && list.size() > 0) { for (RelCodeDetail relCodeDetail : list) { codeOnelist.add(relCodeDetail.getCurCode()); } - }else { + } else { codeOnelist.add(code); } } @@ -2860,7 +2859,7 @@ public class IoCodeTempController extends BaseController { addOrderCodeRequest.setCorpOrderId(orderFinishBillNo); CollectOrderBizResponse response = collectOrderBizResponses.get(0); //TODO 这里是获取已完成订单的 批次号 - if (response.getBatchNo() != null){ + if (response.getBatchNo() != null) { addOrderCodeRequest.setBatchNo(response.getBatchNo()); addOrderCodeRequest.setProduceDate(response.getProductDate()); addOrderCodeRequest.setExpireDate(response.getExpireDate()); diff --git a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java index e33ca75c9..b5fe8045d 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiContrastService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiContrastService.java @@ -11,6 +11,7 @@ import com.glxp.api.util.DimaUtil; import com.glxp.api.util.IntUtil; import org.apache.xmlbeans.impl.xb.xsdschema.Public; import org.aspectj.weaver.ast.Var; +import org.jfree.util.Log; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; @@ -32,6 +33,7 @@ import com.glxp.api.util.udi.UdiInfoUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; @@ -327,9 +329,18 @@ public class UdiContrastService { if (CollUtil.isNotEmpty(thirdAliDrugList)) { for (int i = 0; i < thirdAliDrugList.size(); i++) { ThirdAliDrug thirdAliDrug = thirdAliDrugList.get(i); - List integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); + List integers = new ArrayList<>(); + if (StrUtil.isNotEmpty(thirdAliDrug.getPackRatio())) { + integers = DimaUtil.calculateLevels(thirdAliDrug.getPackRatio()); + } udiProductEntity.setPackLevel(thirdAliDrug.getPackLevel()); - udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); + try { + udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); + } catch (IndexOutOfBoundsException e) { + e.printStackTrace(); + Log.error("计算包装级别出错" + thirdAliDrug.getPackLevel() + "---" + integers + "-----" + thirdAliDrug.toString()); + } +// udiProductEntity.setBhxjsl(integers.get(IntUtil.value(thirdAliDrug.getPackLevel()) - 1)); udiProductEntity.setNameCode(thirdAliDrug.getNameCode()); if (IntUtil.value(thirdAliDrug.getPackLevel()) == 1) { udiProductEntity.setXjdw(ybDrug.getMinUnit()); diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 85bd2cb2f..20751ab5a 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -270,7 +270,7 @@ #{physicType}, #{medicareType}, #{bzgg}, - #{requireScanCode}.#{detailSort}) + #{requireScanCode},#{detailSort})