ParkDBVersion.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. using LJLib.DBOption;
  2. //CREATE TABLE st_serial
  3. //(
  4. // tubeCode varchar(20) NOT NULL CONSTRAINT DF_st_serial_tubeCode DEFAULT(''),
  5. // claimCode varchar(20) NOT NULL CONSTRAINT DF_st_serial_claimCode DEFAULT(''),
  6. // activationCode varchar(20) NULL,
  7. // innerCode varchar(20) NOT NULL CONSTRAINT DF_st_serial_innerCode DEFAULT(''),
  8. // ifBP tinyint NOT NULL CONSTRAINT DF_st_serial_ifBP DEFAULT(0),
  9. // bpLotNumber varchar(20) NOT NULL CONSTRAINT DF_st_serial_bpLotNumber DEFAULT(''),
  10. // lotNumber varchar(30) NOT NULL CONSTRAINT DF_st_serial_lotNumber DEFAULT(''),
  11. // solFillDate datetime NULL,
  12. // returnMailerTrackingNumber varchar(255) NOT NULL CONSTRAINT DF_st_serial_returnMailerTrackingNumber DEFAULT(''),
  13. // ifFG tinyint NOT NULL CONSTRAINT DF_st_serial_ifFG DEFAULT(0),
  14. // containerNumber varchar(20) NOT NULL CONSTRAINT DF_st_serial_containerNumber DEFAULT(''),
  15. // packCartonID varchar(255) NOT NULL CONSTRAINT DF_st_serial_packCartonID DEFAULT(''),
  16. // FGCarton varchar(255) NOT NULL CONSTRAINT DF_st_serial_FGCarton DEFAULT(''),
  17. // packPalletID varchar(255) NOT NULL CONSTRAINT DF_st_serial_packPalletID DEFAULT(''),
  18. // FGPallet varchar(255) NOT NULL CONSTRAINT DF_st_serial_FGPallet DEFAULT(''),
  19. // FGmanufacturedDate datetime NULL,
  20. // gNum int NOT NULL CONSTRAINT DF_st_serial_gNum DEFAULT(0),
  21. // cartonNum int NOT NULL CONSTRAINT DF_st_serial_cartonNum DEFAULT(0),
  22. // syncBP tinyint NOT NULL CONSTRAINT DF_st_serial_syncBP DEFAULT(0),
  23. // syncFG tinyint NOT NULL CONSTRAINT DF_st_serial_syncFG DEFAULT(0),
  24. // syncASN tinyint NOT NULL CONSTRAINT DF_st_serial_syncASN DEFAULT(0),
  25. // CONSTRAINT PK_ST_SERIAL PRIMARY KEY (tubeCode)
  26. //)
  27. namespace JLHHJSvr.DBA
  28. {
  29. public sealed class ParkDbVersion : DBVersionSql
  30. {
  31. protected override string currentVersion
  32. {
  33. get { return "1.0.250923"; }
  34. }
  35. protected override string dbname
  36. {
  37. get { return "Park"; }
  38. }
  39. protected override DBVersionSql.Script[] scripts
  40. {
  41. get
  42. {
  43. return new Script[]
  44. {
  45. new Script("1.0.171204", @"CREATE TABLE st_user
  46. (
  47. userid int NOT NULL,
  48. usercode varchar(20) NOT NULL CONSTRAINT DF_st_user_usercode DEFAULT(''),
  49. username varchar(20) NOT NULL CONSTRAINT DF_st_user_username DEFAULT(''),
  50. psw varchar(255) NOT NULL CONSTRAINT DF_st_user_psw DEFAULT(''),
  51. sex varchar(10) NOT NULL CONSTRAINT DF_st_user_sex DEFAULT(''),
  52. tel varchar(50) NOT NULL CONSTRAINT DF_st_user_tel DEFAULT(''),
  53. dscrp varchar(255) NOT NULL CONSTRAINT DF_st_user_dscrp DEFAULT(''),
  54. opemp varchar(20) NOT NULL CONSTRAINT DF_st_user_opemp DEFAULT(''),
  55. opdate datetime NOT NULL CONSTRAINT DF_st_user_opdate DEFAULT(GETDATE()),
  56. modemp varchar(20) NOT NULL CONSTRAINT DF_st_user_modemp DEFAULT(''),
  57. moddate datetime NULL,
  58. CONSTRAINT PK_ST_USER PRIMARY KEY (userid)
  59. )", ""),
  60. new Script("1.0.171204", @"CREATE UNIQUE NONCLUSTERED INDEX IX_st_user ON st_user
  61. (
  62. usercode ASC
  63. )", ""),
  64. new Script("1.0.171204", @"CREATE TABLE st_user_power
  65. (
  66. userid int NOT NULL,
  67. funid int NOT NULL,
  68. CONSTRAINT PK_ST_USER_POWER PRIMARY KEY (userid, funid)
  69. )", ""),
  70. new Script("1.0.171204", @"CREATE TABLE st_road
  71. (
  72. roadid int NOT NULL,
  73. roadname varchar(255) NOT NULL CONSTRAINT DF_st_road_roadname DEFAULT(''),
  74. groupname varchar(255) NOT NULL CONSTRAINT DF_st_road_groupname DEFAULT(''),
  75. manager varchar(20) NOT NULL CONSTRAINT DF_st_road_manager DEFAULT(''),
  76. man_tel varchar(50) NOT NULL CONSTRAINT DF_st_road_man_tel DEFAULT(''),
  77. cnt int NOT NULL CONSTRAINT DF_st_road_cnt DEFAULT(0),
  78. dscrp varchar(255) NOT NULL CONSTRAINT DF_st_road_dscrp DEFAULT(''),
  79. opemp varchar(20) NOT NULL CONSTRAINT DF_st_road_opemp DEFAULT(''),
  80. opdate datetime NOT NULL CONSTRAINT DF_st_road_opdate DEFAULT(GETDATE()),
  81. modemp varchar(20) NOT NULL CONSTRAINT DF_st_road_modemp DEFAULT(''),
  82. moddate datetime NULL,
  83. CONSTRAINT PK_ST_ROAD PRIMARY KEY (roadid)
  84. )", ""),
  85. new Script("1.0.171204", @"CREATE UNIQUE NONCLUSTERED INDEX IX_st_road ON st_road
  86. (
  87. roadname ASC
  88. )", ""),
  89. new Script("1.0.171204", @"CREATE TABLE st_car
  90. (
  91. carnum varchar(20) NOT NULL,
  92. OWNER varchar(20) NOT NULL CONSTRAINT DF_st_car_OWNER DEFAULT(''),
  93. owner_tel varchar(50) NOT NULL CONSTRAINT DF_st_car_owner_tel DEFAULT(''),
  94. dscrp varchar(255) NOT NULL CONSTRAINT DF_st_car_dscrp DEFAULT(''),
  95. opemp varchar(20) NOT NULL CONSTRAINT DF_st_car_opemp DEFAULT(''),
  96. opdate datetime NOT NULL CONSTRAINT DF_st_car_opdate DEFAULT(GETDATE()),
  97. modemp varchar(20) NOT NULL CONSTRAINT DF_st_car_modemp DEFAULT(''),
  98. moddate datetime NULL,
  99. ifinput tinyint NOT NULL CONSTRAINT DF_st_car_ifinput DEFAULT(0),
  100. CONSTRAINT PK_ST_CAR PRIMARY KEY (carnum)
  101. )", ""),
  102. new Script("1.0.171204", @"CREATE TABLE st_permit
  103. (
  104. pid int NOT NULL,
  105. carnum varchar(20) NOT NULL CONSTRAINT DF_st_permit_carnum DEFAULT(''),
  106. OWNER varchar(20) NOT NULL CONSTRAINT DF_st_permit_OWNER DEFAULT(''),
  107. owner_tel varchar(50) NOT NULL CONSTRAINT DF_st_permit_owner_tel DEFAULT(''),
  108. begindate datetime NOT NULL CONSTRAINT DF_st_permit_begindate DEFAULT(GETDATE()),
  109. enddate datetime NOT NULL CONSTRAINT DF_st_permit_enddate DEFAULT(GETDATE()),
  110. iftmp tinyint NOT NULL CONSTRAINT DF_st_permit_iftmp DEFAULT(0),
  111. inuse tinyint NOT NULL CONSTRAINT DF_st_permit_inuse DEFAULT(0),
  112. roadid int NOT NULL CONSTRAINT DF_st_permit_roadid DEFAULT(0),
  113. dscrp varchar(255) NOT NULL CONSTRAINT DF_st_permit_dscrp DEFAULT(''),
  114. opemp varchar(20) NOT NULL CONSTRAINT DF_st_permit_opemp DEFAULT(''),
  115. opdate datetime NOT NULL CONSTRAINT DF_st_permit_opdate DEFAULT(GETDATE()),
  116. modemp varchar(20) NOT NULL CONSTRAINT DF_st_permit_modemp DEFAULT(''),
  117. moddate datetime NULL,
  118. paytype tinyint NOT NULL CONSTRAINT DF_st_permit_paytype DEFAULT(0),
  119. payamt decimal(18,5) NOT NULL CONSTRAINT DF_st_permit_payamt DEFAULT(0),
  120. CONSTRAINT PK_ST_PERMIT PRIMARY KEY (pid)
  121. )", ""),
  122. new Script("1.0.171204", @"CREATE TABLE cd_idfactory
  123. (
  124. idkey varchar(255) NOT NULL,
  125. idvalue int NOT NULL CONSTRAINT DF_cd_idfactory_idvalue DEFAULT(0),
  126. CONSTRAINT PK_CD_IDFACTORY PRIMARY KEY (idkey)
  127. )", ""),
  128. new Script("1.0.171204", @"CREATE TABLE st_bill
  129. (
  130. billid int NOT NULL,
  131. carnum varchar(20) NOT NULL CONSTRAINT DF_st_bill_carnum DEFAULT(''),
  132. OWNER varchar(20) NOT NULL CONSTRAINT DF_st_bill_OWNER DEFAULT(''),
  133. owner_tel varchar(50) NOT NULL CONSTRAINT DF_st_bill_owner_tel DEFAULT(''),
  134. dscrp varchar(255) NOT NULL CONSTRAINT DF_st_bill_dscrp DEFAULT(''),
  135. flag tinyint NOT NULL CONSTRAINT DF_st_bill_flag DEFAULT(0),
  136. auditemp varchar(20) NOT NULL CONSTRAINT DF_st_bill_auditemp DEFAULT(''),
  137. auditdate datetime NULL,
  138. opemp varchar(20) NOT NULL CONSTRAINT DF_st_bill_opemp DEFAULT(''),
  139. opdate datetime NOT NULL CONSTRAINT DF_st_bill_opdate DEFAULT(GETDATE()),
  140. modemp varchar(20) NOT NULL CONSTRAINT DF_st_bill_modemp DEFAULT(''),
  141. moddate datetime NULL,
  142. paytype tinyint NOT NULL CONSTRAINT DF_st_bill_paytype DEFAULT(0),
  143. payamt decimal(18,5) NOT NULL CONSTRAINT DF_st_bill_payamt DEFAULT(0),
  144. CONSTRAINT PK_ST_BILL PRIMARY KEY (billid)
  145. )", ""),
  146. new Script("1.0.171204", @"CREATE TABLE st_file
  147. (
  148. filemd5 varchar(255) NOT NULL,
  149. filedata image NOT NULL,
  150. CONSTRAINT PK_ST_FILE PRIMARY KEY (filemd5)
  151. )", ""),
  152. new Script("1.0.171204", @"CREATE TABLE st_bill_mx
  153. (
  154. billid int NOT NULL,
  155. printid int NOT NULL,
  156. filemd5 varchar(255) NOT NULL CONSTRAINT DF_st_bill_mx_filemd5 DEFAULT(''),
  157. CONSTRAINT PK_ST_BILL_MX PRIMARY KEY (billid, printid)
  158. )", ""),
  159. new Script("1.0.171209", @"CREATE TABLE st_option
  160. (
  161. optionid int NOT NULL,
  162. optionname varchar(200) NOT NULL CONSTRAINT DF_st_option_optionname DEFAULT(''),
  163. optionvalue varchar(200) NOT NULL CONSTRAINT DF_st_option_optionvalue DEFAULT(''),
  164. optiondscrp varchar(200) NOT NULL CONSTRAINT DF_st_option_optiondscrp DEFAULT(''),
  165. CONSTRAINT PK_st_option PRIMARY KEY
  166. (
  167. optionid
  168. )
  169. )", ""),
  170. new Script("1.0.171211", @"
  171. ALTER TABLE st_option ADD modemp varchar(20) NOT NULL CONSTRAINT DF_st_option_modemp DEFAULT('')
  172. ALTER TABLE st_option ADD moddate datetime NULL
  173. ALTER TABLE st_file ADD fileType varchar(20) NOT NULL CONSTRAINT DF_st_file_fileType DEFAULT('')
  174. ", ""),
  175. new Script("1.0.171215", @"
  176. ALTER TABLE st_bill ADD roadid int NOT NULL CONSTRAINT DF_st_bill_roadid DEFAULT(0)
  177. ", ""),
  178. new Script("1.0.180104", @"
  179. CREATE TABLE fx_user_dwlayout(
  180. userid int NOT NULL,
  181. dwname varchar(50) NOT NULL,
  182. column_visible text NOT NULL,
  183. column_width text NOT NULL,
  184. column_x text NOT NULL,
  185. column_autosize int NOT NULL,
  186. column_detail_height int NOT NULL,
  187. CONSTRAINT PK_fx_user_dwlayout PRIMARY KEY CLUSTERED
  188. (
  189. userid ASC,
  190. dwname ASC
  191. )
  192. )
  193. ALTER TABLE fx_user_dwlayout ADD CONSTRAINT DF_fx_user_dwlayout_column_visible DEFAULT ('') FOR column_visible
  194. ALTER TABLE fx_user_dwlayout ADD CONSTRAINT DF_fx_user_dwlayout_column_width DEFAULT ('') FOR column_width
  195. ALTER TABLE fx_user_dwlayout ADD CONSTRAINT DF_fx_user_dwlayout_column_x DEFAULT ('') FOR column_x
  196. ALTER TABLE fx_user_dwlayout ADD CONSTRAINT DF_fx_user_dwlayout_column_autosize DEFAULT (-1) FOR column_autosize
  197. ALTER TABLE fx_user_dwlayout ADD CONSTRAINT DF_fx_user_dwlayout_column_detail_height DEFAULT (0) FOR column_detail_height
  198. ", ""),
  199. new Script("1.0.250730", @"
  200. ALTER TABLE u_user_jlhprice ADD whiteIPs varchar(2000) NULL
  201. ", ""),
  202. new Script("1.0.250919", @"
  203. IF NOT EXISTS (SELECT * FROM Sys_scIdentity WHERE tablename = 'u_sys_post' AND columnname = 'postid')
  204. BEGIN
  205. INSERT INTO Sys_scIdentity (scid, tablename, columnname, ScIdentityno)
  206. VALUES (0, 'u_sys_post', 'postid', 0);
  207. END
  208. IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'u_sys_post')
  209. BEGIN
  210. CREATE TABLE u_sys_post (
  211. postid int NOT NULL CONSTRAINT DF_u_sys_post_postid DEFAULT 0,
  212. scid int NOT NULL CONSTRAINT DF_u_sys_post_scid DEFAULT 0,
  213. deptid int NOT NULL CONSTRAINT DF_u_sys_post_deptid DEFAULT 0,
  214. empid int NOT NULL CONSTRAINT DF_u_sys_post_empid DEFAULT 0,
  215. type int NOT NULL CONSTRAINT DF_u_sys_post_type DEFAULT 0,
  216. empids char(1024) NOT NULL CONSTRAINT DF_u_sys_post_empids DEFAULT '',
  217. sdate datetime NULL,
  218. edate datetime NULL,
  219. dscrp varchar(4000) NOT NULL CONSTRAINT DF_u_sys_post_dscrp DEFAULT '',
  220. opemp char(20) NOT NULL CONSTRAINT DF_u_sys_post_opemp DEFAULT '',
  221. opdate datetime NULL,
  222. level int NOT NULL CONSTRAINT DF_u_sys_post_level DEFAULT 0,
  223. CONSTRAINT UK_u_sys_post PRIMARY KEY (postid)
  224. );
  225. END
  226. ", ""),
  227. new Script("1.0.250920", @"ALTER TABLE u_mtrl_price ADD is_singleqty BIT NOT NULL CONSTRAINT DF_u_lock_table_is_singleqty DEFAULT(0)", ""),
  228. new Script("1.0.250923", @"
  229. IF NOT EXISTS (SELECT * FROM sys_func_pwr WHERE funcid = 161)
  230. BEGIN
  231. INSERT INTO sys_func_pwr (funcid, parentid, treename, menuname, if_use)
  232. VALUES
  233. (161, 109, '单据解锁', '单据解锁', 1),
  234. (162, 161, '单据解锁','解锁', 1);
  235. END
  236. IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'u_lock_table')
  237. BEGIN
  238. CREATE TABLE u_lock_table (
  239. logid int IDENTITY(1,1) NOT NULL,
  240. keyword VARCHAR(24) NOT NULL CONSTRAINT DF_u_lock_table_keyword DEFAULT(''),
  241. billid INT NOT NULL CONSTRAINT DF_u_lock_table_billid DEFAULT(0),
  242. billcode VARCHAR(50) NOT NULL CONSTRAINT DF_u_lock_table_billcode DEFAULT(''),
  243. is_locked BIT NOT NULL CONSTRAINT DF_u_lock_table_is_locked DEFAULT(1),
  244. opemp VARCHAR(24) NOT NULL CONSTRAINT DF_u_lock_table_opemp DEFAULT(''),
  245. lock_time DATETIME NOT NULL CONSTRAINT DF_u_lock_table_lock_time DEFAULT(GETDATE()),
  246. expire_time DATETIME NULL CONSTRAINT DF_u_lock_table_expire_time DEFAULT(NULL),
  247. CONSTRAINT UK_u_lock_table PRIMARY KEY (logid),
  248. CONSTRAINT UQ_u_lock_table UNIQUE (keyword, billid)
  249. );
  250. END
  251. IF NOT EXISTS (SELECT * FROM sys.procedures WHERE name = 'sp_lock_record')
  252. BEGIN
  253. EXEC('
  254. CREATE PROCEDURE sp_lock_record
  255. @keyword VARCHAR(24),
  256. @billid INT,
  257. @billcode VARCHAR(50),
  258. @opemp VARCHAR(24),
  259. @lockMinutes INT = 30
  260. AS
  261. BEGIN
  262. SET NOCOUNT ON;
  263. DECLARE @now DATETIME = GETDATE();
  264. DECLARE @expire DATETIME = DATEADD(MINUTE, @lockMinutes, @now);
  265. DELETE FROM u_lock_table
  266. WHERE keyword = @keyword AND billid = @billid
  267. AND expire_time IS NOT NULL AND expire_time < @now;
  268. BEGIN TRY
  269. INSERT INTO u_lock_table (keyword, billid, billcode, is_locked, opemp, lock_time, expire_time)
  270. VALUES (@keyword, @billid, @billcode, 1, @opemp, @now, @expire);
  271. SELECT 1 AS arg_rslt, ''加锁成功'' AS arg_msg;
  272. END TRY
  273. BEGIN CATCH
  274. SELECT 0 AS arg_rslt, ''当前单据已被锁定,不能编辑'' AS arg_msg;
  275. END CATCH
  276. END;
  277. ');
  278. END
  279. IF NOT EXISTS (SELECT * FROM sys.procedures WHERE name = 'sp_unlock_record')
  280. BEGIN
  281. EXEC('
  282. CREATE PROCEDURE sp_unlock_record
  283. @keyword VARCHAR(24),
  284. @billid INT,
  285. @opemp VARCHAR(24),
  286. @is_admin BIT = 0
  287. AS
  288. BEGIN
  289. SET NOCOUNT ON;
  290. IF @is_admin = 1
  291. DELETE FROM u_lock_table
  292. WHERE keyword = @keyword AND billid = @billid;
  293. ELSE
  294. DELETE FROM u_lock_table
  295. WHERE keyword = @keyword AND billid = @billid
  296. AND opemp = @opemp;
  297. IF @@ROWCOUNT > 0
  298. SELECT 1 AS arg_rslt, ''解锁成功'' AS arg_msg;
  299. ELSE
  300. SELECT 0 AS arg_rslt,
  301. CASE
  302. WHEN @is_admin = 1 THEN ''解锁失败,记录不存在或已过期''
  303. ELSE ''解锁失败,原因:可能不是本人加的锁或已过期''
  304. END AS arg_msg;
  305. END;
  306. ');
  307. END
  308. ", ""),
  309. };
  310. }
  311. }
  312. }
  313. }