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 ef50d873c..49a2c558d 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -41,6 +41,7 @@ import com.glxp.api.service.basic.*; import com.glxp.api.service.collect.*; import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.impl.IoCodeService; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.service.inv.InvPreinProductDetailService; import com.glxp.api.service.inv.impl.InvProductServiceNew; import com.glxp.api.service.system.SystemParamConfigService; @@ -145,6 +146,8 @@ public class IoCodeTempController extends BaseController { @Autowired IoCollectOrderCodeManService collectOrderCodeManService; + @Autowired + IoOrderInvoiceService ioOrderInvoiceService; /** @@ -189,6 +192,15 @@ public class IoCodeTempController extends BaseController { String code = addEnterCodeRequest.getCode(); //先判断是否已完成 IoCollectOrderBackup byBillNo = ioCollectOrderBackupService.getByBillNo(code); + + //补充发票查询 + if (byBillNo == null) { + String billNo = ioOrderInvoiceService.selectBillNoByInvoiceEncode(code); + if (billNo != null) { + byBillNo = ioCollectOrderBackupService.getByBillNo(billNo); + } + } + if (byBillNo != null) { return ResultVOUtils.error(500, "该单据已处理完成,请勿重复处理!"); } @@ -207,6 +219,15 @@ public class IoCodeTempController extends BaseController { } IoCollectOrderResponse collectOrder = collectOrderService.unionSearch(null, addEnterCodeRequest.getBusType(), code); + + //补充发票查询 + if (collectOrder == null) { + String billNo = ioOrderInvoiceService.selectBillNoByInvoiceEncode(code); + if (billNo != null) { + collectOrder = collectOrderService.unionSearch(null, addEnterCodeRequest.getBusType(), billNo); + } + } + if (collectOrder == null) { //查询原始单据查到为异常提示 IoCollectOrderOrigin ioCollectOrigin = collectOriginService.getOrderByCode(code); @@ -437,7 +458,7 @@ public class IoCodeTempController extends BaseController { codeList.add(addOrderCodeRequest.getCode()); addOrderCodeRequest.setCodeList(codeList); } - + // 获取第一个码判断类型,如果是药品类型则使用批量处理方法 if (!codeList.isEmpty() && IntUtil.value(addOrderCodeRequest.getProductType()) == 2) { String firstCode = codeList.get(0); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java index 06a924342..b3e56b2ea 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java @@ -118,4 +118,11 @@ public class IoOrderInvoiceService extends ServiceImpl invoiceEncode = ioOrderInvoiceMapper.selectList(new QueryWrapper().eq("invoiceEncode", code)); + if (CollUtil.isNotEmpty(invoiceEncode)) { + return invoiceEncode.get(0).getOrderIdFk(); + } + return null; + } }