|
- <?php
- /**
- * Created by PhpStorm.
- * User: nizongfeng
- * Date: 2021/10/27
- * Time: 13:36
- */
-
- namespace app\admin\dao;
-
-
- use app\admin\command\Util;
- use app\admin\model\CfItem;
- use app\admin\model\OrderItem;
- use app\admin\model\Purchase;
- use think\Exception;
-
- class OrderItemDao
- {
-
-
- /**
- * 新增、更新记录
- * @param $param
- * @param $orderId
- * @return array|string
- */
- public function modify($param, $orderId)
- {
- $itemInfo = $this->getItemInfo($param['item_id']);
- if (!$itemInfo['flag']){
- return $itemInfo;
- }
- try{
- //设置入参
- $data = [
- "order_id" => $orderId,
- //附加项目
- "item_id"=>$itemInfo['data']['id'],
- "item_type"=>$itemInfo['data']['item_type'],
- "item_name"=>$itemInfo['data']['item_name'],
- "item_memo"=>$itemInfo['data']['item_memo'],
- "item_unit"=>$itemInfo['data']['item_unit'],
- "area_name" => $itemInfo['data']['area_name'],
- "province_name" => $itemInfo['data']['province_name'],
- "city_name" => $itemInfo['data']['city_name'],
- "detail_address" => $itemInfo['data']['detail_address'],
- //其他
- "check_in_date" => $param['check_in_date'],
- "confirm_status" => $param['confirm_status'],
- "confirm_no" => $param['confirm_no'],
- "customer_name" => $param['customer_name'],
- "customer_comments" => empty($param['customer_comments'])?"":$param['customer_comments'],
- "trade_order_number" => $param['trade_order_number'],
- "purchase_user_id" => $param['purchase_user_id'],
- "purchase_user" => $param['purchase_user'],
- "supplier_id" => $param['supplier_id'],
- "supplier_name" => $param['supplier_name'],
- "del_flag"=>0
- ];
- $model = new OrderItem();
- if (empty($param['id'])) {
- $data["create_id"]= $param['create_id'];
- $data["group_id"]= $param['group_id'];
- $id = $model->insertGetId($data);
- return Util::returnArrSu("",$id);
- }else {
- $model->save($data,["id"=>$param['id']]);
- return Util::returnArrSu("",$param['id']);
- }
- }catch (Exception $e){
- return Util::returnArrEr("更新附加项目子订单失败:".$e->getMessage());
- }
-
- }
-
- /**
- * 获取附加项目信息
- * @param $id
- * @return array
- */
- public function getItemInfo($id)
- {
- try {
- $model = new CfItem();
- $result = $model->where(["id" => $id])->find();
- if ($result == null) {
- return Util::returnArrEr("获取附加项目信息失败:" . $id);
- }
- return Util::returnArrSu("",$result->toArray());
- } catch (Exception $e) {
- return Util::returnArrEr("获取附加项目信息失败:" . $id);
- }
- }
-
- /**
- * 设置子订单金额
- * @param int $subOrderId
- * @return array
- */
- public function setSubOrderAmount( int $subOrderId) {
- try{
- $purchaseModel = new Purchase();
- $purchaseList = $purchaseModel->where(["order_detail_id"=>$subOrderId,"del_flag"=>0,"prod_type"=>"item"])->select()->toArray();
- $cost = 0;
- $amount = 0;
- $count = 0;
- foreach ($purchaseList as $purchase) {
- $cost += $purchase['total_cost'];
- $amount += $purchase['total_price'];
- $count += $purchase['count'];
- }
- //更新数据
- $oderItem = new OrderItem();
- $oderItem->save(["total_price"=>$amount,"total_cost"=>$cost,"prod_num"=>$count,"profit"=>$amount-$cost],["id"=>$subOrderId]);
- return Util::returnArrSu();
- }catch (Exception $e){
- return Util::returnArrEr("更新附加项目订单子表金额失败:".$subOrderId);
- }
-
- }
-
- /**
- * 获取详情
- * @param $id
- * @return array
- */
- public function getInfoById($id) {
- try {
- $model = new OrderItem();
- $result = $model->where(["id" => $id])->find();
- if ($result == null) {
- return Util::returnArrEr("获取子订单信息失败:" . $id);
- }
- return Util::returnArrSu("", $result->toArray());
- } catch (Exception $e) {
- return Util::returnArrEr("获取子订单信息失败:" . $id);
- }
- }
-
- /**
- * 删除记录
- * @param $order_id
- */
- public function delete($order_id){
- $model = new OrderItem();
- $model->save(["del_flag"=>1],["order_id"=>$order_id]);
- }
-
- /**
- * 删除记录
- * @param $id
- */
- public function delById($id) {
- $model = new OrderItem();
- $model->save(["del_flag"=>1],["id"=>$id]);
- }
-
- /**
- * 获取附加项目子订单列表
- * @param $orderId
- * @return array
- */
- public function getListByOrderId($orderId){
- $subOrderModel = new OrderItem();
- try {
- $subOrderList = $subOrderModel->where(["order_id" => $orderId, "del_flag" => 0])->select()->toArray();
- if (null == $subOrderList) {
- return Util::returnArrSu("",[]);
- }
- return Util::returnArrSu("", $subOrderList);
- }catch (Exception $e) {
- return Util::returnArrEr("获取附加项目订单列表异常".$e->getMessage());
- }
- }
-
-
- /**=====================================**/
-
- /**
- * 更新付款单下的状态
- * @param $paymentOrderId
- * @param $status
- * @return array
- */
- public function setPaymentOrderStatus($paymentOrderId, $status){
- try{
- $model = new OrderItem();
- $model->save(['payment_order_status'=>$status],['payment_order_id'=>$paymentOrderId]);
- return Util::returnArrSu();
- }catch (Exception $e){
- return Util::returnArrEr("更新收款单下的附加项目订单状态失败".$e->getMessage());
- }
- }
-
- /**
- * 添加附加项目订单到付款单下
- * @param $paymentOrder
- * @param $orderIds
- * @return array
- */
- public function addSubOrderInPayment($paymentOrder,$orderIds){
- try{
- $data = [
- "payment_order_id"=>$paymentOrder['id'],
- "payment_order_status"=>$paymentOrder['status'],
- "payment_order_name"=>$paymentOrder['name']
- ];
- $model = new OrderItem();
- $model->save($data,["id"=>["in",$orderIds]]);
- return Util::returnArrSu();
- }catch (Exception $e){
- return Util::returnArrEr("添加附加项目订单到付款单下失败".$e->getMessage());
- }
- }
-
- /**
- * 将附加项目订单从付款单下移除
- * @param $orderIds
- * @return array
- */
- public function removeSubOrderFormPayment($orderIds){
- try{
- $data = [
- "payment_order_id"=>0,
- "payment_order_status"=>0,
- "payment_order_name"=>""
- ];
- $model = new OrderItem();
- $model->save($data,["id"=>["in",$orderIds]]);
- return Util::returnArrSu();
- }catch (Exception $e){
- return Util::returnArrEr("将附加项目订单从付款单下移除失败".$e->getMessage());
- }
- }
-
- /**
- * 删除采购单
- * @param $id
- * @return array
- */
- public function delPaymentOrder($id){
- try{
- $data = [
- "payment_order_id"=>0,
- "payment_order_status"=>0,
- "payment_order_name"=>""
- ];
- $model = new OrderItem();
- $model->save($data,["payment_order_id"=>$id]);
- return Util::returnArrSu();
- }catch (Exception $e){
- return Util::returnArrEr("将附加项目订单从付款单下移除失败".$e->getMessage());
- }
- }
-
- /**
- * 获取主订单ID
- * @param $payment_order_id
- * @return array
- */
- public function getOrderMainIdByPayment($payment_order_id){
- $subOrderModel = new OrderItem();
- try {
- $subOrderList = $subOrderModel->where(["payment_order_id" => $payment_order_id, "del_flag" => 0])->select()->toArray();
- if (null == $subOrderList) {
- return [];
- }
- $id = [];
- foreach ($subOrderList as $val){
- $id[] = $val['order_id'];
- }
- return array_unique($id);
- }catch (Exception $e) {
- return [];
- }
- }
-
- /**
- * 获取订单列表
- * @param $orderIds
- * @return array
- */
- public function getOrderListByOrderIds($orderIds){
- $subOrderModel = new OrderItem();
- try {
- $subOrderList = $subOrderModel->where(["order_id" => ["in",$orderIds], "del_flag" => 0])->order("id","DESC")->select()->toArray();
- if (null == $subOrderList) {
- return [];
- }
- return $subOrderList;
- }catch (Exception $e) {
- return [];
- }
- }
-
- public function updatePayOrderName($id, $name) {
- try{
- $data = [
- "payment_order_name"=>$name
- ];
- $model = new OrderItem();
- $model->save($data,["payment_order_id"=>$id]);
- return Util::returnArrSu();
- }catch (Exception $e){
- return Util::returnArrEr("同步名称到订单失败".$e->getMessage());
- }
- }
- }
|