Model_apiyyv1.php 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177
  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. $this->load->_model("Model_logic_ding","logic_ding");
  14. }
  15. /**
  16. * 生成u9的调出单
  17. */
  18. public function dcdCrate($params,$token){
  19. $list = $this->dcDataTrans($params);
  20. $url = '/U9C/webapi/TransferOut/Create';
  21. $url = $this->base_url.$url;
  22. $header[] = "Content-Type: application/json";
  23. $header[] = "Token: ".$token;
  24. $res = $this->sendReq($url,$header,json_encode($list));
  25. return array($res,$list);
  26. }
  27. /**
  28. * 提交调出单
  29. */
  30. public function dcdSubmit($params,$token){
  31. $list = [
  32. [
  33. 'Code'=>$params['number'] //调出单单号
  34. ]
  35. ];
  36. $url = '/U9C/webapi/TransferOut/Submit';
  37. $url = $this->base_url.$url;
  38. $header[] = "Content-Type: application/json";
  39. $header[] = "Token: ".$token;
  40. $res = $this->sendReq($url,$header,json_encode($list));
  41. return array($res,$list);
  42. }
  43. /**
  44. * 审核调出单
  45. */
  46. public function dcdApprove($params,$token){
  47. $list = [
  48. [
  49. 'Code'=>$params['number'] //调出单单号
  50. ]
  51. ];
  52. $url = '/U9C/webapi/TransferOut/Approve';
  53. $url = $this->base_url.$url;
  54. $header[] = "Content-Type: application/json";
  55. $header[] = "Token: ".$token;
  56. $res = $this->sendReq($url,$header,json_encode($list));
  57. return array($res,$list);
  58. }
  59. /**
  60. * 生成u9的销售单
  61. * 只是财务记录 不牵扯到库存
  62. */
  63. public function xsdCreate($params,$token){
  64. $list = $this->xsdDataTrans($params);
  65. $url = '/U9C/webapi/SO/Create';
  66. $url = $this->base_url.$url;
  67. $header[] = "Content-Type: application/json";
  68. $header[] = "Token: ".$token;
  69. $res = $this->sendReq($url,$header,json_encode($list));
  70. return array($res,$list);
  71. }
  72. /**
  73. * 工厂外销销售单
  74. */
  75. public function gcxsdWaiXiaoCreate($params,$token){
  76. $list = $this->xsdDataTrans($params);
  77. foreach($list as $k=>$v){
  78. $list[$k]['DescFlexField']["PrivateDescSeg3"] = $params['number'];
  79. $list[$k]['DescFlexField']["PrivateDescSeg6"] = 'MJ00199';
  80. $list[$k]['DescFlexField']["PubDescSeg6"] = 'MJ00199';
  81. $list[$k]['DescFlexField']["PubDescSeg3"] = $params['number'];
  82. // foreach($v['SOLineDTOList'] as $kk=>$vv){
  83. // $list[$k]['SOLineDTOList'][$kk]['DescFlexField']['PrivateDescSeg3'] = $params['number'];
  84. // $list[$k]['SOLineDTOList'][$kk]['DescFlexField']['PubDescSeg3'] = $params['number'];
  85. // }
  86. }
  87. $url = '/U9C/webapi/SO/Create';
  88. $url = $this->base_url.$url;
  89. $header[] = "Content-Type: application/json";
  90. $header[] = "Token: ".$token;
  91. $res = $this->sendReq($url,$header,json_encode($list));
  92. return array($res,$list);
  93. }
  94. /**
  95. * 工厂外销销售单
  96. */
  97. public function gcxsdWaiXiaoCreateBk($params,$token){
  98. $list = $this->xsdDataTransGC($params);
  99. foreach($list as $k=>$v){
  100. $list[$k]['DescFlexField']["PrivateDescSeg3"] = $params['number'];
  101. $list[$k]['DescFlexField']["PrivateDescSeg6"] = 'MJ00199';
  102. $list[$k]['DescFlexField']["PubDescSeg6"] = 'MJ00199';
  103. $list[$k]['DescFlexField']["PubDescSeg3"] = $params['number'];
  104. // foreach($v['SOLineDTOList'] as $kk=>$vv){
  105. // $list[$k]['SOLineDTOList'][$kk]['DescFlexField']['PrivateDescSeg3'] = $params['number'];
  106. // $list[$k]['SOLineDTOList'][$kk]['DescFlexField']['PubDescSeg3'] = $params['number'];
  107. // }
  108. }
  109. $url = '/U9C/webapi/SO/Create';
  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 xsdCxByNo($xcd_no,$token){
  120. $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 ";;
  121. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  122. $url = $this->base_url.$url;
  123. $header[] = "Content-Type: application/json";
  124. $header[] = "Token: ".$token;
  125. $res = $this->sendReq($url,$header,json_encode($list));
  126. return array($res,$list);
  127. }
  128. /**
  129. * 生成u9的销售单
  130. * 只是财务记录 不牵扯到库存
  131. */
  132. public function xsdTwoCreate($params,$token){
  133. $list = $this->xsdTwoDataTrans($params);
  134. $url = '/U9C/webapi/SO/Create';
  135. $url = $this->base_url.$url;
  136. $header[] = "Content-Type: application/json";
  137. $header[] = "Token: ".$token;
  138. $res = $this->sendReq($url,$header,json_encode($list));
  139. return array($res,$list);
  140. }
  141. /**
  142. * 销售单提交
  143. */
  144. public function xsdSubmit($params,$token){
  145. $list = [
  146. [
  147. 'Code'=>$params['number'] //单号
  148. ]
  149. ];
  150. $url = '/U9C/webapi/SO/Submit';
  151. $url = $this->base_url.$url;
  152. $header[] = "Content-Type: application/json";
  153. $header[] = "Token: ".$token;
  154. $res = $this->sendReq($url,$header,json_encode($list));
  155. return array($res,$list);
  156. }
  157. /**
  158. * 销售单审核
  159. */
  160. public function xsdApprove($params,$token){
  161. $list = [
  162. [
  163. 'Code'=>$params['number'] //单号
  164. ]
  165. ];
  166. $url = '/U9C/webapi/SO/Approve';
  167. $url = $this->base_url.$url;
  168. $header[] = "Content-Type: application/json";
  169. $header[] = "Token: ".$token;
  170. $res = $this->sendReq($url,$header,json_encode($list));
  171. return array($res,$list);
  172. }
  173. /**
  174. * 根据调出单的单号做关联查询 然后匹配存储调入单的审核
  175. */
  176. public function drdcxBydcd($dcd_no,$token){
  177. // $list["SqlString"] = "select DescFlexField_PubDescSeg4 ,DocNo from InvDoc_TransferIn where DescFlexField_PubDescSeg4 = '".$dcd_no."'";
  178. $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."'";
  179. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  180. $url = $this->base_url.$url;
  181. $header[] = "Content-Type: application/json";
  182. $header[] = "Token: ".$token;
  183. $res = $this->sendReq($url,$header,json_encode($list));
  184. return array($res,$list);
  185. }
  186. //销售单按照多单号查询
  187. public function xscsByordernos($xs_no_list,$token){
  188. $str = '';
  189. foreach($xs_no_list as $k=>$v){
  190. if($k==0){
  191. $str .="'".$v."'";
  192. }else{
  193. $str .=",'".$v."'";
  194. }
  195. }
  196. //$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 ";
  197. $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 ";
  198. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  199. $url = $this->base_url.$url;
  200. $header[] = "Content-Type: application/json";
  201. $header[] = "Token: ".$token;
  202. $res = $this->sendReq($url,$header,json_encode($list));
  203. return array($res,$list);
  204. }
  205. /**
  206. * 调入单提交
  207. */
  208. public function drdSubmit($params,$token){
  209. $list = [
  210. [
  211. 'Code'=>$params['number'] //单号
  212. ]
  213. ];
  214. $url = '/U9C/webapi/TransferIn/Submit';
  215. $url = $this->base_url.$url;
  216. $header[] = "Content-Type: application/json";
  217. $header[] = "Token: ".$token;
  218. $res = $this->sendReq($url,$header,json_encode($list));
  219. return array($res,$list);
  220. }
  221. /**
  222. * 调入单审核
  223. */
  224. public function drdApprove($params,$token){
  225. $list = [
  226. [
  227. 'Code'=>$params['number'] //单号
  228. ]
  229. ];
  230. $url = '/U9C/webapi/TransferIn/Approve';
  231. $url = $this->base_url.$url;
  232. $header[] = "Content-Type: application/json";
  233. $header[] = "Token: ".$token;
  234. $res = $this->sendReq($url,$header,json_encode($list));
  235. return array($res,$list);
  236. }
  237. /**
  238. * 生成u9的采购单
  239. * 只是财务记录 不牵扯到库存
  240. * 目前采用的是无源的
  241. */
  242. public function cgdCreate($params,$token){
  243. $list = $this->cgdDataTrans($params);
  244. $url = '/U9C/webapi/PurchaseOrder/Create';
  245. $url = $this->base_url.$url;
  246. $header[] = "Content-Type: application/json";
  247. $header[] = "Token: ".$token;
  248. $res = $this->sendReq($url,$header,json_encode($list));
  249. return array($res,$list);
  250. }
  251. /**
  252. * 采购单提交
  253. */
  254. public function cgdSubmit($params,$token){
  255. $list = [
  256. [
  257. 'Code'=>$params['number'] //单号
  258. ]
  259. ];
  260. $url = '/U9C/webapi/PurchaseOrder/Submit';
  261. $url = $this->base_url.$url;
  262. $header[] = "Content-Type: application/json";
  263. $header[] = "Token: ".$token;
  264. $res = $this->sendReq($url,$header,json_encode($list));
  265. return array($res,$list);
  266. }
  267. /**
  268. * 采购单审核
  269. */
  270. public function cgdApprove($params,$token){
  271. $list = [
  272. [
  273. 'Code'=>$params['number'] //单号
  274. ]
  275. ];
  276. $url = '/U9C/webapi/PurchaseOrder/Approve';
  277. $url = $this->base_url.$url;
  278. $header[] = "Content-Type: application/json";
  279. $header[] = "Token: ".$token;
  280. $res = $this->sendReq($url,$header,json_encode($list));
  281. return array($res,$list);
  282. }
  283. /**
  284. * 生成u9的标准出货单
  285. * 会造成库存变动
  286. * 使用的是有源的就是销售单
  287. */
  288. public function bzchCreate($params,$token){
  289. $list = $this->yybzchDataTrans($params);
  290. $url = '/U9C/webapi/Ship/CreateBySrcDoc';
  291. $url = $this->base_url.$url;
  292. $header[] = "Content-Type: application/json";
  293. $header[] = "Token: ".$token;
  294. $res = $this->sendReq($url,$header,json_encode($list));
  295. return array($res,$list);
  296. }
  297. /**
  298. * 创建生产单
  299. */
  300. public function scdCreate($params,$token){
  301. $list = $this->scdDataTrans($params);
  302. $url = '/U9C/webapi/MODoc/Create';
  303. $url = $this->base_url.$url;
  304. $header[] = "Content-Type: application/json";
  305. $header[] = "Token: ".$token;
  306. $res = $this->sendReq($url,$header,json_encode($list));
  307. return array($res,$list);
  308. }
  309. /**
  310. * 查询生产订单状态
  311. */
  312. public function cxScdStatus($doc_no,$token){
  313. $list["SqlString"] = "select top 2 docno,DocState from mo_mo where docno = '".$doc_no."'";
  314. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  315. $url = $this->base_url.$url;
  316. $header[] = "Content-Type: application/json";
  317. $header[] = "Token: ".$token;
  318. $res = $this->sendReq($url,$header,json_encode($list));
  319. return array($res,$list);
  320. }
  321. /**
  322. * 标准出货单提交并审核
  323. */
  324. public function bzchSubmitAndApprove($params,$token){
  325. $list = [
  326. [
  327. 'Code'=>$params['number'] //单号
  328. ]
  329. ];
  330. $url = '/U9C/webapi/Ship/SubmitAndApprove';
  331. $url = $this->base_url.$url;
  332. $header[] = "Content-Type: application/json";
  333. $header[] = "Token: ".$token;
  334. $res = $this->sendReq($url,$header,json_encode($list));
  335. return array($res,$list);
  336. }
  337. /**
  338. * 生成u9的标准收获单
  339. * 会造成库存变动
  340. * 这个也是有源的是采购单 不过估计用不上 先不写
  341. */
  342. public function bzshCreate($params,$token){
  343. }
  344. /**
  345. * 生成成品入库单
  346. */
  347. public function cprkCreate($params,$token){
  348. $list = $this->cprkDataTrans($params);
  349. $url = '/U9C/webapi/RcvRptDoc/Create';
  350. $url = $this->base_url.$url;
  351. $header[] = "Content-Type: application/json";
  352. $header[] = "Token: ".$token;
  353. $res = $this->sendReq($url,$header,json_encode($list));
  354. return array($res,$list);
  355. }
  356. /**
  357. * 成品入库单提交
  358. */
  359. public function cprkApprove($params,$token){
  360. $url = '/U9C/webapi/RcvRptDoc/Approve';
  361. $url = $this->base_url.$url;
  362. $header[] = "Content-Type: application/json";
  363. $header[] = "Token: ".$token;
  364. $res = $this->sendReq($url,$header,json_encode($params));
  365. return array($res,$params);
  366. }
  367. /**
  368. * 成品入库查询
  369. */
  370. public function cprkCx($params,$token){
  371. $url = '/U9C/webapi/RcvRptDoc/Query';
  372. $url = $this->base_url.$url;
  373. $header[] = "Content-Type: application/json";
  374. $header[] = "Token: ".$token;
  375. $res = $this->sendReq($url,$header,json_encode($params));
  376. return array($res,$params);
  377. }
  378. /**
  379. * 成品入库单审核
  380. */
  381. //根据erp的单号查询调出单是够存在
  382. public function xcDcdByOtherId($dcd_no,$token){
  383. $list["SqlString"] = "select DescFlexField_PubDescSeg4,DocNo from InvDoc_TransferOut where DescFlexField_PubDescSeg4 = '".$dcd_no."'";
  384. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  385. $url = $this->base_url.$url;
  386. $header[] = "Content-Type: application/json";
  387. $header[] = "Token: ".$token;
  388. $res = $this->sendReq($url,$header,json_encode($list));
  389. return array($res,$list);
  390. }
  391. /**
  392. * 调出单的二次验证
  393. * 避免因为其他组织使用相同的erp单号导致的冲突 不能创建成品库的数据
  394. */
  395. public function xcDcdByOtherIdCheck($dcd_no,$token){
  396. $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."' ";
  397. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  398. $url = $this->base_url.$url;
  399. $header[] = "Content-Type: application/json";
  400. $header[] = "Token: ".$token;
  401. $res = $this->sendReq($url,$header,json_encode($list));
  402. return array($res,$list);
  403. }
  404. /**
  405. * 查询料品
  406. */
  407. public function cxLp($params,$token){
  408. $list = [];
  409. foreach($params as $k=>$v){
  410. $list[] =[
  411. "ItemMaster"=>[
  412. "Code"=>$v['jm']
  413. ]
  414. ];
  415. }
  416. $url = '/U9C/webapi/ItemMaster/Query';
  417. $url = $this->base_url.$url;
  418. $header[] = "Content-Type: application/json";
  419. $header[] = "Token: ".$token;
  420. $res = $this->sendReq($url,$header,json_encode($list));
  421. return array($res,$list);
  422. }
  423. /**
  424. * 查询料品
  425. */
  426. public function cxLpByJm($jm,$token){
  427. $list = [];
  428. $list[] =[
  429. "ItemMaster"=>[
  430. "Code"=>$jm
  431. ]
  432. ];
  433. $url = '/U9C/webapi/ItemMaster/Query';
  434. $url = $this->base_url.$url;
  435. $header[] = "Content-Type: application/json";
  436. $header[] = "Token: ".$token;
  437. $res = $this->sendReq($url,$header,json_encode($list));
  438. return $res;
  439. }
  440. /**
  441. * 创建料品
  442. */
  443. public function cjLp($params,$token){
  444. $list = $this->cjlpDataTrans($params);
  445. $url = '/U9C/webapi/ItemMaster/Create';
  446. $url = $this->base_url.$url;
  447. $header[] = "Content-Type: application/json";
  448. $header[] = "Token: ".$token;
  449. $res = $this->sendReq($url,$header,json_encode($list));
  450. $this->logic_ding->sendToDing("创建料品监听".json_encode($params,JSON_UNESCAPED_UNICODE)."||".json_encode($res,JSON_UNESCAPED_UNICODE)."||".$url);
  451. return array($res,$list);
  452. }
  453. /**
  454. * 同步通知
  455. */
  456. public function tbLp($params,$token){
  457. $list = [];
  458. foreach($params['list'] as $k=>$v){
  459. $list[] = [
  460. "EntityFullName"=>'UFIDA.U9.CBO.SCM.Item.ItemMaster',//实体全名
  461. "EntityCode"=>$v['jm'],
  462. "FromOrgCode"=>$params['owner_code'],//创建组织编码
  463. "ToOrgCodeList"=>[140],//要同步的组织
  464. "OtherID"=>'',
  465. "ContextDTO"=>[
  466. "EntCode"=>$params['ztcode'],//企业编码
  467. "OrgCode"=>$params['owner_code'],//组织编码
  468. "UserCode"=>'xk',//用户编码
  469. "UserPwd"=>'',//用户密码
  470. ]
  471. ];
  472. }
  473. $url = '/U9C/webapi/ControlObjSend/ControlObjSend';
  474. $url = $this->base_url.$url;
  475. $header[] = "Content-Type: application/json";
  476. $header[] = "Token: ".$token;
  477. $res = $this->sendReq($url,$header,json_encode($list));
  478. return array($res,$list);
  479. }
  480. //由于逻辑修改造成 需要查询调出单是审核完毕
  481. public function xdlsCxDcd($dcd_no,$token){
  482. $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."'";
  483. //$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."'";
  484. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  485. $url = $this->base_url.$url;
  486. $header[] = "Content-Type: application/json";
  487. $header[] = "Token: ".$token;
  488. $res = $this->sendReq($url,$header,json_encode($list));
  489. return array($res,$list);
  490. }
  491. //通过调出单查询erp相关的数据
  492. public function cxDcdAboutErp($erp_no,$token){
  493. $list["SqlString"] = "select top 50 a.docno ruku_danhao,d.DescFlexField_PubDescSeg4 erp_danhao,a.CreatedBy,a.createdon,a.DocState,b.mo,d.docno mo_no,e.docno dianchu_danhao from Complete_RcvRptDoc a left join Complete_RcvRptDocLine b on b.RcvRptDoc=a.id left join CBO_ItemMaster c on b.item=c.id left join MO_MO d on b.mo=d.id left join InvDoc_TransferOut e on e.DescFlexField_PubDescSeg4=d.DescFlexField_PubDescSeg4 Where d.DescFlexField_PubDescSeg4='".$erp_no."' order by a.createdon ";
  494. //"select top 50 a.docno ruku_danhao,d.DescFlexField_PubDescSeg4 erp_danhao,a.CreatedBy,a.createdon,a.DocState,b.mo,d.docno mo_no,e.docno dianchu_danhao " +
  495. //" from Complete_RcvRptDoc a " +
  496. //" left join Complete_RcvRptDocLine b on b.RcvRptDoc=a.id " +
  497. //" left join CBO_ItemMaster c on b.item=c.id " +
  498. //" left join MO_MO d on b.mo=d.id " +
  499. //" left join InvDoc_TransferOut e on e.DescFlexField_PubDescSeg4=d.DescFlexField_PubDescSeg4 " +
  500. //"where d.DescFlexField_PubDescSeg4='QQS-31229-005' " +
  501. //" (e.docno is not null ) and (a.createdon >'2023-12-26' and a.createdon >'2023-12-27')" +
  502. //" order by a.createdon ";
  503. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  504. $url = $this->base_url.$url;
  505. $header[] = "Content-Type: application/json";
  506. $header[] = "Token: ".$token;
  507. $res = $this->sendReq($url,$header,json_encode($list));
  508. return array($res,$list);
  509. }
  510. //获取erp的料号 不分大小写
  511. public function getLp($params,$token){
  512. $list = [];
  513. foreach($params as $k=>$v){
  514. $list[] = strtoupper($v['jm']);
  515. }
  516. $u9_jm_list = implode("','",$list);
  517. //select top 2 a.code '料号',a.name '品名' ,b.code '物料分类编码',c.name '物料分类名称',c.combinename '完整物料分类名称',a.SPECS '规格',a.ItemFormAttribute '料品形态属性编码',a.IsPurchaseEnable '可采购',a.IsBuildEnable '可生产',a.IsSalesEnable '可销售',d.name '库存分类名称',d.combinename '完整库存分类名称', a.descflexfield_privatedescseg1 '私有自定义项1', a.* from CBO_ItemMaster a left join CBO_Category b on a.MainItemCategory=b.id left join CBO_Category_trl c on a.MainItemCategory=c.id and c.sysmlflag='zh-CN' left join CBO_Category_trl d on a.StockCategory=d.id and d.sysmlflag='zh-CN' where a.code='1510101' and a.masterorg is null
  518. $list['SqlString'] = "select top 2 a.code 'm_code',a.name '品名' ,b.code '物料分类编码',c.name '物料分类名称',c.combinename '完整物料分类名称',a.SPECS '规格',a.ItemFormAttribute '料品形态属性编码',a.IsPurchaseEnable '可采购',a.IsBuildEnable '可生产',a.IsSalesEnable '可销售',d.name '库存分类名称',d.combinename '完整库存分类名称', a.descflexfield_privatedescseg1 '私有自定义项1', a.* from CBO_ItemMaster a left join CBO_Category b on a.MainItemCategory=b.id left join CBO_Category_trl c on a.MainItemCategory=c.id and c.sysmlflag='zh-CN' left join CBO_Category_trl d on a.StockCategory=d.id and d.sysmlflag='zh-CN' where LOWER(a.code) in ('".$u9_jm_list."') and a.masterorg is null";
  519. $url = '/U9C/webapi/QueryCommon/QueryInfoBySql';
  520. $url = $this->base_url.$url;
  521. $header[] = "Content-Type: application/json";
  522. $header[] = "Token: ".$token;
  523. $res = $this->sendReq($url,$header,json_encode($list));
  524. return array($res,$list);
  525. }
  526. public function sendReq($url,$header,$list){
  527. $ch = curl_init();
  528. curl_setopt($ch, CURLOPT_URL, $url);
  529. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  530. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  531. curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE);
  532. curl_setopt($ch, CURLOPT_POST, 1);
  533. curl_setopt($ch, CURLOPT_POSTFIELDS, $list);
  534. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  535. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  536. $res = curl_exec($ch);
  537. $res = json_decode($res,true);
  538. return $res;
  539. }
  540. //调出单的数据转化
  541. public function dcDataTrans($params){
  542. $trans_out_lines = [];
  543. foreach($params['list'] as $k=>$v){
  544. $trans_out_lines[] = [
  545. "ItemInfo" =>[
  546. "ItemCode"=>$v['jm'],//用友的简码
  547. ],
  548. "TransOutWh_Code"=>$params['dcckbm'],//调出仓库编码
  549. "StoreUOM_Code"=>"条",//调出库存单位Code 如条
  550. "StoreUOMQty"=>$v['dcsl'],//调出数量
  551. "StorageType"=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
  552. "LotInfo_Code"=>"",//批号Code 不知道有啥用 暂时留空吧
  553. "TransOutOwnerOrg_Code"=>$params['owner_code'],//货主组织Code
  554. "TransOutSubLines"=>[
  555. [
  556. 'TransInWh_Code'=>$params['drckbm']."",//调入仓库编码
  557. 'StorageType'=>4,//存储类型:待检;1:在检;2:不合格;3:报废;4:可用;5:冻结;6:退回;7:待返工
  558. 'TransInOrg_Code'=>$params['drzz_code']."",//调入组织Code
  559. 'TransOutOwnerOrg_Code'=>$params['owner_code']."",//货主组织Code
  560. 'StoreUOMQty'=>$v['dcsl'],
  561. ]
  562. ],
  563. "TransOutBins"=>[
  564. [
  565. 'BinInfo_Code'=>'',//库位Code
  566. 'StoreUOMQty'=>$v['dcsl']// 分配数量
  567. ]
  568. ]
  569. ,"DescFlexField"=>[
  570. "PubDescSeg2"=>$params['yyid'],//来源店铺 这种需要在店铺表中有
  571. "PubDescSeg4"=>$params['number'],//订单编码
  572. "PubDescSeg5"=>$params['shipremarks'],//订单的备注
  573. ],
  574. ];
  575. }
  576. $data = [];
  577. $data[] = [
  578. "OtherID"=>$params['number'],//第三方数据唯一性标识,此字段需要返回
  579. "TransOutDocType_Code"=> $params['TransOutDocType_Code'],//单据类型在u9中设置的 详情到u9界面查看 TransOut001 组织间调拨 TransOut002 仓库转储 TransOut004 委外加工发料 TransOut005 委外加工退料
  580. "BusinessDate"=>date("Y-m-d",$params['time']),//日期
  581. "TransferDirection"=>$params['TransferDirection'],//调拨方向 0:普通;1:退货
  582. "TransOutLines"=>$trans_out_lines,
  583. "DescFlexField"=>[
  584. "PubDescSeg2"=>$params['yyid'],//来源店铺 这种需要在店铺表中有
  585. "PubDescSeg4"=>$params['number'],//订单编码
  586. "PubDescSeg5"=>$params['shipremarks'],//订单的备注
  587. ],
  588. ];
  589. return $data;
  590. }
  591. //销售单的数据转化
  592. public function xsdDataTrans($params){
  593. $so_lines = [];
  594. foreach($params['list'] as $k=>$v){
  595. $so_lines[] = [
  596. 'TU'=>"条",//销售单位编码
  597. 'ItemCode'=>$v['jm'],//用友的编码
  598. 'PU'=>'条',//计价单位编码
  599. "ShipTogetherFlag"=>-1,//成套收发货标志
  600. 'DocLineNo'=>$k+1,
  601. 'CustomerItemNo'=>'',//客户料号
  602. 'CustomerItemName'=>'',//客户品名
  603. 'FinallyPriceTC'=>$v['final_price'],//最终价 单价
  604. 'PubDescSeg10'=>'',
  605. 'SOShiplineDTOList'=>[ //销售订单计划行
  606. [
  607. 'IsMRPRequire', //MRP需求
  608. 'DemandType',//需求分类
  609. 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
  610. ]
  611. ],
  612. 'RecTerm'=>'',//目前找不到了
  613. 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
  614. 'UsableQtyOfInv'=>0,//文档中未查询到
  615. 'PubDescSeg3'=>'',
  616. 'PubDescSeg4'=>'',
  617. 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
  618. 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
  619. 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
  620. 'DescFlexField'=>[
  621. 'PubDescSeg3'=>'',
  622. ],
  623. 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
  624. 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
  625. 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
  626. 'Memo'=>'',//备注
  627. ];
  628. }
  629. $data = [];
  630. $data[] = [
  631. "OrderBy"=>$params['yyid'],//用友的商户的id
  632. "OtherID"=>$params['number'],//第三方传入ID
  633. "SaleDepartment"=>"",//部门编码 可为空
  634. "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
  635. "DocNo"=>'',//单据类型编码
  636. "AC"=>"C001",//人民币
  637. "TC"=>"C001",//人民币
  638. "ShipToSite"=>"",//收货位置编码
  639. "PubDescSeg2"=>"",
  640. "SOSrcType"=>0,
  641. "Seller"=>"",//业务员编码 可为空
  642. "ConfirmTerm"=>"",//但是现有文档没有
  643. "Memo"=>$params['number'],//备注
  644. "ShipRule"=>"",//但是现有文档没有
  645. "SOLineDTOList"=>$so_lines,
  646. ];
  647. return $data;
  648. }
  649. //销售单的数据转化 工厂对外的销售单
  650. public function xsdDataTransGC($params){
  651. $so_lines = [];
  652. foreach($params['list'] as $k=>$v){
  653. $so_lines[] = [
  654. 'TU'=>"条",//销售单位编码
  655. 'ItemCode'=>$v['jm'],//用友的编码
  656. 'PU'=>'条',//计价单位编码
  657. "ShipTogetherFlag"=>-1,//成套收发货标志
  658. 'DocLineNo'=>$k+1,
  659. 'CustomerItemNo'=>'',//客户料号
  660. 'CustomerItemName'=>'',//客户品名
  661. //'FinallyPriceTC'=>$v['final_price'],//最终价 单价
  662. 'PubDescSeg10'=>'',
  663. 'PriceSource'=>0,//从价目表中 获取价格
  664. 'SOShiplineDTOList'=>[ //销售订单计划行
  665. [
  666. 'IsMRPRequire', //MRP需求
  667. 'DemandType',//需求分类
  668. 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
  669. ]
  670. ],
  671. 'RecTerm'=>'',//目前找不到了
  672. 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
  673. 'UsableQtyOfInv'=>0,//文档中未查询到
  674. 'PubDescSeg3'=>'',
  675. 'PubDescSeg4'=>'',
  676. 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
  677. 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
  678. 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
  679. 'DescFlexField'=>[
  680. 'PubDescSeg3'=>'',
  681. ],
  682. 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
  683. 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
  684. 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
  685. 'Memo'=>'',//备注
  686. ];
  687. }
  688. $data = [];
  689. $data[] = [
  690. "OrderBy"=>$params['yyid'],//用友的商户的id
  691. "OtherID"=>$params['number'],//第三方传入ID
  692. "SaleDepartment"=>"",//部门编码 可为空
  693. "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
  694. "DocNo"=>'',//单据类型编码
  695. "AC"=>"C001",//人民币
  696. "TC"=>"C001",//人民币
  697. "ShipToSite"=>"",//收货位置编码
  698. "PubDescSeg2"=>"",
  699. "SOSrcType"=>0,
  700. "Seller"=>"",//业务员编码 可为空
  701. "ConfirmTerm"=>"",//但是现有文档没有
  702. "Memo"=>$params['number'],//备注
  703. "ShipRule"=>"",//但是现有文档没有
  704. "SOLineDTOList"=>$so_lines,
  705. ];
  706. return $data;
  707. }
  708. public function xsdTwoDataTrans($params){
  709. $so_lines = [];
  710. foreach($params['list'] as $k=>$v){
  711. $so_lines[] = [
  712. 'TU'=>"条",//销售单位编码
  713. 'ItemCode'=>$v['jm'],//用友的编码
  714. 'PU'=>'条',//计价单位编码
  715. "ShipTogetherFlag"=>-1,//成套收发货标志
  716. 'DocLineNo'=>$k+1,
  717. 'CustomerItemNo'=>'',//客户料号
  718. 'CustomerItemName'=>'',//客户品名
  719. 'FinallyPriceTC'=>$v['final_price'],//最终价 单价
  720. 'PubDescSeg10'=>'',
  721. 'SOShiplineDTOList'=>[ //销售订单计划行
  722. [
  723. 'IsMRPRequire', //MRP需求
  724. 'DemandType',//需求分类
  725. 'RequireDate'=>date('m/d/Y H:i:s',$params['time']),
  726. ]
  727. ],
  728. 'RecTerm'=>'',//目前找不到了
  729. 'FreeType'=>($v['final_price'] < 0.01)?0: -1,//免费品类型 (无默认值请传-1;赠品请传0;备损品请传1) 徐凯设定的是 如果钱小于0.01 那么就传0 其他的传递-1
  730. 'UsableQtyOfInv'=>0,//文档中未查询到
  731. 'PubDescSeg3'=>'',
  732. 'PubDescSeg4'=>'',
  733. 'PriceList'=>'',//价表编码 (该属性可为空,且无默认值)
  734. 'TaxMoneyTC'=>0,//税额 (该属性可为空,且无默认值)
  735. 'TaxSchedule'=>'YZ05',//税组合编码 (该属性可为空,且无默认值) 不知道这个是啥 徐凯的老代码是这么写的
  736. 'DescFlexField'=>[
  737. 'PubDescSeg3'=>'',
  738. ],
  739. 'OrderByQtyTU'=>$v['dcsl'],//销售数量 (该属性可为空,且无默认值)
  740. 'OrderByQtyPU'=>$v['dcsl'],//计价数量 (该属性可为空,且无默认值)
  741. 'OrderPriceTC'=>'',//定价 (该属性可为空,且无默认值)
  742. 'Memo'=>'',//备注
  743. ];
  744. }
  745. $data = [];
  746. $data[] = [
  747. "OrderBy"=>$params['yyid'],//用友的商户的id
  748. "OtherID"=>$params['number'],//第三方传入ID
  749. "SaleDepartment"=>"",//部门编码 可为空
  750. "DocumentType"=>"SO1",//单据类型编码 标准销售单 So1是默认值
  751. "DocNo"=>'',//单据类型编码
  752. "AC"=>"C009",//美金
  753. "TC"=>"C009",//美金
  754. "ShipToSite"=>"",//收货位置编码
  755. "PubDescSeg2"=>"",
  756. "SOSrcType"=>0,
  757. "Seller"=>"",//业务员编码 可为空
  758. "ConfirmTerm"=>"",//但是现有文档没有
  759. "Memo"=>$params['number'],//备注
  760. "ShipRule"=>"",//但是现有文档没有
  761. "SOLineDTOList"=>$so_lines,
  762. ];
  763. return $data;
  764. }
  765. public function cgdDataTrans($params){
  766. $po_lines = [];
  767. foreach($params['list'] as $k=>$v){
  768. $po_lines[] = [
  769. //"POLineID"=>0,//采购订单行ID
  770. 'ItemInfo'=>[
  771. 'm_code'=>$v['jm'],//用友料号
  772. ],
  773. "ReqQtyTU"=>$v['dcsl'],//需求数量
  774. "ReqQtyTBU"=>0,//确认数量
  775. "SupplierConfirmQtyTU"=>$v['dcsl'],//确认数量
  776. "SupplierConfirmQtyTBU"=>0,//确认数量
  777. "FinallyPriceTC"=>$v['final_price'],//最终价格
  778. "IsPresent"=>false,//赠品
  779. ];
  780. }
  781. $data = [];
  782. $data[] = [
  783. 'DocNo'=>"",
  784. "DocumentType"=>'PO01',//PO01 标准采购默认值
  785. 'BizType'=>0,//业务类型:AR_Invoice 销售发票 0 (默认值),PM005 标准采购 316 ,PM055 全程委外采购 326 ,PM050 工序外协采购 325
  786. "BusinessDate"=>date("Y-m-d H:i:s"),
  787. 'OtherID'=>$params['number'],
  788. 'DescFlexField'=>(object)[
  789. ],
  790. 'TC'=>'C001',
  791. 'AC'=>'C001',
  792. "Memo"=>$params['number'],
  793. 'Supplier'=>[
  794. 'Code'=>$params['gys'],//供应商编码 到时间找下
  795. ],
  796. 'IsPriceIncludeTax'=>false,
  797. "POLineDTOList"=>$po_lines
  798. ];
  799. return $data;
  800. }
  801. public function yybzchDataTrans($params){
  802. $data = [];
  803. foreach($params['list'] as $k=>$v ){
  804. $data[] = [
  805. "SrcDocType"=>1,//售订单 Value:1 出货计划 Value:2 销售合同 Value:3 预出货单 Value:4
  806. "SrcDocNo"=>$params['xs_no'],//来源单号
  807. "SrcDocLineNo"=>$v['doclineno'],
  808. "SrcDocSubLineNo"=>$v['docsublineno'],
  809. //"WH"=>'',//存储地点ID 找不到id 那就找个WHcode
  810. 'WHCode'=>$params['drckbm'],//存储地点code 这里的参数为啥这么诡异 是因为 不想在很设置参数了 都按照调出的写法组件数据了
  811. "CurShipQty1"=>$v['dcsl'],//本次出货量
  812. "SOIsConsign"=>false,// 是否补货
  813. "OptionalSplitTerm"=>[],
  814. "DescFlexField"=>(object)[],
  815. "LineDescFlexField"=>(object)[],
  816. //"ShipDate",//出货单日期(该属性可为空,且无默认值)
  817. //"ShipConfirmDate"//出货确认日期(该属性可为空,且无默认值)
  818. "DocStatus"=>0,//单据状态:0开立;1审核中;2已审核,可用值:0,1,2,3
  819. ];
  820. }
  821. return $data;
  822. }
  823. //销售单的数据转化
  824. public function cjlpDataTrans($params){
  825. $list = [];
  826. foreach($params['list'] as $k=>$v){
  827. $list[] = [
  828. "Code"=>$v['jm'],//料号
  829. "Code1"=>"",//参考料号1
  830. "Name"=>$v['zh'],//品名
  831. "MainItemCategory"=>[
  832. "Code"=>$v['bm']
  833. ],
  834. "Org"=>[
  835. "Code"=>$params['ztcode']
  836. ],
  837. "OtherID"=>1,
  838. "PurchaseInfo"=>[
  839. "BudgetControlType"=>-1,//预算控制方式
  840. "PriceSource"=>2,//取价来源
  841. "InquireRule"=>-1,//询价策略
  842. 'InquireFixedPeriod'=>0,//间隔期
  843. "StatisticPeriod"=>-1,//配额统计期间
  844. "IsPUTradePathModify"=>true,//采购贸易路径可改
  845. "IsPURtnTradePathModify"=>true,//采购退货贸易路径可改
  846. ],
  847. "InventoryUOM"=>[
  848. "Code"=>'条'
  849. ],
  850. "InventorySecondUOM"=>[
  851. "Code"=>''
  852. ],
  853. "IsDualUOM"=>false,
  854. "InventoryInfo"=>[
  855. "InventoryPlanningMethod"=>4,//规划方法
  856. "InventoryPlanTime"=>-1,//
  857. "TurnOverRate"=>1,//
  858. "ReserveMode"=>-1,//
  859. "SupplyMethod"=>-1,//
  860. ],
  861. "DescFlexField"=>[
  862. "PrivateDescSeg1"=>"01",
  863. "PubDescSeg5"=>"01"
  864. ],
  865. "Description"=>$v['title'],
  866. "ItemForm"=>2001,//料品形态
  867. "ItemFormAttribute"=>10,//料品形态属性
  868. "IsInventoryEnable"=>true,//可库存交易
  869. "IsPurchaseEnable"=>true,//可采购
  870. "IsSalesEnable"=>true,//可采购
  871. "IsBuildEnable"=>true,//可生产
  872. "IsOutsideOperationEnable"=>true,//可委外
  873. "IsMRPEnable"=>true,//可MRP
  874. "IsBOMEnable"=>true,//可BOM
  875. "IsCostCalByGrade"=>false,//等级影响成本
  876. "IsCostCalByPotency"=>false,//成分影响成本
  877. "IsGradeControl"=>false,//等级控制
  878. "StandardGrade"=>-1,//标准等级
  879. "StartGrade"=>-1,//起始等级
  880. "EndGrade"=>-1,//结束等级
  881. "IsPotencyControl"=>false,//成分控制
  882. "StandardPotency"=>-1,//标准成分
  883. "StartPotency"=>-1,//起始成分
  884. "EndPotency"=>-1,// 结束成分
  885. ];
  886. }
  887. return $list;
  888. }
  889. public function cprkDataTrans($params){
  890. $list = [];
  891. foreach($params['list'] as $k=>$v){
  892. $tmp = [
  893. "MOKey"=>[
  894. "OtherID"=>"",
  895. "ID"=>0,
  896. "DocNo"=>$params['rkcode'],//需要填写入库 rkcode 传递
  897. "OrgID"=>0,
  898. "IsSuccess"=>1,
  899. "ErrorInfo"=>"",
  900. "CUD"=>0,
  901. ],
  902. "Wh"=>[
  903. "Code"=>$params['rev_wh_code'],//存储地点信息 传递
  904. ],
  905. "LineNum"=>$k,//行号
  906. "StorageType"=>4,//
  907. "Grade"=>0,//等级
  908. "Element"=>0,
  909. "CompleteQty"=>$v['sl'],//申报数量(生产单位)
  910. "CompleteQtyByWhUOM"=>$v['sl'],//申报数量(库存单位)
  911. "CompleteQtyByCostUOM"=>$v['sl'],//申报数量(成本单位)
  912. "CUD"=>0,
  913. "OwnerOrg"=>[
  914. "Code"=>$params['org_code'],//货主组织编码
  915. ],
  916. "OutputType"=>0,//产出类型
  917. "Item"=>[
  918. "Code"=>$v['jm'],//编码 其实是用友的料号
  919. ],
  920. "ScrapQty"=>0,//报废数量
  921. "ScrapQtyByCostUOM"=>0,//报废数量(成本单位)
  922. "PUToPBURate"=>0,//生产主-生产副
  923. "CUToCBURate"=>0,//成本主-成本副
  924. "PBUToCBURate"=>0,//生产-成本
  925. "SourceRcvRptLine"=>[ //来源入库单行
  926. "RcvRptDocDTO"=>[ //入库单DTO
  927. "ID"=>0, //唯一标示
  928. "DocType"=>[ //单据类型
  929. 'Code'=>0,
  930. ],
  931. "BusinessDate"=>'',//业务日期
  932. "DocNo"=>"",//单号
  933. "SourceDoc"=>[ //来源单据
  934. "MOSrcDocType"=>0,//来源单据类型
  935. "SrcDocOrg"=>0,//
  936. "SrcDoc"=>[ //来源单据
  937. "ID"=>$params['rkid'], //单据ID 徐凯传递的是$data['rkid']
  938. "EntityType"=>'UFIDA.U9.MO.MO.MO',//单据类型
  939. ],
  940. "SrcDocVer"=>'',//单据版本
  941. "SrcDocLine"=>[
  942. "ID"=>0,
  943. "EntityType"=>'',
  944. ],
  945. "SrcDocSubline"=>[
  946. "ID"=>0,
  947. "EntityType"=>'',
  948. ],
  949. "SrcDocNo"=>$params['rkid'],//单据号 徐凯传递了$data['rkid']
  950. "SrcDocLineNo"=>'',//行号
  951. "SrcDocSublineNo"=>10+$k,
  952. "SrcDocID"=>$params['rkid'],//来源单据ID 徐凯传递了$data['rkid']
  953. "SrcDocLineID"=>0,
  954. "SrcDocType"=>'',
  955. ],
  956. "DocDate"=>date("Y-m-d",time()),
  957. "RcvOrg"=>[ //入库组织
  958. "Code"=>$params['rec_code'],//入库组织编码 需填写
  959. ],
  960. "Org"=>[
  961. "Code"=>$params['org_code'],//组织编码 需填写
  962. ],
  963. "Direction"=>0,
  964. "DocState"=>0,
  965. "RcvDep"=>[
  966. "ID"=>0,
  967. "Code"=>'',
  968. "Name"=>''
  969. ],
  970. "RcvPerson"=>[
  971. "ID"=>0,
  972. "Code"=>'',
  973. "Name"=>''
  974. ],
  975. "OtherID"=>"",
  976. ],
  977. "ProductUOM"=>[
  978. "Code"=>'条',
  979. ],
  980. "ProductBaseUOM"=>[
  981. "Code"=>'条',
  982. ],
  983. "StoreUOM"=>[
  984. "Code"=>'条',
  985. ],
  986. "StoreBaseUOM"=>[
  987. "Code"=>'条',
  988. ],
  989. "CoUOM"=>[
  990. "Code"=>'条',
  991. ],
  992. "CostBaseUOM"=>[
  993. "Code"=>'条',
  994. ],
  995. "OperationState"=>0,
  996. "OutputType"=>0,
  997. "Item"=>[
  998. "Code"=>$v['jm'],//料号 徐凯传递的是$data['jm']
  999. ],
  1000. "OwnerOrg"=>[
  1001. "Code"=>$params['org_code'],//货主组织编码 需填写
  1002. ],
  1003. "PUToPBURate"=>0,
  1004. "SUToSBURate"=>0,
  1005. "PBUToSBURate"=>0,
  1006. "CUToCBURate"=>0,
  1007. "PBUToCBURate"=>0,
  1008. "Grade"=>0,
  1009. "Element"=>0,
  1010. "Wh"=>[
  1011. "Code"=>$params['rev_wh_code'],//存储地点信息 传递
  1012. ],
  1013. "StorageType"=>4,
  1014. "RcvValiddate"=>0,
  1015. "RcvQtyByProductUOM"=>0,
  1016. "RcvQtyByWhUOM"=>0,
  1017. "RcvQtyByCostUom"=>0,
  1018. "RcvOrg"=>[ //入库组织
  1019. "Code"=>001,//编码
  1020. ],
  1021. "PerformingOrg"=>[ //执行组织
  1022. "Code"=>001 //编码
  1023. ],
  1024. "CUD"=>0,
  1025. "LineNum"=>0,
  1026. "MO"=>[ //生产订单
  1027. "Code"=>$params['rkcode'],//徐凯写了 rkcode
  1028. ],
  1029. "ID"=>0,
  1030. ]
  1031. ];
  1032. $list[] = $tmp;
  1033. }
  1034. $res = [
  1035. "DocNo"=>"",//
  1036. "CompleteList"=>$list,
  1037. "DescFlexField"=>[
  1038. //"PubDescSeg2"=>$params['yyid'],//kh
  1039. "PubDescSeg4"=>$params['number'],//订单编码
  1040. "PubDescSeg5"=>$params['shipremarks'],//备注
  1041. ],
  1042. "DocType"=>[
  1043. "Code"=>0,
  1044. ],
  1045. "BusinessDate"=>(date("Y-m-d",time())),
  1046. "OtherID"=>'',//订单编码
  1047. "Direction"=>0,
  1048. "IsOffLine"=>1, //是否撤线报
  1049. "DocState"=>0,
  1050. "Remark"=>time(),
  1051. "RcvPerson"=>[
  1052. "Code"=>"ERP"
  1053. ]
  1054. ];
  1055. if(!empty($params['yyid'])){
  1056. $res['DescFlexField']['PubDescSeg2'] = $params['yyid'];//备注-客户
  1057. }
  1058. return [$res];
  1059. }
  1060. public function scdDataTrans($params){
  1061. $list = [];
  1062. foreach($params['list'] as $k=>$v){
  1063. $info = [
  1064. "OtherID"=>"",
  1065. "Org"=>[
  1066. "Code"=>$params['org_code']//生产组织编码
  1067. ],
  1068. "ItemMaster"=>[
  1069. "Code"=>$v['jm'],//料号
  1070. ],
  1071. "DocType"=>[
  1072. "Code"=>$params['djhlx']//单据类型
  1073. ],
  1074. "Department"=>[
  1075. "Code"=>$params['scbm_code']//生产部门编码
  1076. ],
  1077. "ExpandLevel"=>0, //展开阶数
  1078. "AlternateType"=>0,//生产目的
  1079. "RoutingAlternate"=>0,//工艺生产目的
  1080. "RoutingEffeDate"=>'',//工艺有效日期
  1081. "ProductQty"=>$v['sl'],
  1082. "ProductUOM"=>[
  1083. "Code"=>'条'
  1084. ],
  1085. "StartDate"=>date('Y-m-d',$params['time']),//计划开工日期
  1086. "CompleteDate"=>date('Y-m-d',$params['time']),//计划完工日期
  1087. "MOSourceDocType"=>0,//来源单据类型
  1088. "OwnerOrg"=>[
  1089. "Code"=>$params['owner_org_code']//货主组织编码
  1090. ],
  1091. "SCVWh"=>[
  1092. "Code"=>$v['drck']//完工存储地点编码
  1093. ],
  1094. "DemandCode"=>-1,//需求分类
  1095. "IsFirmed"=>false,//锁定标志
  1096. "IsCapacityLimit"=>false,//有限产能
  1097. "Priority"=>0,// 优先级
  1098. "CUD"=>0,//增删改类型
  1099. "BOMType"=>0,//BOM类型
  1100. "Description"=>$params['title'],//备注
  1101. "MRPQty"=>0,//MRP数量
  1102. "MOID"=>0,//生产订单ID
  1103. "PBUToSBURate"=>0,//生产-库存
  1104. "PBUToCBURate"=>0,//生产-成本
  1105. "DescFlexField"=>[
  1106. "PubDescSeg4"=>$params['title'],//erp单号
  1107. "PubDescSeg5"=>$params['shipremarks'],//erp备注
  1108. ]
  1109. ];
  1110. if(!empty($params['yyid'])){
  1111. $info['DescFlexField']['PubDescSeg2'] = $params['yyid'];//备注-客户
  1112. }
  1113. $list[] = $info;
  1114. }
  1115. return $list;
  1116. }
  1117. }