172 lines
5.0 KiB
PHP
172 lines
5.0 KiB
PHP
<?php
|
|
|
|
class flow_custractClassModel extends flowModel
|
|
{
|
|
public $typearr,$typesarr,$statearr,$dtobj,$crmobj,$goodmobj;
|
|
|
|
public function initModel(){
|
|
$this->typearr = array('收款合同','付款合同');
|
|
$this->typesarr = array('收','付');
|
|
$this->statearr = c('array')->strtoarray('待生效|blue,生效中|green,已过期|#888888');
|
|
$this->dtobj = c('date');
|
|
$this->crmobj = m('crm');
|
|
$this->goodmobj = m('goodm');
|
|
|
|
$this->wherejoin['custfina'] = 'htid';
|
|
$this->wherejoin['custfinb'] = 'htid';
|
|
}
|
|
|
|
//作废或删除时
|
|
protected function flowzuofeibill($sm)
|
|
{
|
|
m('goodm')->update('`custractid`=0', "`custractid`='".$this->id."'");//销售单取消关联合同
|
|
|
|
|
|
|
|
$xiaoid = (int)arrvalue($this->rs,'xiaoid','0');
|
|
}
|
|
|
|
public function flowrsreplace($rs, $lx=0){
|
|
$type = $rs['type'];
|
|
$rs['type'] = $this->typearr[$type];
|
|
$statetext = '';
|
|
$dt = $this->rock->date;
|
|
$htstatus = 0;
|
|
if($rs['startdt']>$dt){
|
|
$statetext='待生效';
|
|
}else if($rs['startdt']<=$dt && $rs['enddt']>=$dt){
|
|
$jg = $this->dtobj->datediff('d', $dt, $rs['enddt']);
|
|
$statetext='<font color=green>生效中</font><br><font color=#888888>'.$jg.'天过期</font>';
|
|
if($jg==0)$statetext='<font color=green>今日到期</font>';
|
|
$htstatus = 1;
|
|
}else if($rs['enddt']<$dt){
|
|
$statetext='<font color=#888888>已过期</font>';
|
|
$rs['ishui'] = 1;
|
|
$htstatus = 2;
|
|
}
|
|
$rs['statetext'] = $statetext;
|
|
$nrss = $this->crmobj->ractmoney($rs);
|
|
$ispay = $nrss[0];
|
|
$moneys = $nrss[1];
|
|
$dsmoney = '';
|
|
$ts = $this->typesarr[$type];
|
|
if($ispay==1){
|
|
$dsmoney = '<font color=green>已全部'.$ts.'款</font>';
|
|
}else{
|
|
$dsmoney = '待'.$ts.'<font color=#ff6600>'.$moneys.'</font>';
|
|
}
|
|
if(isset($rs['xiaoid']) && $rs['xiaoid']>0){
|
|
$xiaors = $this->goodmobj->getone("`id`='".$rs['xiaoid']."' and `status`<>5");
|
|
if($xiaors){
|
|
if($lx==1){
|
|
$dsmoney.=',销售单:<a href="'.$this->getxiangurl('custxiao',$rs['xiaoid'],'auto').'">'.$xiaors['num'].'</a>';
|
|
}else{
|
|
$dsmoney.=',销售单:<br>'.$xiaors['num'].'';
|
|
}
|
|
}else{
|
|
$this->update('`xiaoid`=0', $rs['id']);
|
|
}
|
|
}
|
|
$rs['moneys'] = $dsmoney;
|
|
$rs['htstatus'] = $htstatus;
|
|
return $rs;
|
|
}
|
|
|
|
protected function flowbillwhere($uid, $lx)
|
|
{
|
|
|
|
$month = $this->rock->post('dt');
|
|
$where = '';
|
|
if($month!=''){
|
|
$where =" and `signdt` like '$month%'";
|
|
}
|
|
|
|
|
|
return array(
|
|
'where' => $where,
|
|
'order' => '`optdt` desc',
|
|
//'orlikefields' => 'custname'
|
|
);
|
|
}
|
|
|
|
protected function flowoptmenu($ors, $arrs)
|
|
{
|
|
//创建待收付款单
|
|
if($ors['num']=='cjdaishou'){
|
|
$moneys = m('crm')->getmoneys($this->rs['id']);
|
|
$money = $this->rs['money'] - $moneys;
|
|
if($money > 0){
|
|
$arr['htid'] = $this->rs['id'];
|
|
$arr['htnum'] = $this->rs['num'];
|
|
$arr['uid'] = $this->rs['uid'];
|
|
$arr['custid'] = $this->rs['custid'];
|
|
$arr['custname']= $this->rs['custname'];
|
|
$arr['dt'] = $this->rock->date;
|
|
$arr['optdt'] = $this->rock->now;
|
|
$arr['createdt']= $this->rock->now;
|
|
$arr['optname'] = $this->adminname;
|
|
$arr['createname']= $this->adminname;
|
|
$arr['createid'] = $this->adminid;
|
|
//$arr['optid'] = $this->adminid;
|
|
$arr['type'] = $this->rs['type'];
|
|
$arr['explain'] = $arrs['sm'];
|
|
$arr['money'] = $money;
|
|
$newid = m('custfina')->insert($arr);
|
|
|
|
if($this->rs['type']=='0'){
|
|
m('flow')->submit('custfina', $newid, '提交');
|
|
}else{
|
|
m('flow')->submit('custfinb', $newid, '提交');
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 客户合同到期提醒
|
|
*/
|
|
public function custractdaoqi()
|
|
{
|
|
$dt = $this->rock->date;
|
|
$rows = $this->getall("status=1 and `enddt` is not null and `enddt`>='$dt'",'uid,num,custname,enddt','`uid`');
|
|
$txlist = m('option')->getval('crmtodo','0,3,7,15,30');//提醒的时间
|
|
$txarr = explode(',', $txlist);
|
|
$dtobj = c('date');
|
|
$txrows = array();
|
|
foreach($rows as $k=>$rs){
|
|
$jg = $dtobj->datediff('d', $dt, $rs['enddt']);
|
|
$uid= $rs['uid'];
|
|
if(in_array($jg, $txarr)){
|
|
$strs = ''.$jg.'天后('.$rs['enddt'].')';
|
|
if($jg==1)$strs='明天';
|
|
if($jg==0)$strs='今天';
|
|
if(!isset($txrows[$uid]))$txrows[$uid]='';
|
|
$txrows[$uid] .= '客户['.$rs['custname'].']的[合同:'.$rs['num'].']将在'.$strs.'到期;';
|
|
}
|
|
}
|
|
foreach($txrows as $uid=>$cont){
|
|
$this->push($uid, '客户,CRM', $cont, '客户合同到期提醒');
|
|
}
|
|
}
|
|
|
|
//对外的详情页
|
|
public function flowopenxiang($da, $xiangdata)
|
|
{
|
|
$zdarr = array('num','custname','type','fenlei','signdt','money','startdt','enddt','explain');
|
|
$slsts = array();
|
|
foreach($xiangdata as $k=>$rs){
|
|
if(in_array($rs['fields'], $zdarr)){
|
|
$slsts[] = $rs;
|
|
}
|
|
}
|
|
//相关文件
|
|
$filedata = array();
|
|
$htfileid = arrvalue($da,'htfileid');
|
|
if($htfileid){
|
|
$filedata = m('file')->getall('id in('.$htfileid.')','id,filename,filesizecn,fileext');
|
|
}
|
|
return array('xiangdata'=>$slsts,'filedata'=>$filedata);
|
|
}
|
|
} |