0
点赞
收藏
分享

微信扫一扫

同步金蝶生产订单-靳宇灵

boomwu 2022-12-19 阅读 54

<?php

namespace app\admin\controller\product;

use app\common\controller\Backend;
use redis;
use think\Db;
/**

  • 生产订单管理

  • @icon fa fa-circle-o
    */
    class Order extends Backend
    {
    /**
  • Order模型对象
  • @var \app\admin\model\Order
    */

protected $noNeedLogin = ['insertneworder'];
protected $noNeedRight = ['insertneworder'];
protected $model = null;

protected $login = array('金蝶产品唯一标识','超级管理员','密码',2052);
protected $cloudUrl = '​http://金蝶IP/k3cloud/';

public function _initialize()
{
parent::_initialize();
$this->model = new \app\admin\model\Order;
$this->view->assign("statusList", $this->model->getStatusList());
$redis = new \redis\RedisPackage();
}

/**

  • 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
  • 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
  • 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
    */

/**

  • 初始化订单
    */
    public function initorder()
    {
    $redis = new \redis\RedisPackage();
    $cookie_jar = tempnam('./tmp','CloudSession');//保存登录后的session
    this->login);
    /返回登录信息如果 LoginResultType == 1 说明登录成功/
    this->cloudUrl,cookie_jar),true);
    /判断成功之后在进行其他操作/
    if($result['LoginResultType'] == 1){
    /在这里面进行金蝶报表的生成操作/
    //查看生产订单
    $data_order = "
    {
    'data':{
    'FormId':'PRD_MO',
    'FieldKeys':'FBillNo,FMaterialId,FMaterialName,FQty,FUnitId,F_GXJHBH,FConveyDate',
    'FilterString':'( FStatus=3)',
    'TopRowCount':9999,
    'StartRow':0,
    'Limit':9999
    }
    }
    ";
    this->cloudUrl,cookie_jar),true);
    //获取流水号缓存数组
    k=0;data_order);$k++){
    $redis_order_lsh[] = k][5];
    }
    //设置
    redis_order_lsh));
    for(i<sizeof(i++){
    $FBillNo = i][0];
    $materialid = i][1];

$materialcode = Db::table('tt_product_machine')->where('materialid',$materialid)->value('materialcode');
if($materialcode==NULL){
$materialcode = Db::table('tt_bd_material')->where('FMATERIALID',$materialid)->value('FNUMBER');
}
$materialname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('materialname');
if($materialname==NULL){
$materialname = Db::table('tt_bd_material_l')->where('FMATERIALID',$materialid)->value('FNAME');
}

$FSPECIFICATION = Db::table('tt_product_machine')->where('materialid',$materialid)->value('FSPECIFICATION');
if($FSPECIFICATION==NULL){
$FSPECIFICATION = Db::table('tt_bd_material_l')->where('FMATERIALID',$materialid)->value('FSPECIFICATION');
}

$drawingpersonid = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingpersonid');
$drawingpersonname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingpersonname');
$drawingname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingname');
$drawingfile = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingfile');

$modelpersonid = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelpersonid');
$modelpersonname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelpersonname');
$modelzptfile = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelzptfile');
$modelfile = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelfile');

$lsh = $data_order[$i][5];
$sl = $data_order[$i][3];
$FUnitId =
$data = [
'ordernum' => $FBillNo,
'lsh' => $lsh,
'materialid' => $materialid,
'sl' => $sl,
'materialcode' => $materialcode,
'materialname' => $materialname,
'FSPECIFICATION' => $FSPECIFICATION,
'FUnitId' => $data_order[$i][4],
'drawingpersonid' => $drawingpersonid,
'drawingpersonname' => $drawingpersonname,
'drawingname' => $drawingname,
'drawingfile' => $drawingfile,
'modelpersonid' => $drawingpersonid,
'modelpersonname' => $drawingpersonname,
'modelzptfile' => $drawingname,
'modelfile' => $drawingfile,
];
Db::table('tt_product_order')->insert($data);
}
$this->success('初始化完成!','');

}
}
/**

  • 插入新订单
    */
    public function insertneworder()
    {
    $redis = new \redis\RedisPackage();
    $cookie_jar = tempnam('./tmp','CloudSession');//保存登录后的session
    this->login);
    /返回登录信息如果 LoginResultType == 1 说明登录成功/
    this->cloudUrl,cookie_jar),true);
    /判断成功之后在进行其他操作/
    if($result['LoginResultType'] == 1){
    /在这里面进行金蝶报表的生成操作/
    //查看生产订单
    $data_order = "
    {
    'data':{
    'FormId':'PRD_MO',
    'FieldKeys':'FBillNo,FMaterialId,FMaterialName,FQty,FUnitId,F_GXJHBH,FConveyDate',
    'FilterString':'( FStatus=3)',
    'TopRowCount':9999,
    'StartRow':0,
    'Limit':9999
    }
    }
    ";
    this->cloudUrl,cookie_jar),true);
    redis::get('order_redis'));
    //获取流水号缓存数组
    k=0;data_order);$k++){
    $redis_order_lsh[] = k][5];
    }
    //获取流水号缓存数组
    redis::get('order_redis'));
    for(i<sizeof(i++){
    //判断此流水号是否已存在:不存在插入新订单
    if(!in_array(i][5],$order_redis)){
    $order_redis[] = i][5];
    $FBillNo = i][0];
    $materialid = i][1];

$materialcode = Db::table('tt_product_machine')->where('materialid',$materialid)->value('materialcode');
if($materialcode==NULL){
$materialcode = Db::table('tt_bd_material')->where('FMATERIALID',$materialid)->value('FNUMBER');
}
$materialname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('materialname');
if($materialname==NULL){
$materialname = Db::table('tt_bd_material_l')->where('FMATERIALID',$materialid)->value('FNAME');
}

$FSPECIFICATION = Db::table('tt_product_machine')->where('materialid',$materialid)->value('FSPECIFICATION');
if($FSPECIFICATION==NULL){
$FSPECIFICATION = Db::table('tt_bd_material_l')->where('FMATERIALID',$materialid)->value('FSPECIFICATION');
}

$drawingpersonid = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingpersonid');
$drawingpersonname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingpersonname');
$drawingname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingname');
$drawingfile = Db::table('tt_product_machine')->where('materialid',$materialid)->value('drawingfile');

$modelpersonid = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelpersonid');
$modelpersonname = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelpersonname');
$modelzptfile = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelzptfile');
$modelfile = Db::table('tt_product_machine')->where('materialid',$materialid)->value('modelfile');

$lsh = $data_order[$i][5];
$sl = $data_order[$i][3];
$FUnitId =
$data = [
'ordernum' => $FBillNo,
'lsh' => $lsh,
'materialid' => $materialid,
'sl' => $sl,
'materialcode' => $materialcode,
'materialname' => $materialname,
'FSPECIFICATION' => $FSPECIFICATION,
'FUnitId' => $data_order[$i][4],
'drawingpersonid' => $drawingpersonid,
'drawingpersonname' => $drawingpersonname,
'drawingname' => $drawingname,
'drawingfile' => $drawingfile,
'modelpersonid' => $drawingpersonid,
'modelpersonname' => $drawingpersonname,
'modelzptfile' => $drawingname,
'modelfile' => $drawingfile,
];
Db::table('tt_product_order')->insert($data);
$redis::set('order_redis',json_encode($order_redis));
}
}

// $this->success('同步ERP订单完成!','');

}
}
/**

  • 查看
    */
    public function index()
    {
    //当前是否为关联查询
    $this->relationSearch = false;
    //设置过滤方法
    this->request->isAjax()) {
    //如果发送的来源是Selectpage,则转发到Selectpage
    if ($this->request->request('keyField')) {
    return where, $sort, $order, $offset, $limit) = $this->buildparams();

$list = $this->model

->where($where)
->order($sort, $order)
->paginate($limit);

foreach ($list as $row) {
$row->visible(['id','ordernum','lsh','materialid','materialcode','materialname','FSPECIFICATION','sl','drawingpersonid','drawingpersonname','drawingname','drawingfile','tracecontent','okimgfiles','modelname','customercode','remarkcontent','modelpersonid','modelpersonname','modelzptfile','modelfile','gykpersonid','gykpersonname','gykname','gykfile','equipmentid','equipmentname','programpersonid','programpersonname','equipprogramfile','status']);

}

$result = array("total" => $list->total(), "rows" => $list->items());

return json($result);

}
return $this->view->fetch();
}

}

举报

相关推荐

0 条评论