收发货统计表问题修改
This commit is contained in:
parent
f5015283f2
commit
649854a9dc
|
|
@ -63,6 +63,7 @@ public class RecordsExcel {
|
|||
@ApiParam(required = false, value = "业务员名称") @RequestParam(required = false) String staffName,
|
||||
@ApiParam(required = false, value = "营销区域id(逗号分隔)") @RequestParam(required = false) String areaIds,
|
||||
@ApiParam(required = false, value = "业务员id(逗号分隔)") @RequestParam(required = false) String staffIds,
|
||||
@ApiParam(required = false, value = "商品編碼") @RequestParam(required = false) String goodsNo,
|
||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
||||
@ApiParam(required = false, value = "结束时间") @RequestParam(required = false) String endTime,
|
||||
HttpServletResponse response) throws Exception {
|
||||
|
|
@ -80,6 +81,7 @@ public class RecordsExcel {
|
|||
params.put("staffName", staffName);
|
||||
params.put("startTime", startTime);
|
||||
params.put("endTime", endTime);
|
||||
params.put("goodsNo", goodsNo);
|
||||
if (StringUtil.isNotEmpty(areaIds)) {
|
||||
params.put("areaIds", areaIds.split(",", -1));
|
||||
}
|
||||
|
|
@ -98,6 +100,12 @@ public class RecordsExcel {
|
|||
receiptRecordsBo.setClientId(String.valueOf(objectMap.get("clientId")));
|
||||
// 客户U8编码
|
||||
receiptRecordsBo.setUecode(String.valueOf(objectMap.get("uecode")));
|
||||
// 商品编码
|
||||
receiptRecordsBo.setGoodsNo(String.valueOf(objectMap.get("goodsNo")));
|
||||
// 商品名称
|
||||
receiptRecordsBo.setGoodsName(String.valueOf(objectMap.get("goodsName")));
|
||||
// 规格
|
||||
receiptRecordsBo.setSpecification(String.valueOf(objectMap.get("specification")));
|
||||
// 营销区域ID
|
||||
receiptRecordsBo.setAreaId(String.valueOf(objectMap.get("areaId")));
|
||||
// 营销区域名称
|
||||
|
|
@ -113,6 +121,7 @@ public class RecordsExcel {
|
|||
map.put("endCode", endCode);
|
||||
map.put("startTime", startTime);
|
||||
map.put("endTime", endTime);
|
||||
map.put("goodsNo", goodsNo);
|
||||
List list2 = receiptRecordsService.findGoods(map, ".getMajorNum");
|
||||
Map map1 = (Map) list2.get(0);
|
||||
if (map1 != null) {
|
||||
|
|
@ -129,7 +138,9 @@ public class RecordsExcel {
|
|||
map.put("endCode", endCode);
|
||||
map.put("invoiceStartTime", startTime);
|
||||
map.put("invoiceEndTime", endTime);
|
||||
map.put("goodsNo", goodsNo);
|
||||
Integer invoiceNum = receiptRecordsService.countAll(map, ".countRecordsByCondition");
|
||||
invoiceNum = StringUtil.isNullOrEmpty(invoiceNum)? 0:invoiceNum;
|
||||
receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||
// 入库数量 经销商扫码入库数量汇总
|
||||
map.clear();
|
||||
|
|
@ -138,8 +149,10 @@ public class RecordsExcel {
|
|||
map.put("endCode", endCode);
|
||||
map.put("receiveStartTime", startTime);
|
||||
map.put("receiveEndTime", endTime);
|
||||
map.put("goodsNo", goodsNo);
|
||||
map.put("timeFlag", "1");
|
||||
Integer receiveNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||
receiveNum = StringUtil.isNullOrEmpty(receiveNum)? 0:receiveNum;
|
||||
receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||
// 出库数量 经销商扫码出库数量汇总
|
||||
map.clear();
|
||||
|
|
@ -148,8 +161,10 @@ public class RecordsExcel {
|
|||
map.put("endCode", endCode);
|
||||
map.put("deliveryStartTime", startTime);
|
||||
map.put("deliveryEndTime", endTime);
|
||||
map.put("goodsNo", goodsNo);
|
||||
map.put("timeFlag", "2");
|
||||
Integer deliveryNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||
deliveryNum = StringUtil.isNullOrEmpty(deliveryNum)? 0:deliveryNum;
|
||||
receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
||||
// 如果数量都是0,跳出循环
|
||||
if ("0.00".equals(receiptRecordsBo.getMajorNum()) && (invoiceNum == 0) && (receiveNum == 0) && (deliveryNum == 0)) {
|
||||
|
|
@ -212,6 +227,7 @@ public class RecordsExcel {
|
|||
map.put("invoiceStartTime", startTime);
|
||||
map.put("invoiceEndTime", endTime);
|
||||
Integer invoiceNum = receiptRecordsService.countAll(map, ".countRecordsByCondition");
|
||||
invoiceNum = StringUtil.isNullOrEmpty(invoiceNum)? 0:invoiceNum;
|
||||
receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||
|
||||
// 入库数量 经销商扫码入库数量汇总
|
||||
|
|
@ -221,6 +237,7 @@ public class RecordsExcel {
|
|||
map.put("receiveEndTime", endTime);
|
||||
map.put("timeFlag", "1");
|
||||
Integer receiveNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||
receiveNum = StringUtil.isNullOrEmpty(receiveNum)? 0:receiveNum;
|
||||
receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||
|
||||
// 出库数量 经销商扫码出库数量汇总
|
||||
|
|
@ -230,6 +247,7 @@ public class RecordsExcel {
|
|||
map.put("deliveryEndTime", endTime);
|
||||
map.put("timeFlag", "2");
|
||||
Integer deliveryNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||
deliveryNum = StringUtil.isNullOrEmpty(deliveryNum)? 0:deliveryNum;
|
||||
receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
||||
|
||||
// 如果实发数量没有值或者等于0,出库率和入库率等于0.00
|
||||
|
|
|
|||
|
|
@ -567,6 +567,7 @@ public class ReceiptRecordsApi extends BaseController {
|
|||
@ApiParam(required = false, value = "营销区域id") @RequestParam(required = false) String areaId,
|
||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
||||
@ApiParam(required = false, value = "结束时间") @RequestParam(required = false) String endTime,
|
||||
@ApiParam(required = false, value = "商品編碼") @RequestParam(required = false) String goodsNo,
|
||||
@ApiParam(required = false, value = "页码", defaultValue = "1") @RequestParam(required = false, value = "page") Integer page,
|
||||
@ApiParam(required = false, value = "每页条数", defaultValue = "10") @RequestParam(required = false, value = "pageSize") Integer pageSize,
|
||||
HttpServletRequest request) {
|
||||
|
|
@ -589,6 +590,7 @@ public class ReceiptRecordsApi extends BaseController {
|
|||
params.put("areaId", areaId);
|
||||
params.put("page", page);
|
||||
params.put("pageSize", pageSize);
|
||||
params.put("goodsNo",goodsNo);
|
||||
// 分页查询在发货单或者收发货记录中有记录的经销商
|
||||
PageInfo pageInfo = receiptRecordsService.pageList(params, ".customerRecords1");
|
||||
List<Map<String, Object>> list = pageInfo.getList();
|
||||
|
|
|
|||
|
|
@ -162,6 +162,7 @@ public class ReceiptRecordsController extends BaseController {
|
|||
@ApiParam(required = false, value = "业务员id(逗号分隔)") @RequestParam(required = false) String staffIds,
|
||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
||||
@ApiParam(required = false, value = "结束时间") @RequestParam(required = false) String endTime,
|
||||
@ApiParam(required = false, value = "商品編碼") @RequestParam(required = false) String goodsNo,
|
||||
@ApiParam(required = false, value = "页码", defaultValue = "1") @RequestParam(required = false, value = "page") Integer page,
|
||||
@ApiParam(required = false, value = "每页条数", defaultValue = "10") @RequestParam(required = false, value = "pageSize") Integer pageSize,
|
||||
HttpServletRequest request) {
|
||||
|
|
@ -182,6 +183,7 @@ public class ReceiptRecordsController extends BaseController {
|
|||
params.put("staffName", staffName);
|
||||
params.put("startTime", startTime);
|
||||
params.put("endTime", endTime);
|
||||
params.put("goodsNo",goodsNo);
|
||||
if (StringUtil.isNotEmpty(areaIds)) {
|
||||
params.put("areaIds", areaIds.split(",", -1));
|
||||
}
|
||||
|
|
@ -225,6 +227,7 @@ public class ReceiptRecordsController extends BaseController {
|
|||
@ApiParam(required = false, value = "业务员id(逗号分隔)") @RequestParam(required = false) String staffIds,
|
||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
||||
@ApiParam(required = false, value = "结束时间") @RequestParam(required = false) String endTime,
|
||||
@ApiParam(required = false, value = "商品編碼") @RequestParam(required = false) String goodsNo,
|
||||
HttpServletRequest request) {
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
Map<String, Object> params = new HashMap<String, Object>();
|
||||
|
|
@ -243,6 +246,7 @@ public class ReceiptRecordsController extends BaseController {
|
|||
map.put("endCode", endCode);
|
||||
map.put("clientId", clientId);
|
||||
map.put("clientName", clientName);
|
||||
map.put("goodsNo", goodsNo);
|
||||
if (StringUtil.isNotEmpty(areaIds)) {
|
||||
map.put("areaIds", areaIds.split(",", -1));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,6 +261,12 @@
|
|||
<where>
|
||||
AND (a.invoice_time is not null)
|
||||
AND (a.invoice_client_id is not null)
|
||||
<if test="goodsNo != null and goodsNo != ''">
|
||||
AND a.GOODS_NO = #{goodsNo}
|
||||
</if>
|
||||
<if test="goodsNo == null or goodsNo == ''">
|
||||
AND (a.GOODS_NO is null or a.GOODS_NO = '')
|
||||
</if>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND a.company_id = #{companyId}
|
||||
</if>
|
||||
|
|
@ -388,16 +394,23 @@
|
|||
</if>
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY a.create_time DESC
|
||||
group by GOODS_NO
|
||||
-- ORDER BY a.create_time DESC
|
||||
</select>
|
||||
|
||||
<!-- 入库/出库 -->
|
||||
<select id="statisticsRecords" resultType="Integer" parameterType="map">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
count(1) receiveNum
|
||||
FROM crm_receipt_records a
|
||||
LEFT JOIN crm_distributor_user_info b on a.client_id = b.id
|
||||
<where>
|
||||
<if test="goodsNo != null and goodsNo != ''">
|
||||
AND a.GOODS_NO = #{goodsNo}
|
||||
</if>
|
||||
<if test="goodsNo == null or goodsNo == ''">
|
||||
AND (a.GOODS_NO is null or a.GOODS_NO = '')
|
||||
</if>
|
||||
<if test="companyId != null and companyId != ''">
|
||||
AND a.company_id = #{companyId}
|
||||
</if>
|
||||
|
|
@ -540,6 +553,7 @@
|
|||
</if>
|
||||
</if>
|
||||
</where>
|
||||
group by GOODS_NO
|
||||
</select>
|
||||
|
||||
<select id="oneById" resultMap="recordsMap" parameterType="map">
|
||||
|
|
@ -958,7 +972,7 @@
|
|||
</select>
|
||||
|
||||
<select id="customerRecords1" resultType="map" parameterType="map">
|
||||
SELECT
|
||||
select a.*,b.GOODS_NO "goodsNo",b.GOODS_NAME "goodsName",b.SPECIFICATION "specification" from (SELECT
|
||||
a.CLIENT_ID "clientId",
|
||||
MAX( b.distributor_name ) "clientName",
|
||||
MAX( b.marketing_area_id ) "areaId",
|
||||
|
|
@ -1095,6 +1109,12 @@
|
|||
</if>
|
||||
</if>
|
||||
GROUP BY a.CLIENT_ID
|
||||
) a cross join crm_invoice_goods b
|
||||
<where>
|
||||
<if test="goodsNo != null and goodsNo != ''">
|
||||
b.GOODS_NO = #{goodsNo}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="addCustomerCom" parameterType="map">
|
||||
|
|
|
|||
|
|
@ -31,6 +31,24 @@ public class ReceiptRecordsBo implements java.io.Serializable {
|
|||
@Excel(name = "U8编码", width = 15, orderNum = "2")
|
||||
private String uecode;
|
||||
|
||||
/**
|
||||
* 商品编码
|
||||
*/
|
||||
@Excel(name = "商品编码", width = 15, orderNum = "2")
|
||||
private String goodsNo;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@Excel(name = "商品名称", width = 15, orderNum = "2")
|
||||
private String goodsName;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@Excel(name = "规格", width = 15, orderNum = "2")
|
||||
private String specification;
|
||||
|
||||
/**
|
||||
* 营销区域id
|
||||
*/
|
||||
|
|
@ -107,6 +125,30 @@ public class ReceiptRecordsBo implements java.io.Serializable {
|
|||
@Excel(name = "出库数量", width = 15, orderNum = "7")
|
||||
private String deliveryNum;
|
||||
|
||||
public String getGoodsNo() {
|
||||
return goodsNo;
|
||||
}
|
||||
|
||||
public void setGoodsNo(String goodsNo) {
|
||||
this.goodsNo = goodsNo;
|
||||
}
|
||||
|
||||
public String getGoodsName() {
|
||||
return goodsName;
|
||||
}
|
||||
|
||||
public void setGoodsName(String goodsName) {
|
||||
this.goodsName = goodsName;
|
||||
}
|
||||
|
||||
public String getSpecification() {
|
||||
return specification;
|
||||
}
|
||||
|
||||
public void setSpecification(String specification) {
|
||||
this.specification = specification;
|
||||
}
|
||||
|
||||
/**
|
||||
* 入库率 入库数量/实发数量*100
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Propagation;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -99,10 +100,11 @@ public class ReceiptRecordsService {
|
|||
|
||||
/**
|
||||
* @description: 统计每个客户的数据
|
||||
* @author: mzr
|
||||
* @date: 2022/05/04
|
||||
* @author: lj
|
||||
* @date: 2024/04/09
|
||||
**/
|
||||
public void getCountNums(String startCode, String endCode, String startTime, String endTime, List<Map<String, Object>> list) {
|
||||
public List<Map<String, Object>> getCountNums2(String startCode, String endCode, String startTime, String endTime, String goodsNo, List<Map<String, Object>> list) {
|
||||
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||
for (Map<String, Object> objectMap : list) {
|
||||
String clientId1 = objectMap.get("clientId") + "";
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
|
@ -128,9 +130,49 @@ public class ReceiptRecordsService {
|
|||
map.put("endCode", endCode);
|
||||
map.put("invoiceStartTime", startTime);
|
||||
map.put("invoiceEndTime", endTime);
|
||||
Integer invoiceNum = this.countAll(map, ".countRecordsByCondition");
|
||||
map.put("goodsNo", goodsNo);
|
||||
List<ReceiptRecordsInfo> sfMapList = dao.list(ReceiptRecordsInfo.class.getName() + ".countRecordsByCondition", map);
|
||||
|
||||
if(sfMapList.size() == 0){
|
||||
Map itemMap = new HashMap();
|
||||
itemMap.put("clientId",objectMap.get("clientId"));
|
||||
itemMap.put("clientName",objectMap.get("clientName"));
|
||||
itemMap.put("areaId",objectMap.get("areaId"));
|
||||
itemMap.put("uecode",objectMap.get("uecode"));
|
||||
itemMap.put("staffName",objectMap.get("staffName"));
|
||||
itemMap.put("areaName",objectMap.get("areaName"));
|
||||
itemMap.put("majorNum",objectMap.get("majorNum"));
|
||||
itemMap.put("goodsNo","");
|
||||
itemMap.put("goodsName","");
|
||||
itemMap.put("specifications","");
|
||||
itemMap.put("invoiceNum","0");
|
||||
itemMap.put("receiveNum","0");
|
||||
itemMap.put("receiveRate","0.00");
|
||||
itemMap.put("deliveryNum","0");
|
||||
itemMap.put("deliveryRate","0.00");
|
||||
resultList.add(itemMap);
|
||||
continue;
|
||||
}else{
|
||||
//合并实发数量
|
||||
for(int i = 0; i < sfMapList.size(); i++){
|
||||
Map itemMap = new HashMap();
|
||||
itemMap.put("clientId",objectMap.get("clientId"));
|
||||
itemMap.put("clientName",objectMap.get("clientName"));
|
||||
itemMap.put("areaId",objectMap.get("areaId"));
|
||||
itemMap.put("uecode",objectMap.get("uecode"));
|
||||
itemMap.put("staffName",objectMap.get("staffName"));
|
||||
itemMap.put("areaName",objectMap.get("areaName"));
|
||||
itemMap.put("majorNum",objectMap.get("majorNum"));
|
||||
itemMap.put("goodsNo",sfMapList.get(i).getGoodsNo());
|
||||
itemMap.put("goodsName",sfMapList.get(i).getGoodsName());
|
||||
itemMap.put("specifications",sfMapList.get(i).getSpecifications());
|
||||
itemMap.put("invoiceNum",StringUtil.isNullOrEmpty(sfMapList.get(i).getInvoiceNum())?"0":sfMapList.get(i).getInvoiceNum());
|
||||
resultList.add(itemMap);
|
||||
}
|
||||
}
|
||||
// Integer invoiceNum = this.countAll(map, ".countRecordsByCondition");
|
||||
// receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||
objectMap.put("invoiceNum", invoiceNum.toString());
|
||||
// objectMap.put("invoiceNum", invoiceNum.toString());
|
||||
// 入库数量 经销商扫码入库数量汇总
|
||||
map.clear();
|
||||
map.put("clientId", clientId1);
|
||||
|
|
@ -139,9 +181,32 @@ public class ReceiptRecordsService {
|
|||
map.put("receiveStartTime", startTime);
|
||||
map.put("receiveEndTime", endTime);
|
||||
map.put("timeFlag", "1");
|
||||
Integer receiveNum = this.countAll(map, ".statisticsRecords");
|
||||
List<ReceiptRecordsInfo> rkMapList = dao.list(ReceiptRecordsInfo.class.getName() + ".statisticsRecords", map);
|
||||
//合并入库数量
|
||||
for(int i = 0; i < rkMapList.size();i++){
|
||||
ReceiptRecordsInfo rkRinfo = rkMapList.get(i);
|
||||
// resultList.stream().filter(x-> x.get("clientId").equals(item.getClientId()) && x.get("goodsNo").equals(item.getGoodsNo()));
|
||||
resultList.forEach(resultMap->{
|
||||
boolean rkgoodsNoFlag = StringUtil.isNullOrEmpty(rkRinfo.getGoodsNo());
|
||||
boolean rsgoodsNoFlag = StringUtil.isNullOrEmpty(resultMap.get("goodsNo"));
|
||||
//clientid 和 goodsNo匹配 或者 goodsNo都为空时
|
||||
if((rkRinfo.getClientId().equals(resultMap.get("clientId")))
|
||||
&& ((rkgoodsNoFlag && rsgoodsNoFlag) || ((!rkgoodsNoFlag && !rsgoodsNoFlag && rkRinfo.getGoodsNo().equals(resultMap.get("goodsNo"))))) ){
|
||||
resultMap.put("receiveNum",StringUtil.isNullOrEmpty(rkRinfo.getReceiveNum())?"0":rkRinfo.getReceiveNum());
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
Integer invoiceNum = Integer.valueOf(resultMap.get("invoiceNum").toString());
|
||||
Integer receiveNum = Integer.valueOf(resultMap.get("receiveNum").toString());
|
||||
// 入库率 入库数量/实发数量*100
|
||||
resultMap.put("receiveRate", df.format((float) receiveNum / invoiceNum * 100));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Integer receiveNum = this.countAll(map, ".statisticsRecords");
|
||||
// receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||
objectMap.put("receiveNum", receiveNum.toString());
|
||||
// objectMap.put("receiveNum", receiveNum.toString());
|
||||
// 出库数量 经销商扫码出库数量汇总
|
||||
map.clear();
|
||||
map.put("clientId", clientId1);
|
||||
|
|
@ -150,9 +215,98 @@ public class ReceiptRecordsService {
|
|||
map.put("deliveryStartTime", startTime);
|
||||
map.put("deliveryEndTime", endTime);
|
||||
map.put("timeFlag", "2");
|
||||
Integer deliveryNum = this.countAll(map, ".statisticsRecords");
|
||||
List<ReceiptRecordsInfo> ckMapList = dao.list(ReceiptRecordsInfo.class.getName() + ".statisticsRecords", map);
|
||||
// Integer deliveryNum = this.countAll(map, ".statisticsRecords");
|
||||
// receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
||||
objectMap.put("deliveryNum", deliveryNum.toString());
|
||||
// objectMap.put("deliveryNum", deliveryNum.toString());
|
||||
|
||||
//合并出库数量
|
||||
for(int i = 0; i < ckMapList.size();i++){
|
||||
ReceiptRecordsInfo ckRinfo = ckMapList.get(i);
|
||||
// ckMapList.forEach(item-> {
|
||||
// resultList.stream().filter(x-> x.get("clientId").equals(item.getClientId()) && x.get("goodsNo").equals(item.getGoodsNo()));
|
||||
resultList.forEach(resultMap->{
|
||||
boolean ckgoodsNoFlag = StringUtil.isNullOrEmpty(ckRinfo.getGoodsNo());
|
||||
boolean rsgoodsNoFlag = StringUtil.isNullOrEmpty(resultMap.get("goodsNo"));
|
||||
//clientid 和 goodsNo匹配 或者 goodsNo都为空时
|
||||
if((ckRinfo.getClientId().equals(resultMap.get("clientId")))
|
||||
&& ((ckgoodsNoFlag && rsgoodsNoFlag) || ((!ckgoodsNoFlag && !rsgoodsNoFlag && ckRinfo.getGoodsNo().equals(resultMap.get("goodsNo"))))) ){
|
||||
resultMap.put("deliveryNum",StringUtil.isNullOrEmpty(ckRinfo.getReceiveNum())?"0":ckRinfo.getReceiveNum());
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
Integer invoiceNum = Integer.valueOf(resultMap.get("invoiceNum").toString());
|
||||
Integer deliveryNum = Integer.valueOf(resultMap.get("deliveryNum").toString());
|
||||
// 出库率 出库数量/实发数量*100
|
||||
resultMap.put("deliveryRate", df.format((float) deliveryNum / invoiceNum * 100));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 统计每个客户的数据
|
||||
* @author: mzr
|
||||
* @date: 2022/05/04
|
||||
**/
|
||||
public void getCountNums(String startCode, String endCode, String startTime, String endTime, List<Map<String, Object>> list) {
|
||||
for (Map<String, Object> objectMap : list) {
|
||||
String clientId1 = objectMap.get("clientId") + "";
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
// 应发数量 该经销商发货单的商品的实发数量汇总
|
||||
map.put("clientId", clientId1);
|
||||
map.put("startCode", startCode);
|
||||
map.put("endCode", endCode);
|
||||
map.put("startTime", startTime);
|
||||
map.put("endTime", endTime);
|
||||
map.put("goodsNo", objectMap.get("goodsNo"));
|
||||
List list2 = this.findGoods(map, ".getMajorNum");
|
||||
Map map1 = (Map) list2.get(0);
|
||||
if (map1 != null) {
|
||||
String majorNum = StringUtil.isEmpty(map1.get("majorNum")) ? "0.00" : String.format("%.2f", Double.parseDouble(map1.get("majorNum") + ""));
|
||||
objectMap.put("majorNum", majorNum);
|
||||
} else {
|
||||
objectMap.put("majorNum", "0.00");
|
||||
}
|
||||
|
||||
// 实发数量 仓库扫码条数
|
||||
map.clear();
|
||||
map.put("clientId", clientId1);
|
||||
map.put("startCode", startCode);
|
||||
map.put("endCode", endCode);
|
||||
map.put("invoiceStartTime", startTime);
|
||||
map.put("invoiceEndTime", endTime);
|
||||
map.put("goodsNo", objectMap.get("goodsNo"));
|
||||
Integer invoiceNum = this.countAll(map, ".countRecordsByCondition");
|
||||
invoiceNum = StringUtil.isNullOrEmpty(invoiceNum)? 0:invoiceNum;
|
||||
// receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||
objectMap.put("invoiceNum", StringUtil.isNullOrEmpty(invoiceNum)?"0":invoiceNum.toString());
|
||||
// 入库数量 经销商扫码入库数量汇总
|
||||
map.clear();
|
||||
map.put("clientId", clientId1);
|
||||
map.put("startCode", startCode);
|
||||
map.put("endCode", endCode);
|
||||
map.put("receiveStartTime", startTime);
|
||||
map.put("receiveEndTime", endTime);
|
||||
map.put("timeFlag", "1");
|
||||
map.put("goodsNo", objectMap.get("goodsNo"));
|
||||
Integer receiveNum = this.countAll(map, ".statisticsRecords");
|
||||
receiveNum = StringUtil.isNullOrEmpty(receiveNum)? 0:receiveNum;
|
||||
// receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||
objectMap.put("receiveNum", StringUtil.isNullOrEmpty(receiveNum)?"0":receiveNum.toString());
|
||||
// 出库数量 经销商扫码出库数量汇总
|
||||
map.clear();
|
||||
map.put("clientId", clientId1);
|
||||
map.put("startCode", startCode);
|
||||
map.put("endCode", endCode);
|
||||
map.put("deliveryStartTime", startTime);
|
||||
map.put("deliveryEndTime", endTime);
|
||||
map.put("timeFlag", "2");
|
||||
map.put("goodsNo", objectMap.get("goodsNo"));
|
||||
Integer deliveryNum = this.countAll(map, ".statisticsRecords");
|
||||
deliveryNum = StringUtil.isNullOrEmpty(deliveryNum)? 0:deliveryNum;
|
||||
// receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
||||
objectMap.put("deliveryNum", StringUtil.isNullOrEmpty(deliveryNum)? "0":deliveryNum.toString());
|
||||
|
||||
if (StringUtil.isNotEmpty(invoiceNum) && (0 != invoiceNum)) {
|
||||
DecimalFormat df = new DecimalFormat("0.00");
|
||||
|
|
|
|||
Loading…
Reference in New Issue