123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package {{{ package }}}
- import com.yvan.core.DbConv
- import com.yvan.data.jdbc.DaoFactory
- import com.yvan.model.YvanExt
- import com.yvan.model.response.Model
- import com.yvan.model.response.ModelOps
- import groovy.util.logging.Slf4j
- import static com.galaxis.wms.query.{{{ qClass }}}.{{{ qClassTable }}}
- @Slf4j
- class {{{ groovyClass }}} {
- static def queryDsl = DaoFactory.getQueryDSL()
- static def mybatis = DaoFactory.getMyBatis({{{ groovyClass }}}.class)
- {{#if pagination}}
- static def queryByPage(Map params) {
- def list = mybatis.queryByPage("queryByPage", YvanExt.getQueryByPage(), params)
- return Model.newSuccess(list)
- }
- {{else}}
- static def query(Map params) {
- def list = mybatis.queryByPage("query", YvanExt.getQueryByPage(), params)
- return Model.newSuccess(list)
- }
- {{/if}}
- static def deleteItem(params) {
- def d = queryDsl.delete({{{ qClassTable }}})
- {{#each deleteWheres}}.where({{{ ../qClassTable }}}.{{{ qClassField }}}.eq(DbConv.{{{ dbConvMethod }}}(params._origin.{{{ paramField }}}))){{/each}}
- .execute()
- return ModelOps.newSuccess(d)
- }
- static def saveItems(params) {
- // 获取 queryDsl 针对数据库表的 insert/update/delete 的操作对象
- def insert = queryDsl.insert({{{ qClassTable }}})
- def update = queryDsl.update({{{ qClassTable }}})
- def delete = queryDsl.delete({{{ qClassTable }}})
- for (def row : params.newRows) {
- // 提取 newRows 全部新加的数据,构建insert的queryDsl语句,并添加到 "批量执行(addBatch)" 的缓存中
- insert
- {{#each insertColumns}}.setx({{{ ../qClassTable }}}.{{{ qClassField }}}, row.{{{ paramField }}}){{/each}}
- .addBatch()
- }
- for (def row : params.modifyRows) {
- // 提取 modifyRows 全部修改的数据,构建update的queryDsl语句,并添加到 "批量执行(addBatch)" 的缓存中
- if (row._origin.asn_in_id != null) {
- update
- {{#each updateColumns}}.setx({{{ ../qClassTable }}}.{{{ qClassField }}}, row.{{{ paramField }}}){{/each}}
- {{#each updateWheres}}.where({{{ ../qClassTable }}}.{{{ qClassField }}}.eq(DbConv.{{{ dbConvMethod }}}(row._origin.{{{ paramField }}}))){{/each}}
- .addBatch()
- }
- }
- for (def row : params.removeRecords) {
- // 提取 removeRecords 全部删除的数据,构建删除条件,添加到 "批量执行(addBatch)" 的缓存中
- if (row._origin.asn_in_id != null) {
- delete
- {{#each deleteWheres}}.where({{{ ../qClassTable }}}.{{{ qClassField }}}.eq(DbConv.{{{ dbConvMethod }}}(row._origin.{{{ paramField }}}))){{/each}}
- .addBatch()
- }
- }
- def i = 0 // 插入行计数
- def u = 0 // 更新行计数
- def d = 0 // 删除行计数
- def msg = ""
- // 构建提示语句
- if (insert.getBatchCount() > 0) {
- i = insert.execute()
- msg += ",插入${i}行"
- }
- if (update.getBatchCount() > 0) {
- u += update.execute()
- msg += ",更新${u}行"
- }
- if (delete.getBatchCount() > 0) {
- d += delete.execute()
- msg += ",删除${d}行"
- }
- def rowEffect = i + u + d
- if (rowEffect <= 0) {
- return ModelOps.newSuccess().setMsg("没有要更新的内容")
- }
- // 返回前端
- return Model.newSuccess([
- update : u,
- insert : i,
- delete : d,
- rowEffect: rowEffect
- ]).setMsg("保存成功" + msg)
- }
- }
|