v0001_feedtemplet.sql 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. ALTER TABLE `feedtemplet`
  2. ADD COLUMN `is_modify` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否可修改 0 无效 1 是 2 否',
  3. ADD COLUMN `group_data_id` bigint(11) unsigned NOT NULL DEFAULT '0' COMMENT '集体端数据ID';
  4. ALTER TABLE `ftdetail`
  5. ADD COLUMN `is_modify` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否可修改 0 无效 1 是 2 否';
  6. ## SELECT * FROM apisql WHERE sqlname = 'getFTList' AND ENABLE >0
  7. ## 需要更新的语句如下
  8. SELECT * FROM ( SELECT
  9. tname,tcolor,ccid,ccname,fttype, remark,`enable`,source,fttypeid,tcode,is_modify,version,
  10. TRIM(id) id,
  11. TRIM(pastureid)pastureid,
  12. isissue,
  13. (SELECT GROUP_CONCAT( DISTINCT fp.`pastureName`) FROM feedtemplet_pasture fp
  14. WHERE fp.ftid=ft.`id` AND fp.pastureid =ft.pastureid ) grouppastures,
  15. (SELECT COUNT(1) FROM feedp WHERE pastureid = ft.pastureid AND (ptsfid = ft.id OR ftid = ft.id) LIMIT 1 ) AS state,
  16. IF((SELECT COUNT(1) FROM ftdetail_issue fi
  17. WHERE fi.pastureid = ft.pastureid AND fi.ftid = ft.id)+
  18. (SELECT COUNT(1)
  19. FROM `ftdetail` ftd
  20. WHERE ftd.pastureid = ft.pastureid AND ftd.ftid = ft.id)>0,1,0) AS isadjust,ft.sort
  21. FROM
  22. feedtemplet ft
  23. WHERE pastureid = ?
  24. AND (ccname LIKE CONCAT("%",?,"%") OR ?='')
  25. AND (tname LIKE CONCAT("%",?,"%") OR ?='')
  26. AND (fttype LIKE CONCAT("%",?,"%") OR ?='')
  27. ) f
  28. WHERE (f.enable = ? OR ? = '' ) AND (isadjust = ? OR ? = '') AND (source = IF( ? = 0 ,"自定义",IF (? = 1,"集团下发未调整",IF(? = 2,"集团下发有调整",IF(? = 3 ,"导入","")))) OR ? = '')
  29. ORDER BY f.sort ASC;
  30. ALTER TABLE cowclass ADD COLUMN group_id int(11) unsigned NOT NULL DEFAULT '0' COMMENT '集团端id';
  31. ALTER TABLE feedclass ADD COLUMN group_id int(11) unsigned NOT NULL DEFAULT '0' COMMENT '集团端id';
  32. ALTER TABLE USER ADD COLUMN `imei` VARCHAR(255) DEFAULT NULL;
  33. ## SELECT * FROM apisql WHERE sqlname ='updatesysopt'
  34. ## 需要更新的语句如下sqlstr
  35. UPDATE `sysopt`
  36. SET inforvalue = CASE inforname
  37. WHEN 'isGetLastPlan' THEN ?
  38. WHEN 'isGetNextPlan' THEN ?
  39. WHEN 'isEnableSupplyFeed' THEN ?
  40. WHEN 'isEnableRemainFeed' THEN ?
  41. WHEN 'reportDigit' THEN ?
  42. WHEN 'isLockCount' THEN ?
  43. WHEN 'remainOpt' THEN ?
  44. WHEN 'waterOpt' THEN ?
  45. WHEN 'overweightWarnRate' THEN ?
  46. WHEN 'overweightBanRate' THEN ?
  47. WHEN 'repertoryWarn' THEN ?
  48. WHEN 'isfeedstorage' THEN ?
  49. WHEN 'times' THEN ?
  50. WHEN 'isEnableContract' THEN ?
  51. WHEN 'remainOptDis' THEN ?
  52. WHEN 'remainOptRate' THEN round(?/100,2)
  53. WHEN 'isSmallMaterial' THEN ?
  54. WHEN 'decimalPlaces' THEN ?
  55. WHEN 'isDataSync' THEN ?
  56. WHEN 'anyCar' THEN ?
  57. WHEN 'decimalRate' THEN ?
  58. WHEN 'accuracy' THEN ?
  59. WHEN 'sprinkleFeedTimeAllow' THEN ?
  60. WHEN 'domain' THEN ?
  61. END
  62. WHERE pastureid= ?;
  63. ## 需要更新的语句如下params
  64. # isGetLastPlan,isGetNextPlan,isEnableSupplyFeed,isEnableRemainFeed,reportDigit,isLockCount,remainOpt,waterOpt,overweightWarnRate,overweightBanRate,repertoryWarn,isfeedstorage,times,isEnableContract,remainOptDis,remainOptRate,isSmallMaterial,decimalPlaces,isDataSync,anyCar,decimalRate,accuracy,sprinkleFeedTimeAllow,domain,pastureid
  65. ## setp 1 需要增加的语句
  66. INSERT INTO sysopt (pastureid,inforname,inforvalue )VALUES (1653271339,"sprinkleFeedTimeAllow","10"),(1653271339,"domain","http://192.168.1.70:8081");
  67. ## setp 2 SELECT * FROM apisql WHERE sqlname ='getysoptList'
  68. SELECT TRIM(pastureid) pastureid,
  69. MAX(CASE
  70. WHEN inforname = 'isGetLastPlan' THEN
  71. inforvalue
  72. END
  73. ) AS isGetLastPlan,
  74. MAX(CASE
  75. WHEN inforname = 'isGetNextPlan' THEN
  76. inforvalue
  77. END
  78. ) AS isGetNextPlan,
  79. MAX(CASE
  80. WHEN inforname = 'isEnableSupplyFeed' THEN
  81. inforvalue
  82. END
  83. ) AS isEnableSupplyFeed,
  84. MAX(CASE
  85. WHEN inforname = 'isEnableRemainFeed' THEN
  86. inforvalue
  87. END
  88. ) AS isEnableRemainFeed,
  89. MAX(CASE
  90. WHEN inforname = 'reportDigit' THEN
  91. inforvalue
  92. END
  93. ) AS reportDigit,
  94. MAX(CASE
  95. WHEN inforname = 'isLockCount' THEN
  96. inforvalue
  97. END
  98. ) AS isLockCount,
  99. MAX(CASE
  100. WHEN inforname = 'remainOpt' THEN
  101. inforvalue
  102. END
  103. ) AS remainOpt,
  104. MAX(CASE
  105. WHEN inforname = 'waterOpt' THEN
  106. inforvalue
  107. END
  108. ) AS waterOpt,
  109. MAX(CASE
  110. WHEN inforname = 'overweightWarnRate' THEN
  111. inforvalue
  112. END
  113. ) AS overweightWarnRate,
  114. MAX(CASE
  115. WHEN inforname = 'overweightBanRate' THEN
  116. inforvalue
  117. END
  118. ) AS overweightBanRate,
  119. MAX(CASE
  120. WHEN inforname = 'repertoryWarn' THEN
  121. inforvalue
  122. END
  123. ) AS repertoryWarn,
  124. MAX(CASE
  125. WHEN inforname = 'isfeedstorage' THEN
  126. inforvalue
  127. END
  128. ) AS isfeedstorage,
  129. MAX(CASE
  130. WHEN inforname = 'times' THEN
  131. inforvalue
  132. END
  133. ) AS times,
  134. MAX(CASE
  135. WHEN inforname = 'isEnableContract' THEN
  136. inforvalue
  137. END
  138. ) AS isEnableContract,
  139. MAX(CASE
  140. WHEN inforname = 'remainOptDis' THEN
  141. inforvalue
  142. END
  143. ) AS remainOptDis,
  144. MAX(CASE
  145. WHEN inforname = 'remainOptRate' THEN
  146. inforvalue*100
  147. END
  148. ) AS remainOptRate,
  149. MAX(CASE
  150. WHEN inforname = 'isSmallMaterial' THEN
  151. inforvalue
  152. END
  153. ) AS isSmallMaterial,
  154. MAX(CASE
  155. WHEN inforname = 'decimalPlaces' THEN
  156. inforvalue
  157. END
  158. ) AS decimalPlaces,
  159. MAX(CASE
  160. WHEN inforname = 'isDataSync' THEN
  161. inforvalue
  162. END
  163. ) AS isDataSync,
  164. MAX(CASE
  165. WHEN inforname = 'anyCar' THEN
  166. inforvalue
  167. END
  168. ) as anyCar,
  169. MAX(CASE
  170. WHEN inforname = 'decimalRate' THEN
  171. inforvalue
  172. END
  173. ) as decimalRate,
  174. MAX(CASE
  175. WHEN inforname = 'accuracy' THEN
  176. inforvalue
  177. END
  178. ) as accuracy
  179. ,
  180. MAX(CASE
  181. WHEN inforname = 'wgSap' THEN
  182. inforvalue
  183. END
  184. ) as wgSap,
  185. MAX(CASE
  186. WHEN inforname = 'sprinkleFeedTimeAllow' THEN
  187. inforvalue
  188. END
  189. ) as sprinkleFeedTimeAllow,
  190. MAX(CASE
  191. WHEN inforname = 'domain' THEN
  192. inforvalue
  193. END
  194. ) as domain
  195. FROM `sysopt`
  196. WHERE pastureid = ?;
  197. ## 配方版本更新记录表
  198. CREATE TABLE `feed_detail_version_log` (
  199. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键自增id',
  200. `feed_template_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '配方id',
  201. `group_version` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '版本号',
  202. `belong` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '配方归属 0 无效 1 归属集团端 2 归属牧场端',
  203. `created_at` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建时间',
  204. `updated_at` bigint(20) NOT NULL DEFAULT '0' COMMENT '更新时间',
  205. PRIMARY KEY (`id`),
  206. KEY `idx_feed_template_id` (`feed_template_id`)
  207. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配方版本更新记录表'