Browse Source

update

main
yangzhenli 1 year ago
parent
commit
924ce89c55
  1. 6
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TBookGoWhereMapper.java
  2. 5
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TReceiveGoodsBooksMapper.java
  3. 5
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TReceiveGoodsMainMapper.java
  4. 7
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TBookGoWhereService.java
  5. 5
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TReceiveGoodsBooksService.java
  6. 44
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TReceiveGoodsMainService.java
  7. 13
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TBookGoWhereServiceImpl.java
  8. 9
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsBooksServiceImpl.java
  9. 259
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsMainServiceImpl.java
  10. 41
      jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/Test.java
  11. 42
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TBookGoWhereMapper.xml
  12. 27
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsBooksMapper.xml
  13. 122
      jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsMainMapper.xml
  14. 58
      jnpf-library/jnpf-library-controller/src/main/java/jnpf/controller/ReceiveGoodsMainController.java
  15. 14
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TReceiveGoodsMain.java
  16. 9
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/enump/ReceiveGoodsMainEnum.java
  17. 71
      jnpf-library/jnpf-library-entity/src/main/java/jnpf/model/dto/ReceiveGoodsMainDto.java

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

@ -3,7 +3,10 @@ package jnpf.mapper; @@ -3,7 +3,10 @@ package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.entity.TBookGoWhere;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.model.dto.ReceiveGoodsMainDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 图书去向表(TBookGoWhere)表数据库访问层
@ -14,5 +17,8 @@ import java.util.Map; @@ -14,5 +17,8 @@ import java.util.Map;
public interface TBookGoWhereMapper extends BaseMapper<TBookGoWhere> {
IPage<TBookGoWhere> selectPage(IPage<TBookGoWhere> iPage, @Param("params") Map<String, Object> params);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(@Param("bookNumber") String bookNumber,@Param("corpId") String corpId);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(@Param("id") Long id);
}

5
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TReceiveGoodsBooksMapper.java

@ -1,9 +1,13 @@ @@ -1,9 +1,13 @@
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.TReceiveGoodsBooks;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.model.dto.ReceiveGoodsMainDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 收货单选书信息表(TReceiveGoodsBooks)表数据库访问层
@ -14,5 +18,6 @@ import java.util.Map; @@ -14,5 +18,6 @@ import java.util.Map;
public interface TReceiveGoodsBooksMapper extends BaseMapper<TReceiveGoodsBooks> {
IPage<TReceiveGoodsBooks> selectPage(IPage<TReceiveGoodsBooks> iPage, @Param("params") Map<String, Object> params);
IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListByRelationId(@Param("page") Page<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> tReceiveGoodsBooksEntityPage, @Param("params") ReceiveGoodsMainDto.GetBookListByIdParam param);
}

5
jnpf-library/jnpf-library-biz/src/main/java/jnpf/mapper/TReceiveGoodsMainMapper.java

@ -1,8 +1,10 @@ @@ -1,8 +1,10 @@
package jnpf.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.entity.TReceiveGoodsMain;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.model.dto.ReceiveGoodsMainDto;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
@ -14,5 +16,8 @@ import java.util.Map; @@ -14,5 +16,8 @@ import java.util.Map;
public interface TReceiveGoodsMainMapper extends BaseMapper<TReceiveGoodsMain> {
IPage<TReceiveGoodsMain> selectPage(IPage<TReceiveGoodsMain> iPage, @Param("params") Map<String, Object> params);
IPage<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> getReceiveGoodsList(@Param("page") Page<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> objectPage, @Param("params") ReceiveGoodsMainDto.GetReceiveGoodsListParam param);
ReceiveGoodsMainDto.TReceiveGoodsMainEntity getInfoById(@Param("id") String id);
}

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

@ -3,6 +3,9 @@ package jnpf.service; @@ -3,6 +3,9 @@ package jnpf.service;
import jnpf.entity.TBookGoWhere;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.model.dto.ReceiveGoodsMainDto;
import java.util.List;
import java.util.Map;
/**
* 图书去向表(TBookGoWhere)表服务接口
@ -12,5 +15,9 @@ import java.util.Map; @@ -12,5 +15,9 @@ import java.util.Map;
*/
public interface TBookGoWhereService extends IService<TBookGoWhere> {
IPage<TBookGoWhere> selectPage(IPage<TBookGoWhere> iPage, Map<String, Object> params);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(String bookNumber,String corpId);
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(Long id);
}

5
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TReceiveGoodsBooksService.java

@ -3,6 +3,9 @@ package jnpf.service; @@ -3,6 +3,9 @@ package jnpf.service;
import jnpf.entity.TReceiveGoodsBooks;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.model.dto.ReceiveGoodsMainDto;
import java.util.List;
import java.util.Map;
/**
* 收货单选书信息表(TReceiveGoodsBooks)表服务接口
@ -12,5 +15,7 @@ import java.util.Map; @@ -12,5 +15,7 @@ import java.util.Map;
*/
public interface TReceiveGoodsBooksService extends IService<TReceiveGoodsBooks> {
IPage<TReceiveGoodsBooks> selectPage(IPage<TReceiveGoodsBooks> iPage, Map<String, Object> params);
IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListByRelationId(ReceiveGoodsMainDto.GetBookListByIdParam param);
}

44
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/TReceiveGoodsMainService.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.model.dto.ReceiveGoodsMainDto;
import java.util.List;
import java.util.Map;
/**
* 收货信息主表(TReceiveGoodsMain)表服务接口
@ -34,5 +35,48 @@ public interface TReceiveGoodsMainService extends IService<TReceiveGoodsMain> { @@ -34,5 +35,48 @@ public interface TReceiveGoodsMainService extends IService<TReceiveGoodsMain> {
* @param checkUser 是否校验用户 用于后端操作 而非用户操作时使用
*/
void delete(String id, boolean checkUser);
/**
* 查询收货单列表
* @param param
* @return
*/
IPage<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> getReceiveGoodsList(ReceiveGoodsMainDto.GetReceiveGoodsListParam param);
/**
* 根据id查询收货详情
* @param id
* @return
*/
ReceiveGoodsMainDto.TReceiveGoodsMainEntity getInfoById(String id);
/**
* 根据选书id查询分堆信息(根据验收类型:1-业务部 2-版本馆 3-样书室)
* @param id
* @param orderType
* @return
*/
List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(Long id,String orderType);
/**
* 根据选图书id保存分堆设置
* @param param
*/
void saveStackingInformation(ReceiveGoodsMainDto.SaveStackingInformationParam param);
/**
* 根据收货id查询所签收图书列表
* @param param
* @return
*/
IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListById(ReceiveGoodsMainDto.GetBookListByIdParam param);
/**
* 收货单保存分堆信息
* 说是保存/确认接口 保存什么也不做就好了 因为分堆信息都是根据图书id依次进行更改的 不会在这个接口做改动,
* 该接口只适用于确定按钮 且用于分发图书相关/生成版本馆及业务部的收货单
* @param param
*/
void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param);
}

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

@ -3,9 +3,13 @@ package jnpf.service.impl; @@ -3,9 +3,13 @@ package jnpf.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.mapper.TBookGoWhereMapper;
import jnpf.entity.TBookGoWhere;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.service.TBookGoWhereService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 图书去向表(TBookGoWhere)表服务实现类
@ -20,4 +24,13 @@ public class TBookGoWhereServiceImpl extends ServiceImpl<TBookGoWhereMapper, TBo @@ -20,4 +24,13 @@ public class TBookGoWhereServiceImpl extends ServiceImpl<TBookGoWhereMapper, TBo
return this.baseMapper.selectPage(iPage, params);
}
@Override
public List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(String bookNumber,String corpId) {
return this.baseMapper.getStackingInformation(bookNumber,corpId);
}
@Override
public List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformationByRelationId(Long id) {
return this.baseMapper.getStackingInformationByRelationId(id);
}
}

9
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/TReceiveGoodsBooksServiceImpl.java

@ -1,11 +1,16 @@ @@ -1,11 +1,16 @@
package jnpf.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.mapper.TReceiveGoodsBooksMapper;
import jnpf.entity.TReceiveGoodsBooks;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.service.TReceiveGoodsBooksService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 收货单选书信息表(TReceiveGoodsBooks)表服务实现类
@ -20,4 +25,8 @@ public class TReceiveGoodsBooksServiceImpl extends ServiceImpl<TReceiveGoodsBook @@ -20,4 +25,8 @@ public class TReceiveGoodsBooksServiceImpl extends ServiceImpl<TReceiveGoodsBook
return this.baseMapper.selectPage(iPage, params);
}
@Override
public IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListByRelationId(ReceiveGoodsMainDto.GetBookListByIdParam param) {
return this.baseMapper.getBookListByRelationId(new Page<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity>(param.getCurrent(),param.getSize()),param);
}
}

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

@ -4,14 +4,21 @@ import cn.hutool.core.bean.BeanUtil; @@ -4,14 +4,21 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.xuyanwu.spring.file.storage.FileInfo;
import cn.xuyanwu.spring.file.storage.MockMultipartFile;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.base.DictionaryDataApi;
import jnpf.base.UserInfo;
import jnpf.base.entity.DictionaryDataEntity;
import jnpf.constant.FileTypeConstant;
import jnpf.constant.PermissionConst;
import jnpf.entity.*;
import jnpf.enump.ReceiveGoodsMainEnum;
import jnpf.enump.SelectionOrderingMainEnum;
import jnpf.exception.DataException;
import jnpf.file.FileApi;
import jnpf.file.FileUploadApi;
import jnpf.mapper.TReceiveGoodsMainMapper;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.permission.entity.OrganizeEntity;
@ -23,16 +30,17 @@ import jnpf.service.TReceiveGoodsMainService; @@ -23,16 +30,17 @@ import jnpf.service.TReceiveGoodsMainService;
import jnpf.util.UserProvider;
import jnpf.utils.SnowFlake;
import lombok.AllArgsConstructor;
import org.apache.tomcat.jni.Library;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
@ -50,6 +58,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -50,6 +58,9 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
private final OrganizeService organizeService;
private final TReceiveGoodsBooksService receiveGoodsBooksService;
private final TBookGoWhereService bookGoWhereService;
private final FileUploadApi fileUploadApi;
private final DictionaryDataApi dictionaryDataApi;
private final FileApi fileApi;
@Override
public IPage<TReceiveGoodsMain> selectPage(IPage<TReceiveGoodsMain> iPage, Map<String, Object> params) {
@ -91,7 +102,12 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -91,7 +102,12 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
//校验是否为新增
if (null == param.getId()) {
String idPrefix = "SH" + LocalDateTimeUtil.format(LocalDateTime.now(), "yyyyMMdd");
receiveGoodsMain.setId(String.format("%s%03d", idPrefix, redisSerialNumberUtils.generateSerialNumber(idPrefix)));
receiveGoodsMain.setId(SnowFlake.nextId() + "");
String receiptNumber=param.getReceiptNumber();
if (StrUtil.isBlank(receiptNumber)){
receiptNumber=String.format("%s%03d", idPrefix, redisSerialNumberUtils.generateSerialNumber(idPrefix));
}
receiveGoodsMain.setReceiptNumber(receiptNumber);
receiveGoodsMain.setCreateId(user.getUserId());
receiveGoodsMain.setCreateTime(LocalDateTime.now());
receiveGoodsMain.setCreateName(user.getUserName());
@ -125,6 +141,29 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -125,6 +141,29 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
}
}
this.saveOrUpdate(receiveGoodsMain);
//版本馆直接生成二维码
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();
}
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");
this.lambdaUpdate()
.set(TReceiveGoodsMain::getListingQrCode, preview.getFilename())
.set(TReceiveGoodsMain::getMainStatus, mainStatusEnum.getCode())
.set(TReceiveGoodsMain::getMainStatusName, mainStatusEnum.getDescribe())
.set(TReceiveGoodsMain::getUpdateId, UserProvider.getLoginUserId())
.set(TReceiveGoodsMain::getUpdateTime, LocalDateTime.now())
.set(TReceiveGoodsMain::getUpdateName, UserProvider.getUser().getUserName())
.eq(TReceiveGoodsMain::getId, param.getId())
.update();
}
//todo 保存收货书籍信息
saveReceivingBookInformation(receiveGoodsMain, param);
return receiveGoodsMain.getId();
@ -151,11 +190,15 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -151,11 +190,15 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
tReceiveGoodsBooks.setId(SnowFlake.nextId());
tReceiveGoodsBooks.setRelationId(receiveGoodsMain.getId());
//查询该单位往某部门需要送出图书的数量
//todo 非样书室时根据所属类型及部门id去查询应送数量
int sum = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getBookNumber, bunchingInfo.getBookNumber())
// .eq(TBookGoWhere::getTargetName, bunchingInfo.getBookName())
.eq(TBookGoWhere::getCreateCorpId, receiveGoodsMain.getCreateCorpId())
//todo 非样书室时根据所属类型及部门id去查询应送数量
//版本馆根据类型匹配
.eq(StrUtil.equals(param.getOrderType(), "2"), TBookGoWhere::getOrderType, param.getOrderType())
//业务部根据部门id匹配
.eq(StrUtil.equals(param.getOrderType(), "1"), TBookGoWhere::getCreateDeptId, receiveGoodsMain.getCreateDeptId())
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
@ -243,4 +286,202 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM @@ -243,4 +286,202 @@ public class TReceiveGoodsMainServiceImpl extends ServiceImpl<TReceiveGoodsMainM
.eq(TReceiveGoodsBooks::getRelationId, receiveGoodsMain.getId())
.update();
}
@Override
public IPage<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> getReceiveGoodsList(ReceiveGoodsMainDto.GetReceiveGoodsListParam param) {
ReceiveGoodsMainEnum.OrderTypeEnum orderTypeEnum = ReceiveGoodsMainEnum.OrderTypeEnum.getEnumByCode(param.getOrderType());
if (null == orderTypeEnum) {
throw new DataException("请选择签收类型");
}
//样书室根据userId查询
if (orderTypeEnum == ReceiveGoodsMainEnum.OrderTypeEnum.SAMPLE_BOOKSTORE) {
param.setUserId(UserProvider.getUser().getUserId());
} else {
param.setCorpId(UserProvider.getUser().getOrganizeId());
}
try {
LocalDateTimeUtil.parse(param.getStartTime(), "yyyy-MM-dd HH:mm:ss");
LocalDateTimeUtil.parse(param.getEndTime(), "yyyy-MM-dd HH:mm:ss");
} catch (Exception e) {
throw new DataException("时间格式错误,应为yyyy-MM-dd HH:mm:ss");
}
return this.getBaseMapper().getReceiveGoodsList(new Page<>(param.getCurrent(), param.getSize()), param);
}
@Override
public ReceiveGoodsMainDto.TReceiveGoodsMainEntity getInfoById(String id) {
return this.baseMapper.getInfoById(id);
}
@Override
public List<ReceiveGoodsMainDto.TBookGoWhereEntity> getStackingInformation(Long id, String orderType) {
TReceiveGoodsBooks receiveGoodsBooks = receiveGoodsBooksService.getById(id);
if (null == receiveGoodsBooks) {
throw new DataException("该选书不存在");
}
//校验该选书是否进行过保存分堆信息
boolean exists = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getType, "1")
.eq(TBookGoWhere::getRelationId, receiveGoodsBooks.getId())
.exists();
if (exists) {
//查询已有数据
return bookGoWhereService.getStackingInformationByRelationId(receiveGoodsBooks.getId());
} else {
//查询初始化去向数据
return bookGoWhereService.getStackingInformation(receiveGoodsBooks.getBookNumber(), UserProvider.getUser().getOrganizeId());
}
//todo 添加已发数
}
@Override
public IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity> getBookListById(ReceiveGoodsMainDto.GetBookListByIdParam param) {
return receiveGoodsBooksService.getBookListByRelationId(param);
}
@Override
@Transactional
public void saveStackingInformation(ReceiveGoodsMainDto.SaveStackingInformationParam param) {
ReceiveGoodsMainEnum.OrderTypeEnum orderTypeEnum = ReceiveGoodsMainEnum.OrderTypeEnum.getEnumByCode(param.getOrderType());
if (null == orderTypeEnum) {
throw new DataException("请选择签收类型");
}
if (CollUtil.isEmpty(param.getBookGoWhereList())) {
throw new DataException("请设置图书分堆信息");
}
TReceiveGoodsBooks receiveGoodsBooks = receiveGoodsBooksService.getById(param.getId());
if (null == receiveGoodsBooks) {
throw new DataException("该图书信息不存在");
}
for (TBookGoWhere bookGoWhere : param.getBookGoWhereList()) {
bookGoWhere.setId(SnowFlake.nextId());
bookGoWhere.setCreateTime(LocalDateTime.now());
bookGoWhere.setCreateBy(UserProvider.getUser().getUserId());
bookGoWhere.setCreateName(UserProvider.getUser().getUserName());
bookGoWhere.setUpdateTime(LocalDateTime.now());
bookGoWhere.setUpdateBy(UserProvider.getUser().getUserId());
bookGoWhere.setUpdateName(UserProvider.getUser().getUserName());
bookGoWhere.setOrderType(orderTypeEnum.getCode());
bookGoWhere.setWarehouseEntryFlag("1");
bookGoWhere.setType("1");
bookGoWhere.setRelationId(receiveGoodsBooks.getId() + "");
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);
bookGoWhere.setCreateDeptName(dept.getFullName());
bookGoWhere.setCreateCorpName(corp.getFullName());
bookGoWhere.setCreateDeptId(dept.getId());
bookGoWhere.setCreateCorpId(corp.getId());
}
bookGoWhereService.save(bookGoWhere);
}
}
@Override
@Transactional
public void saveStackingInformationByReceiveId(ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param) {
if (StrUtil.isBlank(param.getSaveType())) {
throw new DataException("请选择保存类型");
}
ReceiveGoodsMainEnum.OrderTypeEnum orderTypeEnum = ReceiveGoodsMainEnum.OrderTypeEnum.getEnumByCode(param.getOrderType());
if (null == orderTypeEnum) {
throw new DataException("请选择签收类型");
}
if (StrUtil.isBlank(param.getId())) {
throw new DataException("请选择收货单");
}
TReceiveGoodsMain tReceiveGoodsMain = this.getById(param.getId());
if (null == tReceiveGoodsMain) {
throw new DataException("该收货单不存在");
}
//保存只是走个过场
if (StrUtil.equals(param.getSaveType(), "1")) {
this.lambdaUpdate()
.set(TReceiveGoodsMain::getUpdateId, UserProvider.getLoginUserId())
.set(TReceiveGoodsMain::getUpdateTime, LocalDateTime.now())
.set(TReceiveGoodsMain::getUpdateName, UserProvider.getUser().getUserName())
.eq(TReceiveGoodsMain::getId, param.getId())
.update();
return;
}
//以下逻辑全是确定
ReceiveGoodsMainEnum.MainStatusEnum mainStatusEnum = ReceiveGoodsMainEnum.MainStatusEnum.LISTING;
//查询图书编号列表
Set<String> bookNumberList = receiveGoodsBooksService.lambdaQuery()
.eq(TReceiveGoodsBooks::getRelationId, tReceiveGoodsMain.getId())
.eq(TReceiveGoodsBooks::getDelFlag, "0")
.list()
.stream().map(TReceiveGoodsBooks::getBookNumber).collect(Collectors.toSet());
//生成版本馆/业务部收货单
ReceiveGoodsMainDto.NewReceiptParam newReceiptParam=new ReceiveGoodsMainDto.NewReceiptParam();
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<>();
//查询图书编号
Set<String> queryBookInfoNumberList = bookGoWhereService.lambdaQuery()
.eq(TBookGoWhere::getType, "0")
.eq(TBookGoWhere::getDelFlag, "0")
.eq(TBookGoWhere::getWarehouseEntryFlag, "0")
.in(TBookGoWhere::getBookNumber, bookNumberList)
.eq(TBookGoWhere::getCreateCorpId, UserProvider.getUser().getOrganizeId())
.eq(TBookGoWhere::getOrderType, orderTypeEnum.getCode())
.list().stream().map(TBookGoWhere::getBookNumber).collect(Collectors.toSet());
List<TLibrary> libraryList = libraryService.lambdaQuery()
.in(TLibrary::getBookNumber, queryBookInfoNumberList)
.list();
//创建收货单
if (CollUtil.isNotEmpty(libraryList)){
for (TLibrary tLibrary : libraryList) {
bunchingInfoList.add(BeanUtil.copyProperties(tLibrary,ReceiveGoodsMainDto.BunchingInfo.class));
}
newReceiptParam.setBunchingInfoList(bunchingInfoList);
this.newReceipt(newReceiptParam);
}
if (CollUtil.isNotEmpty(bookNumberList)) {
//修改图书去向 即之后样书室新建后进行分堆不会再查到老数据
bookGoWhereService.lambdaUpdate()
.set(TBookGoWhere::getType, "1")
.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();
}
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");
//修改状态为上架中
this.lambdaUpdate()
.set(TReceiveGoodsMain::getListingQrCode, preview.getFilename())
.set(TReceiveGoodsMain::getMainStatus, mainStatusEnum.getCode())
.set(TReceiveGoodsMain::getMainStatusName, mainStatusEnum.getDescribe())
.set(TReceiveGoodsMain::getUpdateId, UserProvider.getLoginUserId())
.set(TReceiveGoodsMain::getUpdateTime, LocalDateTime.now())
.set(TReceiveGoodsMain::getUpdateName, UserProvider.getUser().getUserName())
.eq(TReceiveGoodsMain::getId, param.getId())
.update();
}
}

41
jnpf-library/jnpf-library-biz/src/main/java/jnpf/service/impl/Test.java

@ -4,48 +4,23 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; @@ -4,48 +4,23 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.hutool.extra.qrcode.QrCodeUtil;
import com.alibaba.fastjson.JSON;
import jnpf.entity.TSelectionOrderingMain;
import org.apache.poi.ss.usermodel.Workbook;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Array;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String s = "{\n" +
" \"id\": 2024102200001,\n" +
" \"type\": \"1\",\n" +
" \"mainStatus\": \"3\",\n" +
" \"mainStatusName\": \"样书室待下单\",\n" +
" \"remark\": \"测试新增2\",\n" +
" \"delFlag\": \"0\",\n" +
" \"orderPersonId\": null,\n" +
" \"orderPersonTime\": null,\n" +
" \"orderPersonName\": null,\n" +
" \"createId\": \"568797187002084037\",\n" +
" \"createTime\": \"2024-10-22 17:52:04\",\n" +
" \"createName\": \"一级\",\n" +
" \"updateId\": \"568797187002084037\",\n" +
" \"updateTime\": \"2024-10-22 17:52:04\",\n" +
" \"updateName\": \"一级\",\n" +
" \"createCorpName\": \"浙江出版联合集团有限公司\",\n" +
" \"createDeptName\": \"党委领导\",\n" +
" \"recommendedTime\": \"2024-10-22\",\n" +
" \"selectionOrderingBooksList\": null,\n" +
" \"businessDepartmentBooksList\": null,\n" +
" \"versionLibraryBooksList\": null\n" +
" }";
TSelectionOrderingMain tSelectionOrderingMain = JSON.parseObject(s, TSelectionOrderingMain.class);
ExportParams exportParams = new ExportParams("测试导出", "sheetName1", ExcelType.XSSF);
Workbook sheets = ExcelExportUtil.exportExcel(exportParams, TSelectionOrderingMain.class, Arrays.asList(tSelectionOrderingMain));
try {
FileOutputStream outputStream = new FileOutputStream("/Users/yangzhenli/Documents/杂七杂八/easypoi/测试导出");
sheets.write(outputStream);
} catch (IOException e) {
throw new RuntimeException(e);
}
public static void main(String[] args) throws IOException {
// 生成二维码
QrCodeUtil.generate("http://61.169.37.106:9172/login", 1000, 1000,"", Files.newOutputStream(Paths.get("/Users/yangzhenli/Documents/项目/jnpf/file/qrcode.png")));
}
}

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

@ -92,4 +92,46 @@ ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag @@ -92,4 +92,46 @@ ID,book_number,target_name,should_send,actual_send,warehouse_entry_flag,del_flag
</if>
</where>
</select>
<resultMap type="jnpf.model.dto.ReceiveGoodsMainDto$TBookGoWhereEntity" id="TBookGoWhereStackingInformationMap">
<result property="id" column="ID" jdbcType="INTEGER"/>
<result property="bookNumber" column="book_number" jdbcType="VARCHAR"/>
<result property="targetName" column="target_name" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="relationId" column="relation_id" jdbcType="VARCHAR"/>
<result property="shouldSend" column="should_send" jdbcType="INTEGER"/>
<result property="actualSend" column="actual_send" jdbcType="INTEGER"/>
<result property="warehouseEntryFlag" column="warehouse_entry_flag" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createCorpId" column="create_corp_id" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/>
</resultMap>
<select id="getStackingInformation" resultMap="TBookGoWhereStackingInformationMap">
select target_name,sum(should_send) should_send,sum(actual_send) actual_send
from t_book_go_where
where book_number = #{bookNumber}
and warehouse_entry_flag = '0'
and del_flag = '0'
and type = '0'
and create_corp_id=#{corpId}
group by target_name
</select>
<select id="getStackingInformationByRelationId" resultMap="TBookGoWhereStackingInformationMap">
select <include refid="Base_Column_List"/>
from t_book_go_where
where relation_id = #{id}
and warehouse_entry_flag = '1'
and del_flag = '0'
and type = '1'
</select>
</mapper>

27
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsBooksMapper.xml

@ -86,4 +86,31 @@ id,book_number,relation_id,cover_image,book_name,price,press,printing_books,sign @@ -86,4 +86,31 @@ id,book_number,relation_id,cover_image,book_name,price,press,printing_books,sign
</if>
</where>
</select>
<select id="getBookListByRelationId"
resultMap="TReceiveGoodsBooksInfoMap">
select
<include refid="Base_Column_List"/>
from t_receive_goods_books
where relation_id=#{params.id} and del_flag='0'
</select>
<resultMap type="jnpf.model.dto.ReceiveGoodsMainDto$TReceiveGoodsBooksEntity" id="TReceiveGoodsBooksInfoMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="bookNumber" column="book_number" jdbcType="VARCHAR"/>
<result property="relationId" column="relation_id" jdbcType="VARCHAR"/>
<result property="coverImage" column="cover_image" jdbcType="VARCHAR"/>
<result property="bookName" column="book_name" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="VARCHAR"/>
<result property="press" column="press" jdbcType="VARCHAR"/>
<result property="printingBooks" column="printing_books" jdbcType="INTEGER"/>
<result property="signedQuantity" column="signed_quantity" jdbcType="INTEGER"/>
<result property="shouldSend" column="should_send" jdbcType="INTEGER"/>
<result property="actualSend" column="actual_send" jdbcType="INTEGER"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
</resultMap>
</mapper>

122
jnpf-library/jnpf-library-biz/src/main/resources/mapper/TReceiveGoodsMainMapper.xml

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
<resultMap type="jnpf.entity.TReceiveGoodsMain" id="TReceiveGoodsMainMap">
<result property="id" column="id" jdbcType="VARCHAR"/>
<result property="receiptNumber" column="receipt_number" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="mainStatus" column="main_status" jdbcType="VARCHAR"/>
<result property="mainStatusName" column="main_status_name" jdbcType="VARCHAR"/>
@ -31,7 +32,7 @@ @@ -31,7 +32,7 @@
</resultMap>
<sql id="Base_Column_List" >
id,type,main_status,main_status_name,package_situation,package_situation_name,quantity_received,package_quantity,delivery_party,remark,del_flag,receive_time,sign_person_id,sign_person_time,sign_person_name,create_id,create_time,create_name,update_id,update_time,update_name,create_corp_name,create_corp_id,create_dept_name,create_dept_id </sql>
id,receipt_number,type,main_status,main_status_name,package_situation,package_situation_name,quantity_received,package_quantity,delivery_party,remark,del_flag,receive_time,sign_person_id,sign_person_time,sign_person_name,create_id,create_time,create_name,update_id,update_time,update_name,create_corp_name,create_corp_id,create_dept_name,create_dept_id </sql>
<!--查询指定行数据-->
<select id="selectPage" resultMap="TReceiveGoodsMainMap">
select
@ -122,4 +123,123 @@ id,type,main_status,main_status_name,package_situation,package_situation_name,qu @@ -122,4 +123,123 @@ id,type,main_status,main_status_name,package_situation,package_situation_name,qu
</if>
</where>
</select>
<resultMap type="jnpf.model.dto.ReceiveGoodsMainDto$TReceiveGoodsMainEntity" id="TReceiveGoodsMainListMap">
<result property="id" column="id" jdbcType="VARCHAR"/>
<result property="receiptNumber" column="receipt_number" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="mainStatus" column="main_status" jdbcType="VARCHAR"/>
<result property="mainStatusName" column="main_status_name" jdbcType="VARCHAR"/>
<result property="packageSituation" column="package_situation" jdbcType="VARCHAR"/>
<result property="packageSituationName" column="package_situation_name" jdbcType="VARCHAR"/>
<result property="quantityReceived" column="quantity_received" jdbcType="INTEGER"/>
<result property="packageQuantity" column="package_quantity" jdbcType="INTEGER"/>
<result property="deliveryParty" column="delivery_party" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="receiveTime" column="receive_time" jdbcType="TIMESTAMP"/>
<result property="signPersonId" column="sign_person_id" jdbcType="VARCHAR"/>
<result property="signPersonTime" column="sign_person_time" jdbcType="TIMESTAMP"/>
<result property="signPersonName" column="sign_person_name" jdbcType="VARCHAR"/>
</resultMap>
<select id="getReceiveGoodsList"
resultMap="TReceiveGoodsMainListMap">
select <include refid="Base_Column_List"/>
from t_receive_goods_main
<where>
del_flag='0'
<if test="params.receiptNumber != null and params.receiptNumber != ''">
and receipt_number = #{params.receiptNumber}
</if>
<if test="params.orderType != null and params.orderType != ''">
and type = #{params.orderType}
</if>
<if test="params.mainStatus != null and params.mainStatus != ''">
and main_status = #{params.mainStatus}
</if>
<if test="params.userId != null and params.userId != ''">
and create_id = #{params.userId}
</if>
<if test="params.corpId != null and params.corpId != ''">
and create_corp_id = #{params.corpId}
</if>
<if test="params.startTime != null and params.endTime!=null">
and receive_time &gt;= #{params.startTime}
and receive_time &lt;= #{params.endTime}
</if>
</where>
order by receive_time desc
</select>
<resultMap type="jnpf.model.dto.ReceiveGoodsMainDto$TReceiveGoodsMainEntity" id="TReceiveGoodsMainInfoMap">
<result property="id" column="id" jdbcType="VARCHAR"/>
<result property="receiptNumber" column="receipt_number" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="mainStatus" column="main_status" jdbcType="VARCHAR"/>
<result property="mainStatusName" column="main_status_name" jdbcType="VARCHAR"/>
<result property="packageSituation" column="package_situation" jdbcType="VARCHAR"/>
<result property="packageSituationName" column="package_situation_name" jdbcType="VARCHAR"/>
<result property="quantityReceived" column="quantity_received" jdbcType="INTEGER"/>
<result property="packageQuantity" column="package_quantity" jdbcType="INTEGER"/>
<result property="deliveryParty" column="delivery_party" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="receiveTime" column="receive_time" jdbcType="TIMESTAMP"/>
<result property="signPersonId" column="sign_person_id" jdbcType="VARCHAR"/>
<result property="signPersonTime" column="sign_person_time" jdbcType="TIMESTAMP"/>
<result property="signPersonName" column="sign_person_name" jdbcType="VARCHAR"/>
<result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="updateId" column="update_id" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateName" column="update_name" jdbcType="VARCHAR"/>
<result property="createCorpName" column="create_corp_name" jdbcType="VARCHAR"/>
<result property="createCorpId" column="create_corp_id" jdbcType="VARCHAR"/>
<result property="createDeptName" column="create_dept_name" jdbcType="VARCHAR"/>
<result property="createDeptId" column="create_dept_id" jdbcType="VARCHAR"/>
<!-- <collection property="receiveGoodsBookList" select="queryReceiveGoodsBookList" column="id" javaType="list"/>-->
</resultMap>
<!--收货单选书信息表-->
<select id="queryBookTurnoverInfoList" resultMap="TReceiveGoodsBooksMap">
select
<include refid="Books_Column_List"/>
from t_receive_goods_books where relation_id=#{id} and del_flag='0'
</select>
<sql id="Books_Column_List" >
id,book_number,relation_id,cover_image,book_name,price,press,printing_books,signed_quantity,should_send,actual_send,remark,del_flag,create_id,create_time,create_name </sql>
<resultMap type="jnpf.entity.TReceiveGoodsBooks" id="TReceiveGoodsBooksMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="bookNumber" column="book_number" jdbcType="VARCHAR"/>
<result property="relationId" column="relation_id" jdbcType="VARCHAR"/>
<result property="coverImage" column="cover_image" jdbcType="VARCHAR"/>
<result property="bookName" column="book_name" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="VARCHAR"/>
<result property="press" column="press" jdbcType="VARCHAR"/>
<result property="printingBooks" column="printing_books" jdbcType="INTEGER"/>
<result property="signedQuantity" column="signed_quantity" jdbcType="INTEGER"/>
<result property="shouldSend" column="should_send" jdbcType="INTEGER"/>
<result property="actualSend" column="actual_send" jdbcType="INTEGER"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="VARCHAR"/>
<result property="createId" column="create_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
</resultMap>
<!--收货单选书信息表-->
<select id="getInfoById" resultMap="TReceiveGoodsMainInfoMap">
select <include refid="Base_Column_List"/>
from t_receive_goods_main
where id=#{id} and del_flag='0'
</select>
</mapper>

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

@ -7,16 +7,14 @@ import io.swagger.annotations.ApiParam; @@ -7,16 +7,14 @@ import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.vo.DownloadVO;
import jnpf.entity.TLibrary;
import jnpf.base.Page;
import jnpf.model.dto.ReceiveGoodsMainDto;
import jnpf.model.dto.SelectionOrderingMainDto;
import jnpf.service.ILibraryService;
import jnpf.service.TReceiveGoodsMainService;
import jnpf.service.TSelectionOrderingMainService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@Api("收货管理")
@Tag(name = "收货管理", description = "receiveManagement")
@ -35,12 +33,25 @@ public class ReceiveGoodsMainController { @@ -35,12 +33,25 @@ public class ReceiveGoodsMainController {
@Operation(summary = "查询收货单列表")
@PostMapping("getReceiveGoodsList")
public ActionResult<String> getReceiveGoodsList(@RequestBody ReceiveGoodsMainDto.GetReceiveGoodsListParam param) {
// return ActionResult.success(tReceiveGoodsMainService.getReceiveGoodsList(param));
return null;
public ActionResult<IPage<ReceiveGoodsMainDto.TReceiveGoodsMainEntity>> getReceiveGoodsList(@RequestBody ReceiveGoodsMainDto.GetReceiveGoodsListParam param) {
return ActionResult.success(tReceiveGoodsMainService.getReceiveGoodsList(param));
}
@Operation(summary = "根据id查询收货详情")
@GetMapping("getInfoById")
public ActionResult<ReceiveGoodsMainDto.TReceiveGoodsMainEntity> getInfoById(@ApiParam("收货单id")@RequestParam String id) {
return ActionResult.success(tReceiveGoodsMainService.getInfoById(id));
}
@Operation(summary = "根据收货id查询所签收图书列表")
@PostMapping("getBookListById")
public ActionResult<IPage<ReceiveGoodsMainDto.TReceiveGoodsBooksEntity>> getBookListById(@RequestBody ReceiveGoodsMainDto.GetBookListByIdParam param) {
return ActionResult.success(tReceiveGoodsMainService.getBookListById(param));
}
@Operation(summary = "通过图书编号查询图书基本信息-(拆包扫图书条码)")
@GetMapping("getBunchingInfoByBookNumber")
public ActionResult<ReceiveGoodsMainDto.BunchingInfo> getBunchingInfoByBookNumber(@ApiParam("图书编号")@RequestParam String bookNumber) {
@ -55,4 +66,35 @@ public class ReceiveGoodsMainController { @@ -55,4 +66,35 @@ public class ReceiveGoodsMainController {
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));
}
@Operation(summary = "根据选图书id保存分堆设置")
@PostMapping("saveStackingInformationByBookId")
public ActionResult<Void> saveStackingInformation(@RequestBody ReceiveGoodsMainDto.SaveStackingInformationParam param) {
tReceiveGoodsMainService.saveStackingInformation(param);
return ActionResult.success();
}
@Operation(summary = "收货单保存分堆信息")
@PostMapping("saveStackingInformationByReceiveId")
public ActionResult<Void> saveStackingInformationByReceiveId(@RequestBody ReceiveGoodsMainDto.SaveStackingInformationByReceiveIdParam param) {
tReceiveGoodsMainService.saveStackingInformationByReceiveId(param);
return ActionResult.success();
}
}

14
jnpf-library/jnpf-library-entity/src/main/java/jnpf/entity/TReceiveGoodsMain.java

@ -23,10 +23,15 @@ public class TReceiveGoodsMain implements Serializable { @@ -23,10 +23,15 @@ public class TReceiveGoodsMain implements Serializable {
private static final long serialVersionUID = -91550320791470574L;
@ApiModelProperty(value = "主键id(收货单编号)")
@ApiModelProperty(value = "主键id(雪花id)")
@TableId(type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "收货单编号")
@TableField(value = "receipt_number")
private String receiptNumber;
@ApiModelProperty(value = "收货单信息类型:1-业务部 2-版本馆 3-样书室")
@TableField(value = "type")
private String type;
@ -63,6 +68,11 @@ public class TReceiveGoodsMain implements Serializable { @@ -63,6 +68,11 @@ public class TReceiveGoodsMain implements Serializable {
@TableField(value = "remark")
private String remark;
@ApiModelProperty(value = "上架二维码链接")
@TableField(value = "listing_qr_code")
private String listingQrCode;
@ApiModelProperty(value = "删除标记 0-正常 1-删除")
@TableField(value = "del_flag")
@TableLogic
@ -78,7 +88,7 @@ public class TReceiveGoodsMain implements Serializable { @@ -78,7 +88,7 @@ public class TReceiveGoodsMain implements Serializable {
@TableField(value = "sign_person_id")
private String signPersonId;
@ApiModelProperty(value = "签收人时间")
@ApiModelProperty(value = "签收人日期")
@TableField(value = "sign_person_time")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")

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

@ -24,6 +24,15 @@ public class ReceiveGoodsMainEnum { @@ -24,6 +24,15 @@ public class ReceiveGoodsMainEnum {
this.code = code;
this.describe = describe;
}
public static MainStatusEnum getEnumByCode(String code) {
for (MainStatusEnum enm : MainStatusEnum.values()) {
if (enm.getCode().equals(code)) {
return enm;
}
}
return null;
}
}
//签收类型:1-业务部 2-版本馆 3-样书室 4-重点书

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

@ -1,8 +1,5 @@ @@ -1,8 +1,5 @@
package jnpf.model.dto;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
@ -45,6 +42,11 @@ public class ReceiveGoodsMainDto { @@ -45,6 +42,11 @@ public class ReceiveGoodsMainDto {
@ApiModelProperty("签收图书信息")
private List<ReceiveGoodsMainDto.BunchingInfo> bunchingInfoList;
@ApiModelProperty("后端使用(新增版本馆/业务部收货单)")
@JsonIgnore
private String receiptNumber;
}
@ -63,10 +65,10 @@ public class ReceiveGoodsMainDto { @@ -63,10 +65,10 @@ public class ReceiveGoodsMainDto {
private String startTime;
@ApiModelProperty("结束时间")
private String endTime;
@ApiModelProperty("下单类型")
@ApiModelProperty("查询类型:1-业务部 2-版本馆 3-样书室")
private String orderType;
@ApiModelProperty("收货单编号")
private Long id;
private String receiptNumber;
@ApiModelProperty("TO_BE_SIGNED_FOR(\"1\", \"待签收\"),\n" +
" UNDIVIDED_REACTOR(\"2\", \"待分堆\"),\n" +
@ -79,12 +81,71 @@ public class ReceiveGoodsMainDto { @@ -79,12 +81,71 @@ public class ReceiveGoodsMainDto {
@JsonIgnore
private String userId;
@ApiModelProperty("后端查询使用")
@JsonIgnore
private String corpId;
}
@Data
public static class TReceiveGoodsMainEntity extends TReceiveGoodsMain{
@ApiModelProperty("收货选书列表")
private List<TReceiveGoodsBooks> receiveGoodsBookList;
}
@Data
public static class TReceiveGoodsBooksEntity extends TReceiveGoodsBooks{
}
@Data
public static class GetBookListByIdParam extends BasePageParam{
@ApiModelProperty("收货单id")
private String id;
}
@Data
public static class TBookGoWhereEntity extends TBookGoWhere{
}
@Data
public static class SaveStackingInformationParam{
@ApiModelProperty("图书id")
private String id;
@ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室")
private String orderType;
@ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室")
private List<TBookGoWhere> bookGoWhereList;
}
@Data
public static class SaveStackingInformationByReceiveIdParam{
@ApiModelProperty("1-保存 2-确定")
private String saveType;
@ApiModelProperty("id")
private String id;
@ApiModelProperty("验收类型:1-业务部 2-版本馆 3-样书室")
private String orderType;
}
@Data
public static class BunchingInfo extends TReceiveGoodsBooks {
@ApiModelProperty("签收数量")
private Integer signedQuantity=0;
}
}

Loading…
Cancel
Save