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.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.github.pagehelper.PageInfo;
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;
@ -50,7 +49,6 @@ import com.glxp.api.res.basic.UdiRelevanceResponse;
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.res.inout.IoOrderResponse; 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.res.thrsys.ThrInvProductResponse;
import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.*; import com.glxp.api.service.basic.*;
@ -229,6 +227,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
* *
*/ */
public void importOrder() { public void importOrder() {
importUdi();
importPrescribe(null); 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 filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setStatus(7); filterOrderRequest.setStatus(7);
filterOrderRequest.setAction(collectOrderRequest.getBusType());
filterOrderRequest.setProductType(null); 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<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
List<IoCollectOrder> collectOrderList = new ArrayList<>();
List<SysWorkplaceResponse> allWorksList = new ArrayList<>();
for (IoOrderResponse ioOrderEntity : list) { for (IoOrderResponse ioOrderEntity : list) {
if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) {
continue; continue;
} }
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction()); SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(ioOrderEntity.getAction());
if (sysWorkplaceDocumentEntity == null) if (sysWorkplaceDocumentEntity == null)
continue; continue;
String mainAction = ioOrderEntity.getMainAction(); List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction());
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();
if (IntUtil.value(udiRelevanceResponse.getProductsType()) == 2) { //自动分配工位
collectOrderBiz.setGgxh(udiRelevanceResponse.getBzgg()); final Long[] defaultWorkplace = {null};
collectOrderBiz.setMeasureUnit(udiRelevanceResponse.getPrepnUnit()); if (CollUtil.isNotEmpty(sysWorkplaces)) {
} if (sysWorkplaces.size() == 1) {
collectOrderBizs.add(collectOrderBiz); defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId();
IoCollectOrderBizOrigin ioCollectOrderBizOrigin = new IoCollectOrderBizOrigin(); } else {
BeanUtils.copyProperties(collectOrderBiz,ioCollectOrderBizOrigin); List<SysWorkplaceResponse> addWorkplace = new ArrayList<>();
ioCollectOrderBizOrigin.setId(null); for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) {
collectOrderOriginBizs.add(ioCollectOrderBizOrigin); //获取是否有正在处理的工位
} List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
if (CollUtil.isNotEmpty(collectOrderBizs)) { .eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2));
collectOrderBizService.saveBatch(collectOrderBizs); sysWorkplace.setOrderCount(collectOrderList1.size());
} if (IntUtil.value(sysWorkplace.getOrderCount()) > 0) {
if (CollUtil.isNotEmpty(collectOrderOriginBizs)) { addWorkplace.add(sysWorkplace);
collectOrderBizOriginService.saveBatch(collectOrderOriginBizs);
} }
} }
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() IoCollectOrder collectOrder = IoCollectOrder.builder()
.billNo(ioOrderEntity.getBillNo()) .billNo(ioOrderEntity.getBillNo())
.fromType("UDI系统") .fromType("UDI系统")
.busType(ioOrderEntity.getAction()) .busType(ioOrderEntity.getAction())
.fromCorp(ioOrderEntity.getFromName()) .fromCorp(ioOrderEntity.getFromName())
.fromCorpName(fromCorpName) .workPlaceCode(defaultWorkplace[0])
.billTime(ioOrderEntity.getCreateTime()) .billTime(ioOrderEntity.getCreateTime())
.shipperName(shipperName)
.createTime(ioOrderEntity.getCreateTime()) .createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser()) .createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date()) .updateTime(new Date())
@ -395,7 +315,9 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
if (collectOrder.getWorkPlaceCode() != null) { if (collectOrder.getWorkPlaceCode() != null) {
collectOrder.setTagStatus(1); collectOrder.setTagStatus(1);
} }
save(collectOrder);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo()); List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo());
List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>(); List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>();
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + ""); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getBindRlFk() + "");
@ -421,16 +343,29 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
} }
collectOrderBizs.add(collectOrderBiz); collectOrderBizs.add(collectOrderBiz);
} }
collectOrder.setBizList(collectOrderBizs); if (CollUtil.isNotEmpty(collectOrderBizs)) {
ioCollectOrders.add(collectOrder); 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) { public void importPrescribe(List<BasicSkPrescribeEntity> basicSkPrescribeEntities) {

Loading…
Cancel
Save