update serve/app/controller/Crt.php.
应收账款款明细有报错信息,修改函数 crs 以及导出函数 crsExports Signed-off-by: 姚PD <13558507+yao-shipeng@user.noreply.gitee.com>
This commit is contained in:
parent
a4fae2ee0d
commit
44184527e3
@ -376,23 +376,43 @@ class Crt extends Acl{
|
|||||||
];
|
];
|
||||||
$nodeUnionSql=frameScope($nodeUnionSql);
|
$nodeUnionSql=frameScope($nodeUnionSql);
|
||||||
|
|
||||||
|
foreach ($tab as $t) {
|
||||||
|
if(!in_array($t,['vend','vre'])){
|
||||||
|
$nodeUnion[]=Db::name($t)->where(sqlAuth($t,$nodeUnionSql))->fieldRaw('"'.$t.'" as mold,sum('.(in_array($t,['sell','sre','ice'])?'actual - money':'total').') as calc')->group(['mold'])->buildSql();
|
||||||
|
}
|
||||||
|
}
|
||||||
$nodeUnion=implode(' UNION ALL ',$nodeUnion);
|
$nodeUnion=implode(' UNION ALL ',$nodeUnion);
|
||||||
$stats=DB::query('SELECT * FROM ('.$nodeUnion.') as nodcloud');
|
$stats=DB::query('SELECT * FROM ('.$nodeUnion.') as nodcloud');
|
||||||
$calc=[];
|
$calc=[];
|
||||||
|
foreach ($tab as $t) {
|
||||||
|
if(!in_array($t,['vend','vre'])){
|
||||||
|
$find=search($stats)->where([['mold','=',$t]])->find();
|
||||||
|
if(empty($find)){
|
||||||
|
$calc[$t]=0;
|
||||||
|
}else{
|
||||||
|
$calc[$t]=$find['calc'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
$balance=math()->chain($calc['sell'])->sub($calc['sre'])->sub($calc['imy'])->add($calc['ice'])->done();
|
$balance=math()->chain($calc['sell'])->sub($calc['sre'])->sub($calc['imy'])->add($calc['ice'])->done();
|
||||||
array_unshift($node,['key'=>$vo['id'].'_'.'0','bill'=>'期初余额','balance'=>$balance]);
|
array_unshift($node,['key'=>$vo['id'].'_'.'0','bill'=>'期初余额','balance'=>$balance]);
|
||||||
foreach ($node as $nodeKey=>$nodeVo) {
|
foreach ($node as $nodeKey=>$nodeVo) {
|
||||||
//跳过期初
|
//跳过期初
|
||||||
if(!empty($nodeKey)){
|
if(!empty($nodeKey)){
|
||||||
$node[$nodeKey]['key']=$vo['id'].'_'.$nodeVo['id'].'_'.$nodeVo['mold'];
|
$node[$nodeKey]['key']=$vo['id'].'_'.$nodeVo['id'].'_'.$nodeVo['mold'];
|
||||||
$node[$nodeKey]['bill']=['sell'=>'销售单','sre'=>'销售退货单','imy'=>'收款单','ice'=>'其它收入单'][$nodeVo['mold']];
|
$node[$nodeKey]['bill']=['sell'=>'销售单','sre'=>'销售退货单','vend'=>'零售单','vre'=>'零售退货单','imy'=>'收款单','ice'=>'其它收入单'][$nodeVo['mold']];
|
||||||
if($nodeVo['mold']=='sell'){
|
if($nodeVo['mold']=='sell'){
|
||||||
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->done();
|
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->done();
|
||||||
$node[$nodeKey]['pia']=0;
|
$node[$nodeKey]['pia']=0;
|
||||||
}else if($nodeVo['mold']=='sre'){
|
}else if($nodeVo['mold']=='sre'){
|
||||||
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->mul(-1)->done();
|
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->mul(-1)->done();
|
||||||
$node[$nodeKey]['pia']=0;
|
$node[$nodeKey]['pia']=0;
|
||||||
|
}else if($nodeVo['mold']=='vend'){
|
||||||
|
$node[$nodeKey]['cw']=0;
|
||||||
|
$node[$nodeKey]['pia']=0;
|
||||||
|
}else if($nodeVo['mold']=='vre'){
|
||||||
|
$node[$nodeKey]['cw']=0;
|
||||||
|
$node[$nodeKey]['pia']=0;
|
||||||
}else if($nodeVo['mold']=='imy'){
|
}else if($nodeVo['mold']=='imy'){
|
||||||
$node[$nodeKey]['cw']=0;
|
$node[$nodeKey]['cw']=0;
|
||||||
$node[$nodeKey]['pia']=$nodeVo['total'];
|
$node[$nodeKey]['pia']=$nodeVo['total'];
|
||||||
@ -472,23 +492,42 @@ class Crt extends Acl{
|
|||||||
['time','<',existFull($input,['startTime'])?strtotime($input['startTime']):0]
|
['time','<',existFull($input,['startTime'])?strtotime($input['startTime']):0]
|
||||||
];
|
];
|
||||||
$nodeUnionSql=frameScope($nodeUnionSql);
|
$nodeUnionSql=frameScope($nodeUnionSql);
|
||||||
|
foreach ($tab as $t) {
|
||||||
|
if(!in_array($t,['vend','vre'])){
|
||||||
|
$nodeUnion[]=Db::name($t)->where(sqlAuth($t,$nodeUnionSql))->fieldRaw('"'.$t.'" as mold,sum('.(in_array($t,['sell','sre','ice'])?'actual - money':'total').') as calc')->group(['mold'])->buildSql();
|
||||||
|
}
|
||||||
|
}
|
||||||
$nodeUnion=implode(' UNION ALL ',$nodeUnion);
|
$nodeUnion=implode(' UNION ALL ',$nodeUnion);
|
||||||
$stats=DB::query('SELECT * FROM ('.$nodeUnion.') as nodcloud');
|
$stats=DB::query('SELECT * FROM ('.$nodeUnion.') as nodcloud');
|
||||||
$calc=[];
|
$calc=[];
|
||||||
|
foreach ($tab as $t) {
|
||||||
|
if(!in_array($t,['vend','vre'])){
|
||||||
|
$find=search($stats)->where([['mold','=',$t]])->find();
|
||||||
|
if(empty($find)){
|
||||||
|
$calc[$t]=0;
|
||||||
|
}else{
|
||||||
|
$calc[$t]=$find['calc'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
$balance=math()->chain($calc['sell'])->sub($calc['sre'])->sub($calc['imy'])->add($calc['ice'])->done();
|
$balance=math()->chain($calc['sell'])->sub($calc['sre'])->sub($calc['imy'])->add($calc['ice'])->done();
|
||||||
array_unshift($node,['bill'=>'期初余额','balance'=>$balance]);
|
array_unshift($node,['bill'=>'期初余额','balance'=>$balance]);
|
||||||
foreach ($node as $nodeKey=>$nodeVo) {
|
foreach ($node as $nodeKey=>$nodeVo) {
|
||||||
//跳过期初
|
//跳过期初
|
||||||
if(!empty($nodeKey)){
|
if(!empty($nodeKey)){
|
||||||
$node[$nodeKey]['bill']=['sell'=>'销售单','sre'=>'销售退货单','imy'=>'收款单','ice'=>'其它收入单'][$nodeVo['mold']];
|
$node[$nodeKey]['bill']=['sell'=>'销售单','sre'=>'销售退货单','vend'=>'零售单','vre'=>'零售退货单','imy'=>'收款单','ice'=>'其它收入单'][$nodeVo['mold']];
|
||||||
if($nodeVo['mold']=='sell'){
|
if($nodeVo['mold']=='sell'){
|
||||||
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->done();
|
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->done();
|
||||||
$node[$nodeKey]['pia']=0;
|
$node[$nodeKey]['pia']=0;
|
||||||
}else if($nodeVo['mold']=='sre'){
|
}else if($nodeVo['mold']=='sre'){
|
||||||
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->mul(-1)->done();
|
$node[$nodeKey]['cw']=math()->chain($nodeVo['actual'])->sub($nodeVo['money'])->mul(-1)->done();
|
||||||
$node[$nodeKey]['pia']=0;
|
$node[$nodeKey]['pia']=0;
|
||||||
|
}else if($nodeVo['mold']=='vend'){
|
||||||
|
$node[$nodeKey]['cw']=0;
|
||||||
|
$node[$nodeKey]['pia']=0;
|
||||||
|
}else if($nodeVo['mold']=='vre'){
|
||||||
|
$node[$nodeKey]['cw']=0;
|
||||||
|
$node[$nodeKey]['pia']=0;
|
||||||
}else if($nodeVo['mold']=='imy'){
|
}else if($nodeVo['mold']=='imy'){
|
||||||
$node[$nodeKey]['cw']=0;
|
$node[$nodeKey]['cw']=0;
|
||||||
$node[$nodeKey]['pia']=$nodeVo['total'];
|
$node[$nodeKey]['pia']=$nodeVo['total'];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user