南靖接口调用查库存修改

dev_kcyj
anthonywj 1 year ago
parent 3a879c604e
commit 184b3c8139

@ -138,14 +138,14 @@ public class IoOrderController extends BaseController {
//拿到当前单据
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
//根据单据查询 发票号
for (IoOrderResponse ioOrderResponse : list){
for (IoOrderResponse ioOrderResponse : list) {
FilterOrderDetailCodeRequest filterOrderDetailCodeRequest = new FilterOrderDetailCodeRequest();
filterOrderDetailCodeRequest.setOrderIdFk(ioOrderResponse.getBillNo());
List<IoOrderInvoiceEntity> orderInvoiceEntities = ioOrderInvoiceService.findByBillNo(filterOrderDetailCodeRequest.getOrderIdFk());
String invoiceCodes = orderInvoiceEntities.stream()
.map(IoOrderInvoiceEntity::getInvoiceEncode)
.collect(Collectors.joining(","));
log.error("当前所有的发票号{}",invoiceCodes);
log.error("当前所有的发票号{}", invoiceCodes);
ioOrderResponse.setInvoiceCodes(invoiceCodes);
}
@ -270,7 +270,7 @@ public class IoOrderController extends BaseController {
if (StrUtil.isEmpty(orderDetailBizEntity.getSupId())) {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定供应商!");
}
if (orderDetailBizEntity.getCount() == 0) {
if (IntUtil.value(orderDetailBizEntity.getCount()) == 0) {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "产品数量不能为0");
}

@ -3,12 +3,14 @@ package com.glxp.api.controller.thrsys;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.ConstantStatus;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.forthird.ForInvOutScanCodeRequest;
import com.glxp.api.req.inv.FilterInvProductRequest;
@ -19,6 +21,7 @@ import com.glxp.api.res.inv.InvProductResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.forthird.impl.ForThirdSysApiService;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.InvPreProductDetailService;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.service.inv.impl.InvProductDetailService;
@ -64,6 +67,9 @@ public class ForThirdSysApiController {
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
IoCodeService codeService;
/**
* B001
*
@ -77,29 +83,65 @@ public class ForThirdSysApiController {
}
int count = 0;
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductRequest.getUdiCode());
List<UdiRelevanceResponse> udiRelevanceResponses = null;
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), false);
if (udiRelevanceResponses.size() == 0) {
return ResultVOUtils.error("收费项目未对照!");
UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
if (checkUdi == null) {
return ResultVOUtils.error(500, "收费项目未对照!");
}
boolean checkSuccess = true;
String lostMsg = "";
//校验条码完整性
if ("是".equals(checkUdi.getScbssfbhph()) && StrUtil.isEmpty(udiEntity.getBatchNo())) {
checkSuccess = false;
lostMsg = lostMsg + ",批次号";
}
if ("是".equals(checkUdi.getScbssfbhscrq()) && StrUtil.isEmpty(udiEntity.getProduceDate())) {
checkSuccess = false;
lostMsg = lostMsg + ",生产日期";
}
if ("是".equals(checkUdi.getScbssfbhsxrq()) && StrUtil.isEmpty(udiEntity.getExpireDate())) {
checkSuccess = false;
lostMsg = lostMsg + ",失效日期";
}
if ("是".equals(checkUdi.getScbssfbhxlh()) && StrUtil.isEmpty(udiEntity.getSerialNo())) {
checkSuccess = false;
lostMsg = lostMsg + ",序列号";
}
if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && udiEntity.getSerialNo().length() > 20) {
return ResultVOUtils.error(504, "序列号超出20位");
}
if (StrUtil.isNotEmpty(udiEntity.getBatchNo()) && udiEntity.getBatchNo().length() > 20) {
return ResultVOUtils.error(504, "批次号超出20位");
}
if (StrUtil.isEmpty(udiEntity.getSerialNo()) && StrUtil.isEmpty(udiEntity.getBatchNo())) {
checkSuccess = false;
}
if (!checkSuccess) {
return ResultVOUtils.error("UDI码格式错误缺少" + lostMsg);
}
IoCodeEntity codeEntity = codeService.getOne(new QueryWrapper<IoCodeEntity>().likeLeft("code", filterInvProductRequest.getUdiCode()).last("limit 1"));
if (codeEntity == null) {
return ResultVOUtils.error("库存未找到该UDI码请检查该UDI是否存在错误");
}
//1.获取预验收库存
InvWarehouseEntity preInInv = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN);
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, preInInv.getCode(), null, filterInvProductRequest.getUdiCode());
} else
count = invPreinProductDetailService.vailStockCount(udiRelevanceResponses.get(0).getRelId(), udiEntity.getBatchNo(), null, null, preInInv.getCode(), null);
count = invPreinProductDetailService.vailStockCount(checkUdi.getRelId(), udiEntity.getBatchNo(), null, null, preInInv.getCode(), null);
if (count == 0) {
//2.获取寄售库存
InvWarehouseEntity preInv = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE);
count = invPreProductDetailService.vailStockCount(udiRelevanceResponses.get(0).getRelId(), udiEntity.getBatchNo(), null, null, preInv.getCode(), null);
count = invPreProductDetailService.vailStockCount(checkUdi.getRelId(), udiEntity.getBatchNo(), null, null, preInv.getCode(), null);
}
if (count == 0) {
//3.获取入账库库存
count = invProductDetailService.vailStockCount(udiRelevanceResponses.get(0).getRelId(), udiEntity.getBatchNo(), null, null, filterInvProductRequest.getInvCode(), null, true);
count = invProductDetailService.vailStockCount(checkUdi.getRelId(), udiEntity.getBatchNo(), null, null, filterInvProductRequest.getInvCode(), null, true);
}
InvProductResponse invProductResponse = new InvProductResponse();
BeanUtil.copyProperties(udiRelevanceResponses.get(0), invProductResponse);
BeanUtil.copyProperties(checkUdi, invProductResponse);
invProductResponse.setReCount(count);
PageSimpleResponse<InvProductResponse> pageSimpleResponse = new PageSimpleResponse<>();

@ -115,7 +115,7 @@ public class BasicDestinyRelService extends ServiceImpl<BasicDestinyRelMapper, B
public BaseResponse dlThirdDestiny(DlThirdDestinyRequest request) {
int page = 1;
int limit = 200;
int limit = 1000;
request.setThirdSys("thirdId");
request.setLimit(limit);
while (true) {

@ -846,13 +846,12 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
* 3
* 4
*/
List<ThrInvOrderDetail> thrInvOrderDetails = thrInvOrderDetailMapper.selectList(
new LambdaQueryWrapper<ThrInvOrderDetail>()
.and(o -> o.isNull(ThrInvOrderDetail::getHandleStatus).or().ne(ThrInvOrderDetail::getHandleStatus, 1)).
eq(ThrInvOrderDetail::getOrderIdFk, thrInvOrder.getBillNo())
);
if (CollectionUtil.isEmpty(thrInvOrderDetails)) return;
if (CollectionUtil.isEmpty(thrInvOrderDetails)) continue;
log.info("扫描处理第三方收费明细生成单据定时任务==orderIdFk==:[" + thrInvOrder.getBillNo() + "]");
//新单号
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
@ -978,7 +977,12 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ioOrderEntity.setUpdateTime(new Date());
ioOrderEntity.setCreateTime(new Date());
ioOrderEntity.setCustomerId("110");
Long userId = customerService.getUserId();
Long userId = 1l;
try {
userId = customerService.getUserId();
} catch (Exception e) {
e.printStackTrace();
}
ioOrderEntity.setCreateUser(userId + "");
ioOrderEntity.setUpdateUser(userId + "");
ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);//正常单据处理
@ -1309,10 +1313,12 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
Long relId = thrInvOrderDetail.getRelId();
if (relId != null) {
BasicProductsEntity basicProductsEntity = relIdBasicProductsEntityMap.get(relId);
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail);
ioOrderDetailBizEntity.setOrderIdFk(newBillNo);
newOrderDetailBiz.add(ioOrderDetailBizEntity);
if (basicProductsEntity != null && StrUtil.isNotEmpty(basicProductsEntity.getNameCode())) {
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail);
ioOrderDetailBizEntity.setOrderIdFk(newBillNo);
newOrderDetailBiz.add(ioOrderDetailBizEntity);
}
}
}

@ -50,7 +50,7 @@
and thirdSysFk = #{thirdSysFk})
and thirdSysFk = #{thirdSysFk}
<if test="name != '' and name != null">
and name like concat('%', #{name}, '%')
and (name like concat('%', #{name}, '%') or code like concat('%', #{name}, '%'))
</if>
</where>
</select>

Loading…
Cancel
Save