feat: 建阳入账库报表

dev_2.5_inv
chenhc 10 months ago
parent 4853a96313
commit f0dcbf0717

@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
@ -18,14 +19,13 @@ import com.glxp.api.dao.dev.DeviceInfoMapper;
import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.system.CompanyEntity; import com.glxp.api.entity.system.*;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.req.dev.DeviceInfoDetailQuery; import com.glxp.api.req.dev.DeviceInfoDetailQuery;
import com.glxp.api.req.inout.*; import com.glxp.api.req.inout.*;
import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.res.inout.*; import com.glxp.api.res.inout.*;
import com.glxp.api.res.inv.InvProductResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
@ -34,6 +34,8 @@ import com.glxp.api.service.inout.impl.IoOrderInvoiceService;
import com.glxp.api.service.system.CompanyService; import com.glxp.api.service.system.CompanyService;
import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.service.inv.impl.InvProductService;
import com.glxp.api.service.system.*;
import com.glxp.api.service.thrsys.ThrProductsService; import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.util.JasperUtils; import com.glxp.api.util.JasperUtils;
import com.glxp.api.util.MsDateUtil; import com.glxp.api.util.MsDateUtil;
@ -84,6 +86,10 @@ public class IoOrderDetailResultController extends BaseController {
private IoOrderInvoiceService ioOrderInvoiceService; private IoOrderInvoiceService ioOrderInvoiceService;
@Resource @Resource
DeviceInfoMapper deviceInfoMapper; DeviceInfoMapper deviceInfoMapper;
@Resource
InvProductService invProductService;
@Resource
SystemPDFTemplateRelevanceBizService systemPDFTemplateRelevanceBizService;
/** /**
* *
@ -405,6 +411,225 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
/**
*
*
* @param filterOrderDetailDeptResultRequest
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrintDept")
public BaseResponse filterOrderPrintDept(@RequestBody FilterOrderDetailDeptResultRequest filterOrderDetailDeptResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailDeptResultResponse> ioOrderDetailResultResponseList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailDeptResultRequest.getTemplateId());
LambdaQueryWrapper<SysPdfTemplateRelevanceBizEntity> qw = new LambdaQueryWrapper<>();
qw.eq(SysPdfTemplateRelevanceBizEntity::getTemplateId,systemPDFTemplateEntity.getId());
qw.last("limit 1");
SysPdfTemplateRelevanceBizEntity sysPdfTemplateRelevanceBizEntity = systemPDFTemplateRelevanceBizService.getOne(qw);
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date());
//按选入打印
if (filterOrderDetailDeptResultRequest.getList() != null && filterOrderDetailDeptResultRequest.getList().size() > 0) {
ioOrderDetailResultResponseList = filterOrderDetailDeptResultRequest.getList();
} else {
//按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailDeptResultRequest.getActionType());
List<String> actions = orderService.setActions(filterOrderRequest);
if (CollUtil.isEmpty(actions)) {
return ResultVOUtils.success("");
}
filterOrderDetailDeptResultRequest.setActions(actions);
ioOrderDetailResultResponseList = orderDetailResultService.getOrderDeptResult(filterOrderDetailDeptResultRequest);
}
int i = 1;
for (IoOrderDetailDeptResultResponse item : ioOrderDetailResultResponseList) {
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
ioOrderDetailResultData.put("index", String.valueOf(i));
ioOrderDetailResultData.put("amount", item.getAmount() == null ? null : item.getAmount());
ioOrderDetailResultData.put("count", item.getCount());
ioOrderDetailResultData.put("fromInvCode", item.getFromInvCode() == null ? ' ' : item.getFromInvCode());
ioOrderDetailResultData.put("fromInvName", item.getFromInvName() == null ? ' ' : item.getFromInvName());
ioOrderDetailResultData.put("fromCorpName", item.getFromCorpName() == null ? ' ' : item.getFromCorpName());
ioOrderDetailResultData.put("startAduditTime", filterOrderDetailDeptResultRequest.getStartAduditTime() == null ? ' ' : filterOrderDetailDeptResultRequest.getStartAduditTime());
ioOrderDetailResultData.put("endAduditTime", filterOrderDetailDeptResultRequest.getEndAduditTime() == null ? ' ' : filterOrderDetailDeptResultRequest.getEndAduditTime());
ioOrderDetailResultData.put("locInvName", filterOrderDetailDeptResultRequest.getLocInvName() == null ? ' ' : filterOrderDetailDeptResultRequest.getLocInvName());
ioOrderDetailResultData.put("employeeName", filterOrderDetailDeptResultRequest.getEmployeeName() == null ? ' ' : filterOrderDetailDeptResultRequest.getEmployeeName());
ioOrderDetailResultData.put("exportTime", dateStr);
ioOrderDetailResultData.put("remark1", sysPdfTemplateRelevanceBizEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark1());
ioOrderDetailResultData.put("remark2", sysPdfTemplateRelevanceBizEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark2());
ioOrderDetailResultData.put("remark3", sysPdfTemplateRelevanceBizEntity.getRemark3() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark3());
list.add(ioOrderDetailResultData);
i++;
}
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
/**
*
*
* @param filterOrderDetailDeptResultRequest
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrintDeptSup")
public BaseResponse filterOrderPrintDeptSup(@RequestBody FilterOrderDetailDeptResultRequest filterOrderDetailDeptResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailDeptResultResponse> ioOrderDetailResultResponseList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailDeptResultRequest.getTemplateId());
LambdaQueryWrapper<SysPdfTemplateRelevanceBizEntity> qw = new LambdaQueryWrapper<>();
qw.eq(SysPdfTemplateRelevanceBizEntity::getTemplateId,systemPDFTemplateEntity.getId());
qw.last("limit 1");
SysPdfTemplateRelevanceBizEntity sysPdfTemplateRelevanceBizEntity = systemPDFTemplateRelevanceBizService.getOne(qw);
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date());
//按选入打印
if (filterOrderDetailDeptResultRequest.getList() != null && filterOrderDetailDeptResultRequest.getList().size() > 0) {
ioOrderDetailResultResponseList = filterOrderDetailDeptResultRequest.getList();
} else {
//按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailDeptResultRequest.getActionType());
List<String> actions = orderService.setActions(filterOrderRequest);
if (CollUtil.isEmpty(actions)) {
return ResultVOUtils.success("");
}
filterOrderDetailDeptResultRequest.setActions(actions);
ioOrderDetailResultResponseList = orderDetailResultService.getOrderDeptSupResult(filterOrderDetailDeptResultRequest);
}
int i = 1;
for (IoOrderDetailDeptResultResponse item : ioOrderDetailResultResponseList) {
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
ioOrderDetailResultData.put("index", String.valueOf(i));
ioOrderDetailResultData.put("amount", item.getAmount() == null ? null : item.getAmount());
ioOrderDetailResultData.put("count", item.getCount());
ioOrderDetailResultData.put("fromInvCode", item.getFromInvCode() == null ? ' ' : item.getFromInvCode());
ioOrderDetailResultData.put("fromInvName", item.getFromInvName() == null ? ' ' : item.getFromInvName());
ioOrderDetailResultData.put("fromCorpName", item.getFromCorpName() == null ? ' ' : item.getFromCorpName());
ioOrderDetailResultData.put("startAduditTime", filterOrderDetailDeptResultRequest.getStartAduditTime() == null ? ' ' : filterOrderDetailDeptResultRequest.getStartAduditTime());
ioOrderDetailResultData.put("endAduditTime", filterOrderDetailDeptResultRequest.getEndAduditTime() == null ? ' ' : filterOrderDetailDeptResultRequest.getEndAduditTime());
ioOrderDetailResultData.put("locInvName", filterOrderDetailDeptResultRequest.getLocInvName() == null ? ' ' : filterOrderDetailDeptResultRequest.getLocInvName());
ioOrderDetailResultData.put("employeeName", filterOrderDetailDeptResultRequest.getEmployeeName() == null ? ' ' : filterOrderDetailDeptResultRequest.getEmployeeName());
ioOrderDetailResultData.put("exportTime", dateStr);
ioOrderDetailResultData.put("remark1", sysPdfTemplateRelevanceBizEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark1());
ioOrderDetailResultData.put("remark2", sysPdfTemplateRelevanceBizEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark2());
ioOrderDetailResultData.put("remark3", sysPdfTemplateRelevanceBizEntity.getRemark3() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark3());
list.add(ioOrderDetailResultData);
i++;
}
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
/**
*
*
* @param filterInvProductRequest
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/printOrderInvProducts")
public BaseResponse printOrderInvProducts(@RequestBody FilterInvProductRequest filterInvProductRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<InvProductResponse> ioOrderDetailResultResponseList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterInvProductRequest.getTemplateId());
LambdaQueryWrapper<SysPdfTemplateRelevanceBizEntity> qw = new LambdaQueryWrapper<>();
qw.eq(SysPdfTemplateRelevanceBizEntity::getTemplateId,systemPDFTemplateEntity.getId());
qw.last("limit 1");
SysPdfTemplateRelevanceBizEntity sysPdfTemplateRelevanceBizEntity = systemPDFTemplateRelevanceBizService.getOne(qw);
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date());
//按选入打印
if (filterInvProductRequest.getList() != null && filterInvProductRequest.getList().size() > 0) {
ioOrderDetailResultResponseList = filterInvProductRequest.getList();
} else {
//按查询打印
// FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
// filterOrderRequest.setVueType(filterInvProductRequest.getActionType());
// List<String> actions = orderService.setActions(filterOrderRequest);
// if (CollUtil.isEmpty(actions)) {
// return ResultVOUtils.success("");
// }
// filterInvProductRequest.setActions(actions);
if (StrUtil.isNotEmpty(filterInvProductRequest.getInvSpaceCode())) {
ioOrderDetailResultResponseList = invProductService.findGroupBySpace(filterInvProductRequest);
} else {
ioOrderDetailResultResponseList = invProductService.filterListProduct(filterInvProductRequest);
}
}
int i = 1;
for (InvProductResponse item : ioOrderDetailResultResponseList) {
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
ioOrderDetailResultData.put("index", String.valueOf(i));
ioOrderDetailResultData.put("cpmctymc", item.getCpmctymc() == null ? "" : item.getCpmctymc());
ioOrderDetailResultData.put("ggxh",item.getGgxh() == null ? "" : item.getGgxh());
ioOrderDetailResultData.put("inCount",item.getInCount());
ioOrderDetailResultData.put("outCount",item.getOutCount());
ioOrderDetailResultData.put("reCount",item.getReCount());
ioOrderDetailResultData.put("measname",item.getMeasname() == null ? "" : item.getMeasname());
ioOrderDetailResultData.put("batchNo",item.getBatchNo() == null ? "" : item.getBatchNo());
ioOrderDetailResultData.put("price",item.getPrice() == null ? "" : item.getPrice());
ioOrderDetailResultData.put("supName",item.getSupName() == null ? "" : item.getSupName());
ioOrderDetailResultData.put("ylqxzcrbarmc",item.getYlqxzcrbarmc() == null ? "" : item.getYlqxzcrbarmc());
ioOrderDetailResultData.put("locInvName", filterInvProductRequest.getLocInvName() == null ? ' ' : filterInvProductRequest.getLocInvName());
ioOrderDetailResultData.put("remark1", sysPdfTemplateRelevanceBizEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark1());
ioOrderDetailResultData.put("remark2", sysPdfTemplateRelevanceBizEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark2());
ioOrderDetailResultData.put("remark3", sysPdfTemplateRelevanceBizEntity.getRemark3() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark3());
list.add(ioOrderDetailResultData);
i++;
}
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
/** /**
* *
* *

@ -308,7 +308,8 @@ public class InvProductController extends BaseController {
if (null == filterInvProductRequest || StrUtil.isBlank(filterInvProductRequest.getInvCode())) { if (null == filterInvProductRequest || StrUtil.isBlank(filterInvProductRequest.getInvCode())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
List<InvProductResponse> list = invProductService.filterList(filterInvProductRequest); filterInvProductRequest.setFilterNoInv(1);
List<InvProductResponse> list = invProductService.filterListProduct(filterInvProductRequest);
PageInfo<InvProductResponse> pageInfo = new PageInfo<>(list); PageInfo<InvProductResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo); return ResultVOUtils.page(pageInfo);
} }

@ -3,10 +3,12 @@ package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailDeptResultRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoExOrderDetailResultResponse; import com.glxp.api.res.inout.IoExOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.res.inv.InvProductDetailResponse;
import com.glxp.api.res.inv.IoOrderDetailStatRsponse; import com.glxp.api.res.inv.IoOrderDetailStatRsponse;
@ -50,4 +52,8 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
List<IoExOrderDetailResultResponse> exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest); List<IoExOrderDetailResultResponse> exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest);
List<InvProductDetailResponse> filterInvProductDetailOutList(FilterInvProductDetailRequest filterInvProductDetailRequest); List<InvProductDetailResponse> filterInvProductDetailOutList(FilterInvProductDetailRequest filterInvProductDetailRequest);
List<IoOrderDetailDeptResultResponse> filterOrderDeptList(FilterOrderDetailDeptResultRequest orderDetailResultRequest);
List<IoOrderDetailDeptResultResponse> filterOrderDeptSupList(FilterOrderDetailDeptResultRequest orderDetailResultRequest);
} }

@ -93,6 +93,9 @@ public class InvCountOrderDetailEntity implements Serializable {
@ApiModelProperty(value = "账面数量") @ApiModelProperty(value = "账面数量")
private Integer invNum; private Integer invNum;
@TableField(exist = false)
private Integer reCount;
/** /**
* *
*/ */

@ -0,0 +1,43 @@
package com.glxp.api.req.inout;
import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.List;
/**
*
*/
@Data
public class FilterOrderDetailDeptResultRequest extends ListPageRequest {
private String startAduditTime; //起始日期
private String endAduditTime; //结束日期
private String fromCorp;
private String invCode;
private String actionType;
private String manufacturer;
private String zczbhhzbapzbh;
private Boolean isStack;
private String invoiceEncode;
private String templateId;
private List<String> actions;
private List<IoOrderDetailDeptResultResponse> list;
private String action;
private String mainAction;
private Integer inoutPrintStatus;
private String invName;
private String employeeName;
private String fromInvName;
private String locInvName;
private String confirmStarTime; //发票确认起始日期
private String confirmEndTime; //发票确认结束日期
private String corpName;//供应商名字
private String fromInvCode;//供应商名字
private Boolean groupBuy; //是否集采产品
}

@ -1,5 +1,7 @@
package com.glxp.api.req.inv; package com.glxp.api.req.inv;
import com.glxp.api.res.inv.InvProductResponse;
import com.glxp.api.util.page.ListPageRequest; import com.glxp.api.util.page.ListPageRequest;
import lombok.Data; import lombok.Data;
@ -88,6 +90,7 @@ public class FilterInvProductRequest extends ListPageRequest {
* *
*/ */
private String invCode; private String invCode;
private String locInvName;
/** /**
* *
@ -151,4 +154,8 @@ public class FilterInvProductRequest extends ListPageRequest {
private String bzgg; private String bzgg;
private String prepnSpec; private String prepnSpec;
private String templateId;
private List<InvProductResponse> list;
} }

@ -0,0 +1,32 @@
package com.glxp.api.res.inout;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* VO
*/
@Data
public class IoOrderDetailDeptResultResponse {
/**
*
*/
private String fromInvCode;
/**
*
*/
private String fromInvName;
private String FromCorpName;
private Integer count;
private BigDecimal amount;
}

@ -2,10 +2,12 @@ package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailDeptResultRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoExOrderDetailResultResponse; import com.glxp.api.res.inout.IoExOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.res.inv.InvProductDetailResponse;
@ -36,4 +38,9 @@ public interface IoOrderDetailResultService {
List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest); List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest);
List<IoExOrderDetailResultResponse> exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest); List<IoExOrderDetailResultResponse> exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest);
List<IoOrderDetailDeptResultResponse> getOrderDeptResult(FilterOrderDetailDeptResultRequest orderDetailResultRequest);
List<IoOrderDetailDeptResultResponse> getOrderDeptSupResult(FilterOrderDetailDeptResultRequest orderDetailResultRequest);
} }

@ -6,10 +6,12 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoOrderDetailResultDao; import com.glxp.api.dao.inout.IoOrderDetailResultDao;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailDeptResultRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoExOrderDetailResultResponse; import com.glxp.api.res.inout.IoExOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailDeptResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inv.InvProductDetailResponse; import com.glxp.api.res.inv.InvProductDetailResponse;
import com.glxp.api.service.inout.IoOrderDetailResultService; import com.glxp.api.service.inout.IoOrderDetailResultService;
@ -116,4 +118,26 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
} }
return orderDetailResultDao.exFilterOrderDetail(orderDetailResultRequest); return orderDetailResultDao.exFilterOrderDetail(orderDetailResultRequest);
} }
@Override
public List<IoOrderDetailDeptResultResponse> getOrderDeptResult(FilterOrderDetailDeptResultRequest orderDetailResultRequest) {
if (null == orderDetailResultRequest) {
return Collections.emptyList();
}
if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) {
PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit());
}
return orderDetailResultDao.filterOrderDeptList(orderDetailResultRequest);
}
@Override
public List<IoOrderDetailDeptResultResponse> getOrderDeptSupResult(FilterOrderDetailDeptResultRequest orderDetailResultRequest) {
if (null == orderDetailResultRequest) {
return Collections.emptyList();
}
if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) {
PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit());
}
return orderDetailResultDao.filterOrderDeptSupList(orderDetailResultRequest);
}
} }

@ -84,6 +84,8 @@ public class InvCountOrderDetailService extends ServiceImpl<InvCountOrderDetailM
if (CollUtil.isNotEmpty(countOrderDetailList)) { if (CollUtil.isNotEmpty(countOrderDetailList)) {
for (InvCountOrderDetailEntity invCountOrderDetailEntity : countOrderDetailList) { for (InvCountOrderDetailEntity invCountOrderDetailEntity : countOrderDetailList) {
invCountOrderDetailEntity.setOrderIdFk(orderId); invCountOrderDetailEntity.setOrderIdFk(orderId);
invCountOrderDetailEntity.setId(null);
invCountOrderDetailEntity.setCountNum(invCountOrderDetailEntity.getInvNum());
} }
invCountOrderDetailDao.insertBatch(countOrderDetailList); invCountOrderDetailDao.insertBatch(countOrderDetailList);
} }

@ -197,6 +197,118 @@
group by a2.bindRlFk group by a2.bindRlFk
</select> </select>
<select id="filterOrderDeptList" resultType="com.glxp.api.res.inout.IoOrderDetailDeptResultResponse">
SELECT
aw.code as fromInvCode,
aw.name as fromInvName,
SUM(CASE WHEN a1.mainAction = 'WareHouseOut' THEN COALESCE(a2.price,0) * COALESCE(a2.count,0)
WHEN a1.mainAction = 'WareHouseIn' THEN -(COALESCE(a2.price,0) * COALESCE(a2.count,0))
ELSE 0
END) AS amount,
SUM(CASE WHEN a1.mainAction = 'WareHouseOut' THEN COALESCE(a2.count,0)
WHEN a1.mainAction = 'WareHouseIn' THEN -(COALESCE(a2.count,0))
ELSE 0
END) AS `count`
FROM auth_warehouse aw
LEFT JOIN io_order a1 ON a1.fromInvCode = aw.CODE
LEFT JOIN io_order_detail_result a2 ON a1.billNo = a2.orderIdFk
LEFT JOIN basic_udirel bu on bu.id = a2.bindRlFk
<where>
a1.status = 7
<if test="invCode != null and invCode != ''">
AND a1.invCode = #{invCode}
</if>
<if test="hcType != null and hcType != ''">
AND bu.hcType = #{hcType}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="action != null and action != ''">
AND a1.action = #{action}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="fromCorp != null and fromCorp != ''">
AND a1.fromCorp = #{fromCorp}
</if>
<if test="fromInvCode != null and fromInvCode != ''">
AND a1.fromInvCode = #{fromInvCode}
</if>
<if test="startAduditTime != null and startAduditTime != '' and endAduditTime != null and endAduditTime != ''">
AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and
date_format(#{endAduditTime}, '%Y-%m-%d')
</if>
<if test="actions != null and actions.size() != 0">
AND a1.`action` in
<foreach collection="actions" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
group by a1.fromInvCode
</select>
<select id="filterOrderDeptSupList" resultType="com.glxp.api.res.inout.IoOrderDetailDeptResultResponse">
SELECT
aw.code as fromInvCode,
aw.name as fromInvName,
bc.name as fromCorpName,
SUM(CASE WHEN a1.mainAction = 'WareHouseOut' THEN -COALESCE(a2.price,0) * COALESCE(a2.count,0)
WHEN a1.mainAction = 'WareHouseIn' THEN (COALESCE(a2.price,0) * COALESCE(a2.count,0))
ELSE 0
END) AS amount,
SUM(CASE WHEN a1.mainAction = 'WareHouseOut' THEN -COALESCE(a2.count,0)
WHEN a1.mainAction = 'WareHouseIn' THEN (COALESCE(a2.count,0))
ELSE 0
END) AS `count`
FROM auth_warehouse aw
LEFT JOIN io_order a1 ON a1.invCode = aw.CODE
LEFT JOIN io_order_detail_result a2 ON a1.billNo = a2.orderIdFk
LEFT JOIN basic_udirel bu on bu.id = a2.bindRlFk
LEFT JOIN basic_corp bc on bc.erpId = a1.fromCorp
<where>
a1.status = 7 and a1.fromCorp is not null
<if test="invCode != null and invCode != ''">
AND a1.invCode = #{invCode}
</if>
<if test="hcType != null and hcType != ''">
AND bu.hcType = #{hcType}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="action != null and action != ''">
AND a1.action = #{action}
</if>
<if test="mainAction != null and mainAction != ''">
AND a1.mainAction = #{mainAction}
</if>
<if test="fromCorp != null and fromCorp != ''">
AND a1.fromCorp = #{fromCorp}
</if>
<if test="fromInvCode != null and fromInvCode != ''">
AND a1.fromInvCode = #{fromInvCode}
</if>
<if test="startAduditTime != null and startAduditTime != '' and endAduditTime != null and endAduditTime != ''">
AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and
date_format(#{endAduditTime}, '%Y-%m-%d')
</if>
<if test="actions != null and actions.size() != 0">
AND a1.`action` in
<foreach collection="actions" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
group by a1.fromInvCode,a1.fromCorp
</select>
<select id="filterInvProductDetailOutList" resultType="com.glxp.api.res.inv.InvProductDetailResponse"> <select id="filterInvProductDetailOutList" resultType="com.glxp.api.res.inv.InvProductDetailResponse">
SELECT a2.coName, SELECT a2.coName,
a2.spec, a2.spec,

Loading…
Cancel
Save