Commit 621fa2c6 authored by maliang's avatar maliang

上传bug修复

parent 34acaf0f
...@@ -33,7 +33,6 @@ public class CopyrightBookController { ...@@ -33,7 +33,6 @@ public class CopyrightBookController {
@PostMapping("/updateSettlementStatus") @PostMapping("/updateSettlementStatus")
@ApiOperation(value = "版权方数据") @ApiOperation(value = "版权方数据")
public void updateSettlementStatus(@RequestBody PageTableRequest request){ public void updateSettlementStatus(@RequestBody PageTableRequest request){
System.out.println(request.getBaseSettlement().getStatusName());
BaseSettlement baseSettlement = request.getBaseSettlement(); BaseSettlement baseSettlement = request.getBaseSettlement();
copyrightDao.updateSettlementStatus(baseSettlement.getCopyrightId(),baseSettlement.getReportDate(),baseSettlement.getStatus(),baseSettlement.getStatusName()); copyrightDao.updateSettlementStatus(baseSettlement.getCopyrightId(),baseSettlement.getReportDate(),baseSettlement.getStatus(),baseSettlement.getStatusName());
} }
......
...@@ -13,25 +13,27 @@ public class BaseSettlement extends BaseEntity<Long>{ ...@@ -13,25 +13,27 @@ public class BaseSettlement extends BaseEntity<Long>{
public String kouliang_ratio; public String kouliang_ratio;
public String batch_id; public String batch_id;
public String batch_name; public String batch_name;
public String book_id; public String bookId;
public String book_name; public String bookName;
public String authors; public String authors;
public Double totalAmount; public Double totalAmount;
public String settlementAmount; public Double settlementAmount;
public String kouliang_amount; public String kouliang_amount;
public String all_consume; public String all_consume;
public Double totalAdvertAmount; public Double totalAdvertAmount;
public String jiesuan_ad_amount; public Double settlementAdAmount;
public String kouliang_ad_amount; public String kouliang_ad_amount;
public Double countSettlement;
public Integer status; public Integer status;
public String statusName; public String statusName;
public String getSettlementAmount() {
return settlementAmount; public Double getCountSettlement() {
return countSettlement;
} }
public void setSettlementAmount(String settlementAmount) { public void setCountSettlement(Double countSettlement) {
this.settlementAmount = settlementAmount; this.countSettlement = countSettlement;
} }
public Integer getStatus() { public Integer getStatus() {
...@@ -106,20 +108,20 @@ public class BaseSettlement extends BaseEntity<Long>{ ...@@ -106,20 +108,20 @@ public class BaseSettlement extends BaseEntity<Long>{
this.batch_name = batch_name; this.batch_name = batch_name;
} }
public String getBook_id() { public String getBookId() {
return book_id; return bookId;
} }
public void setBook_id(String book_id) { public void setBookId(String bookId) {
this.book_id = book_id; this.bookId = bookId;
} }
public String getBook_name() { public String getBookName() {
return book_name; return bookName;
} }
public void setBook_name(String book_name) { public void setBookName(String bookName) {
this.book_name = book_name; this.bookName = bookName;
} }
public String getAuthors() { public String getAuthors() {
...@@ -147,13 +149,20 @@ public class BaseSettlement extends BaseEntity<Long>{ ...@@ -147,13 +149,20 @@ public class BaseSettlement extends BaseEntity<Long>{
this.all_consume = all_consume; this.all_consume = all_consume;
} }
public Double getSettlementAmount() {
return settlementAmount;
}
public void setSettlementAmount(Double settlementAmount) {
this.settlementAmount = settlementAmount;
}
public String getJiesuan_ad_amount() { public Double getSettlementAdAmount() {
return jiesuan_ad_amount; return settlementAdAmount;
} }
public void setJiesuan_ad_amount(String jiesuan_ad_amount) { public void setSettlementAdAmount(Double settlementAdAmount) {
this.jiesuan_ad_amount = jiesuan_ad_amount; this.settlementAdAmount = settlementAdAmount;
} }
public String getKouliang_ad_amount() { public String getKouliang_ad_amount() {
......
...@@ -8,6 +8,7 @@ import com.boot.security.server.service.CopyrightBookService; ...@@ -8,6 +8,7 @@ import com.boot.security.server.service.CopyrightBookService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.List; import java.util.List;
@Service @Service
...@@ -16,7 +17,90 @@ public class CopyrightBookServiceImpl implements CopyrightBookService { ...@@ -16,7 +17,90 @@ public class CopyrightBookServiceImpl implements CopyrightBookService {
CopyrightDao copyrightDao; CopyrightDao copyrightDao;
@Override @Override
public String selectSettlement(Integer copyrightId,Integer page,Integer limit) { 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); 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); Integer count = copyrightDao.selectTableListMonthCount(copyrightId);
return PageTableHandler.getJSONObject(baseSettlements,count); return PageTableHandler.getJSONObject(baseSettlements,count);
} }
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
FROM bi_report.report_book_settlement_month a FROM bi_report.report_book_settlement_month a
LEFT JOIN bi_report.report_book_advert_month b 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 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"> <if test="copyrightId != null">
WHERE and a.copyright_id =#{copyrightId}
a.copyright_id =#{copyrightId}
</if> </if>
ORDER BY a.total_amount DESC ORDER BY a.total_amount DESC
limit #{page},#{limit}; limit #{page},#{limit};
...@@ -25,9 +25,9 @@ ...@@ -25,9 +25,9 @@
FROM bi_report.report_book_settlement_month a FROM bi_report.report_book_settlement_month a
LEFT JOIN bi_report.report_book_advert_month b 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 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"> <if test="copyrightId != null">
WHERE and a.copyright_id =#{copyrightId}
a.copyright_id =#{copyrightId}
</if> </if>
ORDER BY a.total_amount DESC ; ORDER BY a.total_amount DESC ;
</select> </select>
...@@ -38,20 +38,17 @@ ...@@ -38,20 +38,17 @@
</select> </select>
<select id="selectBookDetail" resultType="com.boot.security.server.model.BaseSettlement" parameterType="java.util.List"> <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 (SELECT
a.report_date,a.copyright_id,a.copyright_name,a.copyright_start_date,a.copyright_end_date,a.fencheng_ratio,a.kouliang_ratio, 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
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.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
FROM report_book_settlement a FROM report_book_settlement a
left join report_book_advert b 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 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 WHERE
<![CDATA[ <![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!='' "> <if test="bookId != null and bookId!='' ">
and a.book_id = #{bookId} and a.book_id = #{bookId}
...@@ -59,23 +56,20 @@ ...@@ -59,23 +56,20 @@
<if test=" bookName != null and bookName !='' "> <if test=" bookName != null and bookName !='' ">
and a.book_name like #{bookName} and a.book_name like #{bookName}
</if> </if>
<if test="copyrightIdList != null and copyrightIdList.size>0"> <if test="copyrightId != null">
and a.copyright_id in and a.copyright_id =#{copyrightId}
<foreach collection="copyrightIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if> </if>
UNION UNION
SELECT 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 FROM report_book_settlement a
RIGHT JOIN report_book_advert b 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 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 WHERE b.jiesuan_ad_amount>0
<![CDATA[ <![CDATA[
and 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!='' "> <if test="bookId != null and bookId!='' ">
and b.book_id = #{bookId} and b.book_id = #{bookId}
...@@ -83,13 +77,10 @@ ...@@ -83,13 +77,10 @@
<if test=" bookName != null and bookName !='' "> <if test=" bookName != null and bookName !='' ">
and b.book_name like #{bookName} and b.book_name like #{bookName}
</if> </if>
<if test="copyrightIdList != null and copyrightIdList.size>0"> <if test="copyrightId != null">
and b.copyright_id in and a.copyright_id =#{copyrightId}
<foreach collection="copyrightIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>) t </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> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<div class="layui-row"> <div class="layui-row">
<div style="width: 160px" class="layui-col-md3"> <div style="width: 160px" class="layui-col-md3">
<select id="copyrightId" lay-filter="copyright"> <select id="copyrightId" lay-filter="copyright">
<option>全部</option> <option value="0">全部</option>
</select> </select>
</div> </div>
<div class="layui-col-md3"> <div class="layui-col-md3">
...@@ -55,12 +55,17 @@ ...@@ -55,12 +55,17 @@
,contentType:'application/json' ,contentType:'application/json'
,url: '/copyrightBookController/settlementMonth' ,url: '/copyrightBookController/settlementMonth'
,page: true ,page: true
,toolbar:'true'
,defaultToolbar: ['exports']
,cols: [[ ,cols: [[
{field: 'reportDate', title: '日期', sort: true,fixed:'left'} {field: 'reportDate', title: '日期', sort: true,fixed:'left'}
,{field: 'copyrightId', title: '版权费id', hide: true} ,{field: 'copyrightId', title: '版权费id', hide: true}
,{field: 'copyrightName', title: '版权方名称'} ,{field: 'copyrightName', title: '版权方名称'}
,{field: 'totalAmount', title: '销售金额'} ,{field: 'totalAmount', title: '销售金额'}
,{field: 'settlementAmount', title: '销售结算'}
,{field: 'totalAdvertAmount', title: '广告金额'} ,{field: 'totalAdvertAmount', title: '广告金额'}
,{field: 'settlementAdAmount', title: '广告结算'}
,{field: 'countSettlement', title: '总结算'}
,{field: 'statusName', title: '结算状态'} ,{field: 'statusName', title: '结算状态'}
,{title: '操作', toolbar: '#operation',fixed: 'right'} ,{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