From 8033eea1502d4cb0a91aa4b86c848ccb00ba8dc0 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期五, 13 三月 2020 09:31:46 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/controller/MasterDataController.java |  150 ++++++++++++++-----------------------------------
 1 files changed, 44 insertions(+), 106 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/controller/MasterDataController.java b/src/main/java/com/highdatas/mdm/controller/MasterDataController.java
index 49583a9..0c732b0 100644
--- a/src/main/java/com/highdatas/mdm/controller/MasterDataController.java
+++ b/src/main/java/com/highdatas/mdm/controller/MasterDataController.java
@@ -8,6 +8,7 @@
 import com.highdatas.mdm.pojo.CodeMsg;
 import com.highdatas.mdm.pojo.Operate;
 import com.highdatas.mdm.pojo.Result;
+import com.highdatas.mdm.pojo.SysAssembleUpdateType;
 import com.highdatas.mdm.service.IMaintainDetailService;
 import com.highdatas.mdm.service.IMaintainService;
 import com.highdatas.mdm.service.IMenuMappingService;
@@ -52,64 +53,14 @@
 
     @RequestMapping(value = "{tableName}/uploaded",  method = RequestMethod.GET)
     public Result get(@PathVariable String tableName, HttpServletRequest request) {
-        String uploadType = request.getParameter("uploadType");
-        if (StringUtils.isEmpty(uploadType)) {
-            uploadType = Constant.All;
+        String uploadTypeStr = request.getParameter("uploadType");
+        SysAssembleUpdateType uploadType;
+        if (StringUtils.isEmpty(uploadTypeStr)) {
+            uploadType = SysAssembleUpdateType.Increment;
         }
-        Maintain maxVersion = maintainService.getMaxVersion(tableName);
-        Maintain maintain = new Maintain();
-        String biggerVersion = null;
-        if (maxVersion == null) {
-            biggerVersion = Constant.VERSION_Default;
-            maintain.setOrderNo(0);
-        } else {
-            String flowId = maxVersion.getFlowId();
-            String mVersion = maxVersion.getVersion();
-            if (StringUtils.isEmpty(flowId)) {
-                biggerVersion = mVersion;
-                maintain.setOrderNo(maxVersion.getOrderNo());
-                String tempName = maxVersion.getTableName() + Constant.RECORD;
-
-                tableInfoMapper.deleteTempByMaintainId(tempName, DbUtils.quotedStr(maxVersion.getId()));
-                maintainDetailService.delete(new EntityWrapper<MaintainDetail>().eq("parent_id", maxVersion.getId()));
-
-                maxVersion.deleteById();
-            }else {
-                biggerVersion = DbUtils.versionAddBig(mVersion);
-                maintain.setOrderNo(DbUtils.getOrderNoAdd(maxVersion.getOrderNo()));
-            }
-        }
-
-        String uuid = DbUtils.getUUID();
-        maintain.setId(uuid);
+        uploadType = SysAssembleUpdateType.valueOf(uploadTypeStr);
         TUser user = (TUser) request.getSession().getAttribute(Constant.USER);
-        if (user == null) {
-            return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED);
-        }
-        maintain.setVersion(biggerVersion);
-        maintain.setChargeId(user.getUserId());
-        maintain.setTableName(tableName);
-        maintain.setCreateTime(new Date());
-
-
-        tableInfoMapper.insertMatintainDetailFromTemp(DbUtils.quotedStr(maintain.getId()), maintain.getTableName() + Constant.RECORD);
-
-        tableInfoMapper.updateStdId( maintain.getTableName() + Constant.RECORD);
-
-        Long aLong = tableInfoMapper.tempDeal(maintain.getTableName() + Constant.RECORD, DbUtils.quotedStr(maintain.getId()));
-
-        maintain.setDesp(MessageFormat.format("涓婁紶鏁版嵁{0}鏉�", aLong));
-        MenuMapping menuMapping = menuMappingService.selectOne(new EntityWrapper<MenuMapping>().eq("table_name", maintain.getTableName()));
-
-        SysOperateLog operateLog = new SysOperateLog();
-        operateLog.setCreateTime(new Date())
-                .setMaintainId(maintain.getId())
-                .setId(DbUtils.getUUID())
-                .setMaintainId(menuMapping.getId())
-                .setOperate("open")
-                .setDesp(MessageFormat.format("涓婁紶鏁版嵁{0}鏉�", aLong));
-
-        maintain.insert();
+        Maintain maintain = masterDataService.uploadedData(tableName, uploadType, user.getUserId());
         JSONObject object = new JSONObject();
         object.fluentPut("maintainId",maintain.getId());
         object.fluentPut("version",maintain.getVersion());
@@ -178,25 +129,47 @@
         return masterDataService.selectList(tableName,whereSegment);
     }
 
-    @RequestMapping(value = "{maintainId}/modify/{operateStr}", method = RequestMethod.GET)
-    public Result modify(@PathVariable String maintainId, @PathVariable String operateStr, HttpServletRequest request) throws UnsupportedEncodingException {
+    @RequestMapping(value = "{maintainId}/modify/{operateStr}", method = RequestMethod.POST)
+    public Result modify(@RequestParam String datas, @PathVariable String maintainId, @PathVariable String operateStr, HttpServletRequest request) throws UnsupportedEncodingException {
         Result result = null;
         Operate operate = Operate.parse(operateStr);
-        String datas = request.getParameter("datas");
         Maintain maintain = maintainService.selectById(maintainId);
         switch (operate) {
             case delete:
                 //datas is id;
-                result = deleteById(maintain.getTableName() + Constant.RECORD, datas);
+                Integer deleteCount = tableInfoMapper.deleteRecordByMaintainId(maintain.getTableName() + Constant.RECORD, DbUtils.quotedStr(datas), DbUtils.quotedStr(maintainId));
+                result = Result.success(deleteCount);
+
+
                 break;
             case update:
                 JSONObject jsonObject = JSONObject.parseObject(datas);
-                Object id = jsonObject.get("id");
-                String updateSegment = masterDataService.getUpdateSegment(maintain.getTableName(), datas);
-                result = masterDataService.update(maintain.getTableName() + Constant.RECORD, updateSegment, false);
+                String id = (String) jsonObject.get("id");
+                jsonObject.remove(Constant.ID);
+                datas = jsonObject.toJSONString();
+                String updateSegment = masterDataService.getUpdateSegment(maintain.getTableName(), maintain.getTableName() + Constant.RECORD, datas);
+
+                Integer updateCount = tableInfoMapper.updateRecordByMaintainId(maintain.getTableName() + Constant.RECORD, updateSegment, DbUtils.quotedStr(maintainId));
+                result = Result.success(updateCount);
                 break;
             case create:
+                JSONObject createObject = JSONObject.parseObject(datas);
+                String recordId = DbUtils.getUUID();
+                createObject.fluentPut(Constant.ID, recordId);
+                createObject.fluentPut(Constant.STD_ID, DbUtils.getUUID());
+                datas = createObject.toJSONString();
+
+                MaintainDetail maintainDetail = new MaintainDetail();
+                maintainDetail.setParentId(maintainId);
+                maintainDetail.setId(DbUtils.getUUID());
+                maintainDetail.setPreMergeId(recordId);
+                maintainDetail.setCreateTime(new Date());
+                maintainDetail.setOperate(Operate.create);
+
                 result = masterDataService.insert(maintain.getTableName() + Constant.RECORD, datas);
+                if (result.getSuccess()) {
+                    maintainDetail.insert();
+                }
                 break;
                 default:
                     result = Result.error(CodeMsg.OPERATR_ERROR);
@@ -208,58 +181,23 @@
 
 
     @RequestMapping(value = "{tableName}/{operateStr}", method = RequestMethod.POST)
-    public Result insert(@PathVariable String tableName,@PathVariable String operateStr, @RequestParam String datas, HttpServletRequest request) {
+    public Result insert(@PathVariable String tableName,@PathVariable String operateStr, @RequestParam String datas, @RequestParam String modify, HttpServletRequest request) {
         String fields = request.getParameter("fields");
         Operate operate = Operate.parse(operateStr);
-
-        Maintain maintain = maintainService.getMaxVersion(tableName);
-        Maintain unFlowMaxVersion = maintainService.getUnFlowMaxVersion(tableName);
-        if (unFlowMaxVersion == null) {
-            unFlowMaxVersion = new Maintain();
-            if (maintain != null) {
-                unFlowMaxVersion.setVersion(DbUtils.versionAddSub(maintain.getVersion()));
-                int orderNo = maintain.getOrderNo();
-                orderNo++;
-                unFlowMaxVersion.setOrderNo(orderNo);
-            } else {
-                unFlowMaxVersion.setVersion(Constant.VERSION_Default);
-                unFlowMaxVersion.setOrderNo(0);
-            }
-
-            unFlowMaxVersion.setId(DbUtils.getUUID());
-            TUser user = (TUser) request.getSession().getAttribute("user");
-            unFlowMaxVersion.setChargeId(user.getUserId());
-            unFlowMaxVersion.setCreateTime(new Date());
-            unFlowMaxVersion.setTableName(tableName);
-        }
-
-        Maintain nowMaintain = unFlowMaxVersion;
-        if (DbUtils.compareVersion(maintain, unFlowMaxVersion) != 0) {
-            nowMaintain = new Maintain();
-            String maintanId = DbUtils.getUUID();
-            nowMaintain.setId(maintanId);
-            nowMaintain.setCreateTime(new Date());
-            int orderNo = maintain.getOrderNo();
-            orderNo++;
-            nowMaintain.setVersion(DbUtils.versionAddSub(maintain.getVersion()));
-            nowMaintain.setOrderNo(orderNo);
-            nowMaintain.setTableName(tableName);
-        }
-
         TUser user = (TUser) request.getSession().getAttribute("user");
-        nowMaintain.setChargeId(user.getUserId());
-        String maintainId = nowMaintain.getId();
-        if(StringUtils.isEmpty(maintainId)) {
-            nowMaintain.setId(DbUtils.getUUID());
-        }
+        String userId = user.getUserId();
+        Maintain maintain = maintainService.getMaxVersion(tableName);
+        Maintain nowMaintain = maintainService.getNextMaintain(tableName, userId);
+
 
         Result result;
         if (operate.equals(Operate.delete)) {
             String nowMaintainId = nowMaintain.getId();
             String tempId = tableInfoMapper.getTempIdByStdId(tableName + Constant.RECORD,DbUtils.quotedStr(datas), DbUtils.quotedStr(nowMaintainId));
             if (!StringUtils.isEmpty(tempId)){
-                maintainDetailService.delete(new EntityWrapper<MaintainDetail>().eq("parent_id", maintain.getId()).eq("operate",Operate.delete.name()).eq("pre_merge_id",tempId));
-               return masterDataService.deleteById(tableName + Constant.RECORD, tempId);
+                maintainDetailService.delete(new EntityWrapper<MaintainDetail>().eq("parent_id", maintain.getId()).eq("pre_merge_id",tempId));
+                result = masterDataService.deleteById(tableName + Constant.RECORD, tempId);
+                return result;
             }else {
                 result = masterDataService.selectById(tableName, datas);
                 Object data = result.getData();

--
Gitblit v1.8.0