Browse Source

Merge branch 'main' of https://git.chienli.tech/yangzl.bw/jnpf into main

main
xbw 1 year ago
parent
commit
3b63615ef9
  1. 2
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TBookGoWhereMapper.java
  2. 6
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/ILibraryService.java
  3. 2
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TBookGoWhereService.java
  4. 38
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/LibraryServiceImpl.java
  5. 4
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TBookGoWhereServiceImpl.java
  6. 199
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsMainServiceImpl.java
  7. 1
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TSelectionOrderingMainServiceImpl.java
  8. 3
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookGoWhereMapper.xml
  9. 37
      jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/ReceiveGoodsMainController.java
  10. 2
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ReceiveGoodsMainEnum.java
  11. 2
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/ReceiveGoodsMainDto.java

2
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TBookGoWhereMapper.java

@ -19,6 +19,6 @@ public interface TBookGoWhereMapper extends BaseMapper<TBookGoWhere> { @@ -19,6 +19,6 @@ public interface TBookGoWhereMapper extends BaseMapper<TBookGoWhere> {
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(@Param("bookNumber") String bookNumber,@Param("corpId") String corpId);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(@Param("id") Long id);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(@Param("bookNumber") String bookNumber,@Param("id") Long id);
}

6
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/ILibraryService.java

@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService; @@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.entity.TBookGoWhere;
import jnpf.entity.TLibrary;
import jnpf.entity.TSelectionOrderingBooks;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.model.dto.SelectionOrderingMainDto;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 图书去向表(TBookGoWhere)表服务接口
@ -18,5 +20,9 @@ import java.util.Map; @@ -18,5 +20,9 @@ import java.util.Map;
*/
public interface ILibraryService extends IService<TLibrary>{
IPage<TLibrary> getLibraryList(SelectionOrderingMainDto.GetLibraryListParam param);
ReceiveGoodsMainDto.BunchingInfo getBunchingInfoByBookNumber(String bookNumber);
List<TLibrary> getListByBookNumberList(Set<String> queryBookInfoNumberList);
}

2
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TBookGoWhereService.java

@ -18,6 +18,6 @@ public interface TBookGoWhereService extends IService<TBookGoWhere> { @@ -18,6 +18,6 @@ public interface TBookGoWhereService extends IService<TBookGoWhere> {
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(String bookNumber,String corpId);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(Long id);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(String bookNumber,Long id);
}

38
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/LibraryServiceImpl.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package jnpf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -7,17 +8,23 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -7,17 +8,23 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.entity.TBookGoWhere;
import jnpf.entity.TLibrary;
import jnpf.entity.TSelectionOrderingBooks;
import jnpf.exception.DataException;
import jnpf.mapper.LibraryMapper;
import jnpf.mapper.TBookGoWhereMapper;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.model.dto.SelectionOrderingMainDto;
import jnpf.service.ILibraryService;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Set;
/**
* 图书去向表(TBookGoWhere)表服务实现类
@ -31,6 +38,35 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, TLibrary> imp @@ -31,6 +38,35 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, TLibrary> imp
@Override
public IPage<TLibrary> getLibraryList(SelectionOrderingMainDto.GetLibraryListParam param) {
return this.lambdaQuery().page(new Page<>(param.getCurrent(),param.getSize()));
return this.lambdaQuery().page(new Page<>(param.getCurrent(), param.getSize()));
}
@Override
public ReceiveGoodsMainDto.BunchingInfo getBunchingInfoByBookNumber(String bookNumber) {
// List<TSelectionOrderingBooks> libraryList = this.baseMapper.getLibraryList();
// Optional<TSelectionOrderingBooks> bookInfo = libraryList.stream().findFirst();
//查询图书信息
Optional<TLibrary> bookInfo = this.lambdaQuery()
.eq(TLibrary::getBookNumber, bookNumber)
.list().stream().findFirst();
if (!bookInfo.isPresent()) {
throw new DataException("未查询到图书信息");
}
TLibrary library = bookInfo.get();
ReceiveGoodsMainDto.BunchingInfo bunchingInfo = new ReceiveGoodsMainDto.BunchingInfo();
bunchingInfo.setBookNumber(bookNumber);
bunchingInfo.setBookName(library.getBookName());
bunchingInfo.setCoverImage(library.getCoverImage());
bunchingInfo.setPress(library.getPress());
bunchingInfo.setPrice(library.getPrice());
return bunchingInfo;
}
@Override
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
public List<TLibrary> getListByBookNumberList(Set<String> queryBookInfoNumberList) {
return this.lambdaQuery()
.in(TLibrary::getBookNumber, queryBookInfoNumberList)
.list();
}
}

4
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TBookGoWhereServiceImpl.java

@ -30,7 +30,7 @@ public class TBookGoWhereServiceImpl extends ServiceImpl<TBookGoWhereMapper, TBo @@ -30,7 +30,7 @@ public class TBookGoWhereServiceImpl extends ServiceImpl<TBookGoWhereMapper, TBo
}
@Override
public List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(Long id) {
return this.baseMapper.getStackingInformationByRelationId(id);
public List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(String bookNumber,Long id) {
return this.baseMapper.getStackingInformationByRelationId(bookNumber,id);
}
}

199
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsMainServiceImpl.java

@ -103,9 +103,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -103,9 +103,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
if (null == param.getId()) {
String idPrefix = "SH" + LocalDateTimeUtil.format(LocalDateTime.now(), "yyyyMMdd");
receiveGoodsMain.setId(SnowFlake.nextId() + "");
String receiptNumber=param.getReceiptNumber();
if (StrUtil.isBlank(receiptNumber)){
receiptNumber=String.format("%s%03d", idPrefix, redisSerialNumberUtils.generateSerialNumber(idPrefix));
String receiptNumber = param.getReceiptNumber();
if (StrUtil.isBlank(receiptNumber)) {
receiptNumber = String.format("%s%03d", idPrefix, redisSerialNumberUtils.generateSerialNumber(idPrefix));
}
receiveGoodsMain.setReceiptNumber(receiptNumber);
receiveGoodsMain.setCreateId(user.getUserId());
@ -123,6 +123,7 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -123,6 +123,7 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
receiveGoodsMain.setPackageQuantity(param.getPackageQuantity());
receiveGoodsMain.setDeliveryParty(param.getDeliveryParty());
receiveGoodsMain.setReceiveTime(param.getReceiveTime());
receiveGoodsMain.setSignPersonTime(LocalDateTime.now());
receiveGoodsMain.setUpdateId(user.getUserId());
receiveGoodsMain.setUpdateTime(LocalDateTime.now());
receiveGoodsMain.setUpdateName(user.getUserName());
@ -142,15 +143,15 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -142,15 +143,15 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
}
this.saveOrUpdate(receiveGoodsMain);
//版本馆直接生成二维码
if (mainStatusEnum== ReceiveGoodsMainEnum.MainStatusEnum.LISTING){
if (mainStatusEnum == ReceiveGoodsMainEnum.MainStatusEnum.LISTING) {
//生成二维码
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DictionaryDataEntity data = dictionaryDataApi.getByTypeDataCode("SampleLibrary", "xtaddr").getData();
String systemUrl="http://61.169.37.106:9172/api/file/Image/preview/";
if (null!=data){
systemUrl=data.getDescription();
String systemUrl = "http://61.169.37.106:9172/api/file/Image/preview/";
if (null != data) {
systemUrl = data.getDescription();
}
QrCodeUtil.generate(systemUrl, 1000, 1000,"", byteArrayOutputStream);
QrCodeUtil.generate(systemUrl, 1000, 1000, "", byteArrayOutputStream);
MockMultipartFile mockMultipartFile = new MockMultipartFile("上架.png", "上架.png", "text/plain", byteArrayOutputStream.toByteArray());
FileInfo preview = fileUploadApi.uploadFile(mockMultipartFile, fileApi.getPath(FileTypeConstant.BIVISUALPATH), "preview", "上架.png");
@ -179,6 +180,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -179,6 +180,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
}
List<ReceiveGoodsMainDto.BunchingInfo> bunchingInfoList = param.getBunchingInfoList();
Integer quantityReceived = receiveGoodsMain.getQuantityReceived();
if (null == quantityReceived) {
quantityReceived = 0;
}
final UserInfo user = UserProvider.getUser();
//计算签收数量
for (ReceiveGoodsMainDto.BunchingInfo bunchingInfo : bunchingInfoList) {
@ -196,9 +200,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -196,9 +200,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.eq(TBookGoWhere::getCreateCorpId, receiveGoodsMain.getCreateCorpId())
//todo 非样书室时根据所属类型及部门id去查询应送数量
//版本馆根据类型匹配
.eq(StrUtil.equals(param.getOrderType(), "2"), TBookGoWhere::getOrderType, param.getOrderType())
.eq(!StrUtil.equals(param.getOrderType(), "3"), TBookGoWhere::getOrderType, param.getOrderType())
//业务部根据部门id匹配
.eq(StrUtil.equals(param.getOrderType(), "1"), TBookGoWhere::getCreateDeptId, receiveGoodsMain.getCreateDeptId())
// .eq(StrUtil.equals(param.getOrderType(), "1"), TBookGoWhere::getCreateDeptId, receiveGoodsMain.getCreateDeptId())
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
@ -239,22 +243,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -239,22 +243,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
if (StrUtil.isBlank(bookNumber)) {
throw new DataException("请输入图书编号");
}
//查询图书信息
Optional<TLibrary> bookInfo = libraryService.lambdaQuery()
.eq(TLibrary::getBookNumber, bookNumber)
.list().stream().findFirst();
if (!bookInfo.isPresent()) {
throw new DataException("未查询到图书信息");
}
TLibrary library = bookInfo.get();
ReceiveGoodsMainDto.BunchingInfo bunchingInfo = new ReceiveGoodsMainDto.BunchingInfo();
bunchingInfo.setBookNumber(bookNumber);
bunchingInfo.setBookName(library.getBookName());
bunchingInfo.setCoverImage(library.getCoverImage());
bunchingInfo.setPress(library.getPress());
bunchingInfo.setPrice(library.getPrice());
//todo 新增下印册书
return bunchingInfo;
//查询图书信息
return libraryService.getBunchingInfoByBookNumber(bookNumber);
}
@Override
@ -298,7 +289,16 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -298,7 +289,16 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
if (orderTypeEnum == ReceiveGoodsMainEnum.OrderTypeEnum.SAMPLE_BOOKSTORE) {
param.setUserId(UserProvider.getUser().getUserId());
} else {
param.setCorpId(UserProvider.getUser().getOrganizeId());
if (StrUtil.isNotBlank(UserProvider.getUser().getOrganizeId())) {
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
.eq(OrganizeEntity::getId, UserProvider.getUser().getOrganizeId())
.eq(OrganizeEntity::getEnabledMark, "1").list().stream().findFirst();
if (deptOptional.isPresent()) {
OrganizeEntity dept = deptOptional.get();
OrganizeEntity corp = getCorp(dept);
param.setCorpId(corp.getId());
}
}
}
try {
LocalDateTimeUtil.parse(param.getStartTime(), "yyyy-MM-dd HH:mm:ss");
@ -324,14 +324,26 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -324,14 +324,26 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
boolean exists = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getType, "1")
.eq(TBookGoWhere::getBookNumber, receiveGoodsBooks.getBookNumber())
.eq(TBookGoWhere::getRelationId, receiveGoodsBooks.getId())
.exists();
if (exists) {
//查询已有数据
return bookGoWhereService.getStackingInformationByRelationId(receiveGoodsBooks.getId());
return bookGoWhereService.getStackingInformationByRelationId(receiveGoodsBooks.getBookNumber(), receiveGoodsBooks.getId());
} else {
if (StrUtil.isNotBlank(UserProvider.getUser().getOrganizeId())) {
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
.eq(OrganizeEntity::getId, UserProvider.getUser().getOrganizeId())
.eq(OrganizeEntity::getEnabledMark, "1").list().stream().findFirst();
if (deptOptional.isPresent()) {
OrganizeEntity dept = deptOptional.get();
OrganizeEntity corp = getCorp(dept);
//查询初始化去向数据
return bookGoWhereService.getStackingInformation(receiveGoodsBooks.getBookNumber(), UserProvider.getUser().getOrganizeId());
return bookGoWhereService.getStackingInformation(receiveGoodsBooks.getBookNumber(), corp.getId());
}
}
return null;
}
//todo 添加已发数
}
@ -355,9 +367,17 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -355,9 +367,17 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
if (null == receiveGoodsBooks) {
throw new DataException("该图书信息不存在");
}
//校验分堆设置是否已存在,已存在的话直接删除,防止多次提交
bookGoWhereService.lambdaUpdate()
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getType, "1")
.eq(TBookGoWhere::getBookNumber, receiveGoodsBooks.getBookNumber())
.eq(TBookGoWhere::getRelationId, receiveGoodsBooks.getId())
.remove();
for (TBookGoWhere bookGoWhere : param.getBookGoWhereList()) {
bookGoWhere.setId(SnowFlake.nextId());
bookGoWhere.setCreateTime(LocalDateTime.now());
bookGoWhere.setBookNumber(receiveGoodsBooks.getBookNumber());
bookGoWhere.setCreateBy(UserProvider.getUser().getUserId());
bookGoWhere.setCreateName(UserProvider.getUser().getUserName());
bookGoWhere.setUpdateTime(LocalDateTime.now());
@ -384,7 +404,7 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -384,7 +404,7 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param) {
if (StrUtil.isBlank(param.getSaveType())) {
throw new DataException("请选择保存类型");
@ -410,6 +430,50 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -410,6 +430,50 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.update();
return;
}
String corpId = "";
if (StrUtil.isNotBlank(UserProvider.getUser().getOrganizeId())) {
Optional<OrganizeEntity> deptOptional = organizeService.lambdaQuery()
.eq(OrganizeEntity::getId, UserProvider.getUser().getOrganizeId())
.eq(OrganizeEntity::getEnabledMark, "1").list().stream().findFirst();
if (deptOptional.isPresent()) {
OrganizeEntity dept = deptOptional.get();
OrganizeEntity corp = getCorp(dept);
//查询初始化去向数据
corpId = corp.getId();
}
}
//确定时对所有未保存的分堆信息进行保存(即无需分堆的图书)
//校验该选书是否进行过保存分堆信息
final String organizeId = corpId;
//先查询已保存的图书列表
// CompletableFuture.runAsync(() -> {
for (TReceiveGoodsBooks tReceiveGoodsBooks : receiveGoodsBooksService.lambdaQuery()
.eq(TReceiveGoodsBooks::getRelationId, tReceiveGoodsMain.getId())
.eq(TReceiveGoodsBooks::getDelFlag, "0")
.list()) {
boolean exists = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getType, "1")
.eq(TBookGoWhere::getBookNumber, tReceiveGoodsBooks.getBookNumber())
.eq(TBookGoWhere::getRelationId, tReceiveGoodsBooks.getId())
.exists();
if (exists) {
continue;
}
List<ReceiveGoodsMainDto.TBookGoWhereEntity> stackingInformation = bookGoWhereService.getStackingInformation(tReceiveGoodsBooks.getBookNumber(), organizeId);
ReceiveGoodsMainDto.SaveStackingInformationParam saveParam = new ReceiveGoodsMainDto.SaveStackingInformationParam();
saveParam.setOrderType(param.getOrderType());
saveParam.setId(tReceiveGoodsBooks.getId().toString());
List<TBookGoWhere> stackingList = new ArrayList<>();
for (ReceiveGoodsMainDto.TBookGoWhereEntity tBookGoWhereEntity : stackingInformation) {
stackingList.add(BeanUtil.copyProperties(tBookGoWhereEntity, TBookGoWhere.class));
}
saveParam.setBookGoWhereList(stackingList);
this.saveStackingInformation(saveParam);
}
// });
//以下逻辑全是确定
ReceiveGoodsMainEnum.MainStatusEnum mainStatusEnum = ReceiveGoodsMainEnum.MainStatusEnum.LISTING;
//查询图书编号列表
@ -418,56 +482,81 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -418,56 +482,81 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.eq(TReceiveGoodsBooks::getDelFlag, "0")
.list()
.stream().map(TReceiveGoodsBooks::getBookNumber).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(bookNumberList)) {
//修改图书去向 即之后样书室新建后进行分堆不会再查到老数据
bookGoWhereService.lambdaUpdate()
//签收后保存的需要手机端上架后才能修改上架状态,初始化数据可以修改
.set(TBookGoWhere::getWarehouseEntryFlag, "1")
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.eq(TBookGoWhere::getCreateCorpId, corpId)
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getOrderType, orderTypeEnum.getCode())
.update();
}
//查询是否具有送往版本馆及业务部的数据,有的话就创建收货单
Set<String> otherSH = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe()))
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getCreateCorpId, corpId)
.list().stream().map(TBookGoWhere::getTargetName).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(otherSH)) {
for (String sh : otherSH) {
String orderType ="";
if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(),sh)){
orderType=ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getCode();
}
if (StrUtil.equals(ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe(),sh)){
orderType=ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getCode();
}
if (StrUtil.isBlank(orderType)){
continue;
}
//生成版本馆/业务部收货单
ReceiveGoodsMainDto.NewReceiptParam newReceiptParam=new ReceiveGoodsMainDto.NewReceiptParam();
ReceiveGoodsMainDto.NewReceiptParam newReceiptParam = new ReceiveGoodsMainDto.NewReceiptParam();
newReceiptParam.setOrderType(orderType);
newReceiptParam.setReceiptNumber(tReceiveGoodsMain.getReceiptNumber());
newReceiptParam.setOrderType(param.getOrderType());
newReceiptParam.setPackageQuantity(tReceiveGoodsMain.getPackageQuantity());
newReceiptParam.setDeliveryParty(tReceiveGoodsMain.getDeliveryParty());
newReceiptParam.setReceiveTime(tReceiveGoodsMain.getReceiveTime());
List<ReceiveGoodsMainDto.BunchingInfo> bunchingInfoList=new ArrayList<>();
newReceiptParam.setSaveType("1");
newReceiptParam.setPackageSituation(tReceiveGoodsMain.getPackageSituation());
List<ReceiveGoodsMainDto.BunchingInfo> bunchingInfoList = new ArrayList<>();
//查询图书编号
Set<String> queryBookInfoNumberList = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
// .in(TBookGoWhere::getTargetName, Arrays.asList(ReceiveGoodsMainEnum.OrderTypeEnum.BUSINESS_DEPARTMENT.getDescribe(), ReceiveGoodsMainEnum.OrderTypeEnum.VERSION_LIBRARY.getDescribe()))
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getCreateCorpId, UserProvider.getUser().getOrganizeId())
.eq(TBookGoWhere::getOrderType, orderTypeEnum.getCode())
.eq(TBookGoWhere::getCreateCorpId, corpId)
.eq(TBookGoWhere::getOrderType, orderType)
.list().stream().map(TBookGoWhere::getBookNumber).collect(Collectors.toSet());
List<TLibrary> libraryList = libraryService.lambdaQuery()
.in(TLibrary::getBookNumber, queryBookInfoNumberList)
.list();
List<TLibrary> libraryList = libraryService.getListByBookNumberList(queryBookInfoNumberList);
//创建收货单
if (CollUtil.isNotEmpty(libraryList)){
if (CollUtil.isNotEmpty(libraryList)) {
for (TLibrary tLibrary : libraryList) {
bunchingInfoList.add(BeanUtil.copyProperties(tLibrary,ReceiveGoodsMainDto.BunchingInfo.class));
bunchingInfoList.add(BeanUtil.copyProperties(tLibrary, ReceiveGoodsMainDto.BunchingInfo.class));
}
newReceiptParam.setBunchingInfoList(bunchingInfoList);
this.newReceipt(newReceiptParam);
}
}
if (CollUtil.isNotEmpty(bookNumberList)) {
//修改图书去向 即之后样书室新建后进行分堆不会再查到老数据
bookGoWhereService.lambdaUpdate()
//签收后保存的需要手机端上架后才能修改上架状态,初始化数据可以修改
.set(TBookGoWhere::getWarehouseEntryFlag, "1")
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag,"0")
.eq(TBookGoWhere::getCreateCorpId, UserProvider.getUser().getOrganizeId())
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getOrderType,orderTypeEnum.getCode())
.update();
}
//生成二维码
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DictionaryDataEntity data = dictionaryDataApi.getByTypeDataCode("SampleLibrary", "xtaddr").getData();
String systemUrl="http://61.169.37.106:9172/api/file/Image/preview/";
if (null!=data){
systemUrl=data.getDescription();
String systemUrl = "http://61.169.37.106:9172/api/file/Image/preview/";
if (null != data) {
systemUrl = data.getDescription();
}
QrCodeUtil.generate(systemUrl, 1000, 1000,"", byteArrayOutputStream);
QrCodeUtil.generate(systemUrl, 1000, 1000, "", byteArrayOutputStream);
MockMultipartFile mockMultipartFile = new MockMultipartFile("上架.png", "上架.png", "text/plain", byteArrayOutputStream.toByteArray());
FileInfo preview = fileUploadApi.uploadFile(mockMultipartFile, fileApi.getPath(FileTypeConstant.BIVISUALPATH), "preview", "上架.png");

1
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TSelectionOrderingMainServiceImpl.java

@ -349,6 +349,7 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd @@ -349,6 +349,7 @@ public class TSelectionOrderingMainServiceImpl extends ServiceImpl<TSelectionOrd
bookGoWhere.setShouldSend(bookTurnoverInfo.getNumber());
bookGoWhere.setActualSend(bookTurnoverInfo.getNumber());
bookGoWhere.setUpdateBy(user.getUserId());
bookGoWhere.setOrderType(param.getOrderType());
bookGoWhere.setType("0");
bookGoWhere.setUpdateTime(LocalDateTime.now());
bookGoWhere.setUpdateName(user.getUserName());

3
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookGoWhereMapper.xml

@ -130,7 +130,8 @@ ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag @@ -130,7 +130,8 @@ ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag
select <include refid="Base_Column_List"/>
from t_book_go_where
where relation_id = #{id}
and warehouse_entry_flag = '1'
and book_number = #{bookNumber}
and warehouse_entry_flag = '0'
and del_flag = '0'
and type = '1'
</select>

37
jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/ReceiveGoodsMainController.java

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package jnpf.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
@ -8,12 +9,17 @@ import io.swagger.v3.oas.annotations.Operation; @@ -8,12 +9,17 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.Page;
import jnpf.constant.MsgCode;
import jnpf.entity.TLibrary;
import jnpf.exception.DataException;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.service.ILibraryService;
import jnpf.service.TReceiveGoodsMainService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
@RestController
@Api("收货管理")
@ -22,12 +28,13 @@ import java.util.List; @@ -22,12 +28,13 @@ import java.util.List;
@AllArgsConstructor
public class ReceiveGoodsMainController {
private final TReceiveGoodsMainService tReceiveGoodsMainService;
private final ILibraryService libraryService;
@Operation(summary = "收货单新建")
@PostMapping("newReceipt")
public ActionResult<String> newReceipt(@RequestBody ReceiveGoodsMainDto.NewReceiptParam param) {
return ActionResult.success(tReceiveGoodsMainService.newReceipt(param));
return ActionResult.success(MsgCode.SU000.get(),tReceiveGoodsMainService.newReceipt(param));
}
@ -39,7 +46,7 @@ public class ReceiveGoodsMainController { @@ -39,7 +46,7 @@ public class ReceiveGoodsMainController {
@Operation(summary = "根据id查询收货详情")
@GetMapping("getInfoById")
public ActionResult<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> getInfoById(@ApiParam("收货单id")@RequestParam String id) {
public ActionResult<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> getInfoById(@ApiParam("收货单id") @RequestParam String id) {
return ActionResult.success(tReceiveGoodsMainService.getInfoById(id));
}
@ -51,10 +58,12 @@ public class ReceiveGoodsMainController { @@ -51,10 +58,12 @@ public class ReceiveGoodsMainController {
}
@Operation(summary = "通过图书编号查询图书基本信息-(拆包扫图书条码)")
@GetMapping("getBunchingInfoByBookNumber")
public ActionResult<ReceiveGoodsMainDto.BunchingInfo> getBunchingInfoByBookNumber(@ApiParam("图书编号")@RequestParam String bookNumber) {
public ActionResult<ReceiveGoodsMainDto.BunchingInfo> getBunchingInfoByBookNumber(@ApiParam("图书编号") @RequestParam String bookNumber) {
if (StrUtil.isBlank(bookNumber)) {
throw new DataException("请输入图书编号");
}
return ActionResult.success(tReceiveGoodsMainService.getBunchingInfoByBookNumber(bookNumber));
}
@ -62,23 +71,18 @@ public class ReceiveGoodsMainController { @@ -62,23 +71,18 @@ public class ReceiveGoodsMainController {
@Operation(summary = "删除收货单")
@PostMapping("/delete")
public ActionResult<Void> delete(@RequestParam String id) {
tReceiveGoodsMainService.delete(id,true);
tReceiveGoodsMainService.delete(id, true);
return ActionResult.success();
}
// 分堆
@Operation(summary = "根据选书id查询分堆信息(根据验收类型:1-业务部 2-版本馆 3-样书室)")
@GetMapping("getStackingInformation")
public ActionResult<List<ReceiveGoodsMainDto.TBookGoWhereEntity>> getStackingInformation(@ApiParam("选书id")@RequestParam Long id,@ApiParam("验收类型:1-业务部 2-版本馆 3-样书室")@RequestParam String orderType) {
return ActionResult.success(tReceiveGoodsMainService.getStackingInformation(id,orderType));
public ActionResult<List<ReceiveGoodsMainDto.TBookGoWhereEntity>> getStackingInformation(@ApiParam("选书id") @RequestParam Long id, @ApiParam("验收类型:1-业务部 2-版本馆 3-样书室") @RequestParam String orderType) {
return ActionResult.success(tReceiveGoodsMainService.getStackingInformation(id, orderType));
}
@ -97,4 +101,13 @@ public class ReceiveGoodsMainController { @@ -97,4 +101,13 @@ public class ReceiveGoodsMainController {
return ActionResult.success();
}
//h5上架使用
}

2
jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ReceiveGoodsMainEnum.java

@ -38,7 +38,7 @@ public class ReceiveGoodsMainEnum { @@ -38,7 +38,7 @@ public class ReceiveGoodsMainEnum {
//签收类型:1-业务部 2-版本馆 3-样书室 4-重点书
@Getter
public enum OrderTypeEnum {
BUSINESS_DEPARTMENT("1", "业务部"),
BUSINESS_DEPARTMENT("1", "锐雯家"),
VERSION_LIBRARY("2", "版本馆"),
SAMPLE_BOOKSTORE("3", "样书室");

2
jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/ReceiveGoodsMainDto.java

@ -123,7 +123,7 @@ public class ReceiveGoodsMainDto { @@ -123,7 +123,7 @@ public class ReceiveGoodsMainDto {
private String orderType;
@ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室")
@ApiModelProperty("分堆信息")
private List<TBookGoWhere> bookGoWhereList;
}

Loading…
Cancel
Save