You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

669 lines
30 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package jnpf.controller;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jnpf.base.ActionResult;
import jnpf.base.UserInfo;
import jnpf.exception.DataException;
import jnpf.permission.entity.UserEntity;
import jnpf.service.*;
import jnpf.entity.*;
import jnpf.util.*;
import jnpf.model.voucher.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.*;
import jnpf.annotation.JnpfField;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil;
import jnpf.base.entity.ProvinceEntity;
import java.io.IOException;
import java.util.stream.Collectors;
import jnpf.engine.entity.FlowTaskEntity;
import jnpf.exception.WorkFlowException;
import org.springframework.web.multipart.MultipartFile;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import java.io.File;
import jnpf.onlinedev.model.ExcelImFieldModel;
import jnpf.onlinedev.model.OnlineImport.ImportDataModel;
import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel;
import jnpf.onlinedev.model.OnlineImport.ExcelImportModel;
import jnpf.onlinedev.model.OnlineImport.VisualImportModel;
import cn.xuyanwu.spring.file.storage.FileInfo;
import lombok.Cleanup;
import jnpf.model.visualJson.config.HeaderModel;
import jnpf.base.model.ColumnDataModel;
import jnpf.base.util.VisualUtils;
import org.springframework.transaction.annotation.Transactional;
/**
* voucher
* @版本: V3.5
* @版权: 引迈信息技术有限公司https://www.jnpfsoft.com
* @作者: JNPF开发平台组
* @日期: 2024-02-21
*/
@Slf4j
@RestController
@Tag(name = "voucher" , description = "scm")
@RequestMapping("/api/scm/Voucher")
public class VoucherController {
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private UserProvider userProvider;
@Autowired
private VoucherService voucherService;
@Autowired
private VoucherProductService voucherProductService;
@Autowired
private VoucherVehicleService voucherVehicleService;
@Autowired
private ProductWarehouseService productWarehouseService;
@Autowired
private ConfigValueUtil configValueUtil;
/**
* 列表
*
* @param voucherPagination
* @return
*/
@Operation(summary = "获取列表")
@PostMapping("/getList")
public ActionResult list(@RequestBody VoucherPagination voucherPagination)throws IOException{
List<VoucherEntity> list= voucherService.getList(voucherPagination);
List<Map<String, Object>> realList=new ArrayList<>();
for (VoucherEntity entity : list) {
Map<String, Object> voucherMap=JsonUtil.entityToMap(entity);
voucherMap.put("id", voucherMap.get("id"));
//副表数据
//子表数据
List<VoucherProductEntity> voucherProductList = voucherService.getVoucherProductList(entity.getId(),voucherPagination);
voucherMap.put("tableField111",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherProductList)));
List<VoucherVehicleEntity> voucherVehicleList = voucherService.getVoucherVehicleList(entity.getId(),voucherPagination);
voucherMap.put("tableField140",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherVehicleList)));
realList.add(voucherMap);
}
//数据转换
realList = generaterSwapUtil.swapDataList(realList, VoucherConstant.getFormData(), VoucherConstant.getColumnData(), voucherPagination.getModuleId(),false);
//流程状态添加
for(Map<String, Object> vo:realList){
FlowTaskEntity flowTaskEntity = generaterSwapUtil.getInfoSubmit(String.valueOf(vo.get("id")), FlowTaskEntity::getStatus);
if (flowTaskEntity!=null){
vo.put("flowState",flowTaskEntity.getStatus());
}else{
vo.put("flowState",null);
}
//添加流程id
String flowId="";
if(vo.get("flowid")!=null){
flowId = String.valueOf(vo.get("flowid"));
}
if(vo.get("flowid".toUpperCase())!=null){
flowId = String.valueOf(vo.get("flowid".toUpperCase()));
}
if(StringUtil.isNotEmpty(flowId)){
vo.put("flowId" ,flowId);
}
}
//返回对象
PageListVO vo = new PageListVO();
vo.setList(realList);
PaginationVO page = JsonUtil.getJsonToBean(voucherPagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
* 创建
*
* @param voucherForm
* @return
*/
@PostMapping("/{id}")
@Operation(summary = "创建")
public ActionResult create(@PathVariable("id") String id, @RequestBody @Valid VoucherForm voucherForm) {
String b = voucherService.checkForm(voucherForm,0);
if (StringUtil.isNotEmpty(b)){
return ActionResult.fail(b );
}
try{
voucherService.saveOrUpdate(voucherForm, id ,true);
}catch(Exception e){
return ActionResult.fail("新增数据失败");
}
return ActionResult.success("创建成功");
}
/**
* 导出Excel
*
* @return
*/
@Operation(summary = "导出Excel")
@PostMapping("/Actions/Export")
public ActionResult Export(@RequestBody VoucherPagination voucherPagination) throws IOException {
if (StringUtil.isEmpty(voucherPagination.getSelectKey())){
return ActionResult.fail("请选择导出字段");
}
List<VoucherEntity> list= voucherService.getList(voucherPagination);
List<Map<String, Object>> realList=new ArrayList<>();
for (VoucherEntity entity : list) {
Map<String, Object> voucherMap=JsonUtil.entityToMap(entity);
voucherMap.put("id", voucherMap.get("id"));
//副表数据
//子表数据
List<VoucherProductEntity> voucherProductList = voucherService.getVoucherProductList(entity.getId(),voucherPagination);
voucherMap.put("tableField111",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherProductList)));
List<VoucherVehicleEntity> voucherVehicleList = voucherService.getVoucherVehicleList(entity.getId(),voucherPagination);
voucherMap.put("tableField140",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherVehicleList)));
realList.add(voucherMap);
}
//数据转换
realList = generaterSwapUtil.swapDataList(realList, VoucherConstant.getFormData(), VoucherConstant.getColumnData(), voucherPagination.getModuleId(),false);
String[]keys=!StringUtil.isEmpty(voucherPagination.getSelectKey())?voucherPagination.getSelectKey():new String[0];
UserInfo userInfo=userProvider.get();
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo);
return ActionResult.success(vo);
}
/**
* 导出表格方法
*/
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){
DownloadVO vo=DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
ExcelExportEntity tableField111ExcelEntity = new ExcelExportEntity("","tableField111");
List<ExcelExportEntity> tableField111List = new ArrayList<>();
ExcelExportEntity tableField140ExcelEntity = new ExcelExportEntity("","tableField140");
List<ExcelExportEntity> tableField140List = new ArrayList<>();
for(String key:keys){
switch(key){
case "voucherCode" :
entitys.add(new ExcelExportEntity("凭证编号" ,"voucherCode"));
break;
case "voucherType" :
entitys.add(new ExcelExportEntity("凭证类型" ,"voucherType"));
break;
case "preparationTime" :
entitys.add(new ExcelExportEntity("制单时间" ,"preparationTime"));
break;
case "associateThirdSuppliers" :
entitys.add(new ExcelExportEntity("三级供应商" ,"associateThirdSuppliers"));
break;
case "voucherPictures" :
entitys.add(new ExcelExportEntity("凭证图片" ,"voucherPictures"));
break;
case "poundCode" :
entitys.add(new ExcelExportEntity("磅单编号" ,"poundCode"));
break;
case "vehicleName" :
entitys.add(new ExcelExportEntity("车牌号" ,"vehicleName"));
break;
case "supplierName" :
entitys.add(new ExcelExportEntity("发货单位" ,"supplierName"));
break;
case "customerName" :
entitys.add(new ExcelExportEntity("收货单位" ,"customerName"));
break;
case "modeTransport" :
entitys.add(new ExcelExportEntity("运输方式" ,"modeTransport"));
break;
case "transportationMethod" :
entitys.add(new ExcelExportEntity("承运方式" ,"transportationMethod"));
break;
case "carrier" :
entitys.add(new ExcelExportEntity("承运商" ,"carrier"));
break;
case "placeDispatch" :
entitys.add(new ExcelExportEntity("起运地" ,"placeDispatch"));
break;
case "destination" :
entitys.add(new ExcelExportEntity("到达地" ,"destination"));
break;
case "freight" :
entitys.add(new ExcelExportEntity("运费" ,"freight"));
break;
case "vehiclePictures" :
entitys.add(new ExcelExportEntity("车辆信息" ,"vehiclePictures"));
break;
case "vehiclePictures1" :
entitys.add(new ExcelExportEntity("车辆45度图片" ,"vehiclePictures1"));
break;
case "vehiclePictures2" :
entitys.add(new ExcelExportEntity("车辆货物图片" ,"vehiclePictures2"));
break;
case "driverPictures" :
entitys.add(new ExcelExportEntity("驾驶员信息" ,"driverPictures"));
break;
case "driverPictures1" :
entitys.add(new ExcelExportEntity("驾驶员信息行驶证图片" ,"driverPictures1"));
break;
case "driverPictures2" :
entitys.add(new ExcelExportEntity("驾驶员信息身份证图片" ,"driverPictures2"));
break;
case "weighPictures" :
entitys.add(new ExcelExportEntity("过磅信息正面图片" ,"weighPictures"));
break;
case "weighPictures1" :
entitys.add(new ExcelExportEntity("过磅信息后面图片" ,"weighPictures1"));
break;
case "weighPictures2" :
entitys.add(new ExcelExportEntity("过磅信息过磅图片" ,"weighPictures2"));
break;
case "weighPictures3" :
entitys.add(new ExcelExportEntity("过磅信息货物图片" ,"weighPictures3"));
break;
case "voucherStatus" :
entitys.add(new ExcelExportEntity("凭证状态" ,"voucherStatus"));
break;
case "documentType" :
entitys.add(new ExcelExportEntity("单据类型" ,"documentType"));
break;
case "associatedDocumentNo" :
entitys.add(new ExcelExportEntity("关联单据号" ,"associatedDocumentNo"));
break;
case "tableField111-productId":
tableField111List.add(new ExcelExportEntity("商品名称" ,"productId"));
break;
case "tableField111-spec":
tableField111List.add(new ExcelExportEntity("规格" ,"spec"));
break;
case "tableField111-unit":
tableField111List.add(new ExcelExportEntity("单位" ,"unit"));
break;
case "tableField111-grossWeight":
tableField111List.add(new ExcelExportEntity("毛重" ,"grossWeight"));
break;
case "tableField111-tareWeight":
tableField111List.add(new ExcelExportEntity("皮重" ,"tareWeight"));
break;
case "tableField111-buckleWeight":
tableField111List.add(new ExcelExportEntity("扣重" ,"buckleWeight"));
break;
case "tableField111-netWeight":
tableField111List.add(new ExcelExportEntity("净重" ,"netWeight"));
break;
case "tableField111-remark":
tableField111List.add(new ExcelExportEntity("备注" ,"remark"));
break;
case "tableField111-printTime":
tableField111List.add(new ExcelExportEntity("打印时间" ,"printTime"));
break;
case "tableField140-vehicleId":
tableField140List.add(new ExcelExportEntity("车牌号" ,"vehicleId"));
break;
case "tableField140-driverName":
tableField140List.add(new ExcelExportEntity("驾驶员名称" ,"driverName"));
break;
case "tableField140-telephone":
tableField140List.add(new ExcelExportEntity("联系电话" ,"telephone"));
break;
case "tableField140-carrier":
tableField140List.add(new ExcelExportEntity("承运商" ,"carrier"));
break;
default:
break;
}
}
if(tableField111List.size() > 0){
tableField111ExcelEntity.setList(tableField111List);
entitys.add(tableField111ExcelEntity);
}
if(tableField140List.size() > 0){
tableField140ExcelEntity.setList(tableField140List);
entitys.add(tableField140ExcelEntity);
}
}
ExportParams exportParams = new ExportParams(null, "表单信息");
exportParams.setType(ExcelType.XSSF);
try{
@Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){
if (list.size()==0){
list.add(new HashMap<>());
}
//去除空数据
List<Map<String, Object>> dataList = new ArrayList<>();
for (Map<String, Object> map : list) {
int i = 0;
for (String key : keys) {
//子表
if (key.toLowerCase().startsWith("tablefield")) {
String tableField = key.substring(0, key.indexOf("-" ));
String field = key.substring(key.indexOf("-" ) + 1);
Object o = map.get(tableField);
if (o != null) {
List<Map<String, Object>> childList = (List<Map<String, Object>>) o;
for (Map<String, Object> childMap : childList) {
if (childMap.get(field) != null) {
i++;
}
}
}
} else {
Object o = map.get(key);
if (o != null) {
i++;
}
}
}
if (i > 0) {
dataList.add(map);
}
}
//复杂表头-表头和数据处理
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(VoucherConstant.getColumnData(), ColumnDataModel.class);
List<HeaderModel> complexHeaderList = columnDataModel.getComplexHeaderList();
if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) {
entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList);
dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList);
}
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList);
}
String fileName = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName);
String temporaryFilePath = configValueUtil.getTemporaryFilePath();
FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName);
vo.setName(fileInfo.getFilename());
vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName);
} catch (Exception e) {
log.error("信息导出Excel错误:{}", e.getMessage());
e.printStackTrace();
}
return vo;
}
/**
* 批量删除
* @param ids
* @return
*/
@DeleteMapping("/batchRemove")
@Transactional
@Operation(summary = "批量删除")
public ActionResult batchRemove(@RequestBody String ids){
List<String> idList = JsonUtil.getJsonToList(ids, String.class);
List<String> columnIdList = new ArrayList<>(20);
int i =0;
String errInfo = "";
for (String allId : idList){
FlowTaskEntity taskEntity = generaterSwapUtil.getInfoSubmit(allId, FlowTaskEntity::getId, FlowTaskEntity::getStatus);
if (taskEntity==null){
columnIdList.add(allId);
this.delete(allId);
}else if (taskEntity.getStatus().equals(0) || taskEntity.getStatus().equals(4)){
try {
generaterSwapUtil.deleteFlowTask(taskEntity);
columnIdList.add(allId);
this.delete(allId);
i++;
} catch (WorkFlowException e) {
errInfo = e.getMessage();
e.printStackTrace();
}
}
}
if (i == 0 && columnIdList.size()==0){
return ActionResult.fail("流程已发起,无法删除");
}
if (StringUtil.isNotEmpty(errInfo)){
return ActionResult.fail(errInfo);
}
return ActionResult.success("删除成功");
}
/**
* 编辑
* @param id
* @param voucherForm
* @return
*/
@PutMapping("/{id}")
@Operation(summary = "更新")
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid VoucherForm voucherForm,
@RequestParam(value = "isImport", required = false) boolean isImport){
voucherForm.setId(id);
if (!isImport) {
String b = voucherService.checkForm(voucherForm,1);
if (StringUtil.isNotEmpty(b)){
return ActionResult.fail(b );
}
}
VoucherEntity entity= voucherService.getInfo(id);
if(entity!=null){
try{
voucherService.saveOrUpdate(voucherForm,id,false);
}catch(Exception e){
return ActionResult.fail("修改数据失败");
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
* 删除
* @param id
* @return
*/
@Operation(summary = "删除")
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
VoucherEntity entity= voucherService.getInfo(id);
if(entity!=null){
FlowTaskEntity taskEntity = generaterSwapUtil.getInfoSubmit(id, FlowTaskEntity::getId, FlowTaskEntity::getStatus);
if (taskEntity != null) {
try {
generaterSwapUtil.deleteFlowTask(taskEntity);
} catch (WorkFlowException e) {
e.printStackTrace();
}
}
//假删除
entity.setDeleteMark(1);
voucherService.update(id,entity);
}
return ActionResult.success("删除成功");
}
/**
* 表单信息(详情页)
* 详情页面使用-转换数据
* @param id
* @return
*/
@Operation(summary = "表单信息(详情页)")
@GetMapping("/detail/{id}")
public ActionResult detailInfo(@PathVariable("id") String id){
VoucherEntity entity= voucherService.getInfo(id);
if(entity==null){
return ActionResult.fail("表单数据不存在!");
}
Map<String, Object> voucherMap=JsonUtil.entityToMap(entity);
voucherMap.put("id", voucherMap.get("id"));
//副表数据
//子表数据
List<VoucherProductEntity> voucherProductList = voucherService.getVoucherProductList(entity.getId());
voucherMap.put("tableField111",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherProductList)));
List<VoucherVehicleEntity> voucherVehicleList = voucherService.getVoucherVehicleList(entity.getId());
voucherMap.put("tableField140",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherVehicleList)));
if (entity.getBusinessType().equals("2")) {
if (entity.getDocumentType().equals("1")){
voucherMap = generaterSwapUtil.swapDataDetail(voucherMap, VoucherConstant.getFormData(), "1760139272301498370", false);
}else {
voucherMap = generaterSwapUtil.swapDataDetail(voucherMap, VoucherConstant.getFormData(), "523901091608268101", false);
}
}else if(entity.getBusinessType().equals("1")){
if (entity.getDocumentType().equals("1")) {
voucherMap = generaterSwapUtil.swapDataDetail(voucherMap, VoucherConstant.getFormData(), "1760230311607619586", false);
}else{
voucherMap = generaterSwapUtil.swapDataDetail(voucherMap, VoucherConstant.getFormData(), "1760219164296839170", false);
}
}
return ActionResult.success(voucherMap);
}
/**
* 获取详情(编辑页)
* 编辑页面使用-不转换数据
* @param id
* @return
*/
@Operation(summary = "信息")
@GetMapping("/{id}")
public ActionResult info(@PathVariable("id") String id){
VoucherEntity entity= voucherService.getInfo(id);
if(entity==null){
return ActionResult.fail("表单数据不存在!");
}
Map<String, Object> voucherMap=JsonUtil.entityToMap(entity);
voucherMap.put("id", voucherMap.get("id"));
//副表数据
//子表数据
List<VoucherProductEntity> voucherProductList = voucherService.getVoucherProductList(entity.getId());
voucherMap.put("voucherProductList",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherProductList)));
List<VoucherVehicleEntity> voucherVehicleList = voucherService.getVoucherVehicleList(entity.getId());
voucherMap.put("voucherVehicleList",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(voucherVehicleList)));
voucherMap = generaterSwapUtil.swapDataForm(voucherMap,VoucherConstant.getFormData(),VoucherConstant.TABLEFIELDKEY,VoucherConstant.TABLERENAMES);
return ActionResult.success(voucherMap);
}
/**
* 列表
*
* @param
* @return
*/
@Operation(summary = "获取销售发货凭证列表")
@GetMapping("/getSaleDeliveryVoucherList")
public ActionResult list()throws IOException{
//查询销售发货凭证
List<VoucherEntity> list= voucherService.querySaleDeliveryVoucherInfo();
for (VoucherEntity entity : list) {
if (StringUtil.isNotEmpty(entity.getProductId())){
QueryWrapper<ProductWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProductWarehouseEntity::getId,entity.getProductId());
List<ProductWarehouseEntity> productWarehouseEntity = productWarehouseService.list(queryWrapper);
for (ProductWarehouseEntity productEntity : productWarehouseEntity) {
productEntity.setUnit(entity.getUnit());
productEntity.setGrossWeight(entity.getGrossWeight());
productEntity.setTareWeight(entity.getTareWeight());
productEntity.setBuckleWeight(entity.getBuckleWeight());
productEntity.setNetWeight(entity.getNetWeight());
}
entity.setProductWarehouseEntityList(productWarehouseEntity);
}
}
return ActionResult.success(list);
}
/**
* 列表
*
* @param
* @return
*/
@Operation(summary = "获取销售收货凭证列表")
@GetMapping("/getSaleReceiptVoucherList")
public ActionResult list1()throws IOException{
//查询销售收货凭证
List<VoucherEntity> list= voucherService.querySaleReceiptVoucherInfo();
for (VoucherEntity entity : list) {
if (StringUtil.isNotEmpty(entity.getProductId())){
QueryWrapper<ProductWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProductWarehouseEntity::getId,entity.getProductId());
List<ProductWarehouseEntity> productWarehouseEntity = productWarehouseService.list(queryWrapper);
for (ProductWarehouseEntity productEntity : productWarehouseEntity) {
productEntity.setUnit(entity.getUnit());
productEntity.setGrossWeight(entity.getGrossWeight());
productEntity.setTareWeight(entity.getTareWeight());
productEntity.setBuckleWeight(entity.getBuckleWeight());
productEntity.setNetWeight(entity.getNetWeight());
}
entity.setProductWarehouseEntityList(productWarehouseEntity);
}
}
return ActionResult.success(list);
}
/**
* 列表
*
* @param
* @return
*/
@Operation(summary = "获取采购收货凭证列表")
@GetMapping("/getPurchaseReceiptVoucherList")
public ActionResult list2()throws IOException{
//查询采购收货凭证
List<VoucherEntity> list= voucherService.queryPurchaseReceiptVoucherInfo();
for (VoucherEntity entity : list) {
if (StringUtil.isNotEmpty(entity.getProductId())){
QueryWrapper<ProductWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProductWarehouseEntity::getId,entity.getProductId());
List<ProductWarehouseEntity> productWarehouseEntity = productWarehouseService.list(queryWrapper);
for (ProductWarehouseEntity productEntity : productWarehouseEntity) {
productEntity.setUnit(entity.getUnit());
productEntity.setGrossWeight(entity.getGrossWeight());
productEntity.setTareWeight(entity.getTareWeight());
productEntity.setBuckleWeight(entity.getBuckleWeight());
productEntity.setNetWeight(entity.getNetWeight());
}
entity.setProductWarehouseEntityList(productWarehouseEntity);
}
}
return ActionResult.success(list);
}
/**
* 列表
*
* @param
* @return
*/
@Operation(summary = "获取采购发货凭证列表")
@GetMapping("/getPurchaseDeliveryVoucherList")
public ActionResult list3()throws IOException{
//查询采购发货凭证
List<VoucherEntity> list= voucherService.queryPurchaseDeliveryVoucherInfo();
for (VoucherEntity entity : list) {
if (StringUtil.isNotEmpty(entity.getProductId())){
QueryWrapper<ProductWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProductWarehouseEntity::getId,entity.getProductId());
List<ProductWarehouseEntity> productWarehouseEntity = productWarehouseService.list(queryWrapper);
for (ProductWarehouseEntity productEntity : productWarehouseEntity) {
productEntity.setUnit(entity.getUnit());
productEntity.setGrossWeight(entity.getGrossWeight());
productEntity.setTareWeight(entity.getTareWeight());
productEntity.setBuckleWeight(entity.getBuckleWeight());
productEntity.setNetWeight(entity.getNetWeight());
}
entity.setProductWarehouseEntityList(productWarehouseEntity);
}
}
return ActionResult.success(list);
}
}