xinyb
2022-11-21 0046a76a6039751310ee82cf13c4244f027b487a
附件权限优化
4个文件已修改
111 ■■■■■ 已修改文件
WebRoot/general/fileInputoa/css/main.css 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebRoot/general/fileInputoa/uploadPromission.html 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/action/upload/AttachmentOA.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/yc/service/upload/AttachmentOaImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebRoot/general/fileInputoa/css/main.css
@@ -28,6 +28,12 @@
.layui-btn-primary:hover {
  border-color: #0077f8;
}
.layui-table-cell{
  padding: 6px 3px;
}
.layui-table td, .layui-table th{
  font-size: 12px;
}
.flex{
  display: flex;
}
WebRoot/general/fileInputoa/uploadPromission.html
@@ -53,14 +53,25 @@
          </script>
        </div>
        <script type="text/html" id="dateFlag" >
          <div class="selectDateFlag">
            <select name="dateFlag" lay-filter="dateFlags" {{ d.hasAuthor ? 'disabled' : '' }}>
              <option value=""></option>
              <option value="0" {{d.dateFlag ==0 ?'selected':''}}>按每天时间段授权</option>
              <option value="1" {{d.dateFlag ==1 ?'selected':''}}>按连续时间授权</option>
              <option value="2" {{d.dateFlag ==2 ?'selected':''}}>无时间限制</option>
            </select>
          </div>
        </script>
      </div>
<!--    限制次数    -->
        <script type="text/html" id="allowDownNums">
          <input type="number" id="allowDownNums-input" name="search" autocomplete="off" class="layui-input allowDownNumsTimes-input" value="{{d.allowDownNums}}" {{ d.hasAuthor ? 'disabled' : '' }}/>
          <input type="number" id="allowDownNums-input" name="search" title="0表示无限制" autocomplete="off" class="layui-input allowDownNumsTimes-input" value="{{d.allowDownNums}}" {{ d.hasAuthor ? 'disabled' : '' }}/>
        </script>
        <script type="text/html" id="allowViewNums">
          <input type="number" id="allowViewNums-input" name="search" autocomplete="off" class="layui-input allowViewNumsTimes-input" value="{{d.allowViewNums}}" {{ d.hasAuthor ? 'disabled' : '' }}/>
          <input type="number" id="allowViewNums-input" name="search" title="0表示无限制" autocomplete="off" class="layui-input allowViewNumsTimes-input" value="{{d.allowViewNums}}" {{ d.hasAuthor ? 'disabled' : '' }}/>
        </script>
        <script type="text/html" id="barDemo">
@@ -70,7 +81,7 @@
      </div>
    </div>
    <div class="layer-footer flex flex-end">
    <div class="layer-footer flex flex-end" style="padding-right: 20px">
      <button type="button" class="layui-btn layui-btn-primary" id="cancelBtn">取消</button>
      <button type="button" class="layui-btn layui-btn-normal" id="enterBtn">确认</button>
    </div>
@@ -241,23 +252,24 @@
        limit:100,
        cols: [[
          // {type: 'checkbox', fixed: 'left'},deleteTableRow
          {field:'userName', width:'12%', title: '用户', align:'center'},
          {field:'hasView', title:'查看',  width:'7%',  align:'center', toolbar: '#checkboxHasView'},
          {field:'hasDownload', title:'下载',  width:'7%',  align:'center', toolbar: '#checkboxHasDownload'},
          {field:'hasDelete',title:'删除', width:'7%', align:'center', toolbar: '#checkboxHasDelete'},
          {field: 'startDate', title:'开始时间', width:'16%',align:'center', toolbar: '#start-date'},
          {field: 'endDate', title:'结束时间', width:'16%',align:'center', toolbar: '#end-date'},
          {field: 'allowDownNums', title:'允许下载次数', width:'15%',align:'center', toolbar: '#allowDownNums'},
          {field: 'allowViewNums', title:'允许查看次数', width:'15%',align:'center', toolbar: '#allowViewNums'},
          { title:'', width:'6%', toolbar: '#barDemo', align:'center'}
          {field:'userName', width:'10%', title: '用户', align:'center'},
          {field:'hasView', title:'查看',  width:'6%',  align:'center', toolbar: '#checkboxHasView'},
          {field:'hasDownload', title:'下载',  width:'6%',  align:'center', toolbar: '#checkboxHasDownload'},
          {field:'hasDelete',title:'删除', width:'6%', align:'center', toolbar: '#checkboxHasDelete'},
          {field: 'startDate', title:'开始时间', width:'15%',align:'center', toolbar: '#start-date'},
          {field: 'endDate', title:'结束时间', width:'15%',align:'center', toolbar: '#end-date'},
          {field: 'dateFlag', title:'时间控制方式', width:'16%',align:'center', toolbar: '#dateFlag'},
          {field: 'allowDownNums', title:'允许下载次数', width:'12%',align:'center', toolbar: '#allowDownNums'},
          {field: 'allowViewNums', title:'允许查看次数', width:'12%',align:'center', toolbar: '#allowViewNums'},
          { title:'', width:'3%', toolbar: '#barDemo', align:'center'}
        ]],
        done: function(){
          var id = this.id;
          // 监听时间选择
          listenPermissionTime('start');
          listenPermissionTime('end');
          listenPermissionSelect('dateFlag');
          // 监听查看、下载、删除CheckBox选择
          listenPermissionCheckbox('hasView');
@@ -268,7 +280,7 @@
          listenPermissionInput('allowViewNums');
          listenPermissionInput('allowDownNums');
          $(".layui-table-body, .layui-table-box, .layui-table-cell").css('overflow', 'visible');
        }
        ,error: function(res, msg){
          // console.log(res, msg)
@@ -593,13 +605,14 @@
        var _this = this;
        laydate.render({
          elem: _this,
          type:'datetime',
          // elem: '.layui-table',
          // range: ['.period-startDate', '.period-endDate'],
          // trigger: 'click',//可以解决多个实例闪退问题
          // isInitValue: false,//初始值填充
          // value:$('#TimeVal'+index).text(),
          ready: function (date) {//初始回调
            // console.log('初始:', date); //得到初始的日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
            console.log('初始:', date); //得到初始的日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
          },
          change: function (value, date, endDate) {//选择切换回调
            // console.log('选择切换回调:',value,date,endDate); //得到日期生成的值,如:2017-08-18
@@ -625,7 +638,14 @@
        });
      });
    }
    //监听下拉选择值
    function listenPermissionSelect(type) {
      form.on('select(dateFlags)', function(data){
        let v= $(this).closest('.selectDateFlag');
        let index=$('.selectDateFlag').index(v);
        permissionData[index][type] = data.value;
      });
    }
    // 监听表格内权限输入框事件
    // type可取值为download(可下载次数)、view(可查看次数)
    function listenPermissionInput(type) {
src/com/yc/action/upload/AttachmentOA.java
@@ -7,6 +7,7 @@
import com.yc.service.impl.DBHelper;
import com.yc.service.upload.AttachmentOaIfc;
import com.yc.utils.SessionKey;
import jodd.util.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.springframework.beans.factory.annotation.Autowired;
@@ -164,7 +165,7 @@
    /**
     * 是否有权限显示 ,下载,更新
     * 是否有权限显示 ,下载,更新(弃用,前端不需要请求这个接口)
     *
     * @param param
     * @param request
@@ -198,7 +199,7 @@
    }
    /**
     * 更新操作
     * 执行更新次数操作
     *
     * @param param
     * @param request
@@ -296,7 +297,7 @@
                    map.put("ccName", DBHelper.getValue(m, "ccName"));
                    List<AttachmentOaEntity> oaEntities = new ArrayList<>();
                    boolean check = true;//假设全部选中
                    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
                    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    for (Map<String, Object> map1 : similar) {
                        AttachmentOaEntity oaEntity = new AttachmentOaEntity();
                        oaEntity.setCcCode(DBHelper.getValue(map1, filedId));
@@ -309,10 +310,14 @@
                        oaEntity.setHasUpdate(DBHelper.getValueInt(map1, "hasUpdate") == 1 ? true : false);
                        oaEntity.setHasAuthor(DBHelper.getValueInt(map1, "hasAuthor") == 1 ? true : false);
                        String star = DBHelper.getValue(map1, "startDate");
                        oaEntity.setStartDate(StringUtils.isBlank(star) ? null : star.split(" ")[0]);
                        oaEntity.setStartDate(StringUtils.isBlank(star) ? null : star.substring(0,19));
                        String end = DBHelper.getValue(map1, "endDate");
                        oaEntity.setEndDate(StringUtils.isBlank(end) ? null : end.split(" ")[0]);
                        oaEntity.setDateFlag(DBHelper.getValueInt(map1, "dateFlag"));
                        oaEntity.setEndDate(StringUtils.isBlank(end) ? null : end.substring(0,19));
                        String dateFlag=DBHelper.getValue(map1,"dateFlag");
                        if(StringUtils.isBlank(dateFlag)){
                            dateFlag="2";
                        }
                        oaEntity.setDateFlag(Integer.parseInt(dateFlag));
                        oaEntity.setAllowViewNums(DBHelper.getValueInt(map1, "allowViewNums"));
                        oaEntity.setAllowDownNums(DBHelper.getValueInt(map1, "allowDownNums"));
                        oaEntity.setAllowUpdateNums(DBHelper.getValueInt(map1, "allowUpdateNums"));
src/com/yc/service/upload/AttachmentOaImpl.java
@@ -88,8 +88,8 @@
                sql += " values (@unid,@seq," + GridUtils.prossSqlParm(entity.getUserCode()) + "," + GridUtils.prossSqlParm(entity.getUserName()) + "," +
                        (entity.isHasView() ? 1 : 0) + "," + (entity.isHasDownload() ? 1 : 0) + "," + (entity.isHasDelete() ? 1 : 0) + "," +
                        (entity.isHasUpdate() ? 1 : 0)+","+
                        (StringUtils.isNotBlank(entity.getStartDate()) ? "convert(varchar(10),'" + entity.getStartDate() + "',120)" : null) + "," +
                        (StringUtils.isNotBlank(entity.getEndDate())  ? "convert(varchar(10),'" + entity.getEndDate() + "',120)" : null) + "," +
                        (StringUtils.isNotBlank(entity.getStartDate()) ? "convert(varchar(19),'" + entity.getStartDate() + "',120)" : null) + "," +
                        (StringUtils.isNotBlank(entity.getEndDate())  ? "convert(varchar(19),'" + entity.getEndDate() + "',120)" : null) + "," +
                        entity.getDateFlag()+"," + entity.getAllowDownNums() + "," + entity.getAllowViewNums() + ","+entity.getAllowUpdateNums()+"," +
                         entity.getDownNums()+","+entity.getViewNums()+","+entity.getUpdateNums()+") \n";
            }
@@ -111,8 +111,8 @@
                    "begin\n" +
                    " update a set hasView="+(param.isHasView()?"1":"0")+",hasDownload="+(param.isHasDownload()?"1":"0")+"," +
                    " hasdelete="+(param.isHasDelete()?"1":"0")+",hasUpdate="+(param.isHasUpdate()?"1":"0")+"," +
                    "startDate="+(StringUtils.isNotBlank(param.getStartDate()) ? "convert(varchar(10),'" + param.getStartDate() + "',120)" : null) +"," +
                    "endDate="+(StringUtils.isNotBlank(param.getEndDate()) ? "convert(varchar(10),'" + param.getEndDate() + "',120)" : null) +"," +
                    "startDate="+(StringUtils.isNotBlank(param.getStartDate()) ? "convert(varchar(19),'" + param.getStartDate() + "',120)" : null) +"," +
                    "endDate="+(StringUtils.isNotBlank(param.getEndDate()) ? "convert(varchar(19),'" + param.getEndDate() + "',120)" : null) +"," +
                    "dateFlag="+param.getDateFlag()+",AllowDownNums="+param.getAllowDownNums()+",AllowViewNums="+param.getAllowViewNums()+"," +
                    "AllowUpdateNums="+param.getAllowUpdateNums()+" from _sys_AttachmentPermission a  where unid=@unid and seq=@seq and usercode=@userCode\n" +
                    " if @@ROWCOUNT >0\n" +
@@ -126,8 +126,8 @@
                    "begin\n" +
                    "  insert into _sys_AttachmentPermission(unid,seq,usercode,username,hasView,hasDownload,hasdelete,hasUpdate,startDate,endDate,dateFlag,AllowDownNums,AllowViewNums,AllowUpdateNums)\n" +
                    "  values(@unid,@seq,@userCode,@userName,"+(param.isHasView()?"1":"0")+","+(param.isHasDownload()?"1":"0")+","+(param.isHasDelete()?"1":"0")+"" +
                    "  ,"+(param.isHasUpdate()?"1":"0")+","+(StringUtils.isNotBlank(param.getStartDate()) ? "convert(varchar(10),'" + param.getStartDate() + "',120)" : null)+"" +
                    "  ,"+(StringUtils.isNotBlank(param.getEndDate()) ? "convert(varchar(10),'" + param.getEndDate() + "',120)" : null)+","+param.getDateFlag()+"" +
                    "  ,"+(param.isHasUpdate()?"1":"0")+","+(StringUtils.isNotBlank(param.getStartDate()) ? "convert(varchar(19),'" + param.getStartDate() + "',120)" : null)+"" +
                    "  ,"+(StringUtils.isNotBlank(param.getEndDate()) ? "convert(varchar(19),'" + param.getEndDate() + "',120)" : null)+","+param.getDateFlag()+"" +
                    "  ,"+param.getAllowDownNums()+","+param.getAllowViewNums()+","+param.getAllowUpdateNums()+")\n" +
                    "  set @demo='添加成功!'\n" +
                    "end\n" +
@@ -189,9 +189,9 @@
    @Override
    public String getAttachmentAllow(AttachmentOAParam param) {
        try {
            String sql="declare @type varchar(20) ="+GridUtils.prossSqlParm(param.getType())+"   , " +
                    "@unid varchar(200) =  "+GridUtils.prossSqlParm(param.getUnid())+"   ," +
                    " @seq int = "+param.getSeq()+" ,@userCode varchar(50) = "+GridUtils.prossSqlParm(param.getUserCode())+"   \n" +
            String sql="declare @type varchar(20) = "+GridUtils.prossSqlParm(param.getType())+", " +
                    "@unid varchar(200) =   "+GridUtils.prossSqlParm(param.getUnid())+", " +
                    "@seq int = "+param.getSeq()+" ,@userCode varchar(50) =  "+GridUtils.prossSqlParm(param.getUserCode())+"    \n" +
                    "declare @viewNums int,@downNums int,@updateNums int ,@allowViewNums int,@allowDownNums int,@allowUpdateNums int \n" +
                    "declare @memo varchar(100)='',@fileName varchar(200),@authorCode varchar(50),@isTable9 int = 0,@cont bit\n" +
                    "declare @totaViewNums int,@totaDownNums int ,@totaUpdateNums int\n" +
@@ -210,17 +210,13 @@
                    "   begin\n" +
                    "     if @type='view'\n" +
                    "        begin\n" +
                    "             if @allowViewNums = 0 and @authorCode <> @userCode\n" +
                    "             if  @authorCode <> @userCode and @allowViewNums <> 0 and @allowViewNums - @viewNums < 1 \n" +
                    "                begin\n" +
                    "\t\t\t\t\t set @cont=0\n" +
                    "\t\t\t\t\t set @memo='你在此附件允许查看的次数已经用完;-1'\n" +
                    "                end\n" +
                    "             else\n" +
                    "                begin\n" +
                    "\t\t\t\t    if @authorCode <> @userCode\n" +
                    "\t\t\t\t\tbegin\n" +
                    "                    set @allowViewNums = @allowViewNums - 1\n" +
                    "\t\t\t\t\tend\n" +
                    "                    set @viewNums = @viewNums + 1\n" +
                    "                    update a set a.allowViewNums=@allowViewNums,a.ViewNums=@viewNums from _sys_AttachmentPermission a where a.unid=@unid and a.seq=@seq and a.usercode=@userCode                 \n" +
                    "\t\t\t\t\tset @cont=1\n" +
@@ -229,17 +225,13 @@
                    "        end\n" +
                    "     else if @type='down'\n" +
                    "        begin\n" +
                    "             if @allowDownNums = 0 and @authorCode <> @userCode\n" +
                    "             if @authorCode <> @userCode and @allowDownNums <> 0 and @allowDownNums - @downNums < 1 \n" +
                    "                begin\n" +
                    "\t\t\t\t\t set @cont=0\n" +
                    "\t\t\t\t\t set @memo='你在此附件允许下载的次数已经用完;-1'\n" +
                    "                end\n" +
                    "             else\n" +
                    "                begin\n" +
                    "\t\t\t\t     if @authorCode <> @userCode\n" +
                    "\t\t\t\t\t begin\n" +
                    "                     set @allowDownNums = @allowDownNums - 1\n" +
                    "\t\t\t\t\t end\n" +
                    "                     set @downNums = @downNums + 1\n" +
                    "                     update a set a.AllowDownNums=@allowDownNums,a.downNums=@downNums from _sys_AttachmentPermission a where a.unid=@unid and a.seq=@seq and a.usercode=@userCode\n" +
                    "\t\t\t\t\t set @cont=1\n" +
@@ -249,17 +241,13 @@
                    "        end\n" +
                    "     else if @type='update'\n" +
                    "\t    begin\n" +
                    "\t\t    if @allowDownNums = 0 and @authorCode <> @userCode\n" +
                    "\t\t    if @authorCode <> @userCode and @allowUpdateNums <> 0 and @allowDownNums - @updateNums < 1 \n" +
                    "                begin\n" +
                    "\t\t\t\t\t set @cont=0\n" +
                    "\t\t\t\t\t set @memo='你在此附件允许更新的次数已经用完;-1'\n" +
                    "                end\n" +
                    "             else\n" +
                    "                begin\n" +
                    "\t\t\t\t     if @authorCode <> @userCode\n" +
                    "\t\t\t\t\t begin\n" +
                    "                     set @allowUpdateNums = @allowUpdateNums - 1\n" +
                    "\t\t\t\t\t end\n" +
                    "                     set @updateNums = @updateNums + 1\n" +
                    "                     update a set a.AllowUpdateNums=@allowUpdateNums,a.UpdateNums=@updateNums from _sys_AttachmentPermission a where a.unid=@unid and a.seq=@seq and a.usercode=@userCode\n" +
                    "\t\t\t\t\t set @cont=1\n" +