Commit 621fa2c6 authored by maliang's avatar maliang

上传bug修复

parent 34acaf0f
......@@ -33,7 +33,6 @@ public class CopyrightBookController {
@PostMapping("/updateSettlementStatus")
@ApiOperation(value = "版权方数据")
public void updateSettlementStatus(@RequestBody PageTableRequest request){
System.out.println(request.getBaseSettlement().getStatusName());
BaseSettlement baseSettlement = request.getBaseSettlement();
copyrightDao.updateSettlementStatus(baseSettlement.getCopyrightId(),baseSettlement.getReportDate(),baseSettlement.getStatus(),baseSettlement.getStatusName());
}
......
......@@ -13,25 +13,27 @@ public class BaseSettlement extends BaseEntity<Long>{
public String kouliang_ratio;
public String batch_id;
public String batch_name;
public String book_id;
public String book_name;
public String bookId;
public String bookName;
public String authors;
public Double totalAmount;
public String settlementAmount;
public Double settlementAmount;
public String kouliang_amount;
public String all_consume;
public Double totalAdvertAmount;
public String jiesuan_ad_amount;
public Double settlementAdAmount;
public String kouliang_ad_amount;
public Double countSettlement;
public Integer status;
public String statusName;
public String getSettlementAmount() {
return settlementAmount;
public Double getCountSettlement() {
return countSettlement;
}
public void setSettlementAmount(String settlementAmount) {
this.settlementAmount = settlementAmount;
public void setCountSettlement(Double countSettlement) {
this.countSettlement = countSettlement;
}
public Integer getStatus() {
......@@ -106,20 +108,20 @@ public class BaseSettlement extends BaseEntity<Long>{
this.batch_name = batch_name;
}
public String getBook_id() {
return book_id;
public String getBookId() {
return bookId;
}
public void setBook_id(String book_id) {
this.book_id = book_id;
public void setBookId(String bookId) {
this.bookId = bookId;
}
public String getBook_name() {
return book_name;
public String getBookName() {
return bookName;
}
public void setBook_name(String book_name) {
this.book_name = book_name;
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthors() {
......@@ -147,13 +149,20 @@ public class BaseSettlement extends BaseEntity<Long>{
this.all_consume = all_consume;
}
public Double getSettlementAmount() {
return settlementAmount;
}
public void setSettlementAmount(Double settlementAmount) {
this.settlementAmount = settlementAmount;
}
public String getJiesuan_ad_amount() {
return jiesuan_ad_amount;
public Double getSettlementAdAmount() {
return settlementAdAmount;
}
public void setJiesuan_ad_amount(String jiesuan_ad_amount) {
this.jiesuan_ad_amount = jiesuan_ad_amount;
public void setSettlementAdAmount(Double settlementAdAmount) {
this.settlementAdAmount = settlementAdAmount;
}
public String getKouliang_ad_amount() {
......
......@@ -8,6 +8,7 @@ import com.boot.security.server.service.CopyrightBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.List;
@Service
......@@ -16,7 +17,90 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
CopyrightDao copyrightDao;
@Override
public String selectSettlement(Integer copyrightId,Integer page,Integer limit) {
if(copyrightId==null||copyrightId==0){
copyrightId=null;
}
List<BaseSettlement> baseSettlements = copyrightDao.selectTableListMonth(copyrightId,page-1,limit);
DecimalFormat df = new DecimalFormat("#.00");
for (BaseSettlement baseSettlement : baseSettlements) {
Double totalAmount = baseSettlement.getTotalAmount();
Double count=0.0;
if(totalAmount<=2000.0){
count=totalAmount;
}else if(totalAmount>=2001.0&&totalAmount<=5000.0){
Double a1=totalAmount-2000.0;
count=2000.0+a1*0.5;
}else if(totalAmount>=5001.0&&totalAmount<=10000.0){
Double a1=totalAmount-5000.0;
count=2000.0+3000*0.5+a1*0.2;
}else if(totalAmount>=10001.0&&totalAmount<=30000.0){
Double a1=totalAmount-10000.0;
count=2000.0+3000*0.5+5000*0.2+a1*0.2;
}else if(totalAmount>=30001.0&&totalAmount<=50000.0){
Double a1=totalAmount-30000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2+a1*0.15;
}else if(totalAmount>=50001.0&&totalAmount<=100000.0){
Double a1=totalAmount-50000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+a1*0.15;
}else if(totalAmount>=100001.0&&totalAmount<=300000.0){
Double a1=totalAmount-100000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+a1*0.1;
}else if(totalAmount>=300001.0&&totalAmount<=500000.0){
Double a1=totalAmount-300000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1+a1*0.05;
}else if(totalAmount>=500001.0&&totalAmount<=1000000.0){
Double a1=totalAmount-500000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1*2+a1*0.02;
}else if(totalAmount>=1000001.0&&totalAmount<=3000000.0){
Double a1=totalAmount-1000000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1*2+500000*0.02+a1*0.02;
}else if(totalAmount>=3000001.0&&totalAmount<=5000000.0){
Double a1=totalAmount-3000000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1*2+500000*0.02+2000000*0.02+a1*0.02;
}
count=Double.valueOf(df.format(count));
baseSettlement.setTotalAmount(count);
baseSettlement.setSettlementAmount(Double.valueOf(df.format(count*0.5)));
count=0.0;
Double totalAdvertAmount = baseSettlement.getTotalAdvertAmount();
if(totalAdvertAmount<=2000.0){
count=totalAdvertAmount;
}else if(totalAdvertAmount>=2001.0&&totalAdvertAmount<=5000.0){
Double a1=totalAdvertAmount-2000.0;
count=2000.0+a1*0.5;
}else if(totalAdvertAmount>=5001.0&&totalAdvertAmount<=10000.0){
Double a1=totalAdvertAmount-5000.0;
count=2000.0+3000*0.5+a1*0.2;
}else if(totalAdvertAmount>=10001.0&&totalAdvertAmount<=30000.0){
Double a1=totalAdvertAmount-10000.0;
count=2000.0+3000*0.5+5000*0.2+a1*0.2;
}else if(totalAdvertAmount>=30001.0&&totalAdvertAmount<=50000.0){
Double a1=totalAdvertAmount-30000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2+a1*0.15;
}else if(totalAdvertAmount>=50001.0&&totalAdvertAmount<=100000.0){
Double a1=totalAdvertAmount-50000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+a1*0.15;
}else if(totalAdvertAmount>=100001.0&&totalAdvertAmount<=300000.0){
Double a1=totalAdvertAmount-100000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+a1*0.1;
}else if(totalAdvertAmount>=300001.0&&totalAdvertAmount<=500000.0){
Double a1=totalAdvertAmount-300000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1+a1*0.05;
}else if(totalAdvertAmount>=500001.0&&totalAdvertAmount<=1000000.0){
Double a1=totalAdvertAmount-500000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1*2+a1*0.02;
}else if(totalAdvertAmount>=1000001.0&&totalAdvertAmount<=3000000.0){
Double a1=totalAdvertAmount-1000000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1*2+500000*0.02+a1*0.02;
}else if(totalAdvertAmount>=3000001.0&&totalAdvertAmount<=5000000.0){
Double a1=totalAdvertAmount-3000000.0;
count=2000.0+3000*0.5+5000*0.2+20000*0.2*2+50000*0.15+200000*0.1*2+500000*0.02+2000000*0.02+a1*0.02;
}
count=Double.valueOf(df.format(count));
baseSettlement.setTotalAdvertAmount(count);
baseSettlement.setSettlementAdAmount(Double.valueOf(df.format(count*0.5)));
baseSettlement.setCountSettlement(Double.valueOf(df.format(baseSettlement.getSettlementAmount()+baseSettlement.getSettlementAdAmount())));
}
Integer count = copyrightDao.selectTableListMonthCount(copyrightId);
return PageTableHandler.getJSONObject(baseSettlements,count);
}
......
......@@ -10,9 +10,9 @@
FROM bi_report.report_book_settlement_month a
LEFT JOIN bi_report.report_book_advert_month b
ON a.report_date=b.report_date AND a.batch_id=b.batch_id AND a.batch_name=b.batch_name
WHERE a.report_date>='2020-04'
<if test="copyrightId != null">
WHERE
a.copyright_id =#{copyrightId}
and a.copyright_id =#{copyrightId}
</if>
ORDER BY a.total_amount DESC
limit #{page},#{limit};
......@@ -25,9 +25,9 @@
FROM bi_report.report_book_settlement_month a
LEFT JOIN bi_report.report_book_advert_month b
ON a.report_date=b.report_date AND a.batch_id=b.batch_id AND a.batch_name=b.batch_name
WHERE a.report_date>='2020-04'
<if test="copyrightId != null">
WHERE
a.copyright_id =#{copyrightId}
and a.copyright_id =#{copyrightId}
</if>
ORDER BY a.total_amount DESC ;
</select>
......@@ -38,20 +38,17 @@
</select>
<select id="selectBookDetail" resultType="com.boot.security.server.model.BaseSettlement" parameterType="java.util.List">
select * from
select reportDate,copyright_id copyrightId,copyright_name copyrightName,book_id bookId,book_name bookName,authors,sum(total_amount) totalAmount,sum(total_ad_amount) totalAdvertAmount
from
(SELECT
a.report_date,a.copyright_id,a.copyright_name,a.copyright_start_date,a.copyright_end_date,a.fencheng_ratio,a.kouliang_ratio,
a.batch_id,a.batch_name,a.book_id,a.book_name,a.authors,a.total_amount,a.jiesuan_amount,a.kouliang_amount
, ifnull(b.total_ad_amount,0) total_ad_amount
, ifnull(b.jiesuan_ad_amount,0) jiesuan_ad_amount
, ifnull(b.kouliang_ad_amount,0) kouliang_ad_amount
,if (b.jiesuan_ad_amount is null,a.jiesuan_amount,a.jiesuan_amount+b.jiesuan_ad_amount) as all_consume
DATE_FORMAT(a.report_date,'%Y-%m') reportDate,a.copyright_id,a.copyright_name,a.book_id,a.book_name,a.authors,a.total_amount
,ifnull(b.total_ad_amount,0) total_ad_amount
FROM report_book_settlement a
left join report_book_advert b
on a.report_date=b.report_date and a.book_id=b.book_id and a.batch_id=b.batch_id and a.batch_name=b.batch_name
WHERE
<![CDATA[
a.report_date >= #{startTime} and a.report_date <= #{endTime}
DATE_FORMAT(a.report_date,'%Y-%m') >= #{startTime} and DATE_FORMAT(a.report_date,'%Y-%m') <= #{endTime}
]]>
<if test="bookId != null and bookId!='' ">
and a.book_id = #{bookId}
......@@ -59,23 +56,20 @@
<if test=" bookName != null and bookName !='' ">
and a.book_name like #{bookName}
</if>
<if test="copyrightIdList != null and copyrightIdList.size>0">
and a.copyright_id in
<foreach collection="copyrightIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="copyrightId != null">
and a.copyright_id =#{copyrightId}
</if>
UNION
SELECT
b.report_date,b.copyright_id,b.copyright_name,b.batch_id,b.batch_name,b.book_id,b.book_name,b.authors,IFNULL(a.total_amount,0),IFNULL(b.total_ad_amount,0) total_ad_amount
DATE_FORMAT(a.report_date,'%Y-%m') reportDate,b.copyright_id,b.copyright_name,b.book_id,b.book_name,b.authors,IFNULL(a.total_amount,0) total_amount,IFNULL(b.total_ad_amount,0) total_ad_amount
FROM report_book_settlement a
RIGHT JOIN report_book_advert b
ON a.report_date=b.report_date AND a.book_id=b.book_id AND a.batch_id=b.batch_id AND a.batch_name=b.batch_name
WHERE b.jiesuan_ad_amount>0
<![CDATA[
and
b.report_date >= #{startTime} and b.report_date <= #{endTime}
DATE_FORMAT(b.report_date,'%Y-%m') >= #{startTime} and DATE_FORMAT(b.report_date,'%Y-%m') <= #{endTime}
]]>
<if test="bookId != null and bookId!='' ">
and b.book_id = #{bookId}
......@@ -83,13 +77,10 @@
<if test=" bookName != null and bookName !='' ">
and b.book_name like #{bookName}
</if>
<if test="copyrightIdList != null and copyrightIdList.size>0">
and b.copyright_id in
<foreach collection="copyrightIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
<if test="copyrightId != null">
and a.copyright_id =#{copyrightId}
</if>) t
ORDER BY t.total_amount desc
group BY t.reportDate,t.copyright_id,t.copyright_name,t.book_id,t.book_name,t.authors
</select>
</mapper>
\ No newline at end of file
......@@ -14,7 +14,7 @@
<div class="layui-row">
<div style="width: 160px" class="layui-col-md3">
<select id="copyrightId" lay-filter="copyright">
<option>全部</option>
<option value="0">全部</option>
</select>
</div>
<div class="layui-col-md3">
......@@ -55,12 +55,17 @@
,contentType:'application/json'
,url: '/copyrightBookController/settlementMonth'
,page: true
,toolbar:'true'
,defaultToolbar: ['exports']
,cols: [[
{field: 'reportDate', title: '日期', sort: true,fixed:'left'}
,{field: 'copyrightId', title: '版权费id', hide: true}
,{field: 'copyrightName', title: '版权方名称'}
,{field: 'totalAmount', title: '销售金额'}
,{field: 'settlementAmount', title: '销售结算'}
,{field: 'totalAdvertAmount', title: '广告金额'}
,{field: 'settlementAdAmount', title: '广告结算'}
,{field: 'countSettlement', title: '总结算'}
,{field: 'statusName', title: '结算状态'}
,{title: '操作', toolbar: '#operation',fixed: 'right'}
]] //设置表头
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment