收发货统计表问题修改
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 = "业务员名称") @RequestParam(required = false) String staffName,
|
||||||
@ApiParam(required = false, value = "营销区域id(逗号分隔)") @RequestParam(required = false) String areaIds,
|
@ApiParam(required = false, value = "营销区域id(逗号分隔)") @RequestParam(required = false) String areaIds,
|
||||||
@ApiParam(required = false, value = "业务员id(逗号分隔)") @RequestParam(required = false) String staffIds,
|
@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 startTime,
|
||||||
@ApiParam(required = false, value = "结束时间") @RequestParam(required = false) String endTime,
|
@ApiParam(required = false, value = "结束时间") @RequestParam(required = false) String endTime,
|
||||||
HttpServletResponse response) throws Exception {
|
HttpServletResponse response) throws Exception {
|
||||||
|
|
@ -80,6 +81,7 @@ public class RecordsExcel {
|
||||||
params.put("staffName", staffName);
|
params.put("staffName", staffName);
|
||||||
params.put("startTime", startTime);
|
params.put("startTime", startTime);
|
||||||
params.put("endTime", endTime);
|
params.put("endTime", endTime);
|
||||||
|
params.put("goodsNo", goodsNo);
|
||||||
if (StringUtil.isNotEmpty(areaIds)) {
|
if (StringUtil.isNotEmpty(areaIds)) {
|
||||||
params.put("areaIds", areaIds.split(",", -1));
|
params.put("areaIds", areaIds.split(",", -1));
|
||||||
}
|
}
|
||||||
|
|
@ -98,6 +100,12 @@ public class RecordsExcel {
|
||||||
receiptRecordsBo.setClientId(String.valueOf(objectMap.get("clientId")));
|
receiptRecordsBo.setClientId(String.valueOf(objectMap.get("clientId")));
|
||||||
// 客户U8编码
|
// 客户U8编码
|
||||||
receiptRecordsBo.setUecode(String.valueOf(objectMap.get("uecode")));
|
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
|
// 营销区域ID
|
||||||
receiptRecordsBo.setAreaId(String.valueOf(objectMap.get("areaId")));
|
receiptRecordsBo.setAreaId(String.valueOf(objectMap.get("areaId")));
|
||||||
// 营销区域名称
|
// 营销区域名称
|
||||||
|
|
@ -113,6 +121,7 @@ public class RecordsExcel {
|
||||||
map.put("endCode", endCode);
|
map.put("endCode", endCode);
|
||||||
map.put("startTime", startTime);
|
map.put("startTime", startTime);
|
||||||
map.put("endTime", endTime);
|
map.put("endTime", endTime);
|
||||||
|
map.put("goodsNo", goodsNo);
|
||||||
List list2 = receiptRecordsService.findGoods(map, ".getMajorNum");
|
List list2 = receiptRecordsService.findGoods(map, ".getMajorNum");
|
||||||
Map map1 = (Map) list2.get(0);
|
Map map1 = (Map) list2.get(0);
|
||||||
if (map1 != null) {
|
if (map1 != null) {
|
||||||
|
|
@ -129,7 +138,9 @@ public class RecordsExcel {
|
||||||
map.put("endCode", endCode);
|
map.put("endCode", endCode);
|
||||||
map.put("invoiceStartTime", startTime);
|
map.put("invoiceStartTime", startTime);
|
||||||
map.put("invoiceEndTime", endTime);
|
map.put("invoiceEndTime", endTime);
|
||||||
|
map.put("goodsNo", goodsNo);
|
||||||
Integer invoiceNum = receiptRecordsService.countAll(map, ".countRecordsByCondition");
|
Integer invoiceNum = receiptRecordsService.countAll(map, ".countRecordsByCondition");
|
||||||
|
invoiceNum = StringUtil.isNullOrEmpty(invoiceNum)? 0:invoiceNum;
|
||||||
receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||||
// 入库数量 经销商扫码入库数量汇总
|
// 入库数量 经销商扫码入库数量汇总
|
||||||
map.clear();
|
map.clear();
|
||||||
|
|
@ -138,8 +149,10 @@ public class RecordsExcel {
|
||||||
map.put("endCode", endCode);
|
map.put("endCode", endCode);
|
||||||
map.put("receiveStartTime", startTime);
|
map.put("receiveStartTime", startTime);
|
||||||
map.put("receiveEndTime", endTime);
|
map.put("receiveEndTime", endTime);
|
||||||
|
map.put("goodsNo", goodsNo);
|
||||||
map.put("timeFlag", "1");
|
map.put("timeFlag", "1");
|
||||||
Integer receiveNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
Integer receiveNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||||
|
receiveNum = StringUtil.isNullOrEmpty(receiveNum)? 0:receiveNum;
|
||||||
receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||||
// 出库数量 经销商扫码出库数量汇总
|
// 出库数量 经销商扫码出库数量汇总
|
||||||
map.clear();
|
map.clear();
|
||||||
|
|
@ -148,8 +161,10 @@ public class RecordsExcel {
|
||||||
map.put("endCode", endCode);
|
map.put("endCode", endCode);
|
||||||
map.put("deliveryStartTime", startTime);
|
map.put("deliveryStartTime", startTime);
|
||||||
map.put("deliveryEndTime", endTime);
|
map.put("deliveryEndTime", endTime);
|
||||||
|
map.put("goodsNo", goodsNo);
|
||||||
map.put("timeFlag", "2");
|
map.put("timeFlag", "2");
|
||||||
Integer deliveryNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
Integer deliveryNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||||
|
deliveryNum = StringUtil.isNullOrEmpty(deliveryNum)? 0:deliveryNum;
|
||||||
receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
||||||
// 如果数量都是0,跳出循环
|
// 如果数量都是0,跳出循环
|
||||||
if ("0.00".equals(receiptRecordsBo.getMajorNum()) && (invoiceNum == 0) && (receiveNum == 0) && (deliveryNum == 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("invoiceStartTime", startTime);
|
||||||
map.put("invoiceEndTime", endTime);
|
map.put("invoiceEndTime", endTime);
|
||||||
Integer invoiceNum = receiptRecordsService.countAll(map, ".countRecordsByCondition");
|
Integer invoiceNum = receiptRecordsService.countAll(map, ".countRecordsByCondition");
|
||||||
|
invoiceNum = StringUtil.isNullOrEmpty(invoiceNum)? 0:invoiceNum;
|
||||||
receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||||
|
|
||||||
// 入库数量 经销商扫码入库数量汇总
|
// 入库数量 经销商扫码入库数量汇总
|
||||||
|
|
@ -221,6 +237,7 @@ public class RecordsExcel {
|
||||||
map.put("receiveEndTime", endTime);
|
map.put("receiveEndTime", endTime);
|
||||||
map.put("timeFlag", "1");
|
map.put("timeFlag", "1");
|
||||||
Integer receiveNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
Integer receiveNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||||
|
receiveNum = StringUtil.isNullOrEmpty(receiveNum)? 0:receiveNum;
|
||||||
receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||||
|
|
||||||
// 出库数量 经销商扫码出库数量汇总
|
// 出库数量 经销商扫码出库数量汇总
|
||||||
|
|
@ -230,6 +247,7 @@ public class RecordsExcel {
|
||||||
map.put("deliveryEndTime", endTime);
|
map.put("deliveryEndTime", endTime);
|
||||||
map.put("timeFlag", "2");
|
map.put("timeFlag", "2");
|
||||||
Integer deliveryNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
Integer deliveryNum = receiptRecordsService.countAll(map, ".statisticsRecords");
|
||||||
|
deliveryNum = StringUtil.isNullOrEmpty(deliveryNum)? 0:deliveryNum;
|
||||||
receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
receiptRecordsBo.setDeliveryNum(deliveryNum.toString());
|
||||||
|
|
||||||
// 如果实发数量没有值或者等于0,出库率和入库率等于0.00
|
// 如果实发数量没有值或者等于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 = "营销区域id") @RequestParam(required = false) String areaId,
|
||||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
@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 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 = "1") @RequestParam(required = false, value = "page") Integer page,
|
||||||
@ApiParam(required = false, value = "每页条数", defaultValue = "10") @RequestParam(required = false, value = "pageSize") Integer pageSize,
|
@ApiParam(required = false, value = "每页条数", defaultValue = "10") @RequestParam(required = false, value = "pageSize") Integer pageSize,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
|
|
@ -589,6 +590,7 @@ public class ReceiptRecordsApi extends BaseController {
|
||||||
params.put("areaId", areaId);
|
params.put("areaId", areaId);
|
||||||
params.put("page", page);
|
params.put("page", page);
|
||||||
params.put("pageSize", pageSize);
|
params.put("pageSize", pageSize);
|
||||||
|
params.put("goodsNo",goodsNo);
|
||||||
// 分页查询在发货单或者收发货记录中有记录的经销商
|
// 分页查询在发货单或者收发货记录中有记录的经销商
|
||||||
PageInfo pageInfo = receiptRecordsService.pageList(params, ".customerRecords1");
|
PageInfo pageInfo = receiptRecordsService.pageList(params, ".customerRecords1");
|
||||||
List<Map<String, Object>> list = pageInfo.getList();
|
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 = "业务员id(逗号分隔)") @RequestParam(required = false) String staffIds,
|
||||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
@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 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 = "1") @RequestParam(required = false, value = "page") Integer page,
|
||||||
@ApiParam(required = false, value = "每页条数", defaultValue = "10") @RequestParam(required = false, value = "pageSize") Integer pageSize,
|
@ApiParam(required = false, value = "每页条数", defaultValue = "10") @RequestParam(required = false, value = "pageSize") Integer pageSize,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
|
|
@ -182,6 +183,7 @@ public class ReceiptRecordsController extends BaseController {
|
||||||
params.put("staffName", staffName);
|
params.put("staffName", staffName);
|
||||||
params.put("startTime", startTime);
|
params.put("startTime", startTime);
|
||||||
params.put("endTime", endTime);
|
params.put("endTime", endTime);
|
||||||
|
params.put("goodsNo",goodsNo);
|
||||||
if (StringUtil.isNotEmpty(areaIds)) {
|
if (StringUtil.isNotEmpty(areaIds)) {
|
||||||
params.put("areaIds", areaIds.split(",", -1));
|
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 = "业务员id(逗号分隔)") @RequestParam(required = false) String staffIds,
|
||||||
@ApiParam(required = false, value = "开始时间") @RequestParam(required = false) String startTime,
|
@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 endTime,
|
||||||
|
@ApiParam(required = false, value = "商品編碼") @RequestParam(required = false) String goodsNo,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
Map<String, Object> result = new HashMap<String, Object>();
|
Map<String, Object> result = new HashMap<String, Object>();
|
||||||
Map<String, Object> params = 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("endCode", endCode);
|
||||||
map.put("clientId", clientId);
|
map.put("clientId", clientId);
|
||||||
map.put("clientName", clientName);
|
map.put("clientName", clientName);
|
||||||
|
map.put("goodsNo", goodsNo);
|
||||||
if (StringUtil.isNotEmpty(areaIds)) {
|
if (StringUtil.isNotEmpty(areaIds)) {
|
||||||
map.put("areaIds", areaIds.split(",", -1));
|
map.put("areaIds", areaIds.split(",", -1));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -261,6 +261,12 @@
|
||||||
<where>
|
<where>
|
||||||
AND (a.invoice_time is not null)
|
AND (a.invoice_time is not null)
|
||||||
AND (a.invoice_client_id 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 != ''">
|
<if test="companyId != null and companyId != ''">
|
||||||
AND a.company_id = #{companyId}
|
AND a.company_id = #{companyId}
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -388,16 +394,23 @@
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
ORDER BY a.create_time DESC
|
group by GOODS_NO
|
||||||
|
-- ORDER BY a.create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 入库/出库 -->
|
<!-- 入库/出库 -->
|
||||||
<select id="statisticsRecords" resultType="Integer" parameterType="map">
|
<select id="statisticsRecords" resultType="Integer" parameterType="map">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(1)
|
count(1) receiveNum
|
||||||
FROM crm_receipt_records a
|
FROM crm_receipt_records a
|
||||||
LEFT JOIN crm_distributor_user_info b on a.client_id = b.id
|
LEFT JOIN crm_distributor_user_info b on a.client_id = b.id
|
||||||
<where>
|
<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 != ''">
|
<if test="companyId != null and companyId != ''">
|
||||||
AND a.company_id = #{companyId}
|
AND a.company_id = #{companyId}
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -540,6 +553,7 @@
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
group by GOODS_NO
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="oneById" resultMap="recordsMap" parameterType="map">
|
<select id="oneById" resultMap="recordsMap" parameterType="map">
|
||||||
|
|
@ -958,7 +972,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="customerRecords1" resultType="map" parameterType="map">
|
<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",
|
a.CLIENT_ID "clientId",
|
||||||
MAX( b.distributor_name ) "clientName",
|
MAX( b.distributor_name ) "clientName",
|
||||||
MAX( b.marketing_area_id ) "areaId",
|
MAX( b.marketing_area_id ) "areaId",
|
||||||
|
|
@ -1095,6 +1109,12 @@
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
GROUP BY a.CLIENT_ID
|
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>
|
</select>
|
||||||
|
|
||||||
<insert id="addCustomerCom" parameterType="map">
|
<insert id="addCustomerCom" parameterType="map">
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,24 @@ public class ReceiptRecordsBo implements java.io.Serializable {
|
||||||
@Excel(name = "U8编码", width = 15, orderNum = "2")
|
@Excel(name = "U8编码", width = 15, orderNum = "2")
|
||||||
private String uecode;
|
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
|
* 营销区域id
|
||||||
*/
|
*/
|
||||||
|
|
@ -107,6 +125,30 @@ public class ReceiptRecordsBo implements java.io.Serializable {
|
||||||
@Excel(name = "出库数量", width = 15, orderNum = "7")
|
@Excel(name = "出库数量", width = 15, orderNum = "7")
|
||||||
private String deliveryNum;
|
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
|
* 入库率 入库数量/实发数量*100
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -99,10 +100,11 @@ public class ReceiptRecordsService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: 统计每个客户的数据
|
* @description: 统计每个客户的数据
|
||||||
* @author: mzr
|
* @author: lj
|
||||||
* @date: 2022/05/04
|
* @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) {
|
for (Map<String, Object> objectMap : list) {
|
||||||
String clientId1 = objectMap.get("clientId") + "";
|
String clientId1 = objectMap.get("clientId") + "";
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
|
@ -128,9 +130,49 @@ public class ReceiptRecordsService {
|
||||||
map.put("endCode", endCode);
|
map.put("endCode", endCode);
|
||||||
map.put("invoiceStartTime", startTime);
|
map.put("invoiceStartTime", startTime);
|
||||||
map.put("invoiceEndTime", endTime);
|
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());
|
// receiptRecordsBo.setInvoiceNum(invoiceNum.toString());
|
||||||
objectMap.put("invoiceNum", invoiceNum.toString());
|
// objectMap.put("invoiceNum", invoiceNum.toString());
|
||||||
// 入库数量 经销商扫码入库数量汇总
|
// 入库数量 经销商扫码入库数量汇总
|
||||||
map.clear();
|
map.clear();
|
||||||
map.put("clientId", clientId1);
|
map.put("clientId", clientId1);
|
||||||
|
|
@ -139,9 +181,32 @@ public class ReceiptRecordsService {
|
||||||
map.put("receiveStartTime", startTime);
|
map.put("receiveStartTime", startTime);
|
||||||
map.put("receiveEndTime", endTime);
|
map.put("receiveEndTime", endTime);
|
||||||
map.put("timeFlag", "1");
|
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());
|
// receiptRecordsBo.setReceiveNum(receiveNum.toString());
|
||||||
objectMap.put("receiveNum", receiveNum.toString());
|
// objectMap.put("receiveNum", receiveNum.toString());
|
||||||
// 出库数量 经销商扫码出库数量汇总
|
// 出库数量 经销商扫码出库数量汇总
|
||||||
map.clear();
|
map.clear();
|
||||||
map.put("clientId", clientId1);
|
map.put("clientId", clientId1);
|
||||||
|
|
@ -150,9 +215,98 @@ public class ReceiptRecordsService {
|
||||||
map.put("deliveryStartTime", startTime);
|
map.put("deliveryStartTime", startTime);
|
||||||
map.put("deliveryEndTime", endTime);
|
map.put("deliveryEndTime", endTime);
|
||||||
map.put("timeFlag", "2");
|
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());
|
// 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)) {
|
if (StringUtil.isNotEmpty(invoiceNum) && (0 != invoiceNum)) {
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue