客户库存盘点明细
This commit is contained in:
parent
5f171c3112
commit
fc7e6b2b5e
|
|
@ -90,6 +90,7 @@ public class StockExcel {
|
||||||
@ApiOperation(value = "导出客户库存盘点明细")
|
@ApiOperation(value = "导出客户库存盘点明细")
|
||||||
@GetMapping(value = "/exportClientStockReport")
|
@GetMapping(value = "/exportClientStockReport")
|
||||||
public void exportClientStockReport(
|
public void exportClientStockReport(
|
||||||
|
@ApiParam(required = true, value = "客户是否盘点过 1.是 0.否") @RequestParam(required = true) String existFlag,
|
||||||
@ApiParam(required = true, value = "开始日期") @RequestParam(required = true) String startDate,
|
@ApiParam(required = true, value = "开始日期") @RequestParam(required = true) String startDate,
|
||||||
@ApiParam(required = true, value = "结束日期") @RequestParam(required = true) String endDate,
|
@ApiParam(required = true, value = "结束日期") @RequestParam(required = true) String endDate,
|
||||||
@ApiParam(required = false, value = "客户id") @RequestParam(required = false) String clientId,
|
@ApiParam(required = false, value = "客户id") @RequestParam(required = false) String clientId,
|
||||||
|
|
@ -113,7 +114,11 @@ public class StockExcel {
|
||||||
params.put("uecode", uecode);
|
params.put("uecode", uecode);
|
||||||
params.put("clientName", clientName);
|
params.put("clientName", clientName);
|
||||||
params.put("staffName", staffName);
|
params.put("staffName", staffName);
|
||||||
List list = clientStockReportService.findList(params, ".getClientStockReportSql");
|
String sqlId = ".getClientStockReportSql";
|
||||||
|
if ("0".equals(existFlag)) {
|
||||||
|
sqlId = ".getNoClientStockSql";
|
||||||
|
}
|
||||||
|
List list = clientStockReportService.findList(params, sqlId);
|
||||||
EasyPoiUtils.exportExcel(list, ClientStockReport.class, "客户库存盘点明细导出", response);
|
EasyPoiUtils.exportExcel(list, ClientStockReport.class, "客户库存盘点明细导出", response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,7 @@ public class StockReportController extends BaseController {
|
||||||
@ApiOperation("客户库存盘点明细")
|
@ApiOperation("客户库存盘点明细")
|
||||||
@PostMapping(value = "/getClientStockReport")
|
@PostMapping(value = "/getClientStockReport")
|
||||||
public Map<String, Object> getClientStockReport(
|
public Map<String, Object> getClientStockReport(
|
||||||
|
@ApiParam(required = true, value = "客户是否盘点过 1.是 0.否") @RequestParam(required = true) String existFlag,
|
||||||
@ApiParam(required = true, value = "开始日期") @RequestParam(required = true) String startDate,
|
@ApiParam(required = true, value = "开始日期") @RequestParam(required = true) String startDate,
|
||||||
@ApiParam(required = true, value = "结束日期") @RequestParam(required = true) String endDate,
|
@ApiParam(required = true, value = "结束日期") @RequestParam(required = true) String endDate,
|
||||||
@ApiParam(required = false, value = "客户id") @RequestParam(required = false) String clientId,
|
@ApiParam(required = false, value = "客户id") @RequestParam(required = false) String clientId,
|
||||||
|
|
@ -160,7 +161,11 @@ public class StockReportController extends BaseController {
|
||||||
params.put("staffName", staffName);
|
params.put("staffName", staffName);
|
||||||
params.put("page", pageNum);
|
params.put("page", pageNum);
|
||||||
params.put("pageSize", pageSize);
|
params.put("pageSize", pageSize);
|
||||||
return toPage(clientStockReportService.pageList(params, ".getClientStockReportSql"));
|
String sqlId = ".getClientStockReportSql";
|
||||||
|
if ("0".equals(existFlag)) {
|
||||||
|
sqlId = ".getNoClientStockSql";
|
||||||
|
}
|
||||||
|
return toPage(clientStockReportService.pageList(params, sqlId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -26,82 +26,8 @@
|
||||||
TO_CHAR(TO_DATE(SUBSTR(#{endDate},1,10),'yyyy-MM-dd'),'yyyy-MM-dd')
|
TO_CHAR(TO_DATE(SUBSTR(#{endDate},1,10),'yyyy-MM-dd'),'yyyy-MM-dd')
|
||||||
</if>
|
</if>
|
||||||
</sql>
|
</sql>
|
||||||
|
<!-- 数据权限查询条件 -->
|
||||||
<!-- 客户库存盘点明细 -->
|
<sql id="dataScopeSql">
|
||||||
<select id="getClientStockReportSql" resultType="com.yb.lb.webapp.stock.entity.ClientStockReport" parameterType="map">
|
|
||||||
SELECT
|
|
||||||
t0.id "clientId",
|
|
||||||
t0.uecode "uecode",
|
|
||||||
t0.distributor_name "clientName",
|
|
||||||
csui.name "staffName",
|
|
||||||
cmai.area_name "areaName",
|
|
||||||
NVL(t1.bill_date, '---') "billDate",
|
|
||||||
NVL(t1.count_num, 0) "countNum",
|
|
||||||
NVL(t1.goods_num, 0) "goodsNum",
|
|
||||||
NVL(t2.bill_num, 0) "billNum"
|
|
||||||
FROM ( SELECT
|
|
||||||
cdui.id,
|
|
||||||
cdui.uecode,
|
|
||||||
cdui.distributor_name,
|
|
||||||
cdui.ancestors,
|
|
||||||
cdui.marketing_area_id,
|
|
||||||
cdui.region,
|
|
||||||
cdui.service_id,
|
|
||||||
cdui.company_id
|
|
||||||
FROM (
|
|
||||||
SELECT client_id
|
|
||||||
FROM crm_inventory_info
|
|
||||||
WHERE confirm_status = '1' AND company_id = #{companyId}
|
|
||||||
<include refid="dateSel" />
|
|
||||||
GROUP BY client_id
|
|
||||||
) table_client
|
|
||||||
LEFT JOIN crm_distributor_user_info cdui ON table_client.client_id = cdui.id
|
|
||||||
WHERE cdui.status = '1' AND cdui.documents_status = '1'
|
|
||||||
AND cdui.uecode IS NOT NULL AND cdui.company_id = #{companyId}
|
|
||||||
) t0
|
|
||||||
LEFT JOIN (
|
|
||||||
SELECT *
|
|
||||||
FROM (
|
|
||||||
SELECT tt1.*,
|
|
||||||
ROW_NUMBER() OVER ( PARTITION BY tt1.client_id ORDER BY tt1.bill_date DESC, tt1.create_time DESC ) AS rn
|
|
||||||
FROM (
|
|
||||||
SELECT a.bill_no,
|
|
||||||
a.bill_date,
|
|
||||||
a.client_id,
|
|
||||||
a.create_time,
|
|
||||||
b.count_num,
|
|
||||||
b.goods_num
|
|
||||||
FROM crm_inventory_info a
|
|
||||||
LEFT JOIN client_pd_num_view b ON a.id = b.bill_id
|
|
||||||
WHERE a.confirm_status = '1' AND a.company_id = #{companyId}
|
|
||||||
<include refid="dateSel_a" />
|
|
||||||
) tt1
|
|
||||||
) temp
|
|
||||||
WHERE rn = 1
|
|
||||||
) t1 ON t0.id = t1.client_id
|
|
||||||
LEFT JOIN (SELECT client_id, COUNT(1) bill_num
|
|
||||||
FROM crm_inventory_info
|
|
||||||
WHERE confirm_status = '1' AND company_id = #{companyId}
|
|
||||||
<include refid="dateSel" />
|
|
||||||
GROUP BY client_id) t2 ON t0.id = t2.client_id
|
|
||||||
LEFT JOIN crm_servicer_user_info csui ON t0.service_id = csui.id
|
|
||||||
LEFT JOIN crm_marketing_area_info cmai ON t0.marketing_area_id = cmai.id
|
|
||||||
WHERE 1=1
|
|
||||||
<if test="clientId !=null and clientId !=''">
|
|
||||||
AND t0.id = #{clientId}
|
|
||||||
</if>
|
|
||||||
<if test="uecode !=null and uecode !=''">
|
|
||||||
AND t0.uecode LIKE '%' || #{uecode} || '%'
|
|
||||||
</if>
|
|
||||||
<if test="clientName !=null and clientName !=''">
|
|
||||||
AND t0.distributor_name LIKE '%' || #{clientName} || '%'
|
|
||||||
</if>
|
|
||||||
<if test="staffName !=null and staffName !=''">
|
|
||||||
AND csui.name LIKE '%' || #{staffName} || '%'
|
|
||||||
</if>
|
|
||||||
<if test="areaName !=null and areaName !=''">
|
|
||||||
AND cmai.area_name LIKE '%' || #{areaName} || '%'
|
|
||||||
</if>
|
|
||||||
<if test="flag !=null and flag !=''">
|
<if test="flag !=null and flag !=''">
|
||||||
<!-- 前端传营销区域 -->
|
<!-- 前端传营销区域 -->
|
||||||
<if test="flag == 1">
|
<if test="flag == 1">
|
||||||
|
|
@ -187,6 +113,128 @@
|
||||||
t0.service_id LIKE '%' || #{userId} || '%'
|
t0.service_id LIKE '%' || #{userId} || '%'
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<!-- 客户库存盘点明细 -->
|
||||||
|
<select id="getClientStockReportSql" resultType="com.yb.lb.webapp.stock.entity.ClientStockReport" parameterType="map">
|
||||||
|
SELECT
|
||||||
|
t0.id "clientId",
|
||||||
|
t0.uecode "uecode",
|
||||||
|
t0.distributor_name "clientName",
|
||||||
|
csui.name "staffName",
|
||||||
|
cmai.area_name "areaName",
|
||||||
|
NVL(t1.bill_date, '---') "billDate",
|
||||||
|
NVL(t1.count_num, 0) "countNum",
|
||||||
|
NVL(t1.goods_num, 0) "goodsNum",
|
||||||
|
NVL(t2.bill_num, 0) "billNum"
|
||||||
|
FROM ( SELECT
|
||||||
|
cdui.id,
|
||||||
|
cdui.uecode,
|
||||||
|
cdui.distributor_name,
|
||||||
|
cdui.ancestors,
|
||||||
|
cdui.marketing_area_id,
|
||||||
|
cdui.region,
|
||||||
|
cdui.service_id,
|
||||||
|
cdui.company_id
|
||||||
|
FROM (
|
||||||
|
SELECT client_id
|
||||||
|
FROM crm_inventory_info
|
||||||
|
WHERE confirm_status = '1' AND company_id = #{companyId}
|
||||||
|
<include refid="dateSel" />
|
||||||
|
GROUP BY client_id
|
||||||
|
) table_client
|
||||||
|
LEFT JOIN crm_distributor_user_info cdui ON table_client.client_id = cdui.id
|
||||||
|
WHERE cdui.status = '1' AND cdui.documents_status = '1'
|
||||||
|
AND cdui.uecode IS NOT NULL AND cdui.company_id = #{companyId}
|
||||||
|
) t0
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT *
|
||||||
|
FROM (
|
||||||
|
SELECT tt1.*,
|
||||||
|
ROW_NUMBER() OVER ( PARTITION BY tt1.client_id ORDER BY tt1.bill_date DESC, tt1.create_time DESC ) AS rn
|
||||||
|
FROM (
|
||||||
|
SELECT a.bill_no,
|
||||||
|
a.bill_date,
|
||||||
|
a.client_id,
|
||||||
|
a.create_time,
|
||||||
|
b.count_num,
|
||||||
|
b.goods_num
|
||||||
|
FROM crm_inventory_info a
|
||||||
|
LEFT JOIN client_pd_num_view b ON a.id = b.bill_id
|
||||||
|
WHERE a.confirm_status = '1' AND a.company_id = #{companyId}
|
||||||
|
<include refid="dateSel_a" />
|
||||||
|
) tt1
|
||||||
|
) temp
|
||||||
|
WHERE rn = 1
|
||||||
|
) t1 ON t0.id = t1.client_id
|
||||||
|
LEFT JOIN (SELECT client_id, COUNT(1) bill_num
|
||||||
|
FROM crm_inventory_info
|
||||||
|
WHERE confirm_status = '1' AND company_id = #{companyId}
|
||||||
|
<include refid="dateSel" />
|
||||||
|
GROUP BY client_id) t2 ON t0.id = t2.client_id
|
||||||
|
LEFT JOIN crm_servicer_user_info csui ON t0.service_id = csui.id
|
||||||
|
LEFT JOIN crm_marketing_area_info cmai ON t0.marketing_area_id = cmai.id
|
||||||
|
WHERE 1=1
|
||||||
|
<if test="clientId !=null and clientId !=''">
|
||||||
|
AND t0.id = #{clientId}
|
||||||
|
</if>
|
||||||
|
<if test="uecode !=null and uecode !=''">
|
||||||
|
AND t0.uecode LIKE '%' || #{uecode} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="clientName !=null and clientName !=''">
|
||||||
|
AND t0.distributor_name LIKE '%' || #{clientName} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="staffName !=null and staffName !=''">
|
||||||
|
AND csui.name LIKE '%' || #{staffName} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="areaName !=null and areaName !=''">
|
||||||
|
AND cmai.area_name LIKE '%' || #{areaName} || '%'
|
||||||
|
</if>
|
||||||
|
<include refid="dataScopeSql" />
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 根据条件查询没有盘点过的客户 -->
|
||||||
|
<select id="getNoClientStockSql" resultType="com.yb.lb.webapp.stock.entity.ClientStockReport" parameterType="map">
|
||||||
|
SELECT t0.id "clientId",
|
||||||
|
t0.uecode "uecode",
|
||||||
|
t0.distributor_name "clientName",
|
||||||
|
csui.name "staffName",
|
||||||
|
cmai.area_name "areaName",
|
||||||
|
'---' "billDate",
|
||||||
|
0 "countNum",
|
||||||
|
0 "goodsNum",
|
||||||
|
0 "billNum"
|
||||||
|
FROM crm_distributor_user_info t0
|
||||||
|
LEFT JOIN crm_servicer_user_info csui ON t0.service_id = csui.id
|
||||||
|
LEFT JOIN crm_marketing_area_info cmai ON t0.marketing_area_id = cmai.id
|
||||||
|
WHERE NOT EXISTS(
|
||||||
|
SELECT cii.client_id
|
||||||
|
FROM (
|
||||||
|
SELECT client_id FROM crm_inventory_info
|
||||||
|
WHERE confirm_status = '1' AND company_id = #{companyId}
|
||||||
|
<include refid="dateSel"/>
|
||||||
|
GROUP BY client_id) cii
|
||||||
|
WHERE t0.id = cii.client_id
|
||||||
|
)
|
||||||
|
AND t0.status = '1'
|
||||||
|
AND t0.documents_status = '1'
|
||||||
|
AND t0.uecode IS NOT NULL AND t0.company_id = #{companyId}
|
||||||
|
<if test="clientId !=null and clientId !=''">
|
||||||
|
AND t0.id = #{clientId}
|
||||||
|
</if>
|
||||||
|
<if test="uecode !=null and uecode !=''">
|
||||||
|
AND t0.uecode LIKE '%' || #{uecode} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="clientName !=null and clientName !=''">
|
||||||
|
AND t0.distributor_name LIKE '%' || #{clientName} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="staffName !=null and staffName !=''">
|
||||||
|
AND csui.name LIKE '%' || #{staffName} || '%'
|
||||||
|
</if>
|
||||||
|
<if test="areaName !=null and areaName !=''">
|
||||||
|
AND cmai.area_name LIKE '%' || #{areaName} || '%'
|
||||||
|
</if>
|
||||||
|
<include refid="dataScopeSql" />
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 根据条件参数查询盘点子表的商品 -->
|
<!-- 根据条件参数查询盘点子表的商品 -->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue