平潭收费生成单据问题

dev_fifo1.0
anthonywj 1 year ago
parent 2983a32c3e
commit 5e62af17e7

@ -58,8 +58,8 @@ public class AuthorizeAspect {
// 根据头部名称获取相应的值 // 根据头部名称获取相应的值
String value = request.getHeader(name); String value = request.getHeader(name);
log.info("Header Name: " + name); // log.info("Header Name: " + name);
log.info("Header Value: " + value); // log.info("Header Value: " + value);
} }
String id = request.getHeader("ADMINID"); String id = request.getHeader("ADMINID");

@ -108,6 +108,11 @@ public class ThrInvOrder implements Serializable {
*/ */
private Integer sourceType; private Integer sourceType;
/**
* 1.2.3.
*/
private Integer genStatus;
/** /**
* *
*/ */

@ -79,6 +79,7 @@ public class SpGetHttpClient {
public BaseResponse<String> postData(String taskId, BasicExportTypeEnum exportType, Object data) { public BaseResponse<String> postData(String taskId, BasicExportTypeEnum exportType, Object data) {
SyncUpLoadRequest build = SyncUpLoadRequest.builder().taskId(taskId).exportType(exportType).data(data).build(); SyncUpLoadRequest build = SyncUpLoadRequest.builder().taskId(taskId).exportType(exportType).data(data).build();
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/upload/data", JSONUtil.toJsonStr(build), buildHeader()); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/upload/data", JSONUtil.toJsonStr(build), buildHeader());
log.info(result);
return JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() { return JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
}); });
} }
@ -88,6 +89,7 @@ public class SpGetHttpClient {
public BaseResponse<String> postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) { public BaseResponse<String> postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse); String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/orderApi/sps/sync/order/upload", json, buildHeader()); String result = okHttpCli.doPostJson(getIpUrl() + "/orderApi/sps/sync/order/upload", json, buildHeader());
log.info(result);
BaseResponse<String> response = BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
}); });
@ -98,6 +100,7 @@ public class SpGetHttpClient {
public BaseResponse<String> postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) { public BaseResponse<String> postAllBusOrder(SpsSyncBusOrderResponse spsSyncOrderResponse) {
String json = JSONUtil.toJsonStr(spsSyncOrderResponse); String json = JSONUtil.toJsonStr(spsSyncOrderResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json, buildHeader()); String result = okHttpCli.doPostJson(getIpUrl() + "/busOrderApi/sps/sync/busOrder/upload", json, buildHeader());
log.info(result);
BaseResponse<String> response = BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
}); });
@ -109,6 +112,7 @@ public class SpGetHttpClient {
public BaseResponse<String> postAllBusType(SpsSyncBusResponse spsSyncBusResponse) { public BaseResponse<String> postAllBusType(SpsSyncBusResponse spsSyncBusResponse) {
String json = JSONUtil.toJsonStr(spsSyncBusResponse); String json = JSONUtil.toJsonStr(spsSyncBusResponse);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/busType/upload", json, buildHeader()); String result = okHttpCli.doPostJson(getIpUrl() + "/sps/sync/busType/upload", json, buildHeader());
log.info(result);
BaseResponse<String> response = BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
}); });

@ -285,7 +285,7 @@ public class IoAddInoutService {
if (StrUtil.isEmpty(orderDetailBizEntity.getSupId())) { if (StrUtil.isEmpty(orderDetailBizEntity.getSupId())) {
errMsg = errMsg + orderDetailBizEntity.getCoName() + "该产品未指定供应商;"; errMsg = errMsg + orderDetailBizEntity.getCoName() + "该产品未指定供应商;";
} }
if (orderDetailBizEntity.getCount() == 0) { if (IntUtil.value(orderDetailBizEntity.getCount()) == 0) {
errMsg = errMsg + orderDetailBizEntity.getCoName() + "产品数量不能为0;"; errMsg = errMsg + orderDetailBizEntity.getCoName() + "产品数量不能为0;";
} }

@ -2,9 +2,9 @@ package com.glxp.api.service.thrsys.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -21,7 +21,6 @@ import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.*; import com.glxp.api.entity.thrsys.*;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
import com.glxp.api.http.ErpInvClient; import com.glxp.api.http.ErpInvClient;
@ -36,7 +35,6 @@ import com.glxp.api.res.inv.ThrInvResultResponse;
import com.glxp.api.res.thrsys.ThrInvOrderResponse; import com.glxp.api.res.thrsys.ThrInvOrderResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.ProductInfoService;
import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.basic.UdiRlSupService;
import com.glxp.api.service.basic.impl.BasicDestinyRelService; import com.glxp.api.service.basic.impl.BasicDestinyRelService;
@ -53,7 +51,6 @@ import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil; import com.glxp.api.util.udi.UdiCalCountUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -62,6 +59,7 @@ import javax.annotation.Resource;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -431,7 +429,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增 ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿 ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿 ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
ioOrderEntity.setCorpOrderId(UUID.randomUUID()+"");//单据号 ioOrderEntity.setCorpOrderId(UUID.randomUUID() + "");//单据号
ioOrderEntity.setThrOrderIdFk(billNo);//单据号 ioOrderEntity.setThrOrderIdFk(billNo);//单据号
ioOrderEntity.setUpdateTime(new Date()); ioOrderEntity.setUpdateTime(new Date());
ioOrderEntity.setCustomerId("110"); ioOrderEntity.setCustomerId("110");
@ -449,7 +447,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
//更新三方明细列表为已处理 //更新三方明细列表为已处理
List<ThrInvOrderDetail> value = entry.getValue(); List<ThrInvOrderDetail> value = entry.getValue();
List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(value.size()); List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(value.size());
value.forEach( x -> { value.forEach(x -> {
x.setHandleStatus(1); x.setHandleStatus(1);
x.setToBillNo(newBillNo); x.setToBillNo(newBillNo);
updateThrInvOrderDetails.add(x); updateThrInvOrderDetails.add(x);
@ -461,7 +459,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
thrInvOrder.setUpdateTime(new Date()); thrInvOrder.setUpdateTime(new Date());
thrInvOrder.setUpdateUser(userId + ""); thrInvOrder.setUpdateUser(userId + "");
String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo()) +( "," + newBillNo); String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo);
// 检查字符串是否以逗号开始 // 检查字符串是否以逗号开始
if (toBillNo.startsWith(",")) { if (toBillNo.startsWith(",")) {
// 使用substring()去掉第一个字符 // 使用substring()去掉第一个字符
@ -530,7 +528,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增 ioOrderEntity.setFromType(ConstantStatus.FROM_WEBNEW);//网页新增
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿 ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿 ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
ioOrderEntity.setCorpOrderId(UUID.randomUUID()+"");//单据号 ioOrderEntity.setCorpOrderId(UUID.randomUUID() + "");//单据号
ioOrderEntity.setThrOrderIdFk(billNo);//单据号 ioOrderEntity.setThrOrderIdFk(billNo);//单据号
ioOrderEntity.setUpdateTime(new Date()); ioOrderEntity.setUpdateTime(new Date());
ioOrderEntity.setCreateTime(new Date()); ioOrderEntity.setCreateTime(new Date());
@ -554,7 +552,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
//更新三方明细列表为已处理 //更新三方明细列表为已处理
List<ThrInvOrderDetail> value = entry.getValue(); List<ThrInvOrderDetail> value = entry.getValue();
List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(value.size()); List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(value.size());
value.forEach( x -> { value.forEach(x -> {
x.setHandleStatus(1); x.setHandleStatus(1);
x.setToBillNo(newBillNo); x.setToBillNo(newBillNo);
updateThrInvOrderDetails.add(x); updateThrInvOrderDetails.add(x);
@ -563,7 +561,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails);
ioOrderService.insertOrder(ioOrderEntity); ioOrderService.insertOrder(ioOrderEntity);
String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo()) +( "," + newBillNo); String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo);
// 检查字符串是否以逗号开始 // 检查字符串是否以逗号开始
if (toBillNo.startsWith(",")) { if (toBillNo.startsWith(",")) {
// 使用substring()去掉第一个字符 // 使用substring()去掉第一个字符
@ -810,39 +808,46 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
@Override @Override
public void scanInvSfOrderGenerateSfOrder() { public void scanInvSfOrderGenerateSfOrder() {
log.info("扫描处理第三方收费明细生成单据定时任务开始"); log.info("扫描处理第三方收费明细生成单据定时任务开始");
List<ThrInvOrderDetail> list = thrInvOrderDetailMapper.selectSourceTypeList(Constant.THR_INV_SF_ORDER_TYPE); // List<ThrInvOrderDetail> list = thrInvOrderDetailMapper.selectSourceTypeList(Constant.THR_INV_SF_ORDER_TYPE);
List<ThrInvOrder> thrInvOrders = thrInvOrderMapper.selectList(new LambdaQueryWrapper<ThrInvOrder>()
.eq(ThrInvOrder::getSourceType, Constant.THR_INV_SF_ORDER_TYPE)
.lt(ThrInvOrder::getGenStatus, 3));
if (CollUtil.isNotEmpty(thrInvOrders)) {
for (ThrInvOrder thrInvOrder : thrInvOrders) {
/** /**
* 1 * 1
* 2 * 2
* 3 * 3
* 4 * 4
*/ */
if (CollectionUtil.isEmpty(list)) return;
Map<String, List<ThrInvOrderDetail>> grouped = list.stream() List<ThrInvOrderDetail> thrInvOrderDetails = thrInvOrderDetailMapper.selectList(
.collect(Collectors.groupingBy(ThrInvOrderDetail::getOrderIdFk)); new LambdaQueryWrapper<ThrInvOrderDetail>()
for (Map.Entry<String, List<ThrInvOrderDetail>> entry : grouped.entrySet()) { .and(o -> o.isNull(ThrInvOrderDetail::getHandleStatus).or().ne(ThrInvOrderDetail::getHandleStatus, 1)).
String orderIdFk = entry.getKey(); eq(ThrInvOrderDetail::getOrderIdFk, thrInvOrder.getBillNo())
log.info("扫描处理第三方收费明细生成单据定时任务==orderIdFk==:[" + orderIdFk + "]"); );
List<ThrInvOrderDetail> thrInvOrderDetails = entry.getValue(); if (CollectionUtil.isEmpty(thrInvOrderDetails)) return;
log.info("扫描处理第三方收费明细生成单据定时任务==orderIdFk==:[" + thrInvOrder.getBillNo() + "]");
//新单号 //新单号
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd")); String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
//通过单号获取单据信息 //通过单号获取单据信息
QueryWrapper<ThrInvOrder> qw = new QueryWrapper<>(); QueryWrapper<ThrInvOrder> qw = new QueryWrapper<>();
qw.eq("billNo", orderIdFk); qw.eq("billNo", thrInvOrder.getBillNo());
ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw);
BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType());
List<ThrInvOrderDetail> addThrInvOrderDetails = new ArrayList<>(); List<ThrInvOrderDetail> addThrInvOrderDetails = new ArrayList<>();
List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>(); List<ThrInvOrderDetail> updateThrInvOrderDetails = new ArrayList<>();
List<Long> delThrInvOrderDetailIds = new ArrayList<>(); List<Long> delThrInvOrderDetailIds = new ArrayList<>();
List<String> delThrCodes = new ArrayList<>(); List<String> delThrCodes = new ArrayList<>();
if (thrInvOrder.getSourceType() == Constant.THR_INV_SF_ORDER_TYPE) {//走组套 if (thrInvOrder.getSourceType() == Constant.THR_INV_SF_ORDER_TYPE) {//走组套
log.info("走组套"); log.info("走组套");
AtomicInteger fullGen = new AtomicInteger();
thrInvOrderDetails.forEach(item -> { thrInvOrderDetails.forEach(item -> {
Long relId = item.getRelId(); Long relId = item.getRelId();
if (ObjectUtil.isNull(relId)) { if (ObjectUtil.isNull(relId)) {
//通过thrCode获取到项目组套
String thrCode = item.getThrCode(); String thrCode = item.getThrCode();
Integer count = Integer.valueOf(item.getReCount()); Integer count = Integer.valueOf(item.getReCount());
List<BasicSkProjectDetailEntity> skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode); List<BasicSkProjectDetailEntity> skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode);
@ -852,7 +857,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail();
BeanUtils.copyProperties(item, thrInvOrderDetail); BeanUtils.copyProperties(item, thrInvOrderDetail);
thrInvOrderDetail.setId(null); thrInvOrderDetail.setId(null);
thrInvOrderDetail.setOrderIdFk(orderIdFk); thrInvOrderDetail.setOrderIdFk(thrInvOrder.getBillNo());
thrInvOrderDetail.setRelId(sk.getRelId()); thrInvOrderDetail.setRelId(sk.getRelId());
thrInvOrderDetail.setSupId(sk.getSupId() + ""); thrInvOrderDetail.setSupId(sk.getSupId() + "");
thrInvOrderDetail.setHandleStatus(1); thrInvOrderDetail.setHandleStatus(1);
@ -862,15 +867,20 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
if (skCount != null && skCount > 0) { if (skCount != null && skCount > 0) {
thrInvOrderDetail.setReCount(String.valueOf(skCount * count)); thrInvOrderDetail.setReCount(String.valueOf(skCount * count));
} }
addThrInvOrderDetails.add(thrInvOrderDetail); addThrInvOrderDetails.add(thrInvOrderDetail);
delThrCodes.add(thrCode); delThrCodes.add(thrCode);
}); });
} else { fullGen.getAndIncrement();
} }
} }
}); });
if (thrInvOrderDetails.size() == fullGen.intValue()) {
thrInvOrder.setGenStatus(2);
thrInvOrderMapper.updateById(thrInvOrder);
} else if (thrInvOrder.getGenStatus() < 1 && fullGen.intValue() > 0) {
thrInvOrder.setGenStatus(2);
thrInvOrderMapper.updateById(thrInvOrder);
}
} else {//不走组套 } else {//不走组套
log.info("不走组套"); log.info("不走组套");
@ -894,7 +904,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId); CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId);
if (udiRlSupEntity != null) if (udiRlSupEntity != null)
item.setSupId(udiRlSupEntity.getCustomerId()); item.setSupId(udiRlSupEntity.getCustomerId());
} else {
} }
} }
}); });
@ -918,7 +927,16 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) { if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) {
thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails);
} }
genOrder(newBillNo, updateThrInvOrderDetails, addThrInvOrderDetails, thrInvOrder, bussinessTypeEntity);
log.info("扫描处理第三方收费明细生成单据定时任务结束");
}
}
}
public void genOrder(String newBillNo,
List<ThrInvOrderDetail> updateThrInvOrderDetails, List<ThrInvOrderDetail> addThrInvOrderDetails,
ThrInvOrder thrInvOrder, BasicBussinessTypeEntity bussinessTypeEntity) {
if (updateThrInvOrderDetails.size() > 0 || addThrInvOrderDetails.size() > 0) { if (updateThrInvOrderDetails.size() > 0 || addThrInvOrderDetails.size() > 0) {
IoOrderEntity ioOrderEntity = new IoOrderEntity(); IoOrderEntity ioOrderEntity = new IoOrderEntity();
@ -954,7 +972,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
} }
} }
String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo()) +( "," + newBillNo); String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo);
// 检查字符串是否以逗号开始 // 检查字符串是否以逗号开始
if (toBillNo.startsWith(",")) { if (toBillNo.startsWith(",")) {
// 使用substring()去掉第一个字符 // 使用substring()去掉第一个字符
@ -969,8 +987,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity); ioAddInoutService.dealBusProcess(ioOrderEntity, bussinessTypeEntity);
} }
} }
log.info("扫描处理第三方收费明细生成单据定时任务结束");
}
@Override @Override
public void scanInvPhOrderGeneratePhOrder() { public void scanInvPhOrderGeneratePhOrder() {
@ -1117,7 +1133,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
throw new JsonException("第三方普耗明细自动转化单据异常"); throw new JsonException("第三方普耗明细自动转化单据异常");
} }
} }
String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo()) +( "," + newBillNo); String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo);
// 检查字符串是否以逗号开始 // 检查字符串是否以逗号开始
if (toBillNo.startsWith(",")) { if (toBillNo.startsWith(",")) {
// 使用substring()去掉第一个字符 // 使用substring()去掉第一个字符
@ -1172,7 +1188,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
} }
}); });
if (generatethrInvOrderDetails.size() >0 ) { if (generatethrInvOrderDetails.size() > 0) {
thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态 thrInvOrderDetailMapper.updateBatchById(generatethrInvOrderDetails);//先进行 回写已处理状态
//通过单号获取单据信息 //通过单号获取单据信息
@ -1208,7 +1224,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
throw new JsonException("第三方高耗明细自动转化单据异常"); throw new JsonException("第三方高耗明细自动转化单据异常");
} }
String toBillNo = (thrInvOrder.getToBillNo()==null?"":thrInvOrder.getToBillNo()) +( "," + newBillNo); String toBillNo = (thrInvOrder.getToBillNo() == null ? "" : thrInvOrder.getToBillNo()) + ("," + newBillNo);
// 检查字符串是否以逗号开始 // 检查字符串是否以逗号开始
if (toBillNo.startsWith(",")) { if (toBillNo.startsWith(",")) {
// 使用substring()去掉第一个字符 // 使用substring()去掉第一个字符
@ -1259,6 +1275,8 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
newBillNo) { newBillNo) {
List<Long> relIds = thrInvOrderDetails.stream().filter(x -> ObjectUtil.isNotNull(x.getRelId())) List<Long> relIds = thrInvOrderDetails.stream().filter(x -> ObjectUtil.isNotNull(x.getRelId()))
.map(ThrInvOrderDetail::getRelId).collect(Collectors.toList()); .map(ThrInvOrderDetail::getRelId).collect(Collectors.toList());
if (CollUtil.isEmpty(relIds))
return false;
List<BasicProductsEntity> basicProductsEntities = udiRelevanceDao.selectProductByRelIds(relIds); List<BasicProductsEntity> basicProductsEntities = udiRelevanceDao.selectProductByRelIds(relIds);
if (CollectionUtil.isEmpty(basicProductsEntities)) return false; if (CollectionUtil.isEmpty(basicProductsEntities)) return false;
Map<Long, BasicProductsEntity> relIdBasicProductsEntityMap = basicProductsEntities.stream().collect(Collectors.toMap(BasicProductsEntity::getId, x -> x)); Map<Long, BasicProductsEntity> relIdBasicProductsEntityMap = basicProductsEntities.stream().collect(Collectors.toMap(BasicProductsEntity::getId, x -> x));
@ -1266,12 +1284,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
for (int i = 0; i < thrInvOrderDetails.size(); i++) { for (int i = 0; i < thrInvOrderDetails.size(); i++) {
ThrInvOrderDetail thrInvOrderDetail = thrInvOrderDetails.get(i); ThrInvOrderDetail thrInvOrderDetail = thrInvOrderDetails.get(i);
Long relId = thrInvOrderDetail.getRelId(); Long relId = thrInvOrderDetail.getRelId();
if (relId != null) {
BasicProductsEntity basicProductsEntity = relIdBasicProductsEntityMap.get(relId); BasicProductsEntity basicProductsEntity = relIdBasicProductsEntityMap.get(relId);
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail); parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail);
ioOrderDetailBizEntity.setOrderIdFk(newBillNo); ioOrderDetailBizEntity.setOrderIdFk(newBillNo);
newOrderDetailBiz.add(ioOrderDetailBizEntity); newOrderDetailBiz.add(ioOrderDetailBizEntity);
} }
}
return true; return true;
} }
@ -1320,7 +1341,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ioOrderDetailBizEntity.setBindRlFk(basicProductsEntity.getId()); ioOrderDetailBizEntity.setBindRlFk(basicProductsEntity.getId());
ioOrderDetailBizEntity.setSupId(thrInvOrderDetail.getSupId()); ioOrderDetailBizEntity.setSupId(thrInvOrderDetail.getSupId());
ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode()); ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode());
ioOrderDetailBizEntity.setCount(Integer.valueOf(thrInvOrderDetail.getReCount())); ioOrderDetailBizEntity.setCount(IntUtil.value(thrInvOrderDetail.getReCount()));
ioOrderDetailBizEntity.setBatchNo(thrInvOrderDetail.getBatchNo()); ioOrderDetailBizEntity.setBatchNo(thrInvOrderDetail.getBatchNo());
ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc()); ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc());
ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh()); ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh());
@ -1374,6 +1395,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
thrInvOrder.setStatus(ConstantStatus.SFIO_DRAFT);//单据状态 草稿 thrInvOrder.setStatus(ConstantStatus.SFIO_DRAFT);//单据状态 草稿
thrInvOrder.setSourceType(SourceType);//来源类型 thrInvOrder.setSourceType(SourceType);//来源类型
thrInvOrder.setCreateTime(newDate); thrInvOrder.setCreateTime(newDate);
thrInvOrder.setGenStatus(1);
if (thrSystemBusApiEntity != null) if (thrSystemBusApiEntity != null)
thrInvOrder.setFromCorp(thrSystemBusApiEntity.getFromCorp()); thrInvOrder.setFromCorp(thrSystemBusApiEntity.getFromCorp());
thrInvOrder.setCreateUser("外部系统下载"); thrInvOrder.setCreateUser("外部系统下载");

@ -1,10 +1,12 @@
package com.glxp.api.task; package com.glxp.api.task;
import cn.hutool.core.thread.ThreadUtil;
import com.glxp.api.dao.schedule.ScheduledDao; import com.glxp.api.dao.schedule.ScheduledDao;
import com.glxp.api.entity.system.ScheduledEntity; import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.req.system.ScheduledRequest; import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.service.thrsys.ThrInvOrderService; import com.glxp.api.service.thrsys.ThrInvOrderService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.annotation.SchedulingConfigurer;
@ -49,7 +51,7 @@ public class ScanThrOrderGenerateOrderTask implements SchedulingConfigurer {
try { try {
thrInvOrderService.scanInvSfOrderGenerateSfOrder(); thrInvOrderService.scanInvSfOrderGenerateSfOrder();
} catch (Exception e) { } catch (Exception e) {
log.error(ExceptionUtils.getStackTrace(e));
} }
log.info("定时扫描三方的明细表-收费明细类型结束"); log.info("定时扫描三方的明细表-收费明细类型结束");
//======================================================================================= //=======================================================================================
@ -57,7 +59,7 @@ public class ScanThrOrderGenerateOrderTask implements SchedulingConfigurer {
try { try {
thrInvOrderService.scanInvPhOrderGeneratePhOrder(); thrInvOrderService.scanInvPhOrderGeneratePhOrder();
} catch (Exception e) { } catch (Exception e) {
log.error(ExceptionUtils.getStackTrace(e));
} }
log.info("定时扫描三方的明细表-普耗明细类型结束"); log.info("定时扫描三方的明细表-普耗明细类型结束");
//======================================================================================= //=======================================================================================

@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:p6spy:mysql://192.168.0.43:3306/udi_wms_pt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
hikari: hikari:

@ -30,8 +30,7 @@
right join thr_inv_order on thr_inv_order_detail.orderIdFk = thr_inv_order.billNo right join thr_inv_order on thr_inv_order_detail.orderIdFk = thr_inv_order.billNo
<where> <where>
AND thr_inv_order.sourceType = #{thrInvSfOrderType} AND thr_inv_order.sourceType = #{thrInvSfOrderType}
AND (thr_inv_order_detail.handleStatus = 0 or thr_inv_order_detail.handleStatus is null ) AND (thr_inv_order_detail.handleStatus = 0 or thr_inv_order_detail.handleStatus is null)
</where> </where>
</select> </select>
</mapper> </mapper>

@ -1809,11 +1809,14 @@ values (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admi
insert IGNORE into sys_dict_type insert IGNORE into sys_dict_type
values (4, '设备来源', 'device_source_type', '0', 'admin', sysdate(), '', null, '设备来源列表'); values (4, '设备来源', 'device_source_type', '0', 'admin', sysdate(), '', null, '设备来源列表');
insert IGNORE into sys_dict_data insert IGNORE into sys_dict_data
values (8, 1, '采购', '1', 'device_source_type', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, 'chooseProductFlag'); values (8, 1, '采购', '1', 'device_source_type', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null,
'chooseProductFlag');
insert IGNORE into sys_dict_data insert IGNORE into sys_dict_data
values (9, 2, '赠与', '2', 'device_source_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, 'selectInvProductVisible'); values (9, 2, '赠与', '2', 'device_source_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null,
'selectInvProductVisible');
insert IGNORE into sys_dict_data insert IGNORE into sys_dict_data
values (10, 3, '寄售', '3', 'device_source_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, 'chooseProductFlag'); values (10, 3, '寄售', '3', 'device_source_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null,
'chooseProductFlag');
ALTER TABLE sys_dict_data ALTER TABLE sys_dict_data
@ -1821,11 +1824,16 @@ ALTER TABLE sys_dict_data
ALTER TABLE sys_dict_type ALTER TABLE sys_dict_type
MODIFY COLUMN `dict_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '字典主键' FIRST; MODIFY COLUMN `dict_id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '字典主键' FIRST;
INSERT IGNORE INTO sys_dict_type(`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) INSERT IGNORE INTO sys_dict_type(`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`,
VALUES (9, '相关人员类别', 'device_user_type', '0', 'admin', '2024-03-20 11:47:55', 'admin', '2024-03-20 11:47:55', '相关人员类别列表'); `update_time`, `remark`)
insert IGNORE into sys_dict_data values(11, 1, '维护员', '1', 'device_user_type', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '维护人员'); VALUES (9, '相关人员类别', 'device_user_type', '0', 'admin', '2024-03-20 11:47:55', 'admin', '2024-03-20 11:47:55',
insert IGNORE into sys_dict_data values(12, 2, '厂家技术支持', '2', 'device_user_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '厂家技术支持人员'); '相关人员类别列表');
insert IGNORE into sys_dict_data values(13, 3, '操作员', '3', 'device_user_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '操作人员'); insert IGNORE into sys_dict_data
values (11, 1, '维护员', '1', 'device_user_type', '', 'primary', 'Y', '0', 'admin', sysdate(), '', null, '维护人员');
insert IGNORE into sys_dict_data
values (12, 2, '厂家技术支持', '2', 'device_user_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '厂家技术支持人员');
insert IGNORE into sys_dict_data
values (13, 3, '操作员', '3', 'device_user_type', '', 'primary', 'N', '0', 'admin', sysdate(), '', null, '操作人员');
CALL Pro_Temp_ColumnWork('device_asset_user', 'userType', CALL Pro_Temp_ColumnWork('device_asset_user', 'userType',
' varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''用户类型'' ', ' varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL DEFAULT NULL COMMENT ''用户类型'' ',
@ -1839,8 +1847,13 @@ ALTER TABLE device_asset_user
CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'batchNo', 'varchar(60)', 2); CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'batchNo', 'varchar(60)', 2);
INSERT IGNORE INTO sys_custom_config_detail(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) INSERT IGNORE INTO sys_custom_config_detail(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`,
VALUES (38032, 16, '1', 1, 'auditTime', '审核时间', 'text', '', NULL, '', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`,
`buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`,
`disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`,
`dataFuc`, `isShowXx`)
VALUES (38032, 16, '1', 1, 'auditTime', '审核时间', 'text', '', NULL, '', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL);
CALL Pro_Temp_ColumnWork('basic_products', 'catalogname1', CALL Pro_Temp_ColumnWork('basic_products', 'catalogname1',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''一级分类名称(学科,品名)''', ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''一级分类名称(学科,品名)''',
@ -1878,3 +1891,8 @@ CALL Pro_Temp_ColumnWork('thr_inv_order_detail', 'toBillNo',
CALL Pro_Temp_ColumnWork('thr_inv_order', 'toBillNo', CALL Pro_Temp_ColumnWork('thr_inv_order', 'toBillNo',
' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''生成的单据号''', ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''生成的单据号''',
1); 1);
CALL Pro_Temp_ColumnWork('thr_inv_order', 'genStatus',
' tinyint NULL DEFAULT NULL COMMENT ''生成单据状态''',
1);

Loading…
Cancel
Save