销售合同管理系统 - 合同设计与详情 API 文档
销售合同管理系统 API 文档
1. 合同设计
/**
* 合同设计
* @param $contractModel
* @return mixed
*/
public static function contractProcessing($contractModel)
{
//合同设计内容
$contractDesign = ContractDesign::find()->where(['id'=>$contractModel->contract_design_id])->one();
$contractModel->contract_design_id = $contractDesign->name;
//合同状态
$contractModel->status = Contract::$getStatus[$contractModel->status];
//合同类型
$contractModel->contract_type_id = ContractType::$getType[$contractModel->contract_type_id];
//合同负责人
$contractModel->manager_id = Manager::getNames($contractModel->manager_id);
//客户
$contractModel->customer_id = Customer::getName($contractModel->customer_id);
//创建人
$contractModel->create_id = CrmEmployee::getName($contractModel->create_id);
//修改人
$contractModel->update_id = CrmEmployee::getName($contractModel->update_id);
//合同费用
$contractModel->cost_amount = ContractCost::getCost($contractModel->contract_id);
//合同产品
$contractProduct = ContractProduct::getProduct($contractModel->contract_id);
$productNames = array();
if(!empty($contractProduct)) {
foreach($contractProduct as $value) {
$productNames[] = $value['product_name'];
}
}
$contractModel->product_name = implode(',',$productNames);
return $contractModel;
}
2. 合同附件
/**
* 合同附件
* @param $contractId
* @return array
*/
public static function getAttachment($contractId)
{
$query = ContractAttachment::find()->where(['contract_id'=>$contractId]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
return $dataProvider;
}
3. 合同费用
/**
* 合同费用
* @param $contractId
* @return array
*/
public static function getCost($contractId)
{
$query = ContractCost::find()->where(['contract_id'=>$contractId]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
return $dataProvider;
}
4. 合同产品
/**
* 合同产品
* @param $contractId
* @return array
*/
public static function getProduct($contractId)
{
$query = ContractProduct::find()->where(['contract_id'=>$contractId]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
return $dataProvider;
}
5. 合同详情
/**
* 合同详情页
* @param $id
* @return array
*/
public static function getContractInfo($id)
{
$contractModel = self::find()->where(['contract_id'=>$id])->one();
//合同详情处理
$contractModel = self::contractProcessing($contractModel);
//合同附件
$contractAttachment = self::getAttachment($id);
//合同费用
$contractCost = self::getCost($id);
//合同产品
$contractProduct = self::getProduct($id);
$contractInfo = array(
'contractModel' => $contractModel,
'contractAttachment' => $contractAttachment,
'contractCost' => $contractCost,
'contractProduct' => $contractProduct
);
return $contractInfo;
}
6. 销售合同添加费用
/**
* 销售合同添加费用
* @param $contractId
* @param $costAmount
* @param $costType
* @param $remark
* @param $ownerId
* @param $createId
* @param $updateId
*/
public static function addCost($contractId,$costAmount,$costType,$remark,$ownerId,$createId,$updateId)
{
$contractCostModel = new ContractCost();
$contractCostModel->contract_id = $contractId;
$contractCostModel->cost_price = $costAmount;
$contractCostModel->cost_type = $costType;
$contractCostModel->remark = $remark;
$contractCostModel->create_by = $createId;
$contractCostModel->create_at = time();
$contractCostModel->update_by = $updateId;
$contractCostModel->update_at = time();
$contractCostModel->owner_id = $ownerId;
$contractCostModel->save();
}
7. 销售合同添加产品
/**
* 销售合同添加产品
* @param $contractId
* @param $productId
* @param $productName
* @param $num
* @param $price
* @param $subtotal
* @param $tax
* @param $taxTotal
* @param $ownerId
* @param $createId
* @param $updateId
*/
public static function addProduct($contractId,$productId,$productName,$num,$price,$subtotal,$tax,$taxTotal,$ownerId,$createId,$updateId)
{
$contractProductModel = new ContractProduct();
$contractProductModel->contract_id = $contractId;
$contractProductModel->product_id = $productId;
$contractProductModel->product_name = $productName;
$contractProductModel->num = $num;
$contractProductModel->price = $price;
$contractProductModel->subtotal = $subtotal;
$contractProductModel->tax = $tax;
$contractProductModel->tax_total = $taxTotal;
$contractProductModel->create_by = $createId;
$contractProductModel->create_at = time();
$contractProductModel->update_by = $updateId;
$contractProductModel->update_at = time();
$contractProductModel->owner_id = $ownerId;
$contractProductModel->save();
}
8. 销售合同添加附件
/**
* 销售合同添加附件
* @param $contractId
* @param $attachmentId
* @param $attachmentName
* @param $ownerId
* @param $createId
* @param $updateId
*/
public static function addAttachment($contractId,$attachmentId,$attachmentName,$ownerId,$createId,$updateId)
{
$contractAttachmentModel = new ContractAttachment();
$contractAttachmentModel->contract_id = $contractId;
$contractAttachmentModel->attachment_id = $attachmentId;
$contractAttachmentModel->attachment_name = $attachmentName;
$contractAttachmentModel->create_by = $createId;
$contractAttachmentModel->create_at = time();
$contractAttachmentModel->update_by = $updateId;
$contractAttachmentModel->update_at = time();
$contractAttachmentModel->owner_id = $ownerId;
$contractAttachmentModel->save();
}
9. 销售合同修改费用
/**
* 销售合同修改费用
* @param $id
* @param $costAmount
* @param $costType
* @param $remark
* @param $updateId
*/
public static function updateCost($id,$costAmount,$costType,$remark,$updateId)
{
$contractCostModel = ContractCost::find()->where(['id'=>$id])->one();
$contractCostModel->cost_price = $costAmount;
$contractCostModel->cost_type = $costType;
$contractCostModel->remark = $remark;
$contractCostModel->update_by = $updateId;
$contractCostModel->update_at = time();
$contractCostModel->save();
}
10. 销售合同修改产品
/**
* 销售合同修改产品
* @param $id
* @param $productId
* @param $productName
* @param $num
* @param $price
* @param $subtotal
* @param $tax
* @param $taxTotal
* @param $updateId
*/
public static function updateProduct($id,$productId,$productName,$num,$price,$subtotal,$tax,$taxTotal,$updateId)
{
$contractProductModel = ContractProduct::find()->where(['id'=>$id])->one();
$contractProductModel->product_id = $productId;
$contractProductModel->product_name = $productName;
$contractProductModel->num = $num;
$contractProductModel->price = $price;
$contractProductModel->subtotal = $subtotal;
$contractProductModel->tax = $tax;
$contractProductModel->tax_total = $taxTotal;
$contractProductModel->update_by = $updateId;
$contractProductModel->update_at = time();
$contractProductModel->save();
}
11. 销售合同修改附件
/**
* 销售合同修改附件
* @param $id
* @param $attachmentId
* @param $attachmentName
* @param $updateId
*/
public static function updateAttachment($id,$attachmentId,$attachmentName,$updateId)
{
$contractAttachmentModel = ContractAttachment::find()->where(['id'=>$id])->one();
$contractAttachmentModel->attachment_id = $attachmentId;
$contractAttachmentModel->attachment_name = $attachmentName;
$contractAttachmentModel->update_by = $updateId;
$contractAttachmentModel->update_at = time();
$contractAttachmentModel->save();
}
12. 销售合同删除费用
/**
* 销售合同删除费用
* @param $id
*/
public static function deleteCost($id)
{
ContractCost::findOne($id)->delete();
}
13. 销售合同删除产品
/**
* 销售合同删除产品
* @param $id
*/
public static function deleteProduct($id)
{
ContractProduct::findOne($id)->delete();
}
14. 销售合同删除附件
/**
* 销售合同删除附件
* @param $id
*/
public static function deleteAttachment($id)
{
ContractAttachment::findOne($id)->delete();
}
15. 获取合同费用列表
/**
* 获取合同费用列表
* @param $contractId
* @return array
*/
public static function getCostList($contractId)
{
$contractCost = self::getCost($contractId);
$costList = array();
if(!empty($contractCost['models'])) {
foreach($contractCost['models'] as $value) {
$costList[] = array(
'id' => $value->id,
'cost_price' => $value->cost_price,
'cost_type' => $value->cost_type,
'remark' => $value->remark,
'create_by' => $value->create_by,
'create_at' => $value->create_at,
'update_by' => $value->update_by,
'update_at' => $value->update_at
);
}
}
return $costList;
}
16. 获取合同产品列表
/**
* 获取合同产品列表
* @param $contractId
* @return array
*/
public static function getProductList($contractId)
{
$contractProduct = self::getProduct($contractId);
$productList = array();
if(!empty($contractProduct['models'])) {
foreach($contractProduct['models'] as $value) {
$productList[] = array(
'id' => $value->id,
'product_id' => $value->product_id,
'product_name' => $value->product_name,
'num' => $value->num,
'price' => $value->price,
'subtotal' => $value->subtotal,
'tax' => $value->tax,
'tax_total' => $value->tax_total,
'create_by' => $value->create_by,
'create_at' => $value->create_at,
'update_by' => $value->update_by,
'update_at' => $value->update_at
);
}
}
return $productList;
}
17. 获取合同附件列表
/**
* 获取合同附件列表
* @param $contractId
* @return array
*/
public static function getAttachmentList($contractId)
{
$contractAttachment = self::getAttachment($contractId);
$attachmentList = array();
if(!empty($contractAttachment['models'])) {
foreach($contractAttachment['models'] as $value) {
$attachmentList[] = array(
'id' => $value->id,
'attachment_id' => $value->attachment_id,
'attachment_name' => $value->attachment_name,
'create_by' => $value->create_by,
'create_at' => $value->create_at,
'update_by' => $value->update_by,
'update_at' => $value->update_at
);
}
}
return $attachmentList;
}
原文地址: https://www.cveoy.top/t/topic/llZ2 著作权归作者所有。请勿转载和采集!