produce-task.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. /**
  2. * 生产任务
  3. * 冯海夫
  4. * 20201008
  5. */
  6. document.write("<script type='text/javascript' src='/js/util/dateoperation.js'></script>");
  7. var ServiceProduceTask = {
  8. // 计划完成情况
  9. getCompleteInfo: function () {
  10. // return {
  11. // "已完成": 150,
  12. // "未完成": 250
  13. // };
  14. return MethodGetService.methodGet("/fbsMomOrder/fbsMomOrderdetail/getFbsMomOrderdetailSum");
  15. },
  16. // 日计划完成情况
  17. getDayCompleteInfo: function () {
  18. // return {
  19. // "已完成": 150,
  20. // "未完成": 250
  21. // };
  22. return MethodGetService.methodGet("/fbsWorkshopDispatchList/fbsWorkshopDispatchList/getAchievementRate");
  23. },
  24. // 月度生产计划
  25. getMonthList: function () {
  26. const taskList = [];
  27. taskList.push({
  28. orderSheetCode: "G10001",
  29. materialCode: "10001",
  30. materialName: "物料A",
  31. specs: "3*4",
  32. planSum: 30,
  33. workHour: 60,
  34. completeSum: 15
  35. });
  36. taskList.push({
  37. orderSheetCode: "G10002",
  38. materialCode: "10002",
  39. materialName: "物料B",
  40. specs: "3*4",
  41. planSum: 20,
  42. workHour: 50,
  43. completeSum: 18
  44. });
  45. taskList.push({
  46. orderSheetCode: "G10003",
  47. materialCode: "10003",
  48. materialName: "物料C",
  49. specs: "3*4",
  50. planSum: 90,
  51. workHour: 10,
  52. completeSum: 60
  53. });
  54. taskList.push({
  55. orderSheetCode: "G10001",
  56. materialCode: "10001",
  57. materialName: "物料A",
  58. specs: "3*4",
  59. planSum: 30,
  60. workHour: 60,
  61. completeSum: 15
  62. });
  63. taskList.push({
  64. orderSheetCode: "G10002",
  65. materialCode: "10002",
  66. materialName: "物料B",
  67. specs: "3*4",
  68. planSum: 20,
  69. workHour: 50,
  70. completeSum: 18
  71. });
  72. taskList.push({
  73. orderSheetCode: "G10003",
  74. materialCode: "10003",
  75. materialName: "物料C",
  76. specs: "3*4",
  77. planSum: 90,
  78. workHour: 10,
  79. completeSum: 60
  80. });
  81. taskList.push({
  82. orderSheetCode: "G10001",
  83. materialCode: "10001",
  84. materialName: "物料A",
  85. specs: "3*4",
  86. planSum: 30,
  87. workHour: 60,
  88. completeSum: 15
  89. });
  90. taskList.push({
  91. orderSheetCode: "G10002",
  92. materialCode: "10002",
  93. materialName: "物料B",
  94. specs: "3*4",
  95. planSum: 20,
  96. workHour: 50,
  97. completeSum: 18
  98. });
  99. $.each(taskList, function (index, item) {
  100. item.incompleteSum = item.planSum - item.completeSum;
  101. if (item.incompleteSum < 0)
  102. item.incompleteSum = 0;
  103. item.completePercent = (item.completeSum / item.planSum * 100).toFixed(0);
  104. item.incompletePercent = (100 - item.completePercent) + "%";
  105. item.completePercent = item.completePercent + "%";
  106. });
  107. return taskList;
  108. },
  109. // 日生产计划
  110. getDayList: function () {
  111. const taskList = [];
  112. taskList.push({
  113. orderSheetCode: "G10001",
  114. materialCode: "10001",
  115. materialName: "物料A",
  116. specs: "3*4",
  117. planSum: 30,
  118. workHour: 60,
  119. completeSum: 15
  120. });
  121. taskList.push({
  122. orderSheetCode: "G10002",
  123. materialCode: "10002",
  124. materialName: "物料B",
  125. specs: "3*4",
  126. planSum: 20,
  127. workHour: 50,
  128. completeSum: 18
  129. });
  130. taskList.push({
  131. orderSheetCode: "G10003",
  132. materialCode: "10003",
  133. materialName: "物料C",
  134. specs: "3*4",
  135. planSum: 90,
  136. workHour: 10,
  137. completeSum: 60
  138. });
  139. taskList.push({
  140. orderSheetCode: "G10001",
  141. materialCode: "10001",
  142. materialName: "物料A",
  143. specs: "3*4",
  144. planSum: 30,
  145. workHour: 60,
  146. completeSum: 15
  147. });
  148. taskList.push({
  149. orderSheetCode: "G10002",
  150. materialCode: "10002",
  151. materialName: "物料B",
  152. specs: "3*4",
  153. planSum: 20,
  154. workHour: 50,
  155. completeSum: 18
  156. });
  157. taskList.push({
  158. orderSheetCode: "G10003",
  159. materialCode: "10003",
  160. materialName: "物料C",
  161. specs: "3*4",
  162. planSum: 90,
  163. workHour: 10,
  164. completeSum: 60
  165. });
  166. taskList.push({
  167. orderSheetCode: "G10001",
  168. materialCode: "10001",
  169. materialName: "物料A",
  170. specs: "3*4",
  171. planSum: 30,
  172. workHour: 60,
  173. completeSum: 15
  174. });
  175. taskList.push({
  176. orderSheetCode: "G10002",
  177. materialCode: "10002",
  178. materialName: "物料B",
  179. specs: "3*4",
  180. planSum: 20,
  181. workHour: 50,
  182. completeSum: 18
  183. });
  184. taskList.push({
  185. orderSheetCode: "G10001",
  186. materialCode: "10001",
  187. materialName: "物料A",
  188. specs: "3*4",
  189. planSum: 30,
  190. workHour: 60,
  191. completeSum: 15
  192. });
  193. taskList.push({
  194. orderSheetCode: "G10002",
  195. materialCode: "10002",
  196. materialName: "物料B",
  197. specs: "3*4",
  198. planSum: 20,
  199. workHour: 50,
  200. completeSum: 18
  201. });
  202. taskList.push({
  203. orderSheetCode: "G10003",
  204. materialCode: "10003",
  205. materialName: "物料C",
  206. specs: "3*4",
  207. planSum: 90,
  208. workHour: 10,
  209. completeSum: 60
  210. });
  211. $.each(taskList, function (index, item) {
  212. item.incompleteSum = item.planSum - item.completeSum;
  213. if (item.incompleteSum < 0)
  214. item.incompleteSum = 0;
  215. item.completePercent = (item.completeSum / item.planSum * 100).toFixed(0);
  216. item.incompletePercent = (100 - item.completePercent) + "%";
  217. item.completePercent = item.completePercent + "%";
  218. });
  219. return taskList;
  220. },
  221. // 获取到现在为止在进行订单或者项目
  222. getDoingListByOrder: function () {
  223. // const taskList = [];
  224. // taskList.push({
  225. // materialName: "节能灯",
  226. // specs: "HID 200W with Osram",
  227. // planSum: 30,
  228. // completeSum: 15,
  229. // projectName:"",
  230. // orderCode:"O0001",
  231. // planCompleteDate:"2020-10-1"
  232. // });
  233. // taskList.push({
  234. // materialName: "节能灯",
  235. // specs: "HID 100W with Osram",
  236. // planSum: 40,
  237. // completeSum: 10,
  238. // projectName:"希望小学工程",
  239. // orderCode:"",
  240. // planCompleteDate:"2020-10-20"
  241. // });
  242. // taskList.push({
  243. // materialName: "节能灯",
  244. // specs: "HID 500W",
  245. // planSum: 50,
  246. // completeSum: 40,
  247. // projectName:"",
  248. // orderCode:"O0002",
  249. // planCompleteDate:"2020-10-20"
  250. // });
  251. // taskList.push({
  252. // materialName: "节能灯",
  253. // specs: "HID 13W",
  254. // planSum: 50,
  255. // completeSum: 30,
  256. // projectName:"市政工程",
  257. // orderCode:"",
  258. // planCompleteDate:"2020-10-20"
  259. // });
  260. // taskList.push({
  261. // materialName: "节能灯",
  262. // specs: "HID 100W with Osram",
  263. // planSum: 40,
  264. // completeSum: 20,
  265. // projectName:"",
  266. // orderCode:"O0003",
  267. // planCompleteDate:"2020-10-20"
  268. // });
  269. // taskList.push({
  270. // materialName: "节能灯",
  271. // specs: "HID 100W with Osram",
  272. // planSum: 40,
  273. // completeSum: 10,
  274. // projectName:"希望小学工程",
  275. // orderCode:"",
  276. // planCompleteDate:"2020-10-20"
  277. // });
  278. let taskList=MethodGetService.methodGet("/fbsWorkshopDispatchList/fbsWorkshopDispatchList/getDoingListByOrder");
  279. taskList.forEach(element => {
  280. element.materialName=element.product;
  281. element.specs=element.cinvstd;
  282. element.planSum=element.numberOfTasks;
  283. if(element.qualifiedNumber){
  284. element.completeSum=element.qualifiedNumber;
  285. }else{
  286. element.completeSum=0
  287. }
  288. element.projectName=element.productionOrderNumberName;
  289. element.orderCode=element.productionOrderNumberName;
  290. element.planCompleteDate=element.endDate;
  291. });
  292. console.log(taskList)
  293. $.each(taskList, function (index, item) {
  294. item.incompleteSum = item.planSum - item.completeSum;
  295. if (item.incompleteSum < 0)
  296. item.incompleteSum = 0;
  297. item.completePercent = (item.completeSum / item.planSum * 100).toFixed(0);
  298. item.incompletePercent = (100 - item.completePercent) + "%";
  299. item.completePercent = item.completePercent + "%";
  300. const dateNow = DateOperation.formatDate(new Date(), "YYYY-mm-dd");
  301. if(item.planCompleteDate){
  302. item.bgcss = DateOperation.subtraction(item.planCompleteDate, dateNow, "s")>0?"task-block-timeout":"task-block-normal";
  303. }else{
  304. item.bgcss="task-block-timeout";
  305. }
  306. item.displayName = item.projectName == "" ? item.orderCode : item.projectName;
  307. });
  308. return taskList;
  309. },
  310. // 日生产计划
  311. getEsopTaskList: function () {
  312. const taskList = [];
  313. taskList.push({
  314. orderSheetCode: "G10001",
  315. materialCode: "10001",
  316. materialName: "物料A",
  317. specs: "3*4",
  318. ProjectName: "项目A",
  319. files:[
  320. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/1.pdf"}
  321. ]
  322. });
  323. taskList.push({
  324. orderSheetCode: "G10002",
  325. materialCode: "10002",
  326. materialName: "物料B",
  327. specs: "3*4",
  328. ProjectName: "项目B",
  329. files:[
  330. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/2.pdf"}
  331. ]
  332. });
  333. taskList.push({
  334. orderSheetCode: "G10001",
  335. materialCode: "10001",
  336. materialName: "物料A",
  337. specs: "3*4",
  338. ProjectName: "项目A",
  339. files:[
  340. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/1.pdf"}
  341. ]
  342. });
  343. taskList.push({
  344. orderSheetCode: "G10002",
  345. materialCode: "10002",
  346. materialName: "物料B",
  347. specs: "3*4",
  348. ProjectName: "项目B",
  349. files:[
  350. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/2.pdf"}
  351. ]
  352. });
  353. taskList.push({
  354. orderSheetCode: "G10001",
  355. materialCode: "10001",
  356. materialName: "物料A",
  357. specs: "3*4",
  358. ProjectName: "项目A",
  359. files:[
  360. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/1.pdf"}
  361. ]
  362. });
  363. taskList.push({
  364. orderSheetCode: "G10002",
  365. materialCode: "10002",
  366. materialName: "物料B",
  367. specs: "3*4",
  368. ProjectName: "项目B",
  369. files:[
  370. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/2.pdf"}
  371. ]
  372. });
  373. taskList.push({
  374. orderSheetCode: "G10001",
  375. materialCode: "10001",
  376. materialName: "物料A",
  377. specs: "3*4",
  378. ProjectName: "项目A",
  379. files:[
  380. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/1.pdf"}
  381. ]
  382. });
  383. taskList.push({
  384. orderSheetCode: "G10002",
  385. materialCode: "10002",
  386. materialName: "物料B",
  387. specs: "3*4",
  388. ProjectName: "项目B",
  389. files:[
  390. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/2.pdf"}
  391. ]
  392. });
  393. taskList.push({
  394. orderSheetCode: "G10001",
  395. materialCode: "10001",
  396. materialName: "物料A",
  397. specs: "3*4",
  398. ProjectName: "项目A",
  399. files:[
  400. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/1.pdf"}
  401. ]
  402. });
  403. taskList.push({
  404. orderSheetCode: "G10002",
  405. materialCode: "10002",
  406. materialName: "物料B",
  407. specs: "3*4",
  408. ProjectName: "项目B",
  409. files:[
  410. {name:"物料A操作手册",type:"pdf",path:"/files/opratefile/2.pdf"}
  411. ]
  412. });
  413. return taskList;
  414. }
  415. }