|
|
@ -64,6 +64,7 @@ import javax.annotation.Resource; |
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import java.io.UnsupportedEncodingException; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.RoundingMode; |
|
|
|
import java.net.URLEncoder; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
@ -202,6 +203,14 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper, |
|
|
|
} |
|
|
|
public ResultBean<PagerVo<WarehouseOutReportVo>> customerSales(PagerQuery<WarehouseInventoryCountReportQuery> pq) { |
|
|
|
// crmCustomerTempFeign.
|
|
|
|
if(StringUtils.isNotBlank(pq.getParams().getCustomerCode())){ |
|
|
|
ResultBean<CrmCustomerTemp> crmCustomerTempResultBean = crmCustomerTempFeign.selectByCustomerNo(pq.getParams().getCustomerCode()); |
|
|
|
if(crmCustomerTempResultBean.getData()!=null){ |
|
|
|
pq.getParams().setCustomerSid(crmCustomerTempResultBean.getData().getSid()); |
|
|
|
}else{ |
|
|
|
pq.getParams().setCustomerSid("999999"); |
|
|
|
} |
|
|
|
} |
|
|
|
ResultBean<PagerVo<WarehouseOutReportVo>> pagerVoResultBean = warehouseInventoryRecordFeign.customerSales(pq); |
|
|
|
for (WarehouseOutReportVo record : pagerVoResultBean.getData().getRecords()) { |
|
|
|
ResultBean<CrmCustomerTemp> crmCustomerTempResultBean = crmCustomerTempFeign.fetchBySid(record.getCustomerSid()); |
|
|
@ -209,28 +218,37 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper, |
|
|
|
record.setCustomerCode(crmCustomerTempResultBean.getData().getCustomerNo()); |
|
|
|
} |
|
|
|
} |
|
|
|
return warehouseInventoryRecordFeign.customerSales(pq); |
|
|
|
return pagerVoResultBean; |
|
|
|
} |
|
|
|
public ResultBean<PagerVo<WarehouseGoodsSalesReportVo>> goodsSales(PagerQuery<WarehouseInventoryCountReportQuery> pq) { |
|
|
|
// crmCustomerTempFeign.
|
|
|
|
GoodsSpuQuery query=new GoodsSpuQuery(); |
|
|
|
if(StringUtils.isNotBlank(query.getBrandSid())){ |
|
|
|
query.setBrandSid(query.getBrandSid()); |
|
|
|
GoodsSpuQuery query1=new GoodsSpuQuery(); |
|
|
|
if(StringUtils.isNotBlank(pq.getParams().getState())){ |
|
|
|
query1.setState(pq.getParams().getState()); |
|
|
|
query1.setOrgPath(pq.getParams().getOrgPath()); |
|
|
|
ResultBean<List<GoodsSpuVo>> listResultBean = baseGoodsSpuFeign.listAllByQuery(query1); |
|
|
|
if(listResultBean.getData().size()!=0){ |
|
|
|
pq.getParams().setGoodsSids(listResultBean.getData().stream().map(s->s.getSid()).collect(Collectors.toList())); |
|
|
|
|
|
|
|
}else{ |
|
|
|
return new ResultBean<PagerVo<WarehouseGoodsSalesReportVo>>().success().setData(new PagerVo<>()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(query.getTypeSid())){ |
|
|
|
query.setTypeSid(query.getTypeSid()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(query.getBrandSid())||StringUtils.isNotBlank(query.getTypeSid())){ |
|
|
|
query.setOrgPath(pq.getParams().getOrgPath()); |
|
|
|
query.setBrandSid(pq.getParams().getBrandSid()); |
|
|
|
query.setTypeSid(pq.getParams().getTypeSid()); |
|
|
|
ResultBean<List<GoodsSpuVo>> listResultBean = baseGoodsSpuFeign.listAllByQuery(query); |
|
|
|
pq.getParams().setTypeSids(listResultBean.getData().stream().map(s->s.getSid()).collect(Collectors.toList())); |
|
|
|
} |
|
|
|
}else{pq.getParams().setTypeSids(new ArrayList<>());} |
|
|
|
ResultBean<PagerVo<WarehouseGoodsSalesReportVo>> pagerVoResultBean = warehouseInventoryRecordFeign.goodsSales(pq); |
|
|
|
for (WarehouseGoodsSalesReportVo record : pagerVoResultBean.getData().getRecords()) { |
|
|
|
|
|
|
|
BigDecimal bigDecimal=new BigDecimal(record.getAmount()); |
|
|
|
if(bigDecimal.compareTo(new BigDecimal(0))!=1){ |
|
|
|
record.setAmount(new BigDecimal(record.getCount()).multiply(new BigDecimal(record.getCost())).toString()); |
|
|
|
record.setAverageCost(new BigDecimal(record.getAmount()).divide(new BigDecimal(record.getCount())).toString()); |
|
|
|
record.setAverageCost(new BigDecimal(record.getAmount()).divide(new BigDecimal(record.getCount()),2, RoundingMode.HALF_UP).toString()); |
|
|
|
} |
|
|
|
ResultBean<BaseGoodsSpuVo> initialization1=new ResultBean<>(); |
|
|
|
if(StringUtils.isBlank(record.getGoodsSpuSid())){ |
|
|
@ -247,7 +265,7 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper, |
|
|
|
record.setCbdPrice(extendBySkuSid.getData().getCostPrice()); |
|
|
|
record.setCbPrice(new BigDecimal(extendBySkuSid.getData().getCostPrice()).multiply(new BigDecimal(record.getCount())).toString()); |
|
|
|
record.setMl(new BigDecimal(record.getAmount()).subtract(new BigDecimal(record.getCbPrice())).toString()); |
|
|
|
record.setMll(new BigDecimal(record.getAmount()).subtract(new BigDecimal(record.getCbPrice())).divide(new BigDecimal(record.getCbPrice())).toString()); |
|
|
|
record.setMll(new BigDecimal(record.getAmount()).subtract(new BigDecimal(record.getCbPrice())).divide(new BigDecimal(record.getCbPrice()),2, RoundingMode.HALF_UP).toString()); |
|
|
|
if(StringUtils.isBlank(record.getBrandName())){ |
|
|
|
ResultBean<BaseBrandInfoVo> initialization3 = baseBrandInfoFeign.initialization(initialization1.getData().getBrandSid()); |
|
|
|
record.setBrandSid(initialization3.getData().getSid()); |
|
|
@ -264,7 +282,14 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper, |
|
|
|
|
|
|
|
|
|
|
|
public void customerSalesExport(WarehouseInventoryCountReportQuery pq) { |
|
|
|
|
|
|
|
if(StringUtils.isNotBlank(pq.getCustomerCode())){ |
|
|
|
ResultBean<CrmCustomerTemp> crmCustomerTempResultBean = crmCustomerTempFeign.selectByCustomerNo(pq.getCustomerCode()); |
|
|
|
if(crmCustomerTempResultBean.getData()!=null){ |
|
|
|
pq.setCustomerSid(crmCustomerTempResultBean.getData().getSid()); |
|
|
|
}else{ |
|
|
|
pq.setCustomerSid("999999"); |
|
|
|
} |
|
|
|
} |
|
|
|
List<WarehouseCustomerOutReportExcelVo> exportVoList = warehouseInventoryRecordFeign.customerSalesExport(pq); |
|
|
|
for (WarehouseCustomerOutReportExcelVo record : exportVoList) { |
|
|
|
BigDecimal bigDecimal=new BigDecimal(record.getAmount()); |
|
|
@ -288,22 +313,30 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper, |
|
|
|
} |
|
|
|
public void goodsSalesExport(WarehouseInventoryCountReportQuery pq) { |
|
|
|
GoodsSpuQuery query=new GoodsSpuQuery(); |
|
|
|
if(StringUtils.isNotBlank(query.getBrandSid())){ |
|
|
|
query.setBrandSid(query.getBrandSid()); |
|
|
|
GoodsSpuQuery query1=new GoodsSpuQuery(); |
|
|
|
if(StringUtils.isNotBlank(pq.getState())){ |
|
|
|
query1.setState(pq.getState()); |
|
|
|
query1.setOrgPath(pq.getOrgPath()); |
|
|
|
ResultBean<List<GoodsSpuVo>> listResultBean = baseGoodsSpuFeign.listAllByQuery(query1); |
|
|
|
if(listResultBean.getData().size()!=0){ |
|
|
|
pq.setGoodsSids(listResultBean.getData().stream().map(s->s.getSid()).collect(Collectors.toList())); |
|
|
|
}else{ |
|
|
|
|
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(query.getTypeSid())){ |
|
|
|
query.setTypeSid(query.getTypeSid()); |
|
|
|
} |
|
|
|
if(StringUtils.isNotBlank(query.getBrandSid())||StringUtils.isNotBlank(query.getTypeSid())){ |
|
|
|
query.setOrgPath(pq.getOrgPath()); |
|
|
|
query.setBrandSid(pq.getBrandSid()); |
|
|
|
query.setTypeSid(pq.getTypeSid()); |
|
|
|
ResultBean<List<GoodsSpuVo>> listResultBean = baseGoodsSpuFeign.listAllByQuery(query); |
|
|
|
pq.setTypeSids(listResultBean.getData().stream().map(s->s.getSid()).collect(Collectors.toList())); |
|
|
|
} |
|
|
|
}else{pq.setTypeSids(new ArrayList<>());} |
|
|
|
List<WarehouseGoodsSalesReportExcelVo> exportVoList = warehouseInventoryRecordFeign.goodsSalesExport(pq); |
|
|
|
for (WarehouseGoodsSalesReportExcelVo record : exportVoList) { |
|
|
|
BigDecimal bigDecimal=new BigDecimal(record.getAmount()); |
|
|
|
if(bigDecimal.compareTo(new BigDecimal(0))!=1){ |
|
|
|
record.setAmount(new BigDecimal(record.getCount()).multiply(new BigDecimal(record.getCost())).toString()); |
|
|
|
record.setAverageCost(new BigDecimal(record.getAmount()).divide(new BigDecimal(record.getCount())).toString()); |
|
|
|
record.setAverageCost(new BigDecimal(record.getAmount()).divide(new BigDecimal(record.getCount()),2, RoundingMode.HALF_UP).toString()); |
|
|
|
} |
|
|
|
ResultBean<BaseGoodsSpuVo> initialization1=new ResultBean<>(); |
|
|
|
if(StringUtils.isBlank(record.getGoodsSpuSid())){ |
|
|
@ -320,7 +353,7 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper, |
|
|
|
record.setCbdPrice(extendBySkuSid.getData().getCostPrice()); |
|
|
|
record.setCbPrice(new BigDecimal(extendBySkuSid.getData().getCostPrice()).multiply(new BigDecimal(record.getCount())).toString()); |
|
|
|
record.setMl(new BigDecimal(record.getAmount()).subtract(new BigDecimal(record.getCbPrice())).toString()); |
|
|
|
record.setMll(new BigDecimal(record.getAmount()).subtract(new BigDecimal(record.getCbPrice())).divide(new BigDecimal(record.getCbPrice())).toString()); |
|
|
|
record.setMll(new BigDecimal(record.getAmount()).subtract(new BigDecimal(record.getCbPrice())).divide(new BigDecimal(record.getCbPrice()),2, RoundingMode.HALF_UP).toString()); |
|
|
|
if(StringUtils.isBlank(record.getBrandName())){ |
|
|
|
ResultBean<BaseBrandInfoVo> initialization3 = baseBrandInfoFeign.initialization(initialization1.getData().getBrandSid()); |
|
|
|
record.setBrandSid(initialization3.getData().getSid()); |
|
|
|