Commit f9f2b7e3 by 李小惠

修改报表接口

parent a98416f8
package com.junmp.jyzb.api.bean.dto.TjDto;
import com.junmp.v2.db.api.page.PageResult;
import lombok.Data;
import java.util.List;
......@@ -20,4 +21,6 @@ public class FinalTjOrgEqsDto {
private Integer destructionNumber;
// 每个组织机构的装备数
private List<TjOrgEqsDto> tjOrgEqsDto;
private PageResult<TjOrgEqsDto> tjOrgEqsDtoPage;
}
package com.junmp.jyzb.api.bean.query.TjReq;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import java.util.List;
@Data
public class TjOrgEqsReq {
public class TjOrgEqsReq extends BaseRequest {
//组织机构
private Long orgId;
List<String> typeIdsList;
......
......@@ -82,11 +82,11 @@ public class EquipmentSizeController {
return ApiRes.success(equipmentSizeService.getByTypeIds(req));
}
@PostMapping("/selectByTypeIds")
@ApiOperation("/根据装备类型返回装备所有装备子集")
public ApiRes<List<String>> selectByTypeIds(@RequestBody QueryEquipmentSizeReq req ){
return ApiRes.success(equipmentSizeService.selectByTypeIds(req.getTypeIdsList()));
}
// @PostMapping("/selectByTypeIds")
// @ApiOperation("/根据装备类型返回装备所有装备子集")
// public ApiRes<List<String>> selectByTypeIds(@RequestBody QueryEquipmentSizeReq req ){
// return ApiRes.success(equipmentSizeService.selectByTypeIds(req.getTypeIdsList()));
// }
}
......@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.jyzb.service.TjService;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -41,7 +42,7 @@ public class TjController {
//装备统计报表(点击+后里面的数据)
@PostMapping("/TjOrgEqsDetail")
@ApiOperation("/根据添加查询组织机构下的装备统计")
public ApiRes<List<InventorySumDto>> TjOrgEqsDetail(@RequestBody TjOrgEqsReq req){
public ApiRes<PageResult<InventorySumDto>> TjOrgEqsDetail(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.TjOrgEqsDetail(req));
}
......@@ -58,12 +59,14 @@ public class TjController {
public ApiRes<List<TjOrgPriceDto>> TjOrgPriceDetail(@RequestBody TjOrgPriceReq req){
return ApiRes.success(tjService.TjOrgPriceDetail(req));
}
@PostMapping("test")
public ApiRes<List<TjOrgEqsDto>> test(@RequestBody InventoryReq req){
@PostMapping("/test")
public ApiRes<FinalTjOrgEqsDto> test(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.test(req));
}
// @PostMapping("test")
// public ApiRes<List<TjOrgEqsDto>> test(@RequestBody InventoryReq req){
// return ApiRes.success(tjService.test(req));
// }
}
......@@ -57,7 +57,10 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
//获取合计
FinalTjOrgEqsDto getSumByViewOrgeqsSum();
List<InventorySumDto> TjOrgEqsDetail(@Param("orgId") Long orgId, @Param("typeIdsList") List<String> typeIdsList, @Param("sizeNameList") List<String> sizeNameList);
int TjOrgEqsDetailSum(@Param("orgId") Long orgId, @Param("typeIdsList") List<String> typeIdsList, @Param("sizeNameList") List<String> sizeNameList);
List<InventorySumDto> TjOrgEqsDetail(@Param("orgId") Long orgId, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList,
@Param("pageNo")Long pageNo, @Param("pageSize") Long pageSize);
List<InventorySumDto> selectTotalNum(@Param("orgId") Long orgId,@Param("list") List<Object[]> searchCriteria );
......
......@@ -30,5 +30,5 @@ public interface EquipmentSizeService extends IService<EquipmentSize> {
List<String> getByTypeIds(QueryEquipmentSizeReq req);
//根据typeId拿到装备typeIds
List<String> selectByTypeIds(List<String> typeIdsList);
// List<String> selectByTypeIds(List<String> typeIdsList);
}
......@@ -8,6 +8,7 @@ import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......@@ -15,12 +16,14 @@ public interface TjService {
List<TjOrgEqsDto> showOrgEqsList(InventoryReq req);
List<TjOrgEqsDto> test(InventoryReq req);
// List<TjOrgEqsDto> test(InventoryReq req);
FinalTjOrgEqsDto test(TjOrgEqsReq req);
//装备统计报表
FinalTjOrgEqsDto TjOrgEqs(TjOrgEqsReq req);
List<InventorySumDto> TjOrgEqsDetail(TjOrgEqsReq req);
PageResult<InventorySumDto> TjOrgEqsDetail(TjOrgEqsReq req);
//财务统计报表
FinalTjOrgPriceDto TjOrgPrice(TjOrgPriceReq req);
......
......@@ -24,6 +24,7 @@ import com.junmp.jyzb.service.*;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.RabbitMQSendMsg;
import com.junmp.jyzb.utils.RedisUtils;
import com.junmp.v2.auth.api.LoginUserApi;
import com.junmp.v2.auth.api.bean.login.LoginUser;
import com.junmp.v2.auth.api.context.LoginContext;
import com.junmp.v2.common.bean.response.ApiRes;
......@@ -130,6 +131,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
private PolicemanService policemanService;
@Resource
private SysUserService sysUserService;
@Resource
private InventorySummaryMapper inventorySummaryMapper;
@Autowired
private RabbitMQSendMsg MQ;
......@@ -199,7 +203,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
.eq(SysDictItem::getDictId, dictId)
.eq(SysDictItem::getItemValue, req.getBussinessType())).getItemText();
s=s+itemText+"单:";
s=s+req.getBussinessType()+"出库单:";
}
for (UpdateOrderDetailReq listReq:req.getDetailList()) {
......@@ -222,7 +225,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
//添加日志记录
s=s+listReq.getWarehouseName()+"【"+listReq.getTypeName()+"--"+listReq.getSizeName()+"】预计数量:"+listReq.getPlanNum()+"/";
s=s+listReq.getWarehouseName()+"【"+listReq.getTypeName()+"--"+listReq.getSizeName()+"】预计数量:"+listReq.getPlanNum()+"/";
detailList.add(detail);
}
orderDetailService.saveBatch(detailList);
......@@ -344,7 +347,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//纪录日志
private boolean addOrderLog(UpdateOrderReq req,String orderId,String orderCode,String s){
LoginUser StartUser= LoginContext.getContext().getLoginUser();
// LoginUser StartUser= LoginContext.getContext().getLoginUser();
// StartUser.
//判断日志中是否存在,如果存在直接替换
OrderLog createOrder = orderLogService.getOne(new LambdaQueryWrapper<OrderLog>()
.eq(OrderLog::getOrderId, req.getId())
......@@ -358,8 +363,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
orderLog.setOrderCode(orderCode);
orderLog.setBussinessType(req.getBussinessType());
orderLog.setOrderType(req.getOrderType());
if (ObjectUtil.isNotNull(req.getStartOrgUserName())){
orderLog.setCreateUser(req.getStartOrgUserName());
}else {
orderLog.setCreateUser(req.getEndOrgUserName());
}
orderLog.setProcessType("careteOrder");
orderLog.setCreateUser(String.valueOf(StartUser.getUserId()));
if (req.getOrderType().equals("in")){
orderLog.setOrgId(req.getEndOrgId());
orderLog.setOrgName(req.getEndOrgName());
......@@ -925,6 +934,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//将修改内容存储记录(历史操作,数量,单据,价格,组织机构)
//创建记账操作记录并且记录到数据表order_log中
public boolean saveAccountingLog (UpdateOrderReq req,String s,Integer updateQuantity){
OrderLog orderLog = new OrderLog();
BeanPlusUtil.copyProperties(req,orderLog);
orderLog.setId(UUID.randomUUID().toString());
......@@ -941,6 +951,15 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
orderLog.setOrgName(req.getStartOrgName());
}
orderLog.setOrderId(req.getId());
String userId="";
if (ObjectUtil.isNotNull(req.getUserId())){
userId=req.getUserId();
}else {
LoginUser loginUser = LoginContext.getContext().getLoginUser();
userId=loginUser.getUserId().toString();
}
SysUser sysUser = sysUserService.getById(userId);
orderLog.setCreateUser(sysUser.getNickName());
orderLog.setCreateUser(req.getUserId());
orderLog.setCreateTime(DateTimeUtil.getCurrentDateTime());
orderLog.setProcessType("accounting");
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.dto.EqsSumDto;
import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.OrgDto;
......@@ -15,6 +17,9 @@ import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.service.EquipmentSizeService;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.TjService;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -99,30 +104,44 @@ public class TjServiceImpl implements TjService {
}
@Override
public List<TjOrgEqsDto> test(InventoryReq req) {
List<TjOrgEqsDto> tJOrgEqsDtoList = inventorySummaryMapper.test(req);
List<TjOrgEqsDto> dynamicViewList = inventorySummaryMapper.selectDynamicView();
return dynamicViewList;
public FinalTjOrgEqsDto test(TjOrgEqsReq req) {
List<String> typeIdsList = req.getTypeIdsList();
List<String> sizeNameList = req.getSizeNameList();
// int size = typeIdsList.size();
// int size1 = sizeNameList.size();
boolean notNull = ObjectUtil.isNotNull(req.getTypeIdsList());
boolean s = ObjectUtil.isNotNull(req.getSizeNameList());
// System.out.println("yiyi = " + req.getTypeIdsList().isEmpty());
System.out.println("yiyi = " + ObjectUtil.isEmpty(req.getTypeIdsList()));
// System.out.println("yiyi = " + req.getTypeIdsList().isEmpty());
return null;
}
// @Override
// public List<TjOrgEqsDto> test(InventoryReq req) {
// List<TjOrgEqsDto> tJOrgEqsDtoList = inventorySummaryMapper.test(req);
// List<TjOrgEqsDto> dynamicViewList = inventorySummaryMapper.selectDynamicView();
// return dynamicViewList;
// }
@Override
public FinalTjOrgEqsDto TjOrgEqs(TjOrgEqsReq req) {
//我得先将typeid传递的最下层的装备idlist拿到
List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
List<String> sizeNameList = req.getSizeNameList();
// List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
// List<String> sizeNameList = req.getSizeNameList();
//将前端传递的值进行处理并且执行存储过程
String sql="and (org_id="+req.getOrgId()+" or org_parent_id = "+req.getOrgId()+")";
if (typeIdsList.size()>0 && !typeIdsList.isEmpty()){
if (!ObjectUtil.isEmpty(req.getTypeIdsList()) && req.getTypeIdsList().size()>0){
sql+="and type_id in (";
for (String typeId:typeIdsList) {
for (String typeId:req.getTypeIdsList()) {
sql+=typeId+",";
}
sql = sql.substring(0, sql.length() - 1);
sql+=")";
}
if (sizeNameList.size()>0 && !sizeNameList.isEmpty()){
if (!ObjectUtil.isEmpty(req.getSizeNameList()) && req.getSizeNameList().size()>0){
sql+="and size_name in (";
for (String sizeName:sizeNameList) {
for (String sizeName:req.getSizeNameList()) {
sql+=sizeName+",";
}
sql = sql.substring(0, sql.length() - 1);
......@@ -138,30 +157,45 @@ public class TjServiceImpl implements TjService {
//将组织机构进行排序后再进行返回
Comparator<TjOrgEqsDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgEqsDtoList, orgComparator);
//在内存foreach还是去数据库再去查询一次
FinalTjOrgEqsDto finalTjOrgEqsDto=inventorySummaryMapper.getSumByViewOrgeqsSum();
finalTjOrgEqsDto.setTjOrgEqsDto(tjOrgEqsDtoList);
if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) {
req.setPageNo(1L);
req.setPageSize(10L);
}
Page<TjOrgEqsDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
List<TjOrgEqsDto> subList = tjOrgEqsDtoList.subList((int) ((req.getPageNo()-1)*req.getPageSize()), req.getPageSize().intValue());
page.setRecords(subList);
page.setTotal(tjOrgEqsDtoList.size());
finalTjOrgEqsDto.setTjOrgEqsDtoPage(PageResultFactory.createPageResult(page));
// finalTjOrgEqsDto.setTjOrgEqsDto(tjOrgEqsDtoList);
return finalTjOrgEqsDto;
}
//查看装备统计详情
@Override
public List<InventorySumDto> TjOrgEqsDetail(TjOrgEqsReq req) {
List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
List<String> sizeNameList = req.getSizeNameList();
List<InventorySumDto> returnList=inventorySummaryMapper.TjOrgEqsDetail(req.getOrgId(),typeIdsList,sizeNameList);
return returnList;
public PageResult<InventorySumDto> TjOrgEqsDetail(TjOrgEqsReq req) {
int size = inventorySummaryMapper.TjOrgEqsDetailSum(req.getOrgId(), req.getTypeIdsList(), req.getSizeNameList());
if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) {
req.setPageNo(1L);
req.setPageSize(10L);
}
Page<InventorySumDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
List<InventorySumDto> returnList=inventorySummaryMapper.TjOrgEqsDetail(req.getOrgId(),req.getTypeIdsList(),req.getSizeNameList(),req.getPageNo(),req.getPageSize());
page.setTotal(size);
page.setRecords(returnList);
return PageResultFactory.createPageResult(page);
}
//财务统计报表
@Override
public FinalTjOrgPriceDto TjOrgPrice(TjOrgPriceReq req) {
//获取所有最下层的typeId
List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
List<String> sizeNameList = req.getSizeNameList();
// List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
// List<String> sizeNameList = req.getSizeNameList();
//根据条件查询财务汇总表
List<TjOrgPriceDto> tjOrgPriceDtoList=priceSumSummaryMapper.TjOrgPrice(req.getOrgId(), req.getYear(), typeIdsList,sizeNameList);
List<TjOrgPriceDto> tjOrgPriceDtoList=priceSumSummaryMapper.TjOrgPrice(req.getOrgId(), req.getYear(), req.getTypeIdsList(),req.getSizeNameList());
//对组织机构进行排序
Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
Collections.sort(tjOrgPriceDtoList, orgComparator);
......@@ -191,9 +225,9 @@ public class TjServiceImpl implements TjService {
//查看财务统计详情
@Override
public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
List<String> sizeNameList = req.getSizeNameList();
List<TjOrgPriceDto> tjOrgPriceDtoList=priceSumSummaryMapper.TjOrgPriceDetail(req.getOrgId(),req.getYear(),typeIdsList,sizeNameList);
// List<String> typeIdsList = equipmentSizeService.selectByTypeIds(req.getTypeIdsList());
// List<String> sizeNameList = req.getSizeNameList();
List<TjOrgPriceDto> tjOrgPriceDtoList=priceSumSummaryMapper.TjOrgPriceDetail(req.getOrgId(),req.getYear(),req.getTypeIdsList(),req.getSizeNameList());
return tjOrgPriceDtoList;
}
......
......@@ -425,6 +425,7 @@
type_name,
size_name,
type_id,
size_id,
(
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) +
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) +
......@@ -454,8 +455,10 @@
GROUP BY
type_id,
type_name,
size_name
size_name,
size_id
ORDER BY type_id
limit #{pageNo},#{pageSize}
</select>
<select id="selectTotalNum" resultType="com.junmp.jyzb.api.bean.dto.InventorySumDto">
......@@ -467,5 +470,44 @@
WHERE org_id_int = #{orgId} and (type_id = ${item[0]} AND size_id = '${item[1]}')
</foreach>
</select>
<select id="TjOrgEqsDetailSum" resultType="java.lang.Integer">
select count(*) from (
SELECT
type_name,
size_name,
type_id,
(
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) +
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) +
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`destruction_number` ELSE 0 END )
) AS total_number,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 0 ) THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) AS `ck_stock_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 0 ) THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) AS `ck_outbound_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 0 ) THEN `base_inventory_summary`.`destruction_number` ELSE 0 END ) AS `destruction_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 1 ) THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) AS `djg_stock_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 1 ) THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) AS `djg_outbound_number`
FROM
base_inventory_summary
WHERE
org_id_int = #{orgId}
<if test="typeIdsList!=null and !typeIdsList.size() > 0">
AND type_id IN
<foreach collection="typeIdsList " item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="sizeNameList!=null and !sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY
type_id,
type_name,
size_name
ORDER BY type_id
) as t
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论