kimi42345
2020-03-17 6c6fdb4db59a2a2343e43ffd73a07f17b057c4fa
src/main/java/com/highdatas/mdm/controller/MaintainController.java
@@ -13,10 +13,7 @@
import com.highdatas.mdm.pojo.CodeMsg;
import com.highdatas.mdm.pojo.Operate;
import com.highdatas.mdm.pojo.Result;
import com.highdatas.mdm.service.IFlowsService;
import com.highdatas.mdm.service.IMaintainDetailService;
import com.highdatas.mdm.service.IMaintainService;
import com.highdatas.mdm.service.ITUserService;
import com.highdatas.mdm.service.*;
import com.highdatas.mdm.util.Constant;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,9 +22,7 @@
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.*;
/**
 * <p>
@@ -50,6 +45,8 @@
    TableInfoMapper tableInfoMapper;
    @Autowired
    IFlowsService  flowsService;
    @Autowired
    IMaintainFieldService maintainFieldService;
    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    public Result get(@PathVariable String id) {
@@ -91,14 +88,19 @@
    }
    @RequestMapping(value = "/version/{tableName}", method = RequestMethod.GET)
    public Result getHistory(@PathVariable String tableName) {
    public Result getHistory(@PathVariable String tableName, HttpServletRequest request) {
        TUser user = (TUser) request.getSession().getAttribute("user");
        String userId = user.getUserId();
        Maintain nowVersion = maintainService.getNowVersion(tableName);
        if (nowVersion == null) {
        Maintain maxVersion = maintainService.getMaxVersion(tableName);
        if (maxVersion == null) {
            return Result.error(new CodeMsg(100001,"无当前版本"));
        }
        Maintain nowVersion = maintainService.getNowVersion(tableName);
        List<Maintain> maintainList = maintainService.selectList(new EntityWrapper<Maintain>().eq("table_name", tableName).orderBy("order_no",false));
        List<Maintain> result = new ArrayList<>();
        int count = 0;
        for (Maintain maintain : maintainList) {
            String flowId = maintain.getFlowId();
            if (StringUtils.isEmpty(flowId)) {
@@ -110,18 +112,39 @@
                continue;
            }
            if (flows.getStatus().equals(ActivitiStatus.working) || flows.getStatus().equals(ActivitiStatus.refuse)) {
                maintain.setMaintainType(-1);
                boolean nextAudit = flowsService.isNextAudit(flows, userId);
                if (nextAudit) {
                    count++;
                }
                continue;
            }else if(flows.getStatus().equals(ActivitiStatus.open)){
                maintain.setMaintainType(1);
            }
            if (maintain.getId().equalsIgnoreCase(nowVersion.getId())) {
            if (nowVersion != null  && maintain.getId().equalsIgnoreCase(nowVersion.getId())) {
                maintain.setMaintainType(0);
            }
            result.add(maintain);
        }
        //
        int cnt = maintainFieldService.getUnFlowCount(tableName, userId);
        count += cnt;
        if (count > 0) {
            Maintain maintain = new Maintain();
            maintain.setMaintainType(-1);
            maintain.setVersion("待审核");
            maintain.setTableName(tableName);
            maintain.setRecordCount(count);
            result.add(maintain);
        }
        Collections.sort(result, new Comparator<Maintain>() {
            @Override
            public int compare(Maintain o1, Maintain o2) {
                return o1.getMaintainType().compareTo(o2.getMaintainType());
            }
        });
        return Result.success(result);
    }
}
    @RequestMapping(value = "/detail/{id}/{pageNo}", method = RequestMethod.GET)
    public Result detail(@PathVariable String id, @PathVariable int pageNo) {
@@ -182,6 +205,16 @@
        return Result.success(compare);
    }
    @RequestMapping(value = "/canUpload/{tableName}", method = RequestMethod.GET)
    public Result canUpload(@PathVariable String tableName) {
        Maintain nowVersion = maintainService.getNowVersion(tableName);
        if (nowVersion == null) {
            return Result.success(true);
        }else {
            return Result.success(false);
        }
    }
    @RequestMapping(value = "/detail/{pageNo}", method = RequestMethod.GET)
    public Result setFlowId(@RequestParam String flowId,@PathVariable Integer pageNo, HttpServletRequest request) {
        String whereSegment = request.getParameter("whereSegment");