<?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();
}
}