1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006 |
- <?php
- /**
- * 为防后期调用u9接口复用问题这里决定重新封装apiyy的接口
- */
- class Model_apiyyv1 extends Lin_Model
- {
- public $base_url = "http://139.129.33.38";
- function __construct(){
- parent::__construct();
- $this->load->database();
- $this->table = 'apiyy';
- $this->load_table('apiyy');
- $this->load->_model("Model_logic_ding","logic_ding");
- }
- /**
- * 生成u9的调出单
- */
- public function dcdCrate($params,$token){
- $list = $this->dcDataTrans($params);
- $url = '/U9C/webapi/TransferOut/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 提交调出单
- */
- public function dcdSubmit($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //调出单单号
- ]
- ];
- $url = '/U9C/webapi/TransferOut/Submit';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 审核调出单
- */
- public function dcdApprove($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //调出单单号
- ]
- ];
- $url = '/U9C/webapi/TransferOut/Approve';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 生成u9的销售单
- * 只是财务记录 不牵扯到库存
- */
- public function xsdCreate($params,$token){
- $list = $this->xsdDataTrans($params);
- $url = '/U9C/webapi/SO/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 工厂外销销售单
- */
- public function gcxsdWaiXiaoCreate($params,$token){
- $list = $this->xsdDataTrans($params);
- foreach($list as $k=>$v){
- $list[$k]['DescFlexField']["PrivateDescSeg3"] = $params['number'];
- $list[$k]['DescFlexField']["PrivateDescSeg6"] = 'MJ00199';
- $list[$k]['DescFlexField']["PubDescSeg6"] = 'MJ00199';
- $list[$k]['DescFlexField']["PubDescSeg3"] = $params['number'];
-
- // foreach($v['SOLineDTOList'] as $kk=>$vv){
- // $list[$k]['SOLineDTOList'][$kk]['DescFlexField']['PrivateDescSeg3'] = $params['number'];
- // $list[$k]['SOLineDTOList'][$kk]['DescFlexField']['PubDescSeg3'] = $params['number'];
- // }
- }
- $url = '/U9C/webapi/SO/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 销售单状态查询 看看是否是审核状态
- */
- public function xsdCxByNo($xcd_no,$token){
- $list["SqlString"] = $list['SqlString'] = "select a.DocNo,a.Status,b.DocLineNo,c.DocSubLineNo,c.ShipPlanQtyPU,c.ItemInfo_ItemCode from SM_SO as a left join SM_SOLine as b on a.id = b.SO left join SM_SOShipline as c on c.SOLine = b.id where a.DocNo = '".$xcd_no."' order by a.CreatedOn desc ";;
- $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 生成u9的销售单
- * 只是财务记录 不牵扯到库存
- */
- public function xsdTwoCreate($params,$token){
- $list = $this->xsdTwoDataTrans($params);
- $url = '/U9C/webapi/SO/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 销售单提交
- */
- public function xsdSubmit($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/SO/Submit';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 销售单审核
- */
- public function xsdApprove($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/SO/Approve';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 根据调出单的单号做关联查询 然后匹配存储调入单的审核
- */
- public function drdcxBydcd($dcd_no,$token){
- // $list["SqlString"] = "select DescFlexField_PubDescSeg4 ,DocNo from InvDoc_TransferIn where DescFlexField_PubDescSeg4 = '".$dcd_no."'";
- $list["SqlString"] = "select a.docno,b.srcdocinfo_srcdocno from InvDoc_TransferIn as a left join InvDoc_TransInLine as b on a.id=b.TransferIn where srcdocinfo_srcdocno='".$dcd_no."'";
- $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- //销售单按照多单号查询
- public function xscsByordernos($xs_no_list,$token){
- $str = '';
- foreach($xs_no_list as $k=>$v){
- if($k==0){
- $str .="'".$v."'";
- }else{
- $str .=",'".$v."'";
- }
-
- }
- //$list['SqlString'] = "select a.DocNo,b.DocLineNo,c.DocSubLineNo,c.ShipPlanQtyPU from SM_SO as a left join SM_SOLine as b on a.id = b.SO left join SM_SOShipline as c on c.SOLine = b.id where a.DocNo in (".$str.") order by a.CreatedOn desc ";
- $list['SqlString'] = "select a.DocNo,b.DocLineNo,c.DocSubLineNo,c.ShipPlanQtyPU,c.ItemInfo_ItemCode from SM_SO as a left join SM_SOLine as b on a.id = b.SO left join SM_SOShipline as c on c.SOLine = b.id where a.DocNo in (".$str.") order by a.CreatedOn desc ";
- $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 调入单提交
- */
- public function drdSubmit($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/TransferIn/Submit';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 调入单审核
- */
- public function drdApprove($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/TransferIn/Approve';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 生成u9的采购单
- * 只是财务记录 不牵扯到库存
- * 目前采用的是无源的
- */
- public function cgdCreate($params,$token){
- $list = $this->cgdDataTrans($params);
- $url = '/U9C/webapi/PurchaseOrder/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 采购单提交
- */
- public function cgdSubmit($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/PurchaseOrder/Submit';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 采购单审核
- */
- public function cgdApprove($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/PurchaseOrder/Approve';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 生成u9的标准出货单
- * 会造成库存变动
- * 使用的是有源的就是销售单
- */
- public function bzchCreate($params,$token){
- $list = $this->yybzchDataTrans($params);
- $url = '/U9C/webapi/Ship/CreateBySrcDoc';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
-
- /**
- * 标准出货单提交并审核
- */
- public function bzchSubmitAndApprove($params,$token){
- $list = [
- [
- 'Code'=>$params['number'] //单号
- ]
- ];
- $url = '/U9C/webapi/Ship/SubmitAndApprove';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 生成u9的标准收获单
- * 会造成库存变动
- * 这个也是有源的是采购单 不过估计用不上 先不写
- */
- public function bzshCreate($params,$token){
-
- }
- /**
- * 生成成品入库单
- */
- public function cprkCreate($params,$token){
- $list = $this->cprkDataTrans($params);
- $url = '/U9C/webapi/RcvRptDoc/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 成品入库单提交
- */
- public function cprkApprove($params,$token){
- $url = '/U9C/webapi/RcvRptDoc/Approve';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($params));
- return array($res,$params);
- }
- /**
- * 成品入库查询
- */
- public function cprkCx($params,$token){
- $url = '/U9C/webapi/RcvRptDoc/Query';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($params));
- return array($res,$params);
- }
- /**
- * 成品入库单审核
- */
- //根据erp的单号查询调出单是够存在
- public function xcDcdByOtherId($dcd_no,$token){
- $list["SqlString"] = "select DescFlexField_PubDescSeg4,DocNo from InvDoc_TransferOut where DescFlexField_PubDescSeg4 = '".$dcd_no."'";
- $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 调出单的二次验证
- * 避免因为其他组织使用相同的erp单号导致的冲突 不能创建成品库的数据
- */
- public function xcDcdByOtherIdCheck($dcd_no,$token){
- $list["SqlString"] = "select a.DescFlexField_PubDescSeg4,a.DocNo,b.TransOutwh ,wh_out.code from InvDoc_TransferOut as a left join InvDoc_TransOutLine as b on a.id = b.TransferOut left join CBO_Wh wh_out on b.TransOutWh=wh_out.id where a.DescFlexField_PubDescSeg4 = '".$dcd_no."' ";
- $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
-
- /**
- * 查询料品
- */
- public function cxLp($params,$token){
- $list = [];
- foreach($params as $k=>$v){
- $list[] =[
- "ItemMaster"=>[
- "Code"=>$v['jm']
- ]
- ];
- }
- $url = '/U9C/webapi/ItemMaster/Query';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- /**
- * 创建料品
- */
- public function cjLp($params,$token){
- $list = $this->cjlpDataTrans($params);
- $url = '/U9C/webapi/ItemMaster/Create';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- $this->logic_ding->sendToDing("创建料品监听".json_encode($params,JSON_UNESCAPED_UNICODE)."||".json_encode($res,JSON_UNESCAPED_UNICODE)."||".$url);
- return array($res,$list);
- }
- /**
- * 同步通知
- */
- public function tbLp($params,$token){
- $list = [];
- foreach($params['list'] as $k=>$v){
- $list[] = [
- "EntityFullName"=>'UFIDA.U9.CBO.SCM.Item.ItemMaster',//实体全名
- "EntityCode"=>$v['jm'],
- "FromOrgCode"=>$params['owner_code'],//创建组织编码
- "ToOrgCodeList"=>[140],//要同步的组织
- "OtherID"=>'',
- "ContextDTO"=>[
- "EntCode"=>$params['ztcode'],//企业编码
- "OrgCode"=>$params['owner_code'],//组织编码
- "UserCode"=>'xk',//用户编码
- "UserPwd"=>'',//用户密码
- ]
- ];
- }
-
-
- $url = '/U9C/webapi/ControlObjSend/ControlObjSend';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- //由于逻辑修改造成 需要查询调出单是审核完毕
- public function xdlsCxDcd($dcd_no,$token){
- $list["SqlString"] = "select a.DocNo,a.Status,a.DescFlexField_PubDescSeg2,a.DescFlexField_PubDescSeg4,a.DescFlexField_PubDescSeg5,b.ItemInfo_ItemCode,b.CostUOMQty,b.CostPrice,b.ItemInfo_ItemName from InvDoc_TransferOut as a left join InvDoc_TransOutLine as b on a.id = b.TransferOut where a.Status = 2 and a.DocNo = '".$dcd_no."'";
- //$list["SqlString"] = "select a.*,b.* from InvDoc_TransferOut as a left join InvDoc_TransOutLine as b on a.id = b.TransferOut where a.Status = 2 and a.DocNo = '".$dcd_no."'";
- $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
- $url = $this->base_url.$url;
- $header[] = "Content-Type: application/json";
- $header[] = "Token: ".$token;
- $res = $this->sendReq($url,$header,json_encode($list));
- return array($res,$list);
- }
- public function sendReq($url,$header,$list){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $list);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- $res = curl_exec($ch);
- $res = json_decode($res,true);
- return $res;
- }
- //调出单的数据转化
- public function dcDataTrans($params){
- $trans_out_lines = [];
- foreach($params['list'] as $k=>$v){
- $trans_out_lines[] = [
- "ItemInfo" =>[
- "ItemCode"=>$v['jm'],//用友的简码
- ],
- "TransOutWh_Code"=>$params['dcckbm'],//调出仓库编码
- "StoreUOM_Code"=>"条",//调出库存单位Code 如条
- "StoreUOMQty"=>$v['dcsl'],//调出数量
- "StorageType"=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
- "LotInfo_Code"=>"",//批号Code 不知道有啥用 暂时留空吧
- "TransOutOwnerOrg_Code"=>$params['owner_code'],//货主组织Code
- "TransOutSubLines"=>[
- [
- 'TransInWh_Code'=>$params['drckbm']."",//调入仓库编码
- 'StorageType'=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
- 'TransInOrg_Code'=>$params['drzz_code']."",//调入组织Code
- 'TransOutOwnerOrg_Code'=>$params['owner_code']."",//货主组织Code
- 'StoreUOMQty'=>$v['dcsl'],
- ]
- ],
- "TransOutBins"=>[
- [
- 'BinInfo_Code'=>'',//库位Code
- 'StoreUOMQty'=>$v['dcsl']// 分配数量
- ]
- ]
- ,"DescFlexField"=>[
- "PubDescSeg2"=>$params['yyid'],//来源店铺 这种需要在店铺表中有
- "PubDescSeg4"=>$params['number'],//订单编码
- "PubDescSeg5"=>$params['shipremarks'],//订单的备注
- ],
- ];
-
- }
- $data = [];
- $data[] = [
- "OtherID"=>$params['number'],//第三方数据唯一性标识,此字段需要返回
- "TransOutDocType_Code"=> $params['TransOutDocType_Code'],//单据类型在u9中设置的 详情到u9界面查看 TransOut001 组织间调拨 TransOut002 仓库转储 TransOut004 委外加工发料 TransOut005 委外加工退料
- "BusinessDate"=>date("Y-m-d",$params['time']),//日期
- "TransferDirection"=>$params['TransferDirection'],//调拨方向 0:普通;1:退货
- "TransOutLines"=>$trans_out_lines,
- "DescFlexField"=>[
- "PubDescSeg2"=>$params['yyid'],//来源店铺 这种需要在店铺表中有
- "PubDescSeg4"=>$params['number'],//订单编码
- "PubDescSeg5"=>$params['shipremarks'],//订单的备注
- ],
- ];
- return $data;
- }
- //销售单的数据转化
- public function xsdDataTrans($params){
- $so_lines = [];
- foreach($params['list'] as $k=>$v){
-
- $so_lines[] = [
- 'TU'=>"条",//销售单位编码
- 'ItemCode'=>$v['jm'],//用友的编码
- 'PU'=>'条',//计价单位编码
- "ShipTogetherFlag"=>-1,//成套收发货标志
- 'DocLineNo'=>$k+1,
- 'CustomerItemNo'=>'',//客户料号
- 'CustomerItemName'=>'',//客户品名
- 'FinallyPriceTC'=>$v['final_price'],//最终价 单价
- 'PubDescSeg10'=>'',
- 'SOShiplineDTOList'=>[ //销售订单计划行
- [
- 'IsMRPRequire', //MRP需求
- 'DemandType',//需求分类
- 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
- ]
- ],
- 'RecTerm'=>'',//目前找不到了
- 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
- 'UsableQtyOfInv'=>0,//文档中未查询到
- 'PubDescSeg3'=>'',
- 'PubDescSeg4'=>'',
- 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
- 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
- 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
- 'DescFlexField'=>[
- 'PubDescSeg3'=>'',
- ],
- 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
- 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
- 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
- 'Memo'=>'',//备注
- ];
- }
- $data = [];
- $data[] = [
- "OrderBy"=>$params['yyid'],//用友的商户的id
- "OtherID"=>$params['number'],//第三方传入ID
- "SaleDepartment"=>"",//部门编码 可为空
- "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
- "DocNo"=>'',//单据类型编码
- "AC"=>"C001",//人民币
- "TC"=>"C001",//人民币
- "ShipToSite"=>"",//收货位置编码
- "PubDescSeg2"=>"",
- "SOSrcType"=>0,
- "Seller"=>"",//业务员编码 可为空
- "ConfirmTerm"=>"",//但是现有文档没有
- "Memo"=>$params['number'],//备注
- "ShipRule"=>"",//但是现有文档没有
- "SOLineDTOList"=>$so_lines,
- ];
- return $data;
- }
-
- public function xsdTwoDataTrans($params){
- $so_lines = [];
- foreach($params['list'] as $k=>$v){
-
- $so_lines[] = [
- 'TU'=>"条",//销售单位编码
- 'ItemCode'=>$v['jm'],//用友的编码
- 'PU'=>'条',//计价单位编码
- "ShipTogetherFlag"=>-1,//成套收发货标志
- 'DocLineNo'=>$k+1,
- 'CustomerItemNo'=>'',//客户料号
- 'CustomerItemName'=>'',//客户品名
- 'FinallyPriceTC'=>$v['final_price'],//最终价 单价
- 'PubDescSeg10'=>'',
- 'SOShiplineDTOList'=>[ //销售订单计划行
- [
- 'IsMRPRequire', //MRP需求
- 'DemandType',//需求分类
- 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
- ]
- ],
- 'RecTerm'=>'',//目前找不到了
- 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
- 'UsableQtyOfInv'=>0,//文档中未查询到
- 'PubDescSeg3'=>'',
- 'PubDescSeg4'=>'',
- 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
- 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
- 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
- 'DescFlexField'=>[
- 'PubDescSeg3'=>'',
- ],
- 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
- 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
- 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
- 'Memo'=>'',//备注
- ];
- }
- $data = [];
- $data[] = [
- "OrderBy"=>$params['yyid'],//用友的商户的id
- "OtherID"=>$params['number'],//第三方传入ID
- "SaleDepartment"=>"",//部门编码 可为空
- "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
- "DocNo"=>'',//单据类型编码
- "AC"=>"C009",//美金
- "TC"=>"C009",//美金
- "ShipToSite"=>"",//收货位置编码
- "PubDescSeg2"=>"",
- "SOSrcType"=>0,
- "Seller"=>"",//业务员编码 可为空
- "ConfirmTerm"=>"",//但是现有文档没有
- "Memo"=>$params['number'],//备注
- "ShipRule"=>"",//但是现有文档没有
- "SOLineDTOList"=>$so_lines,
- ];
- return $data;
- }
- public function cgdDataTrans($params){
- $po_lines = [];
- foreach($params['list'] as $k=>$v){
- $po_lines[] = [
- //"POLineID"=>0,//采购订单行ID
- 'ItemInfo'=>[
- 'm_code'=>$v['jm'],//用友料号
- ],
- "ReqQtyTU"=>$v['dcsl'],//需求数量
- "ReqQtyTBU"=>0,//确认数量
- "SupplierConfirmQtyTU"=>$v['dcsl'],//确认数量
- "SupplierConfirmQtyTBU"=>0,//确认数量
- "FinallyPriceTC"=>$v['final_price'],//最终价格
- "IsPresent"=>false,//赠品
-
- ];
-
- }
- $data = [];
- $data[] = [
- 'DocNo'=>"",
- "DocumentType"=>'PO01',//PO01 标准采购默认值
- 'BizType'=>0,//业务类型:AR_Invoice 销售发票 0 (默认值),PM005 标准采购 316 ,PM055 全程委外采购 326 ,PM050 工序外协采购 325
- "BusinessDate"=>date("Y-m-d H:i:s"),
- 'OtherID'=>$params['number'],
- 'DescFlexField'=>(object)[
- ],
- 'TC'=>'C001',
- 'AC'=>'C001',
- "Memo"=>$params['number'],
- 'Supplier'=>[
- 'Code'=>$params['gys'],//供应商编码 到时间找下
- ],
- 'IsPriceIncludeTax'=>false,
- "POLineDTOList"=>$po_lines
- ];
-
- return $data;
- }
- public function yybzchDataTrans($params){
- $data = [];
- foreach($params['list'] as $k=>$v ){
-
- $data[] = [
- "SrcDocType"=>1,//售订单 Value:1 出货计划 Value:2 销售合同 Value:3 预出货单 Value:4
- "SrcDocNo"=>$params['xs_no'],//来源单号
- "SrcDocLineNo"=>$v['doclineno'],
- "SrcDocSubLineNo"=>$v['docsublineno'],
- //"WH"=>'',//存储地点ID 找不到id 那就找个WHcode
- 'WHCode'=>$params['drckbm'],//存储地点code 这里的参数为啥这么诡异 是因为 不想在很设置参数了 都按照调出的写法组件数据了
- "CurShipQty1"=>$v['dcsl'],//本次出货量
- "SOIsConsign"=>false,// 是否补货
- "OptionalSplitTerm"=>[],
- "DescFlexField"=>(object)[],
- "LineDescFlexField"=>(object)[],
- //"ShipDate",//出货单日期(该属性可为空,且无默认值)
- //"ShipConfirmDate"//出货确认日期(该属性可为空,且无默认值)
- "DocStatus"=>0,//单据状态:0开立;1审核中;2已审核,可用值:0,1,2,3
- ];
- }
- return $data;
- }
-
- //销售单的数据转化
- public function cjlpDataTrans($params){
- $list = [];
- foreach($params['list'] as $k=>$v){
- $list[] = [
- "Code"=>$v['jm'],//料号
- "Code1"=>"",//参考料号1
- "Name"=>$v['zh'],//品名
- "MainItemCategory"=>[
- "Code"=>$v['bm']
- ],
- "Org"=>[
- "Code"=>$params['ztcode']
- ],
- "OtherID"=>1,
- "PurchaseInfo"=>[
- "BudgetControlType"=>-1,//预算控制方式
- "PriceSource"=>2,//取价来源
- "InquireRule"=>-1,//询价策略
- 'InquireFixedPeriod'=>0,//间隔期
- "StatisticPeriod"=>-1,//配额统计期间
- "IsPUTradePathModify"=>true,//采购贸易路径可改
- "IsPURtnTradePathModify"=>true,//采购退货贸易路径可改
- ],
- "InventoryUOM"=>[
- "Code"=>'条'
- ],
- "InventorySecondUOM"=>[
- "Code"=>''
- ],
- "IsDualUOM"=>false,
- "InventoryInfo"=>[
- "InventoryPlanningMethod"=>4,//规划方法
- "InventoryPlanTime"=>-1,//
- "TurnOverRate"=>1,//
- "ReserveMode"=>-1,//
- "SupplyMethod"=>-1,//
- ],
- "DescFlexField"=>[
- "PrivateDescSeg1"=>"01",
- "PubDescSeg5"=>"01"
- ],
- "Description"=>$v['title'],
- "ItemForm"=>2001,//料品形态
- "ItemFormAttribute"=>10,//料品形态属性
- "IsInventoryEnable"=>true,//可库存交易
- "IsPurchaseEnable"=>true,//可采购
- "IsSalesEnable"=>true,//可采购
- "IsBuildEnable"=>true,//可生产
- "IsOutsideOperationEnable"=>true,//可委外
- "IsMRPEnable"=>true,//可MRP
- "IsBOMEnable"=>true,//可BOM
- "IsCostCalByGrade"=>false,//等级影响成本
- "IsCostCalByPotency"=>false,//成分影响成本
- "IsGradeControl"=>false,//等级控制
- "StandardGrade"=>-1,//标准等级
- "StartGrade"=>-1,//起始等级
- "EndGrade"=>-1,//结束等级
- "IsPotencyControl"=>false,//成分控制
- "StandardPotency"=>-1,//标准成分
- "StartPotency"=>-1,//起始成分
- "EndPotency"=>-1,// 结束成分
- ];
-
- }
- return $list;
- }
-
- public function cprkDataTrans($params){
- $list = [];
- foreach($params['list'] as $k=>$v){
- $tmp = [
- "MOKey"=>[
- "OtherID"=>"",
- "ID"=>0,
- "DocNo"=>$params['rkcode'],//需要填写入库 rkcode 传递
- "OrgID"=>0,
- "IsSuccess"=>1,
- "ErrorInfo"=>"",
- "CUD"=>0,
- ],
- "Wh"=>[
- "Code"=>$params['rev_wh_code'],//存储地点信息 传递
- ],
- "LineNum"=>$k,//行号
- "StorageType"=>4,//
- "Grade"=>0,//等级
- "Element"=>0,
- "CompleteQty"=>$v['sl'],//申报数量(生产单位)
- "CompleteQtyByWhUOM"=>$v['sl'],//申报数量(库存单位)
- "CompleteQtyByCostUOM"=>$v['sl'],//申报数量(成本单位)
- "CUD"=>0,
- "OwnerOrg"=>[
- "Code"=>$params['org_code'],//货主组织编码
- ],
- "OutputType"=>0,//产出类型
- "Item"=>[
- "Code"=>$v['jm'],//编码 其实是用友的料号
- ],
- "ScrapQty"=>0,//报废数量
- "ScrapQtyByCostUOM"=>0,//报废数量(成本单位)
- "PUToPBURate"=>0,//生产主-生产副
- "CUToCBURate"=>0,//成本主-成本副
- "PBUToCBURate"=>0,//生产-成本
- "SourceRcvRptLine"=>[ //来源入库单行
- "RcvRptDocDTO"=>[ //入库单DTO
- "ID"=>0, //唯一标示
- "DocType"=>[ //单据类型
- 'Code'=>0,
- ],
- "BusinessDate"=>'',//业务日期
- "DocNo"=>"",//单号
- "SourceDoc"=>[ //来源单据
- "MOSrcDocType"=>0,//来源单据类型
- "SrcDocOrg"=>0,//
- "SrcDoc"=>[ //来源单据
- "ID"=>$params['rkid'], //单据ID 徐凯传递的是$data['rkid']
- "EntityType"=>'UFIDA.U9.MO.MO.MO',//单据类型
- ],
- "SrcDocVer"=>'',//单据版本
- "SrcDocLine"=>[
- "ID"=>0,
- "EntityType"=>'',
- ],
- "SrcDocSubline"=>[
- "ID"=>0,
- "EntityType"=>'',
- ],
- "SrcDocNo"=>$params['rkid'],//单据号 徐凯传递了$data['rkid']
- "SrcDocLineNo"=>'',//行号
- "SrcDocSublineNo"=>10+$k,
- "SrcDocID"=>$params['rkid'],//来源单据ID 徐凯传递了$data['rkid']
- "SrcDocLineID"=>0,
- "SrcDocType"=>'',
-
- ],
- "DocDate"=>date("Y-m-d",time()),
- "RcvOrg"=>[ //入库组织
- "Code"=>$params['rec_code'],//入库组织编码 需填写
- ],
- "Org"=>[
- "Code"=>$params['org_code'],//组织编码 需填写
- ],
- "Direction"=>0,
- "DocState"=>0,
- "RcvDep"=>[
- "ID"=>0,
- "Code"=>'',
- "Name"=>''
- ],
- "RcvPerson"=>[
- "ID"=>0,
- "Code"=>'',
- "Name"=>''
- ],
- "OtherID"=>"",
- ],
- "ProductUOM"=>[
- "Code"=>'条',
- ],
- "ProductBaseUOM"=>[
- "Code"=>'条',
- ],
- "StoreUOM"=>[
- "Code"=>'条',
- ],
- "StoreBaseUOM"=>[
- "Code"=>'条',
- ],
- "CoUOM"=>[
- "Code"=>'条',
- ],
- "CostBaseUOM"=>[
- "Code"=>'条',
- ],
- "OperationState"=>0,
- "OutputType"=>0,
- "Item"=>[
- "Code"=>$v['jm'],//料号 徐凯传递的是$data['jm']
- ],
- "OwnerOrg"=>[
- "Code"=>$params['org_code'],//货主组织编码 需填写
- ],
- "PUToPBURate"=>0,
- "SUToSBURate"=>0,
- "PBUToSBURate"=>0,
- "CUToCBURate"=>0,
- "PBUToCBURate"=>0,
- "Grade"=>0,
- "Element"=>0,
- "Wh"=>[
- "Code"=>$params['rev_wh_code'],//存储地点信息 传递
- ],
- "StorageType"=>4,
- "RcvValiddate"=>0,
- "RcvQtyByProductUOM"=>0,
- "RcvQtyByWhUOM"=>0,
- "RcvQtyByCostUom"=>0,
- "RcvOrg"=>[ //入库组织
- "Code"=>001,//编码
- ],
- "PerformingOrg"=>[ //执行组织
- "Code"=>001 //编码
- ],
- "CUD"=>0,
- "LineNum"=>0,
- "MO"=>[ //生产订单
- "Code"=>$params['rkcode'],//徐凯写了 rkcode
- ],
- "ID"=>0,
- ]
- ];
- $list[] = $tmp;
- }
- $res = [
- "DocNo"=>"",//
- "CompleteList"=>$list,
- "DescFlexField"=>[
- "PubDescSeg2"=>$params['yyid'],//kh
- "PubDescSeg4"=>$params['number'],//订单编码
- "PubDescSeg5"=>$params['shipremarks'],//备注
- ],
- "DocType"=>[
- "Code"=>0,
- ],
- "BusinessDate"=>(date("Y-m-d",time())),
- "OtherID"=>'',//订单编码
- "Direction"=>0,
- "IsOffLine"=>1, //是否撤线报
- "DocState"=>0,
- "Remark"=>time(),
- "RcvPerson"=>[
- "Code"=>"ERP"
- ]
- ];
- if(!empty($params['yyid'])){
- $res['DescFlexField']['PubDescSeg2'] = $params['yyid'];//备注-客户
- }
-
- return [$res];
- }
- public function scdDataTrans($params){
-
- $list = [];
- foreach($params['list'] as $k=>$v){
- $info = [
- "OtherID"=>"",
- "Org"=>[
- "Code"=>$params['org_code']//生产组织编码
- ],
- "ItemMaster"=>[
- "Code"=>$v['jm'],//料号
- ],
- "DocType"=>[
- "Code"=>$params['djhlx']//单据类型
- ],
- "Department"=>[
- "Code"=>$params['scbm_code']//生产部门编码
- ],
- "ExpandLevel"=>0, //展开阶数
- "AlternateType"=>0,//生产目的
- "RoutingAlternate"=>0,//工艺生产目的
- "RoutingEffeDate"=>'',//工艺有效日期
- "ProductQty"=>$v['sl'],
- "ProductUOM"=>[
- "Code"=>'条'
- ],
- "StartDate"=>date('Y-m-d',$params['time']),//计划开工日期
- "CompleteDate"=>date('Y-m-d',$params['time']),//计划完工日期
- "MOSourceDocType"=>0,//来源单据类型
- "OwnerOrg"=>[
- "Code"=>$params['owner_org_code']//货主组织编码
- ],
- "SCVWh"=>[
- "Code"=>$v['drck']//完工存储地点编码
- ],
- "DemandCode"=>-1,//需求分类
- "IsFirmed"=>false,//锁定标志
- "IsCapacityLimit"=>false,//有限产能
- "Priority"=>0,// 优先级
- "CUD"=>0,//增删改类型
- "BOMType"=>0,//BOM类型
- "Description"=>$params['title'],//备注
- "MRPQty"=>0,//MRP数量
- "MOID"=>0,//生产订单ID
- "PBUToSBURate"=>0,//生产-库存
- "PBUToCBURate"=>0,//生产-成本
- "DescFlexField"=>[
-
- "PubDescSeg4"=>$params['title'],//erp单号
- "PubDescSeg5"=>$params['shipremarks'],//erp备注
- ]
- ];
- if(!empty($params['yyid'])){
- $info['DescFlexField']['PubDescSeg2'] = $params['yyid'];//备注-客户
- }
- $list[] = $info;
- }
- return $list;
- }
-
- }
|