SaleProfit.js 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. Ext.define('saas.model.report.SaleProfit', {
  2. extend: 'saas.model.Base',
  3. fields: [
  4. { name: 'id', type: 'int' },
  5. { name: 'pi_date', type: 'date' },
  6. { name: 'sa_custname', type: 'string' },
  7. { name: 'sa_seller', type: 'string' },
  8. { name: 'pd_inoutno', type: 'string' },
  9. { name: 'pr_code', type: 'string' },
  10. { name: 'pr_brand', type: 'string' },
  11. { name: 'pr_detail', type: 'string' },
  12. { name: 'pr_orispeccode', type: 'string' },
  13. { name: 'pr_spec', type: 'string' },
  14. { name: 'pd_outqty', type: 'float' },
  15. { name: 'pr_unit', type: 'string' },
  16. { name: 'pd_netprice', type: 'float' },
  17. { name: 'pd_sendprice', type: 'float' },//含税单价
  18. { name: 'pd_nettotal', type: 'float' },
  19. { name: 'pd_taxrate', type: 'int' },//税率
  20. { name: 'pd_ordertotal-pd_nettotal', type: 'float',
  21. convert: function(v, rec) {
  22. var t = (rec.get('pd_ordertotal') || 0.0) - (rec.get('pd_nettotal') || 0.0);
  23. return Number(saas.util.BaseUtil.numberFormat(t, 2, false));
  24. },
  25. depends: ['pd_ordertotal', 'pd_nettotal']
  26. },
  27. { name: 'pd_ordertotal', type: 'float' },//价税合计
  28. { name: 'pd_ordertotal*pi_rate', type: 'float' ,
  29. convert: function(v, rec) {
  30. return Number(saas.util.BaseUtil.numberFormat((rec.get('pd_ordertotal') || 0.0), 2, false));
  31. },
  32. depends: ['pd_ordertotal']
  33. /* convert: function(v, rec) {
  34. var t = (rec.get('pd_ordertotal') || 0.0) * (rec.get('pi_rate') || 1.0);
  35. return Number(saas.util.BaseUtil.numberFormat(t, 2, false));
  36. },
  37. depends: ['pd_ordertotal', 'pi_rate'] */
  38. },//价税合计本位币
  39. { name: 'pd_price', type: 'float' },//成本单价
  40. { name: 'pd_total', type: 'float' },
  41. { name: 'pd_profit', type: 'float' ,
  42. convert: function(v, rec) {
  43. var t = (((rec.get('pd_sendprice') || 0.0) * (rec.get('pi_rate') || 1.0) / (1 + (rec.get('pd_taxrate') || 0.0)/100 ))
  44. - (rec.get('pd_price') || 0.0) )*(rec.get('pd_outqty') || 0.0);
  45. return Number(saas.util.BaseUtil.numberFormat(t, 2, false));
  46. },
  47. depends: ['pd_sendprice', 'pi_rate','pd_taxrate','pd_price','pd_outqty']
  48. },//毛利润(元) = ( (含税单价 * 汇率) / (1+税率%) - 成本单价 ) * 数量
  49. { name: 'pd_profitpresent', type: 'float',
  50. convert: function(v, rec) {
  51. var t = ( (((rec.get('pd_sendprice') || 0.0) * (rec.get('pi_rate') || 1.0) / (1 + (rec.get('pd_taxrate') || 0.0)/100 ))
  52. - (rec.get('pd_price') || 0.0))
  53. /
  54. (((rec.get('pd_sendprice') || 0.0) * (rec.get('pi_rate') || 1.0) / (1 + (rec.get('pd_taxrate') || 0.0)/100 ))) ) * 100;
  55. return Number(saas.util.BaseUtil.numberFormat(t, 2, false));
  56. },
  57. depends: ['pd_sendprice', 'pi_rate','pd_taxrate','pd_price']
  58. },//毛利润率 = ( (含税单价*汇率/(1+税率%) - 成本单价) / (含税单价*汇率/(1+税率%)) ) * 100
  59. { name: 'pd_remark', type: 'string' },
  60. { name: 'pi_currency', type: 'string' },
  61. { name: 'pi_rate', type: 'float' }
  62. ],
  63. });