Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.39 KB | None | 0 0
  1. scrset(
  2. sBerriesCountingTeperberg:frm(#Berries_Counting,90|60|90,
  3. init:block(
  4. set($pestCode, .pest, dDone),
  5. set($taskCode, .task, dDone),
  6. set($lc,.plot,dDone),
  7. set($plotCode,.plot,dDone),
  8. set($reportToday, ${qps('/data[plot==lc&&pest=="ML133I6I8I"].reported_today', 'dHist')}),
  9.  
  10. set($samples5ReportedToday,${qps('/data[plot==lc&&pest=="ML133I6I5I"].items','dHist')}),
  11.  
  12. set($avgWeightSpine,${lastData("/data[plot=='".plotCode."'&&pest=='ML133I6I5I'].items")}),
  13. set($avgWeightCluster5,${lastData("/data[plot=='".plotCode."'&&pest=='ML133I6I5I'].count")}),
  14.  
  15.  
  16. if(${allNotNullZero(avgWeightSpine,avgWeightCluster5)},
  17. set($avgWeightOfSpine,${frm(100*avgWeightSpine/avgWeightCluster5,0,2)}),
  18. set($avgWeightOfSpine,${0})
  19. ),
  20.  
  21. set($tempSamples,${dataSet(['plot',plotCode,'pest','ML133I6I1I'],['ritems','cluster_weight_teperberg','spine_weight_teperberg','sample_number_teperberg'],
  22. [weightBerriesArr,clusterWeightArr,spineWeightArr,sampleNumArr],true)}),
  23.  
  24.  
  25. log(warn,${res("Temp_Samples").tempSamples}),
  26.  
  27. set($sumOfClusterWeight,${0}),
  28.  
  29. for(lineRow,$weightBerriesArr,block(
  30. set(${".berriesSamples:dlist/dset[".i_lineRow."].berries_weight"},${frm(lineRow,0,0)},dTemp),
  31. set(${".berriesSamples:dlist/dset[".i_lineRow."].cluster_weight"},${frm(clusterWeightArr[i_lineRow],0,0)},dTemp),
  32. if(${allNotNullZero(spineWeightArr[i_lineRow])},
  33. set(${".berriesSamples:dlist/dset[".i_lineRow."].spine_weight"},${frm(spineWeightArr[i_lineRow],0,0)},dTemp),
  34. set(${".berriesSamples:dlist/dset[".i_lineRow."].spine_weight"},${'n/a'},dTemp))
  35.  
  36. set(${".berriesSamples:dlist/dset[".i_lineRow."].sample_number"},${frm(sampleNumArr[i_lineRow],0,0)},dTemp),
  37. set($sumOfClusterWeight,${sumOfClusterWeight+clusterWeightArr[i_lineRow]}),
  38.  
  39. //log(warn,${res("Cluster_weight").clusterWeightArr[i_lineRow]}),
  40.  
  41. ))
  42.  
  43. if(${allNotNullZero(tempSamples)},block(
  44. set($avgWeightClusters,${avg(clusterWeightArr)}),
  45. //log(warn,${res("Avg_Weight_Cluters").avgWeightClusters}),
  46.  
  47. set($avgWeightBerries,${avg(weightBerriesArr)}),
  48. //log(warn,${res("Avg_Weight_Berries").avgWeightBerries}),
  49. //log(warn,${res("Avg_Weight_Spine").avgWeightSpine}),
  50.  
  51. if(${allNotNullZero(avgWeightSpine,avgWeightBerries)},block(
  52.  
  53. set($netWeightBerries,${sumOfClusterWeight*(1-(avgWeightSpine/avgWeightCluster5))})
  54. set($totalNumBerries,${netWeightBerries/(avgWeightBerries/5)})
  55. set($avgNumBerries,${totalNumBerries/tempSamples})
  56.  
  57. //log(warn,${res("netWeightBerries").netWeightBerries})
  58. //log(warn,${res("totalNumBerries").totalNumBerries})
  59. //log(warn,${res("avgNumBerries").avgNumBerries})
  60. )
  61. ))
  62. ),
  63.  
  64.  
  65.  
  66. )
  67.  
  68. refresh:block(),
  69. focus:block(
  70. set($lblName,${qp('.lblName','dTemp')}),
  71. if(${notEmpty(lblName)}, block(
  72. focus(${'.'.lblName}),
  73. unset(.lblName,dTemp))
  74. )
  75. )
  76.  
  77.  
  78.  
  79. //Headers
  80. lbl(${res("Plot").":"}, lo(1)),
  81. lbl(${qp(".plotName", "dTemp")}, lo(2)),
  82. lbl(${res("Crop").":"}, lo(1)),
  83. lbl(${qp(".cropName", "dTemp")}, lo(2)),
  84. lbl(${res("Samples_Taken").":"},lo(1,m(0,0,0,0)))
  85. lbl(${frm(def(tempSamples,0),0,0)},lo(2,m(0,0,0,0)))
  86.  
  87. lbl(${res("First_5")},lo(3,m(0,0,0,0),style:group),aln:center),
  88. btn(#Add_Samples,lo(3,m(10,20,10,10),enabled:${isEmpty(samples5ReportedToday)}),aln:center,call(na,block(
  89. goto(scr, .def.sFirstFiveSamples)
  90. ))),
  91. lbl(${res("Avg_")."% ".res("weight_of_spine_from_cluster")." : "},lo(2,m(0,0,0,0),style:captionBlue))
  92. lbl(${frm($avgWeightOfSpine,0,2)."%"},lo(1,m(0,0,0,0),style:captionGrey))
  93.  
  94. lbl(${res("Rest")},lo(3,m(0,0,0,0),style:group),aln:center),
  95. btn(#Add_Sample,lo(3,m(10,20,10,10),enabled:${isEmpty(reportToday)}),aln:center,call(na,
  96. block(
  97. goto(scr, .def.sAddSample)
  98. )
  99. )),
  100.  
  101. //Summary
  102.  
  103. lbl(${res("Summary")},lo(3,m(0,0,0,0),style:group),aln:center),
  104.  
  105. pnl(cols:60|60|60|60,lo(3),
  106. lbl(#%23,lo(1,style:captionOrange),aln:center),
  107. lbl(${res("Cluster_Weight_")." (gr)"},lo(1),aln:center),
  108. lbl(${res("5_Berries_Weight_")." (gr)"},lo(1),aln:center),
  109. lbl(${res("Spine_Weight_")." (gr)"},lo(1),aln:center)
  110. ),
  111.  
  112. prp(ivar:ri,lo(3,m(0,0,0,0)),dpath(dTemp,.berriesSamples\:dlist/dset[ri]),
  113. cont:pnl(cols:60|60|60|60|,
  114. lbl(${def(qp('.berriesSamples:dlist/dset[ri].sample_number','dTemp'),'')},lo(1,style:captionOrange),aln:center),
  115. lbl(${def(qp('.berriesSamples:dlist/dset[ri].cluster_weight','dTemp'),'')},lo(1),aln:center),
  116. lbl(${def(qp('.berriesSamples:dlist/dset[ri].berries_weight','dTemp'),'')},lo(1),aln:center),
  117. lbl(${def(qp('.berriesSamples:dlist/dset[ri].spine_weight','dTemp'),'n/a')},lo(1),aln:center)
  118. )
  119. ),
  120.  
  121. lbl(${res("Calculations")},lo(3,m(0,0,5,0),style:group),aln:center),
  122.  
  123. lbl(${res("Avg_weight_clusters_").": "},lo(2,m(0,0,0,0))),
  124. lbl(${if(notEmpty(avgWeightClusters),frm(avgWeightClusters,0,0).'gr','n/a')}),
  125. lbl(${res("Avg_weight_berries_").": "},lo(2,m(0,0,0,0))),
  126. lbl(${if(notEmpty(avgWeightBerries),frm(avgWeightBerries,0,0).'gr','n/a')}),
  127. lbl(${res("Net_weight_berries_").": "},lo(2,m(0,0,0,0))),
  128. lbl(${if(notEmpty(netWeightBerries),frm(netWeightBerries,0,0).'gr','n/a')}),
  129. lbl(${res("Total_num_of_berries").": "},lo(2,m(0,0,0,0))),
  130. lbl(${frm(def(totalNumBerries,0),0,0)}),
  131. lbl(${res("Avg_num_of_berries").": "},lo(2,m(0,0,0,0))),
  132. lbl(${frm(def(avgNumBerries,0),0,0)})
  133.  
  134.  
  135. auxinfo:producer(prm(tags:no,photos:yes,notes:yes,enabled:${isEmpty(reportToday)},dset:dsBerriesCount)),
  136.  
  137. btn(#Finalize,lo(3,m(10,20,10,20),enabled:${isEmpty(reportToday)}),aln:center,call(na,block(
  138. alert(question,${res("Proceed_finalization%3f")},continue),
  139.  
  140. if(${continue},block(
  141. //Avg Weight Cluster
  142. set(.pest,${"ML133I6I3I"},dDone),
  143. set(.task,${"TS1003JA"},dDone),
  144. set(.ritems,$avgWeightClusters,dDone),
  145. set(.data,$avgWeightClusters,dDone),
  146. store(dDone,no),
  147.  
  148. //Avg Weight Berries
  149. set(.pest,${"ML133I6I4I"},dDone),
  150. set(.task,${"TS1003JD"},dDone),
  151. set(.ritems,$avgWeightBerries,dDone),
  152. set(.data,$avgWeightBerries,dDone),
  153. store(dDone,no),
  154.  
  155. //Berries - Net weight
  156. set(.pest,${"ML133I6I6I"},dDone),
  157. set(.task,${"TS1003JE"},dDone),
  158. set(.ritems,$netWeightBerries,dDone),
  159. set(.data,$netWeightBerries,dDone),
  160. store(dDone,no),
  161.  
  162. //Number of berries in cluster
  163. set(.pest,${"ML133I6I7I"},dDone),
  164. set(.task,${"TS1003JF"},dDone),
  165. set(.ritems,$totalNumBerries,dDone),
  166. set(.data,$totalNumBerries,dDone),
  167. store(dDone,no),
  168.  
  169.  
  170. //Number of berries - Average
  171. set(.pest,${"ML133I6I8I"},dDone),
  172. set(.task,${"TS1003JF"},dDone),
  173. set(.ritems,$avgNumBerries,dDone),
  174. set(.data,$avgNumBerries,dDone),
  175. set(.reported_today, ${"yes"}, dDone),
  176. store(dDone,no),
  177.  
  178. unset(.reported_today,dDone),
  179. unset(.ritems,dDone),
  180.  
  181.  
  182. set(.pest,$pestCode,dDone),
  183. set(.task,$taskCode,dDone),
  184. set(.data,${"yes"},dDone),
  185. set($dsetName,${'dsBerriesCount'}),
  186. proc(copyNotes),
  187. store(dDone, yes),
  188. proc(cleanNotes),
  189. cancel()
  190. ))
  191. )))
  192.  
  193.  
  194.  
  195. back:call(#Back,
  196. cancel()
  197. )
  198.  
  199. )
  200. //#region First5add
  201.  
  202. sFirstFiveSamples:frm(#Five_Samples,60|60|60|60,
  203. init:block(
  204. set($lc, .plot, dDone),
  205. set($samplesNo, ${frm(def(cnt(qp('/data[plot==lc&&pest=="ML133I6I1I"].sample_number_teperberg', 'dHist')), 0), 0, 0)}),
  206. set($numSample, ${frm(samplesNo+1, 0, 0)}),
  207.  
  208.  
  209. // set($clusterArr,${doubleArray(0)}),
  210. // set($berriesArr,${doubleArray(0)}),
  211. // set($spineArr,${doubleArray(0)}),
  212.  
  213. set($cluster1,${if(isEmpty(clusterQp:=qps('.clusters1','dTemp')),0,clusterQp)}),
  214. set($cluster2,${if(isEmpty(clusterQp:=qps('.clusters2','dTemp')),0,clusterQp)}),
  215. set($cluster3,${if(isEmpty(clusterQp:=qps('.clusters3','dTemp')),0,clusterQp)}),
  216. set($cluster4,${if(isEmpty(clusterQp:=qps('.clusters4','dTemp')),0,clusterQp)}),
  217. set($cluster5,${if(isEmpty(clusterQp:=qps('.clusters5','dTemp')),0,clusterQp)}),
  218.  
  219. set($berries1,${if(isEmpty(berriesQp:=qps('.berries1','dTemp')),0,berriesQp)}),
  220. set($berries2,${if(isEmpty(berriesQp:=qps('.berries2','dTemp')),0,berriesQp)}),
  221. set($berries3,${if(isEmpty(berriesQp:=qps('.berries3','dTemp')),0,berriesQp)}),
  222. set($berries4,${if(isEmpty(berriesQp:=qps('.berries4','dTemp')),0,berriesQp)}),
  223. set($berries5,${if(isEmpty(berriesQp:=qps('.berries5','dTemp')),0,berriesQp)}),
  224.  
  225. set($spine1,${if(isEmpty(spineQp:=qps('.spine1','dTemp')),0,spineQp)}),
  226. set($spine2,${if(isEmpty(spineQp:=qps('.spine2','dTemp')),0,spineQp)}),
  227. set($spine3,${if(isEmpty(spineQp:=qps('.spine3','dTemp')),0,spineQp)}),
  228. set($spine4,${if(isEmpty(spineQp:=qps('.spine4','dTemp')),0,spineQp)}),
  229. set($spine5,${if(isEmpty(spineQp:=qps('.spine5','dTemp')),0,spineQp)}),
  230.  
  231.  
  232. set($numSamples,${[numSample,numSample+1,numSample+2,numSample+3,numSample+4]}),
  233.  
  234. set($avgWeightCluster,${if(isEmpty(avgQp:=qps('.avgWeightCluster','dTemp')),0,avgQp)}),
  235. set($avgWeightSpine,${if(isEmpty(avgQp:=qps('.avgWeightSpine','dTemp')),0,avgQp)}),
  236. set($avgWeightOfSpine,${if(isEmpty(avgQp:=qps('.avgWeightOfSpine','dTemp')),0,avgQp)}),
  237.  
  238. ),
  239. refresh:block(
  240. if(${allNotNullZero(cluster1,cluster2,cluster3,cluster4,cluster5,spine1,spine2,spine3,spine4,spine5)},
  241. block(
  242. set($clusters,${[cluster1,cluster2,cluster3,cluster4,cluster5]}),
  243. set($spine,${[spine1,spine2,spine3,spine4,spine5]}),
  244.  
  245. // set($clusterArray,${joinAsDoubles(clusterArr,[cluster1,cluster2,cluster3,cluster4,cluster5])})
  246. // set($berriesArray,${joinAsDoubles(clusterArr,[cluster1,cluster2,cluster3,cluster4,cluster5])})
  247. // set($spineArray,${joinAsDoubles(clusterArr,[cluster1,cluster2,cluster3,cluster4,cluster5])})
  248.  
  249. set($avgWeightCluster,${avg(clusters)}),
  250. set(.avgWeightCluster,$avgWeightCluster,dTemp),
  251. set($avgWeightSpine,${avg(spine)}),
  252. set(.avgWeightSpine,$avgWeightSpine,dTemp),
  253. set($avgWeightOfSpine,${100*avgWeightSpine/avgWeightCluster}),
  254. set(.avgWeightOfSpine,$avgWeightOfSpine,dTemp)
  255.  
  256. //log(warn,${res("AvgWeightOfSpine").avgWeightOfSpine}),
  257. )
  258. )
  259.  
  260. ),
  261. focus:block(
  262. set($lblName,${qp('.lblName','dTemp')}),
  263. if(${notEmpty(lblName)}, block(
  264. focus(${'.'.lblName}),
  265. unset(.lblName,dTemp))
  266. )
  267. )
  268.  
  269. lbl(${res("Berries_weight")},lo(4,m(0,0,10,0),style:group),aln:center),
  270.  
  271. lbl(#Sample_%23,lo(1,m(0,0,0,0))),
  272. lbl(${res("Cluster")." (gr)"},lo(1,m(0,0,0,0))),
  273. lbl(${res("5_Berries")." (gr)"},lo(1,m(0,0,0,0))),
  274. lbl(${res("Spine")." (gr)"},lo(1,m(0,0,0,0))),
  275.  
  276.  
  277. lbl(${res("Sample_%23").frm(numSamples[0],0,0)})
  278. ni(cluster1,req:true,lo(1),dpath(dTemp,.cluster1)),
  279. ni(berries1,req:true,lo(1),dpath(dTemp,.berries1)),
  280. ni(spine1,req:true,lo(1),dpath(dTemp,.spine1)),
  281.  
  282. lbl(${res("Sample_%23").frm(numSamples[1],0,0)})
  283. ni(cluster2,req:true,lo(1),dpath(dTemp,.cluster2)),
  284. ni(berries2,req:true,lo(1),dpath(dTemp,.berries2)),
  285. ni(spine2,req:true,lo(1),dpath(dTemp,.spine2)),
  286.  
  287. lbl(${res("Sample_%23").frm(numSamples[2],0,0)})
  288. ni(cluster3,req:true,lo(1),dpath(dTemp,.cluster3)),
  289. ni(berries3,req:true,lo(1),dpath(dTemp,.berries3)),
  290. ni(spine3,req:true,lo(1),dpath(dTemp,.spine3)),
  291.  
  292. lbl(${res("Sample_%23").frm(numSamples[3],0,0)})
  293. ni(cluster4,req:true,lo(1),dpath(dTemp,.cluster4)),
  294. ni(berries4,req:true,lo(1),dpath(dTemp,.berries4)),
  295. ni(spine4,req:true,lo(1),dpath(dTemp,.spine4)),
  296.  
  297. lbl(${res("Sample_%23").frm(numSamples[4],0,0)})
  298. ni(cluster5,req:true,lo(1),dpath(dTemp,.cluster5)),
  299. ni(berries5,req:true,lo(1),dpath(dTemp,.berries5)),
  300. ni(spine5,req:true,lo(1),dpath(dTemp,.spine5)),
  301.  
  302. lbl(${res("Summary")},lo(4,m(20,0,5,0),style:group),aln:center),
  303. lbl(${res("Avg_Percent_weight_of_spine_from_cluster_")},lo(3,m(0,0,0,0),style:captionBlue)),
  304. lbl(${frm(avgWeightOfSpine,0,1)."%"},lo(1,style:captionGrey),sd:true),
  305.  
  306. back:call(#Back,
  307. cancel()
  308. )
  309.  
  310. auxinfo:producer(prm(tags:no,photos:yes,notes:yes,dset:dsBerriesCount)),
  311.  
  312. btn(#Save,lo(4,m(20,20,20,20)),aln:center,call(na,block(
  313. set(.pest, ${"ML133I6I1I"} ,dDone),
  314. set(.task, ${"TS1003JB"} ,dDone),
  315.  
  316. set($clusters,${[cluster1,cluster2,cluster3,cluster4,cluster5]}),
  317. set($berries,${[berries1,berries2,berries3,berries4,berries5]}),
  318. set($spine,${[spine1,spine2,spine3,spine4,spine5]}),
  319.  
  320. set($dsetName,${"dsBerriesCount"}),
  321. proc(copyNotes),
  322. for(i,start:0,count:5,step:1,block(
  323. //log(warn,${res("Berries_Weight").berries[i]}),
  324. set(.ritems,${berries[i]},dDone),
  325. set(.cluster_weight_teperberg,${clusters[i]},dDone),
  326. set(.spine_weight_teperberg,${spine[i]},dDone),
  327. set(.sample_number_teperberg,${numSamples[i]},dDone),
  328. set(.data,${berries[i]},dDone)
  329. store(dDone,no),
  330. ))
  331.  
  332. proc(cleanNotes),
  333.  
  334. unset($dsetName,dDone),
  335. unset(.sample_number_teperberg,dDone),
  336. unset(.spine_weight_teperberg,dDone),
  337. unset(.ritems,dDone),
  338. unset(.cluster_weight_teperberg,dDone),
  339.  
  340.  
  341. set(.pest, ${"ML133I6I5I"} ,dDone),
  342. set(.task, ${"TS100BHG"} ,dDone),
  343. set(.items,$avgWeightSpine,dDone),
  344. set(.count,$avgWeightCluster,dDone),
  345. store(dDone,yes),
  346.  
  347. cancel(),
  348. )))
  349. ),
  350.  
  351. //#region addSample
  352. sAddSample:frm(#Sample,90|60|90,
  353. init:block(
  354. set($lc, .plot, dDone),
  355. set($clusterWeight,${0}),
  356. set($berriesWeight5,${0}),
  357. set($samplesNo, ${frm(def(cnt(qp('/data[plot==lc&&pest=="ML133I6I1I"].sample_number_teperberg', 'dHist')), 0), 0, 0)}),
  358. set($numSample, ${frm(samplesNo+1, 0, 0)}),
  359.  
  360. //set{$numSample,${lastData("/data[plot=='AL100'&&pest=='PM200'].sample_number_teperberg"})
  361.  
  362. log(warn,${res("SamplesNo").samplesNo}),
  363. log(warn,${res("numSample").numSample}),
  364.  
  365.  
  366. )
  367. refresh:block(),
  368. focus:block(
  369. set($lblName,${qp('.lblName','dTemp')}),
  370. if(${notEmpty(lblName)}, block(
  371. focus(${'.'.lblName}),
  372. unset(.lblName,dTemp))
  373. )
  374. ),
  375.  
  376. lbl(${res("Berries_Weight")},lo(3,m(0,0,10,0),style:group),aln:center),
  377. lbl(${res("Cluster_Weight")." (gr)"},lo(1,m(0,0,0,0)))
  378. lbl(""),
  379. lbl(${res("5_Berries_Weight")." (gr)"},lo(1,m(0,0,0,0)))
  380.  
  381. ni(clusterWeight,lo(1),dpath(dTemp,.cluster_Weight))
  382. lbl(""),
  383. ni(berriesWeight5,lo(1),dpath(dTemp,.berries_Weight5))
  384.  
  385. auxinfo:producer(prm(tags:no,photos:yes,notes:yes)),
  386. btn(#Save,lo(3,m(20,20,20,20)),aln:center,call(na,block(
  387. if(${!allNotNull(berriesWeight5,clusterWeight)},block(end()))
  388.  
  389. set(.task,${"TS1003JB"},dDone),
  390. set(.pest,${"ML133I6I1I"},dDone),
  391. set(.ritems,$berriesWeight5,dDone),
  392. set(.cluster_weight_teperberg,$clusterWeight,dDone),
  393. set(.sample_number_teperberg,$numSample,dDone),
  394. set(.data,$berriesWeight5,dDone),
  395. store(dDone,yes),
  396. cancel(),
  397. )))
  398. back:call(#Back,
  399. cancel()
  400. )
  401. )
  402. //#endregion
  403.  
  404. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement