dev_no_inv
yewj 9 months ago committed by qyt
parent 5e0652a735
commit eec0301985

@ -14,7 +14,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
@ -50,7 +49,6 @@ import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.IoOrderResponse;
import com.glxp.api.res.inout.IoStatOrderResponse;
import com.glxp.api.res.thrsys.ThrInvProductResponse;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.*;
@ -229,6 +227,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
*
*/
public void importOrder() {
importUdi();
importPrescribe(null);
}
@ -255,136 +254,57 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
);
}
// TODO: 2024/10/14 下载本地单据类型
public BaseResponse importUdi(CollectOrderRequest collectOrderRequest) {
public void importUdi() {
//下载UDI内部单据
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setStatus(7);
filterOrderRequest.setAction(collectOrderRequest.getBusType());
filterOrderRequest.setProductType(null);
filterOrderRequest.setLimit(collectOrderRequest.getLimit());
filterOrderRequest.setPage(collectOrderRequest.getPage());
filterOrderRequest.setStartTime(collectOrderRequest.getStartTime());
filterOrderRequest.setEndTime(collectOrderRequest.getEndTime());
filterOrderRequest.setBillNo(collectOrderRequest.getBillNo());
filterOrderRequest.setFromCorp(collectOrderRequest.getFromCorpName());
filterOrderRequest.setAction(collectOrderRequest.getBusType());
filterOrderRequest.setKeyWords(collectOrderRequest.getKeyWords());
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
List<IoCollectOrder> collectOrderList = new ArrayList<>();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
for (IoOrderResponse ioOrderEntity : list) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
String mainAction = ioOrderEntity.getMainAction();
String fromCorpName = "";
String shipperName = "";
if (mainAction.equals(ConstantType.TYPE_PUT)){
shipperName = ioOrderEntity.getFromName();
fromCorpName = ioOrderEntity.getDeptName();
}else {
shipperName = ioOrderEntity.getDeptName();
fromCorpName = ioOrderEntity.getFromName();
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.fromType("UDI系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName)
.billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
.orderCirType(sysWorkplaceDocumentEntity.getOrderCirType())
.splitStatus(0)
.tagStatus(1)
.build();
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
save(collectOrder);
IoCollectOrderOrigin ioCollectOrderOrigin = new IoCollectOrderOrigin();
BeanUtils.copyProperties(collectOrder,ioCollectOrderOrigin);
ioCollectOrderOrigin.setTagStatus(2);
collectOrderOriginService.saveOrUpdate(ioCollectOrderOrigin);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
List<IoCollectOrderBizOrigin> collectOrderOriginBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
IoCollectOrderBiz collectOrderBiz = IoCollectOrderBiz.builder().orderIdFk(collectOrder.getBillNo())
.relId(bizEntity.getBindRlFk())
.thrCode(udiRelevanceResponse.getMainId())
.ybbm(udiRelevanceResponse.getYbbm())
.payFeeCode(udiRelevanceResponse.getPayFeeCode())
.cpmctymc(bizEntity.getCoName())
.nameCode(bizEntity.getNameCode())
.ggxh(bizEntity.getSpec())
.batchNo(bizEntity.getBatchNo())
.productDate(bizEntity.getProductDate())
.expireDate(bizEntity.getExpireDate())
.count(bizEntity.getCount())
.measureUnit(bizEntity.getMeasname())
.tagStatus(1)
.unTagCount(bizEntity.getCount()).build();
List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction());
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) {
collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg());
collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit());
}
collectOrderBizs.add(collectOrderBiz);
IoCollectOrderBizOrigin ioCollectOrderBizOrigin = new IoCollectOrderBizOrigin();
BeanUtils.copyProperties(collectOrderBiz,ioCollectOrderBizOrigin);
ioCollectOrderBizOrigin.setId(null);
collectOrderOriginBizs.add(ioCollectOrderBizOrigin);
}
if (CollUtil.isNotEmpty(collectOrderBizs)) {
collectOrderBizService.saveBatch(collectOrderBizs);
}
if (CollUtil.isNotEmpty(collectOrderOriginBizs)) {
collectOrderBizOriginService.saveBatch(collectOrderOriginBizs);
//自动分配工位
final Long[] defaultWorkplace = {null};
if (CollUtil.isNotEmpty(sysWorkplaces)) {
if (sysWorkplaces.size() == 1) {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
} else {
List<SysWorkplaceResponse> addWorkplace = new ArrayList<>();
for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) {
//获取是否有正在处理的工位
List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
sysWorkplace.setOrderCount(collectOrderList1.size());
if (IntUtil.value(sysWorkplace.getOrderCount()) > 0) {
addWorkplace.add(sysWorkplace);
}
}
return ResultVOUtils.success("下载成功");
if (addWorkplace.size() > 0) {
Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream()
.min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount()));
minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId());
} else {
defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
}
public BaseResponse<PageSimpleResponse<IoCollectOrder>> selectImportUdi(FilterOrderRequest filterOrderRequest) {
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(list);
for (IoOrderResponse ioOrderEntity : list) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
continue;
}
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null)
continue;
String mainAction = ioOrderEntity.getMainAction();
String fromCorpName = "";
String shipperName = "";
if (mainAction.equals(ConstantType.TYPE_PUT)){
shipperName = ioOrderEntity.getFromName();
fromCorpName = ioOrderEntity.getDeptName();
}else {
shipperName = ioOrderEntity.getDeptName();
fromCorpName = ioOrderEntity.getFromName();
}
IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo())
.fromType("UDI系统")
.busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName)
.workPlaceCode(defaultWorkplace[0])
.billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
@ -395,7 +315,9 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1);
}
save(collectOrder);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
@ -421,16 +343,29 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
collectOrderBizs.add(collectOrderBiz);
}
collectOrder.setBizList(collectOrderBizs);
ioCollectOrders.add(collectOrder);
if (CollUtil.isNotEmpty(collectOrderBizs)) {
collectOrderBizService.saveBatch(collectOrderBizs);
}
allWorksList.addAll(sysWorkplaces);
if (IntUtil.value(sysWorkplaceDocumentEntity.getAutoTag()) == 1 && IntUtil.value(collectOrder.getTagStatus()) == 1) {
splitFifoCodeService.lockInventoryByOrder(collectOrder.getBillNo(), 1);
}
PageInfo<IoCollectOrder> pageInfoReturn = new PageInfo<>(ioCollectOrders);
BeanUtils.copyProperties(pageInfo,pageInfoReturn);
pageInfoReturn.setList(ioCollectOrders);
return ResultVOUtils.success(pageInfoReturn);
}
// if (CollUtil.isNotEmpty(collectOrderList)) {
// saveBatch(collectOrderList);
// }
// Map<Long, SysWorkplaceResponse> sysWorkplaceMap = new HashMap<>();
// for (SysWorkplaceResponse sysWorkplace : allWorksList) {
// sysWorkplaceMap.put(sysWorkplace.getId(), sysWorkplace);
// }
// for (SysWorkplaceResponse value : sysWorkplaceMap.values()) {
// splitFifoCodeService.preAllotInv(value.getWorkplaceId());
// }
}
public void importPrescribe(List<BasicSkPrescribeEntity> basicSkPrescribeEntities) {

Loading…
Cancel
Save