Model_apiyyv1.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677
  1. <?php
  2. /**
  3. * 为防后期调用u9接口复用问题这里决定重新封装apiyy的接口
  4. */
  5. class Model_apiyyv1 extends Lin_Model
  6. {
  7. public $base_url = "http://139.129.33.38";
  8. function __construct(){
  9. parent::__construct();
  10. $this->load->database();
  11. $this->table = 'apiyy';
  12. $this->load_table('apiyy');
  13. }
  14. /**
  15. * 生成u9的调出单
  16. */
  17. public function dcdCrate($params,$token){
  18. $list = $this->dcDataTrans($params);
  19. $url = '/U9C/webapi/TransferOut/Create';
  20. $url = $this->base_url.$url;
  21. $header[] = "Content-Type: application/json";
  22. $header[] = "Token: ".$token;
  23. $res = $this->sendReq($url,$header,json_encode($list));
  24. return array($res,$list);
  25. }
  26. /**
  27. * 提交调出单
  28. */
  29. public function dcdSubmit($params,$token){
  30. $list = [
  31. [
  32. 'Code'=>$params['number'] //调出单单号
  33. ]
  34. ];
  35. $url = '/U9C/webapi/TransferOut/Submit';
  36. $url = $this->base_url.$url;
  37. $header[] = "Content-Type: application/json";
  38. $header[] = "Token: ".$token;
  39. $res = $this->sendReq($url,$header,json_encode($list));
  40. return array($res,$list);
  41. }
  42. /**
  43. * 审核调出单
  44. */
  45. public function dcdApprove($params,$token){
  46. $list = [
  47. [
  48. 'Code'=>$params['number'] //调出单单号
  49. ]
  50. ];
  51. $url = '/U9C/webapi/TransferOut/Approve';
  52. $url = $this->base_url.$url;
  53. $header[] = "Content-Type: application/json";
  54. $header[] = "Token: ".$token;
  55. $res = $this->sendReq($url,$header,json_encode($list));
  56. return array($res,$list);
  57. }
  58. /**
  59. * 生成u9的销售单
  60. * 只是财务记录 不牵扯到库存
  61. */
  62. public function xsdCreate($params,$token){
  63. $list = $this->xsdDataTrans($params);
  64. $url = '/U9C/webapi/SO/Create';
  65. $url = $this->base_url.$url;
  66. $header[] = "Content-Type: application/json";
  67. $header[] = "Token: ".$token;
  68. $res = $this->sendReq($url,$header,json_encode($list));
  69. return array($res,$list);
  70. }
  71. /**
  72. * 生成u9的销售单
  73. * 只是财务记录 不牵扯到库存
  74. */
  75. public function xsdTwoCreate($params,$token){
  76. $list = $this->xsdTwoDataTrans($params);
  77. $url = '/U9C/webapi/SO/Create';
  78. $url = $this->base_url.$url;
  79. $header[] = "Content-Type: application/json";
  80. $header[] = "Token: ".$token;
  81. $res = $this->sendReq($url,$header,json_encode($list));
  82. return array($res,$list);
  83. }
  84. /**
  85. * 销售单提交
  86. */
  87. public function xsdSubmit($params,$token){
  88. $list = [
  89. [
  90. 'Code'=>$params['number'] //单号
  91. ]
  92. ];
  93. $url = '/U9C/webapi/SO/Submit';
  94. $url = $this->base_url.$url;
  95. $header[] = "Content-Type: application/json";
  96. $header[] = "Token: ".$token;
  97. $res = $this->sendReq($url,$header,json_encode($list));
  98. return array($res,$list);
  99. }
  100. /**
  101. * 销售单审核
  102. */
  103. public function xsdApprove($params,$token){
  104. $list = [
  105. [
  106. 'Code'=>$params['number'] //单号
  107. ]
  108. ];
  109. $url = '/U9C/webapi/SO/Approve';
  110. $url = $this->base_url.$url;
  111. $header[] = "Content-Type: application/json";
  112. $header[] = "Token: ".$token;
  113. $res = $this->sendReq($url,$header,json_encode($list));
  114. return array($res,$list);
  115. }
  116. /**
  117. * 根据调出单的单号做关联查询 然后匹配存储调入单的审核
  118. */
  119. public function drdcxBydcd($dcd_no,$token){
  120. // $list["SqlString"] = "select DescFlexField_PubDescSeg4 ,DocNo from InvDoc_TransferIn where DescFlexField_PubDescSeg4 = '".$dcd_no."'";
  121. $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."'";
  122. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  123. $url = $this->base_url.$url;
  124. $header[] = "Content-Type: application/json";
  125. $header[] = "Token: ".$token;
  126. $res = $this->sendReq($url,$header,json_encode($list));
  127. return array($res,$list);
  128. }
  129. public function xscsByordernos($xs_no_list,$token){
  130. $str = '';
  131. foreach($xs_no_list as $k=>$v){
  132. if($k==0){
  133. $str .="'".$v."'";
  134. }else{
  135. $str .=",'".$v."'";
  136. }
  137. }
  138. //$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 ";
  139. $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 ";
  140. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  141. $url = $this->base_url.$url;
  142. $header[] = "Content-Type: application/json";
  143. $header[] = "Token: ".$token;
  144. $res = $this->sendReq($url,$header,json_encode($list));
  145. return array($res,$list);
  146. }
  147. /**
  148. * 调入单提交
  149. */
  150. public function drdSubmit($params,$token){
  151. $list = [
  152. [
  153. 'Code'=>$params['number'] //单号
  154. ]
  155. ];
  156. $url = '/U9C/webapi/TransferIn/Submit';
  157. $url = $this->base_url.$url;
  158. $header[] = "Content-Type: application/json";
  159. $header[] = "Token: ".$token;
  160. $res = $this->sendReq($url,$header,json_encode($list));
  161. return array($res,$list);
  162. }
  163. /**
  164. * 调入单审核
  165. */
  166. public function drdApprove($params,$token){
  167. $list = [
  168. [
  169. 'Code'=>$params['number'] //单号
  170. ]
  171. ];
  172. $url = '/U9C/webapi/TransferIn/Approve';
  173. $url = $this->base_url.$url;
  174. $header[] = "Content-Type: application/json";
  175. $header[] = "Token: ".$token;
  176. $res = $this->sendReq($url,$header,json_encode($list));
  177. return array($res,$list);
  178. }
  179. /**
  180. * 生成u9的采购单
  181. * 只是财务记录 不牵扯到库存
  182. * 目前采用的是无源的
  183. */
  184. public function cgdCreate($params,$token){
  185. $list = $this->cgdDataTrans($params);
  186. $url = '/U9C/webapi/PurchaseOrder/Create';
  187. $url = $this->base_url.$url;
  188. $header[] = "Content-Type: application/json";
  189. $header[] = "Token: ".$token;
  190. $res = $this->sendReq($url,$header,json_encode($list));
  191. return array($res,$list);
  192. }
  193. /**
  194. * 采购单提交
  195. */
  196. public function cgdSubmit($params,$token){
  197. $list = [
  198. [
  199. 'Code'=>$params['number'] //单号
  200. ]
  201. ];
  202. $url = '/U9C/webapi/PurchaseOrder/Submit';
  203. $url = $this->base_url.$url;
  204. $header[] = "Content-Type: application/json";
  205. $header[] = "Token: ".$token;
  206. $res = $this->sendReq($url,$header,json_encode($list));
  207. return array($res,$list);
  208. }
  209. /**
  210. * 采购单审核
  211. */
  212. public function cgdApprove($params,$token){
  213. $list = [
  214. [
  215. 'Code'=>$params['number'] //单号
  216. ]
  217. ];
  218. $url = '/U9C/webapi/PurchaseOrder/Approve';
  219. $url = $this->base_url.$url;
  220. $header[] = "Content-Type: application/json";
  221. $header[] = "Token: ".$token;
  222. $res = $this->sendReq($url,$header,json_encode($list));
  223. return array($res,$list);
  224. }
  225. /**
  226. * 生成u9的标准出货单
  227. * 会造成库存变动
  228. * 使用的是有源的就是销售单
  229. */
  230. public function bzchCreate($params,$token){
  231. $list = $this->yybzchDataTrans($params);
  232. $url = '/U9C/webapi/Ship/CreateBySrcDoc';
  233. $url = $this->base_url.$url;
  234. $header[] = "Content-Type: application/json";
  235. $header[] = "Token: ".$token;
  236. $res = $this->sendReq($url,$header,json_encode($list));
  237. return array($res,$list);
  238. }
  239. /**
  240. * 标准出货单提交并审核
  241. */
  242. public function bzchSubmitAndApprove($params,$token){
  243. $list = [
  244. [
  245. 'Code'=>$params['number'] //单号
  246. ]
  247. ];
  248. $url = '/U9C/webapi/Ship/SubmitAndApprove';
  249. $url = $this->base_url.$url;
  250. $header[] = "Content-Type: application/json";
  251. $header[] = "Token: ".$token;
  252. $res = $this->sendReq($url,$header,json_encode($list));
  253. return array($res,$list);
  254. }
  255. /**
  256. * 生成u9的标准收获单
  257. * 会造成库存变动
  258. * 这个也是有源的是采购单 不过估计用不上 先不写
  259. */
  260. public function bzshCreate($params,$token){
  261. }
  262. //根据erp的单号查询调出单是够存在
  263. public function xcDcdByOtherId($dcd_no,$token){
  264. $list["SqlString"] = "select DescFlexField_PubDescSeg4,DocNo from InvDoc_TransferOut where DescFlexField_PubDescSeg4 = '".$dcd_no."'";
  265. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  266. $url = $this->base_url.$url;
  267. $header[] = "Content-Type: application/json";
  268. $header[] = "Token: ".$token;
  269. $res = $this->sendReq($url,$header,json_encode($list));
  270. return array($res,$list);
  271. }
  272. /**
  273. * 查询料品
  274. */
  275. public function cxLp($params,$token){
  276. $list = [];
  277. foreach($params as $k=>$v){
  278. $list[] =[
  279. "ItemMaster"=>[
  280. "Code"=>$v['jm']
  281. ]
  282. ];
  283. }
  284. $url = '/U9C/webapi/ItemMaster/Query';
  285. $url = $this->base_url.$url;
  286. $header[] = "Content-Type: application/json";
  287. $header[] = "Token: ".$token;
  288. $res = $this->sendReq($url,$header,json_encode($list));
  289. return array($res,$list);
  290. }
  291. /**
  292. * 创建料品
  293. */
  294. public function cjLp($params,$token){
  295. $list = $this->cjlpDataTrans($params);
  296. $url = '/U9C/webapi/ItemMaster/Create';
  297. $url = $this->base_url.$url;
  298. $header[] = "Content-Type: application/json";
  299. $header[] = "Token: ".$token;
  300. $res = $this->sendReq($url,$header,json_encode($list));
  301. return array($res,$list);
  302. }
  303. /**
  304. * 同步通知
  305. */
  306. public function tbLp($params,$token){
  307. $list = [];
  308. foreach($params['list'] as $k=>$v){
  309. $list[] = [
  310. "EntityFullName"=>'UFIDA.U9.CBO.SCM.Item.ItemMaster',//实体全名
  311. "EntityCode"=>$v['jm'],
  312. "FromOrgCode"=>$params['owner_code'],//创建组织编码
  313. "ToOrgCodeList"=>[140],//要同步的组织
  314. "OtherID"=>'',
  315. "ContextDTO"=>[
  316. "EntCode"=>$params['ztcode'],//企业编码
  317. "OrgCode"=>$params['owner_code'],//组织编码
  318. "UserCode"=>'xk',//用户编码
  319. "UserPwd"=>'',//用户密码
  320. ]
  321. ];
  322. }
  323. $url = '/U9C/webapi/ControlObjSend/ControlObjSend';
  324. $url = $this->base_url.$url;
  325. $header[] = "Content-Type: application/json";
  326. $header[] = "Token: ".$token;
  327. $res = $this->sendReq($url,$header,json_encode($list));
  328. return array($res,$list);
  329. }
  330. //由于逻辑修改造成 需要查询调出单是审核完毕
  331. public function xdlsCxDcd($dcd_no,$token){
  332. $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."'";
  333. //$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."'";
  334. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  335. $url = $this->base_url.$url;
  336. $header[] = "Content-Type: application/json";
  337. $header[] = "Token: ".$token;
  338. $res = $this->sendReq($url,$header,json_encode($list));
  339. return array($res,$list);
  340. }
  341. public function sendReq($url,$header,$list){
  342. $ch = curl_init();
  343. curl_setopt($ch, CURLOPT_URL, $url);
  344. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  345. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  346. curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE);
  347. curl_setopt($ch, CURLOPT_POST, 1);
  348. curl_setopt($ch, CURLOPT_POSTFIELDS, $list);
  349. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  350. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  351. $res = curl_exec($ch);
  352. $res = json_decode($res,true);
  353. return $res;
  354. }
  355. //调出单的数据转化
  356. public function dcDataTrans($params){
  357. $trans_out_lines = [];
  358. foreach($params['list'] as $k=>$v){
  359. $trans_out_lines[] = [
  360. "ItemInfo" =>[
  361. "ItemCode"=>$v['jm'],//用友的简码
  362. ],
  363. "TransOutWh_Code"=>$params['dcckbm'],//调出仓库编码
  364. "StoreUOM_Code"=>"条",//调出库存单位Code 如条
  365. "StoreUOMQty"=>$v['dcsl'],//调出数量
  366. "StorageType"=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
  367. "LotInfo_Code"=>"",//批号Code 不知道有啥用 暂时留空吧
  368. "TransOutOwnerOrg_Code"=>$params['owner_code'],//货主组织Code
  369. "TransOutSubLines"=>[
  370. [
  371. 'TransInWh_Code'=>$params['drckbm']."",//调入仓库编码
  372. 'StorageType'=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
  373. 'TransInOrg_Code'=>$params['drzz_code']."",//调入组织Code
  374. 'TransOutOwnerOrg_Code'=>$params['owner_code']."",//货主组织Code
  375. 'StoreUOMQty'=>$v['dcsl'],
  376. ]
  377. ],
  378. "TransOutBins"=>[
  379. [
  380. 'BinInfo_Code'=>'',//库位Code
  381. 'StoreUOMQty'=>$v['dcsl']// 分配数量
  382. ]
  383. ]
  384. ,"DescFlexField"=>[
  385. "PubDescSeg2"=>$params['yyid'],//来源店铺 这种需要在店铺表中有
  386. "PubDescSeg4"=>$params['number'],//订单编码
  387. "PubDescSeg5"=>$params['shipremarks'],//订单的备注
  388. ],
  389. ];
  390. }
  391. $data = [];
  392. $data[] = [
  393. "OtherID"=>$params['number'],//第三方数据唯一性标识,此字段需要返回
  394. "TransOutDocType_Code"=> $params['TransOutDocType_Code'],//单据类型在u9中设置的 详情到u9界面查看 TransOut001 组织间调拨 TransOut002 仓库转储 TransOut004 委外加工发料 TransOut005 委外加工退料
  395. "BusinessDate"=>date("Y-m-d",$params['time']),//日期
  396. "TransferDirection"=>$params['TransferDirection'],//调拨方向 0:普通;1:退货
  397. "TransOutLines"=>$trans_out_lines,
  398. "DescFlexField"=>[
  399. "PubDescSeg2"=>$params['yyid'],//来源店铺 这种需要在店铺表中有
  400. "PubDescSeg4"=>$params['number'],//订单编码
  401. "PubDescSeg5"=>$params['shipremarks'],//订单的备注
  402. ],
  403. ];
  404. return $data;
  405. }
  406. //销售单的数据转化
  407. public function xsdDataTrans($params){
  408. $so_lines = [];
  409. foreach($params['list'] as $k=>$v){
  410. $so_lines[] = [
  411. 'TU'=>"条",//销售单位编码
  412. 'ItemCode'=>$v['jm'],//用友的编码
  413. 'PU'=>'条',//计价单位编码
  414. "ShipTogetherFlag"=>-1,//成套收发货标志
  415. 'DocLineNo'=>$k+1,
  416. 'CustomerItemNo'=>'',//客户料号
  417. 'CustomerItemName'=>'',//客户品名
  418. 'FinallyPriceTC'=>$v['final_price'],//最终价 单价
  419. 'PubDescSeg10'=>'',
  420. 'SOShiplineDTOList'=>[ //销售订单计划行
  421. [
  422. 'IsMRPRequire', //MRP需求
  423. 'DemandType',//需求分类
  424. 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
  425. ]
  426. ],
  427. 'RecTerm'=>'',//目前找不到了
  428. 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
  429. 'UsableQtyOfInv'=>0,//文档中未查询到
  430. 'PubDescSeg3'=>'',
  431. 'PubDescSeg4'=>'',
  432. 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
  433. 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
  434. 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
  435. 'DescFlexField'=>[
  436. 'PubDescSeg3'=>'',
  437. ],
  438. 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
  439. 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
  440. 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
  441. 'Memo'=>'',//备注
  442. ];
  443. }
  444. $data = [];
  445. $data[] = [
  446. "OrderBy"=>$params['yyid'],//用友的商户的id
  447. "OtherID"=>$params['number'],//第三方传入ID
  448. "SaleDepartment"=>"",//部门编码 可为空
  449. "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
  450. "DocNo"=>'',//单据类型编码
  451. "AC"=>"C001",//人民币
  452. "TC"=>"C001",//人民币
  453. "ShipToSite"=>"",//收货位置编码
  454. "PubDescSeg2"=>"",
  455. "SOSrcType"=>0,
  456. "Seller"=>"",//业务员编码 可为空
  457. "ConfirmTerm"=>"",//但是现有文档没有
  458. "Memo"=>$params['number'],//备注
  459. "ShipRule"=>"",//但是现有文档没有
  460. "SOLineDTOList"=>$so_lines,
  461. ];
  462. return $data;
  463. }
  464. public function xsdTwoDataTrans($params){
  465. $so_lines = [];
  466. foreach($params['list'] as $k=>$v){
  467. $so_lines[] = [
  468. 'TU'=>"条",//销售单位编码
  469. 'ItemCode'=>$v['jm'],//用友的编码
  470. 'PU'=>'条',//计价单位编码
  471. "ShipTogetherFlag"=>-1,//成套收发货标志
  472. 'DocLineNo'=>$k+1,
  473. 'CustomerItemNo'=>'',//客户料号
  474. 'CustomerItemName'=>'',//客户品名
  475. 'FinallyPriceTC'=>$v['final_price'],//最终价 单价
  476. 'PubDescSeg10'=>'',
  477. 'SOShiplineDTOList'=>[ //销售订单计划行
  478. [
  479. 'IsMRPRequire', //MRP需求
  480. 'DemandType',//需求分类
  481. 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
  482. ]
  483. ],
  484. 'RecTerm'=>'',//目前找不到了
  485. 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
  486. 'UsableQtyOfInv'=>0,//文档中未查询到
  487. 'PubDescSeg3'=>'',
  488. 'PubDescSeg4'=>'',
  489. 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
  490. 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
  491. 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
  492. 'DescFlexField'=>[
  493. 'PubDescSeg3'=>'',
  494. ],
  495. 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
  496. 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
  497. 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
  498. 'Memo'=>'',//备注
  499. ];
  500. }
  501. $data = [];
  502. $data[] = [
  503. "OrderBy"=>$params['yyid'],//用友的商户的id
  504. "OtherID"=>$params['number'],//第三方传入ID
  505. "SaleDepartment"=>"",//部门编码 可为空
  506. "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
  507. "DocNo"=>'',//单据类型编码
  508. "AC"=>"C009",//美金
  509. "TC"=>"C009",//美金
  510. "ShipToSite"=>"",//收货位置编码
  511. "PubDescSeg2"=>"",
  512. "SOSrcType"=>0,
  513. "Seller"=>"",//业务员编码 可为空
  514. "ConfirmTerm"=>"",//但是现有文档没有
  515. "Memo"=>$params['number'],//备注
  516. "ShipRule"=>"",//但是现有文档没有
  517. "SOLineDTOList"=>$so_lines,
  518. ];
  519. return $data;
  520. }
  521. public function cgdDataTrans($params){
  522. $po_lines = [];
  523. foreach($params['list'] as $k=>$v){
  524. $po_lines[] = [
  525. //"POLineID"=>0,//采购订单行ID
  526. 'ItemInfo'=>[
  527. 'm_code'=>$v['jm'],//用友料号
  528. ],
  529. "ReqQtyTU"=>$v['dcsl'],//需求数量
  530. "ReqQtyTBU"=>0,//确认数量
  531. "SupplierConfirmQtyTU"=>$v['dcsl'],//确认数量
  532. "SupplierConfirmQtyTBU"=>0,//确认数量
  533. "FinallyPriceTC"=>$v['final_price'],//最终价格
  534. "IsPresent"=>false,//赠品
  535. ];
  536. }
  537. $data = [];
  538. $data[] = [
  539. 'DocNo'=>"",
  540. "DocumentType"=>'PO01',//PO01 标准采购默认值
  541. 'BizType'=>0,//业务类型:AR_Invoice 销售发票 0 (默认值),PM005 标准采购 316 ,PM055 全程委外采购 326 ,PM050 工序外协采购 325
  542. "BusinessDate"=>date("Y-m-d H:i:s"),
  543. 'OtherID'=>$params['number'],
  544. 'DescFlexField'=>(object)[
  545. ],
  546. 'TC'=>'C001',
  547. 'AC'=>'C001',
  548. "Memo"=>$params['number'],
  549. 'Supplier'=>[
  550. 'Code'=>$params['gys'],//供应商编码 到时间找下
  551. ],
  552. 'IsPriceIncludeTax'=>false,
  553. "POLineDTOList"=>$po_lines
  554. ];
  555. return $data;
  556. }
  557. public function yybzchDataTrans($params){
  558. $data = [];
  559. foreach($params['list'] as $k=>$v ){
  560. $data[] = [
  561. "SrcDocType"=>1,//售订单 Value:1 出货计划 Value:2 销售合同 Value:3 预出货单 Value:4
  562. "SrcDocNo"=>$params['xs_no'],//来源单号
  563. "SrcDocLineNo"=>$v['doclineno'],
  564. "SrcDocSubLineNo"=>$v['docsublineno'],
  565. //"WH"=>'',//存储地点ID 找不到id 那就找个WHcode
  566. 'WHCode'=>$params['drckbm'],//存储地点code 这里的参数为啥这么诡异 是因为 不想在很设置参数了 都按照调出的写法组件数据了
  567. "CurShipQty1"=>$v['dcsl'],//本次出货量
  568. "SOIsConsign"=>false,// 是否补货
  569. "OptionalSplitTerm"=>[],
  570. "DescFlexField"=>(object)[],
  571. "LineDescFlexField"=>(object)[],
  572. //"ShipDate",//出货单日期(该属性可为空,且无默认值)
  573. //"ShipConfirmDate"//出货确认日期(该属性可为空,且无默认值)
  574. "DocStatus"=>0,//单据状态:0开立;1审核中;2已审核,可用值:0,1,2,3
  575. ];
  576. }
  577. return $data;
  578. }
  579. //销售单的数据转化
  580. public function cjlpDataTrans($params){
  581. $list = [];
  582. foreach($params['list'] as $k=>$v){
  583. $list[] = [
  584. "Code"=>$v['jm'],//料号
  585. "Code1"=>"",//参考料号1
  586. "Name"=>$v['zh'],//品名
  587. "MainItemCategory"=>[
  588. "Code"=>$v['bm']
  589. ],
  590. "Org"=>[
  591. "Code"=>$params['ztcode']
  592. ],
  593. "OtherID"=>1,
  594. "PurchaseInfo"=>[
  595. "BudgetControlType"=>-1,//预算控制方式
  596. "PriceSource"=>2,//取价来源
  597. "InquireRule"=>-1,//询价策略
  598. 'InquireFixedPeriod'=>0,//间隔期
  599. "StatisticPeriod"=>-1,//配额统计期间
  600. "IsPUTradePathModify"=>true,//采购贸易路径可改
  601. "IsPURtnTradePathModify"=>true,//采购退货贸易路径可改
  602. ],
  603. "InventoryUOM"=>[
  604. "Code"=>'条'
  605. ],
  606. "InventorySecondUOM"=>[
  607. "Code"=>''
  608. ],
  609. "IsDualUOM"=>false,
  610. "InventoryInfo"=>[
  611. "InventoryPlanningMethod"=>4,//规划方法
  612. "InventoryPlanTime"=>-1,//
  613. "TurnOverRate"=>1,//
  614. "ReserveMode"=>-1,//
  615. "SupplyMethod"=>-1,//
  616. ],
  617. "DescFlexField"=>[
  618. "PrivateDescSeg1"=>"01",
  619. "PubDescSeg5"=>"01"
  620. ],
  621. "Description"=>$v['title'],
  622. "ItemForm"=>2001,//料品形态
  623. "ItemFormAttribute"=>10,//料品形态属性
  624. "IsInventoryEnable"=>true,//可库存交易
  625. "IsPurchaseEnable"=>true,//可采购
  626. "IsSalesEnable"=>true,//可采购
  627. "IsBuildEnable"=>true,//可生产
  628. "IsOutsideOperationEnable"=>true,//可委外
  629. "IsMRPEnable"=>true,//可MRP
  630. "IsBOMEnable"=>true,//可BOM
  631. "IsCostCalByGrade"=>false,//等级影响成本
  632. "IsCostCalByPotency"=>false,//成分影响成本
  633. "IsGradeControl"=>false,//等级控制
  634. "StandardGrade"=>-1,//标准等级
  635. "StartGrade"=>-1,//起始等级
  636. "EndGrade"=>-1,//结束等级
  637. "IsPotencyControl"=>false,//成分控制
  638. "StandardPotency"=>-1,//标准成分
  639. "StartPotency"=>-1,//起始成分
  640. "EndPotency"=>-1,// 结束成分
  641. ];
  642. }
  643. return $list;
  644. }
  645. }