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.VailCodeResultResponse;
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.inv.impl.InvProductServiceNew;
import com.glxp.api.vo.basic.InvProductNewVo;

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

@ -1,33 +1,23 @@
package com.glxp.api.http;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.common.res.BaseResponse;
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.thrsys.*;
import com.glxp.api.exception.JsonException;
import com.glxp.api.http.req.UdiwmsBusTypeRequest;
import com.glxp.api.http.req.UdiwmsUnitRequest;
import com.glxp.api.req.basic.*;
import com.glxp.api.req.collect.PostCollectOrderRequest;
import com.glxp.api.req.inout.PostOrderRequest;
import com.glxp.api.req.thrsys.*;
import com.glxp.api.res.PageSimpleResponse;
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.BasicSkSickerResponse;
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.ThrOrderResponse;
import com.glxp.api.res.thrsys.ThrProductsResponse;
import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail;
import com.glxp.api.service.thrsys.ThrSystemService;
@ -489,9 +479,9 @@ public class ErpBasicClient {
}
//TODO 阿超改==校验码是和下级所有码否传过了逻辑还没写
/**
*
* (list)
*/
public BaseResponse<List> collectOrderCheckCode(List<String> codeList) {
public BaseResponse<List> collectOrderCheckCodeUploading(List<String> codeList) {
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.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
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.inout.IoCodeTempDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
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.collect.*;
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.collect.CollectOrderBizResponse;
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.SysWorkplaceDocumentService;
import com.glxp.api.service.basic.UdiRlSupService;
@ -104,7 +100,10 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Value("${WEB_TITLE}")
private String WEB_TITLE;
@Resource
SystemParamConfigService systemParamConfigService;
private SystemParamConfigService systemParamConfigService;
@Resource
private RelCodeDetailService relCodeDetailService;
public List<IoCollectOrderResponse> filterList(CollectOrderRequest collectOrderRequest) {
if (collectOrderRequest == null) {
return Collections.emptyList();
@ -163,7 +162,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Transactional(rollbackFor = Exception.class)
public void generateOrder(String billNo,AuthAdmin authAdmin) {
public void generateOrder(String billNo, AuthAdmin authAdmin) {
IoCollectOrderBackup collectOrder = getByBillNo(billNo);
@ -227,7 +226,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
BaseResponse<String> stringBaseResponse = spGetHttp.reviewOrder(reviewFinishRequest, authAdmin.getId() + "");
});
}
updateReview(authAdmin,orderEntity);
updateReview(authAdmin, orderEntity);
}
} else if (IntUtil.value(sysWorkplaceDocumentEntity.getIsMatching()) == 0) {
//todo 根据单据类型上传医保或者第三方系统
@ -244,6 +243,40 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
collectOrderList.add(collectOrder);
orderRequest.setCollectOrderList(collectOrderList);
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);
if (baseResponse.getCode() == 20000) {
// 触发上传 转发至中继服务 到外网 再到国家同步库
@ -251,7 +284,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
BaseResponse<String> stringBaseResponse = new BaseResponse<>();
try {
stringBaseResponse = erpBasicClient.collectOrderUpload(orderRequest);
}catch (Exception e){
} catch (Exception e) {
throw new JsonException("触发上传 转发至中继服务 到外网 再到国家同步库 接口服务出错:" + stringBaseResponse.getMessage());
}
});
@ -307,11 +340,11 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Transactional(rollbackFor = Exception.class)
public Boolean orderUpload(String billNo,AuthAdmin authAdmin) {
public Boolean orderUpload(String billNo, AuthAdmin authAdmin) {
IoCollectOrderBackup updateOrder = new IoCollectOrderBackup();
updateOrder.setBillNo(billNo);
try {
this.generateOrder(billNo,authAdmin);
this.generateOrder(billNo, authAdmin);
updateOrder.setUploadStatus(2);
} catch (Exception e) {
updateOrder.setUploadStatus(3);
@ -328,19 +361,19 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
public List<IoCollectOrderCodeMan> codeDetail(Integer bizIdFk) {
List<IoCollectOrderCodeMan> reList = new ArrayList<>();
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<IoCollectOrderCodeAuto> splitCodes = collectOrderCodeAutoService.list(new LambdaQueryWrapper<IoCollectOrderCodeAuto>().eq(IoCollectOrderCodeAuto::getBizIdFk, bizIdFk));
List<IoCollectOrderCodeMan> manList = collectOrderCodeManService.list(new LambdaQueryWrapper<IoCollectOrderCodeMan>().eq(IoCollectOrderCodeMan::getBizIdFk, bizIdFk));
if (CollUtil.isNotEmpty(splitCodes)){
splitCodes.forEach( item -> {
if (CollUtil.isNotEmpty(splitCodes)) {
splitCodes.forEach(item -> {
IoCollectOrderCodeMan ioCollectOrderCodeMan = new IoCollectOrderCodeMan();
BeanUtils.copyProperties(item,ioCollectOrderCodeMan);
BeanUtils.copyProperties(item, ioCollectOrderCodeMan);
reList.add(ioCollectOrderCodeMan);
});
}
if (CollUtil.isNotEmpty(manList)){
manList.forEach( item -> {
if (CollUtil.isNotEmpty(manList)) {
manList.forEach(item -> {
reList.add(item);
});
}

@ -15,10 +15,7 @@ import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Currency;
import java.util.List;
import java.util.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.collect.RelCodeDetailMapper;
@ -137,8 +134,17 @@ public class RelCodeDetailService extends ServiceImpl<RelCodeDetailMapper, RelCo
* @return
*/
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.add(relCodeDetail);
fetchAllChildren(code, list);
return list;
}

Loading…
Cancel
Save