feat: 通过发票获取单据

dev_2.5_inv
chenhc 6 months ago
parent ec864a735a
commit 477b0c86a3

@ -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);

@ -118,4 +118,11 @@ public class IoOrderInvoiceService extends ServiceImpl<IoOrderInvoiceMapper, IoO
}
public String selectBillNoByInvoiceEncode(String code) {
List<IoOrderInvoiceEntity> invoiceEncode = ioOrderInvoiceMapper.selectList(new QueryWrapper<IoOrderInvoiceEntity>().eq("invoiceEncode", code));
if (CollUtil.isNotEmpty(invoiceEncode)) {
return invoiceEncode.get(0).getOrderIdFk();
}
return null;
}
}

Loading…
Cancel
Save