v0001_feedtemplet.sql 7.7 KB

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