1、增加配置 开启就进行单据所有码包括下级的码进行校验有没有传过 传过了就不能再传了

dev_unify
qiuyt 8 months ago
parent 59818217ce
commit be9014f5d1

@ -21,6 +21,7 @@ import com.glxp.api.res.collect.RelCodeDetailResponse;
import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
import com.glxp.api.res.inout.VailCodeResultResponse; import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.service.collect.*; import com.glxp.api.service.collect.*;
import com.glxp.api.service.collect.RelCodeDetailService;
import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.impl.InvProductServiceNew; import com.glxp.api.service.inv.impl.InvProductServiceNew;
import com.glxp.api.vo.basic.InvProductNewVo; import com.glxp.api.vo.basic.InvProductNewVo;

@ -52,4 +52,6 @@ public class RelCodeDetail implements Serializable {
@ApiModelProperty(value="产品批次ID外键") @ApiModelProperty(value="产品批次ID外键")
private Integer batchIdFk; private Integer batchIdFk;
private static final long serialVersionUID = 1L;
} }

@ -1,33 +1,23 @@
package com.glxp.api.http; package com.glxp.api.http;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.basic.BasicSkProjectDetailEntity;
import com.glxp.api.entity.basic.BasicSkProjectEntity;
import com.glxp.api.entity.basic.BasicSkSickerEntity;
import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.thrsys.*; import com.glxp.api.entity.thrsys.*;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.req.UdiwmsBusTypeRequest; import com.glxp.api.http.req.UdiwmsBusTypeRequest;
import com.glxp.api.http.req.UdiwmsUnitRequest; import com.glxp.api.http.req.UdiwmsUnitRequest;
import com.glxp.api.req.basic.*; import com.glxp.api.req.basic.*;
import com.glxp.api.req.collect.PostCollectOrderRequest; import com.glxp.api.req.collect.PostCollectOrderRequest;
import com.glxp.api.req.inout.PostOrderRequest;
import com.glxp.api.req.thrsys.*; import com.glxp.api.req.thrsys.*;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse; import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.basic.BasicSkProjectDetailResponse;
import com.glxp.api.res.basic.BasicSkProjectResponse; import com.glxp.api.res.basic.BasicSkProjectResponse;
import com.glxp.api.res.basic.BasicSkSickerResponse; import com.glxp.api.res.basic.BasicSkSickerResponse;
import com.glxp.api.res.chs.YbHcflEntityResponse; import com.glxp.api.res.chs.YbHcflEntityResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.thrsys.ThrCorpsResponse; import com.glxp.api.res.thrsys.ThrCorpsResponse;
import com.glxp.api.res.thrsys.ThrOrderResponse;
import com.glxp.api.res.thrsys.ThrProductsResponse; import com.glxp.api.res.thrsys.ThrProductsResponse;
import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail; import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail;
import com.glxp.api.service.thrsys.ThrSystemService; import com.glxp.api.service.thrsys.ThrSystemService;
@ -489,9 +479,9 @@ public class ErpBasicClient {
} }
//TODO 阿超改==校验码是和下级所有码否传过了逻辑还没写 //TODO 阿超改==校验码是和下级所有码否传过了逻辑还没写
/** /**
* * (list)
*/ */
public BaseResponse<List> collectOrderCheckCode(List<String> codeList) { public BaseResponse<List> collectOrderCheckCodeUploading(List<String> codeList) {
return ResultVOUtils.success(new ArrayList<>()); return ResultVOUtils.success(new ArrayList<>());
} }
} }

@ -8,18 +8,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.collect.IoCollectCodeBackupController;
import com.glxp.api.dao.collect.IoCollectOrderBackupMapper; import com.glxp.api.dao.collect.IoCollectOrderBackupMapper;
import com.glxp.api.dao.inout.IoCodeTempDao; import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity; import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.collect.*; import com.glxp.api.entity.collect.*;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
@ -35,7 +32,6 @@ import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.res.basic.BasicSkPrescribeResponse; import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.auth.impl.AuthAdminServiceImpl;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.SysWorkplaceDocumentService; import com.glxp.api.service.basic.SysWorkplaceDocumentService;
import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.basic.UdiRlSupService;
@ -104,7 +100,10 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Value("${WEB_TITLE}") @Value("${WEB_TITLE}")
private String WEB_TITLE; private String WEB_TITLE;
@Resource @Resource
SystemParamConfigService systemParamConfigService; private SystemParamConfigService systemParamConfigService;
@Resource
private RelCodeDetailService relCodeDetailService;
public List<IoCollectOrderResponse> filterList(CollectOrderRequest collectOrderRequest) { public List<IoCollectOrderResponse> filterList(CollectOrderRequest collectOrderRequest) {
if (collectOrderRequest == null) { if (collectOrderRequest == null) {
return Collections.emptyList(); return Collections.emptyList();
@ -163,7 +162,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void generateOrder(String billNo,AuthAdmin authAdmin) { public void generateOrder(String billNo, AuthAdmin authAdmin) {
IoCollectOrderBackup collectOrder = getByBillNo(billNo); IoCollectOrderBackup collectOrder = getByBillNo(billNo);
@ -227,7 +226,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
BaseResponse<String> stringBaseResponse = spGetHttp.reviewOrder(reviewFinishRequest, authAdmin.getId() + ""); BaseResponse<String> stringBaseResponse = spGetHttp.reviewOrder(reviewFinishRequest, authAdmin.getId() + "");
}); });
} }
updateReview(authAdmin,orderEntity); updateReview(authAdmin, orderEntity);
} }
} else if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 0) { } else if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 0) {
//todo 根据单据类型上传医保或者第三方系统 //todo 根据单据类型上传医保或者第三方系统
@ -244,6 +243,40 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
collectOrderList.add(collectOrder); collectOrderList.add(collectOrder);
orderRequest.setCollectOrderList(collectOrderList); orderRequest.setCollectOrderList(collectOrderList);
BaseResponse<BasicSkPrescribeResponse> baseResponse = erpBasicClient.postOrder(orderRequest); BaseResponse<BasicSkPrescribeResponse> baseResponse = erpBasicClient.postOrder(orderRequest);
// 判断此单据 有没有码已经上传过了一个有上传就进行错误返回
String paramValue = systemParamConfigService.selectValueByParamKey("checkCodeUploading");
if (StrUtil.isNotEmpty(paramValue) && paramValue.equals("0")) {
List<String> codeList = new ArrayList<>();
for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponses) {
String[] codes = collectOrderBizResponse.getFinishUdiCode().split(",");
// 遍历fruits数组
for (String code : codes) {
if (StrUtil.isNotBlank(code)) {
List<RelCodeDetail> relCodeDetailList = relCodeDetailService.getAllNext(code);
if (relCodeDetailList != null && relCodeDetailList.size() > 0) {
for (RelCodeDetail relCodeDetail : relCodeDetailList) {
codeList.add(relCodeDetail.getCurCode());
}
}
}
}
}
BaseResponse<List> baseResponseCheckCode = erpBasicClient.collectOrderCheckCodeUploading(codeList);
if (baseResponseCheckCode.getCode() == 20000) {
List listCheckCode = baseResponseCheckCode.getData();
if (listCheckCode == null || listCheckCode.size() > 0) {
log.error("单据的所有码有已经传输过医保的,请核实");
throw new JsonException("此单据的所有码有已经传输过医保的,请核实" + baseResponse.getMessage());
}
} else {
throw new JsonException("查询码关联关系服务出差," + baseResponse.getMessage());
}
}
log.debug("单据返回=========" + baseResponse); log.debug("单据返回=========" + baseResponse);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
// 触发上传 转发至中继服务 到外网 再到国家同步库 // 触发上传 转发至中继服务 到外网 再到国家同步库
@ -251,7 +284,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
BaseResponse<String> stringBaseResponse = new BaseResponse<>(); BaseResponse<String> stringBaseResponse = new BaseResponse<>();
try { try {
stringBaseResponse = erpBasicClient.collectOrderUpload(orderRequest); stringBaseResponse = erpBasicClient.collectOrderUpload(orderRequest);
}catch (Exception e){ } catch (Exception e) {
throw new JsonException("触发上传 转发至中继服务 到外网 再到国家同步库 接口服务出错:" + stringBaseResponse.getMessage()); throw new JsonException("触发上传 转发至中继服务 到外网 再到国家同步库 接口服务出错:" + stringBaseResponse.getMessage());
} }
}); });
@ -307,11 +340,11 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean orderUpload(String billNo,AuthAdmin authAdmin) { public Boolean orderUpload(String billNo, AuthAdmin authAdmin) {
IoCollectOrderBackup updateOrder = new IoCollectOrderBackup(); IoCollectOrderBackup updateOrder = new IoCollectOrderBackup();
updateOrder.setBillNo(billNo); updateOrder.setBillNo(billNo);
try { try {
this.generateOrder(billNo,authAdmin); this.generateOrder(billNo, authAdmin);
updateOrder.setUploadStatus(2); updateOrder.setUploadStatus(2);
} catch (Exception e) { } catch (Exception e) {
updateOrder.setUploadStatus(3); updateOrder.setUploadStatus(3);
@ -328,19 +361,19 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
public List<IoCollectOrderCodeMan> codeDetail(Integer bizIdFk) { public List<IoCollectOrderCodeMan> codeDetail(Integer bizIdFk) {
List<IoCollectOrderCodeMan> reList = new ArrayList<>(); List<IoCollectOrderCodeMan> reList = new ArrayList<>();
List<IoCollectOrderCodeAuto> splitCodes = collectOrderCodeAutoService.list(new LambdaQueryWrapper<IoCollectOrderCodeAuto>().eq(IoCollectOrderCodeAuto::getBizIdFk,bizIdFk)); List<IoCollectOrderCodeAuto> splitCodes = collectOrderCodeAutoService.list(new LambdaQueryWrapper<IoCollectOrderCodeAuto>().eq(IoCollectOrderCodeAuto::getBizIdFk, bizIdFk));
List<IoCollectOrderCodeMan> manList = collectOrderCodeManService.list(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getBizIdFk,bizIdFk)); List<IoCollectOrderCodeMan> manList = collectOrderCodeManService.list(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getBizIdFk, bizIdFk));
if (CollUtil.isNotEmpty(splitCodes)){ if (CollUtil.isNotEmpty(splitCodes)) {
splitCodes.forEach( item -> { splitCodes.forEach(item -> {
IoCollectOrderCodeMan ioCollectOrderCodeMan = new IoCollectOrderCodeMan(); IoCollectOrderCodeMan ioCollectOrderCodeMan = new IoCollectOrderCodeMan();
BeanUtils.copyProperties(item,ioCollectOrderCodeMan); BeanUtils.copyProperties(item, ioCollectOrderCodeMan);
reList.add(ioCollectOrderCodeMan); reList.add(ioCollectOrderCodeMan);
}); });
} }
if (CollUtil.isNotEmpty(manList)){ if (CollUtil.isNotEmpty(manList)) {
manList.forEach( item -> { manList.forEach(item -> {
reList.add(item); reList.add(item);
}); });
} }

@ -15,10 +15,7 @@ import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.Collections;
import java.util.Currency;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.collect.RelCodeDetailMapper; import com.glxp.api.dao.collect.RelCodeDetailMapper;
@ -137,8 +134,17 @@ public class RelCodeDetailService extends ServiceImpl<RelCodeDetailMapper, RelCo
* @return * @return
*/ */
public List<RelCodeDetail> getAllNext(String code) { public List<RelCodeDetail> getAllNext(String code) {
RelCodeDetail relCodeDetail = this.baseMapper.selectOne(
new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code)
);
if(Objects.isNull(relCodeDetail)){
relCodeDetail = new RelCodeDetail();
relCodeDetail.setCurCode(code);
}
List<RelCodeDetail> list = new ArrayList<>(); List<RelCodeDetail> list = new ArrayList<>();
list.add(relCodeDetail);
fetchAllChildren(code, list); fetchAllChildren(code, list);
return list; return list;
} }

Loading…
Cancel
Save