package com.fzzy.igds;
|
|
import com.bstek.dorado.annotation.DataProvider;
|
import com.fzzy.igds.constant.Constant;
|
import com.fzzy.igds.data.InoutParam;
|
import com.fzzy.igds.domain.InoutRecord;
|
import com.fzzy.igds.service.InoutRecordService;
|
import com.fzzy.igds.service.SysDeptService;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.fzzy.igds.utils.DateUtil;
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
import com.ruoyi.common.utils.StringUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
@Component
|
public class ReportInDetailPR {
|
|
@Resource
|
private InoutRecordService inoutReportService;
|
@Resource
|
private SysDeptService sysDeptService;
|
|
/**
|
* reportInDetailPR#getQuery 根据报表类型,获取默认查询信息,比如表头信息等
|
*
|
* @param
|
* @return
|
*/
|
@DataProvider
|
public InoutParam getQuery(InoutParam param) {
|
InoutParam result = new InoutParam();
|
//获取参数中分库编码
|
String deptId = param.getDeptId();
|
//获取分库编码对应的分库名称
|
String deptName = "";
|
SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null));
|
if (null != subDept) {
|
deptName = subDept.getDeptName();
|
}
|
result.setTitle("入库明细汇总");
|
if (StringUtils.isNotEmpty(deptName)) {
|
result.setTitle(deptName + "入库明细汇总");
|
result.setDeptId(deptId);
|
}
|
result.setUnit("千克(KG)");
|
result.setEnd(new Date());
|
Date start = DateUtil.getNewByDay(new Date(), -30);
|
result.setStart(start);
|
|
result.setTimeDesc(
|
DateFormatUtils.format(start, "yyyy-MM-dd") + " 截至:"
|
+ DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
|
return result;
|
}
|
|
/**
|
* 出入库汇总表
|
* reportInDetailPR#listRecord 报表数据,只获取已经完成的,并且非异常数据和删除数据
|
*
|
* @param param
|
* @return
|
*/
|
@DataProvider
|
public List<InoutRecord> listRecord(InoutParam param) {
|
|
if (null == param) {
|
param = new InoutParam();
|
}
|
//查询入库数据
|
param.setType(Constant.TYPE_IN);
|
//多参数分页查询
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(0, 10000);
|
inoutReportService.listPageInout(corePage, param);
|
//获取查询到得list数据
|
List<InoutRecord> result = corePage.getRecords();
|
if (null == result || result.isEmpty()) {
|
return result;
|
}
|
|
// 添加统计信息
|
double emptyWeightSum = 0.0, fullWeightSum = 0.0, deCheck = 0.0, addCheck = 0.0, deWetSum = 0.0, deImpuritySum = 0.0, deHandleSum = 0.0, deOtherSum = 0.0, deSumSum = 0.0, netWeightSum = 0.0, settleWeightSum = 0.0;
|
int index = 1;
|
List<InoutRecord> list = new ArrayList<>();
|
for (InoutRecord record : result) {
|
list.add(record);
|
record.setRemarks(String.valueOf(index));
|
emptyWeightSum += record.getEmptyWeight();
|
fullWeightSum += record.getFullWeight();
|
deOtherSum += record.getDeOther();
|
netWeightSum += record.getNetWeight();
|
settleWeightSum += record.getSettleWeight();
|
index++;
|
}
|
InoutRecord sum = new InoutRecord();
|
sum.setId("合计");
|
sum.setEmptyWeight(emptyWeightSum);
|
sum.setFullWeight(fullWeightSum);
|
sum.setDeOther(deOtherSum);
|
sum.setNetWeight(netWeightSum);
|
sum.setSettleWeight(settleWeightSum);
|
|
if (sum.getNoticeId() == null) sum.setNoticeId("");
|
if (sum.getDepotId() == null) sum.setDepotId("");
|
if (sum.getProgress() == null) sum.setProgress("");
|
if (sum.getUserName() == null) sum.setUserName("");
|
if (sum.getPlateNum() == null) sum.setPlateNum("");
|
if (sum.getFoodVariety() == null) sum.setFoodVariety("");
|
|
list.add(sum);
|
|
return list;
|
}
|
|
}
|