jiazx0107
5 小时以前 cfda6a07227caa1a9dfe2e403fbe4345b239a4e6
提交工单管理功能2
已修改6个文件
352 ■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/work/domain/WorkOrder.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml 238 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/d7/common.css 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/work/list.html 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/work/domain/WorkOrder.java
@@ -85,9 +85,9 @@
    @TableField("business_url")
    private String businessUrl;
    @Column(name = "remark", columnDefinition = "varchar(200) COMMENT '备注说明'")
/*    @Column(name = "remark", columnDefinition = "varchar(200) COMMENT '备注说明'")
    @TableField("remark")
    private String remark;
    private String remark;*/
    @Column(name = "company_id", columnDefinition = "varchar(10) COMMENT '所属组织'")
    @TableField("company_id")
fzzy-igdss-core/src/main/java/com/fzzy/work/service/WorkOrderService.java
@@ -3,10 +3,17 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.fzzy.work.data.OrderStatus;
import com.fzzy.work.data.WorkOrderParam;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.mapper.WorkOrderMapper;
import com.ruoyi.common.core.domain.entity.SysDictData;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
@@ -26,11 +33,32 @@
        if (null == param) {
            param = new WorkOrderParam();
        }
        param.setCompanyId(ContextUtil.getCompanyId());
        if(null == param.getCompanyId())param.setCompanyId(ContextUtil.getCompanyId());
        queryWrapper.eq("company_id", param.getCompanyId());
        queryWrapper.eq(null != param.getDeptId(), "dept_id", param.getDeptId());
        queryWrapper.like(null != param.getName(), "title", param.getName());
        queryWrapper.eq(null != param.getStatus(), "status", param.getStatus());
        if(null != param.getStart()){
            queryWrapper.gt("create_time", DateUtil.getNextZero(param.getStart()));
        }
        if(null != param.getEnd()){
            queryWrapper.lt("create_time", DateUtil.getCurZero(param.getEnd()));
        }
        workOrderMapper.selectPage(page, queryWrapper);
    }
    public List<SysDictData> triggerStatus() {
         List<SysDictData> list = new ArrayList<SysDictData>();
            for (OrderStatus w : OrderStatus.values()) {
                list.add(new SysDictData(w.getMsg(), w.getCode()));
            }
            return list;
    }
}
fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrder.view.xml
@@ -28,6 +28,11 @@
      <PropertyDef name="status">
        <Property></Property>
        <Property name="label">工单状态</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;workOrderPR#triggerStatus&quot;).getResult()}</Property>
          <Property name="valueProperty">dictLabel</Property>
          <Property name="keyProperty">dictValue</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="assigneeId">
        <Property></Property>
@@ -61,6 +66,13 @@
        <Property></Property>
        <Property name="label">备注说明</Property>
      </PropertyDef>
      <PropertyDef name="companyId">
        <Property/>
      </PropertyDef>
      <PropertyDef name="deptId">
        <Property/>
        <Property name="label">所属库区</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtParam">
      <Property name="creationType">com.fzzy.work.data.WorkOrderParam</Property>
@@ -91,30 +103,41 @@
  </Model>
  <View layout="padding:10">
    <ClientEvent name="onReady">query = function(){&#xD;
    view.get(&quot;#dsQuery&quot;).flushAsync();&#xD;
};&#xD;
query();&#xD;
&#xD;
    var param = view.get(&quot;#dsQuery.data&quot;);&#xD;
    var tabIndex = view.get(&quot;#tabMain.currentIndex&quot;);&#xD;
    if(0 == tabIndex){&#xD;
        view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,param).flushAsync();&#xD;
    }else{&#xD;
        view.get(&quot;#dsMain2&quot;).set(&quot;parameter&quot;,param).flushAsync();&#xD;
    }&#xD;
}&#xD;
      &#xD;
//宣传操作&#xD;
renderCell1 = function(arg,self){&#xD;
   var data = arg.data;&#xD;
   var htm = &quot;&lt;a onClick='audit()' class='a-btn1'>审批&lt;/a>&amp;nbsp;|&amp;nbsp;&lt;a onClick='showDetail()' class='a-btn2'>详细&lt;/a>&quot;;&#xD;
   var htm = &quot;&lt;a onClick='audit()' class='a-btn1'>指派&lt;/a>&amp;nbsp;|&amp;nbsp;&lt;a onClick='showDetail()' class='a-btn2'>详细&lt;/a>&quot;;&#xD;
   arg.dom.innerHTML = htm;&#xD;
};&#xD;
&#xD;
renderStatus = function(arg){&#xD;
    var txt = arg.data.getText(&quot;auditStatus&quot;);&#xD;
    if(!txt) return true;&#xD;
    var htm = &quot;&lt;span class='s2'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    if(txt.includes(&quot;退回&quot;)){&#xD;
    var val = arg.data.get(&quot;status&quot;);&#xD;
    var txt = arg.data.getText(&quot;status&quot;);&#xD;
    if(!val) return true;&#xD;
    var htm = &quot;&lt;span class='s1'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    if(val==&quot;20&quot;){//已派单&#xD;
        htm = &quot;&lt;span class='s2'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    }&#xD;
    if(val==&quot;30&quot;){//处理中&#xD;
        htm = &quot;&lt;span class='s4'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    }&#xD;
    if(val==&quot;40&quot;){//已解决&#xD;
        htm = &quot;&lt;span class='s3'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    }&#xD;
    if(txt.includes(&quot;拒绝&quot;)){&#xD;
    if(val==&quot;50&quot;){//已关闭&#xD;
        htm = &quot;&lt;span class='s3'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    }&#xD;
    if(txt.includes(&quot;通过&quot;)){&#xD;
        htm = &quot;&lt;span class='s1'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    if(val==&quot;60&quot;){//挂起&#xD;
        htm = &quot;&lt;span class='s3'>&quot;+txt+&quot;&lt;/span>&quot;;&#xD;
    }&#xD;
    arg.dom.innerHTML = htm;&#xD;
}&#xD;
@@ -129,20 +152,28 @@
}</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <ClientEvent name="onLoadData">$notify(&quot;数据加载完成……&quot;);</ClientEvent>
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">workOrderPR#pageQuery</Property>
      <Property name="pageSize">15</Property>
      <Property name="pageSize">10</Property>
      <Property name="loadMode">lazy</Property>
    </DataSet>
    <DataSet id="dsMain2">
      <ClientEvent name="onLoadData">$notify(&quot;数据加载完成……&quot;);&#xD;
</ClientEvent>
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">workOrderPR#pageQuery2</Property>
      <Property name="pageSize">10</Property>
      <Property name="loadMode">lazy</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <ClientEvent name="onReady">self.insert({});&#xD;
</ClientEvent>
      <Property name="dataType">[dtParam]</Property>
      <ClientEvent name="onReady">self.insert({});</ClientEvent>
      <Property name="dataType">dtParam</Property>
    </DataSet>
    <Container>
      <Property name="className">c-param</Property>
      <AutoForm>
        <Property name="cols">*,*,*,*</Property>
        <Property name="cols">*,*,*,*,90,90</Property>
        <Property name="dataSet">dsQuery</Property>
        <Property name="labelAlign">right</Property>
        <Property name="labelWidth">100</Property>
@@ -157,11 +188,6 @@
          <Editor/>
        </AutoFormElement>
        <AutoFormElement>
          <Property name="name">status</Property>
          <Property name="property">status</Property>
          <Editor/>
        </AutoFormElement>
        <AutoFormElement>
          <Property name="name">start</Property>
          <Property name="property">start</Property>
          <Editor/>
@@ -172,18 +198,13 @@
          <Editor/>
        </AutoFormElement>
        <Button>
          <ClientEvent name="onClick">var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
            if(data){&#xD;
            view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
            }else{&#xD;
            view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
            }</ClientEvent>
          <ClientEvent name="onClick">query();</ClientEvent>
          <Property name="caption">搜索</Property>
          <Property name="iconClass">fa fa-search</Property>
          <Property name="exClassName">btn-q1</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">view.get(&quot;#dsQuery&quot;).flushAsync();</ClientEvent>
          <ClientEvent name="onClick">view.get(&quot;#dsQuery&quot;).set(&quot;data&quot;,{});</ClientEvent>
          <Property name="caption">重置</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="iconClass">fa fa-refresh</Property>
@@ -192,50 +213,42 @@
    </Container>
    <Container>
      <Property name="className">c-data</Property>
      <ToolBar>
        <ToolBarButton layoutConstraint="left">
          <Property name="caption">导出EXCEL</Property>
          <Property name="exClassName">btn4</Property>
          <Property name="iconClass">fa fa-file-excel-o</Property>
        </ToolBarButton>
      </ToolBar>
      <DataGrid id="dataGridMain" layoutConstraint="padding:8">
        <ClientEvent name="onDataRowClick">view.get(&quot;#dataGridMain&quot;).set(&quot;selection&quot;,arg.data);</ClientEvent>
      <TabControl id="tabMain">
        <ControlTab>
          <Property name="caption">全部</Property>
          <Property name="iconClass">fa fa-th-large</Property>
          <Property name="width">150</Property>
          <Container>
            <DataGrid layoutConstraint="padding:8">
              <ClientEvent name="onDataRowClick">self.set(&quot;selection&quot;,arg.data);</ClientEvent>
        <Property name="dataSet">dsMain</Property>
        <Property name="readOnly">true</Property>
        <Property name="selectionMode">singleRow</Property>
        <Property name="readOnly">true</Property>
              <Property name="fixedColumnCount">3</Property>
        <RowSelectorColumn/>
        <RowNumColumn>
          <Property name="width">50</Property>
          <Property name="caption">序号</Property>
        </RowNumColumn>
              <DataColumn>
                <ClientEvent name="onRenderCell">renderCell1(arg,self);</ClientEvent>
                <Property name="caption">操作</Property>
                <Property name="width">150</Property>
                <Property name="align">center</Property>
                <Editor/>
              </DataColumn>
        <DataColumn name="id">
          <Property name="property">id</Property>
                <Property name="width">180</Property>
              </DataColumn>
              <DataColumn name="deptId">
                <Property name="property">deptId</Property>
                <Property name="width">250</Property>
        </DataColumn>
        <DataColumn name="title">
          <Property name="property">title</Property>
        </DataColumn>
        <DataColumn name="description">
          <Property name="property">description</Property>
        </DataColumn>
        <DataColumn name="bizType">
          <Property name="property">bizType</Property>
        </DataColumn>
        <DataColumn name="category">
          <Property name="property">category</Property>
        </DataColumn>
        <DataColumn name="assigneeName">
          <Property name="property">assigneeName</Property>
        </DataColumn>
        <DataColumn name="receiveTime">
          <Property name="property">receiveTime</Property>
        </DataColumn>
        <DataColumn name="createUserName">
          <Property name="property">createUserName</Property>
        </DataColumn>
        <DataColumn name="createTime">
          <Property name="property">createTime</Property>
                <Property name="width">300</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">renderStatus(arg);</ClientEvent>
@@ -244,12 +257,30 @@
          <Property name="align">center</Property>
          <Property name="name">status</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">renderCell1(arg,self);</ClientEvent>
          <Property name="caption">操作</Property>
              <DataColumn name="bizType">
                <Property name="property">bizType</Property>
                <Property name="width">120</Property>
                <Property name="align">center</Property>
              </DataColumn>
              <DataColumn name="assigneeName">
                <Property name="property">assigneeName</Property>
                <Property name="align">center</Property>
                <Property name="width">150</Property>
              </DataColumn>
              <DataColumn name="receiveTime">
                <Property name="property">receiveTime</Property>
          <Property name="width">150</Property>
          <Property name="align">center</Property>
          <Editor/>
              </DataColumn>
              <DataColumn name="createUserName">
                <Property name="property">createUserName</Property>
                <Property name="align">center</Property>
                <Property name="width">150</Property>
              </DataColumn>
              <DataColumn name="createTime">
                <Property name="property">createTime</Property>
                <Property name="align">center</Property>
                <Property name="width">150</Property>
        </DataColumn>
      </DataGrid>
      <ToolBar layoutConstraint="bottom">
@@ -260,6 +291,87 @@
        </DataPilot>
      </ToolBar>
    </Container>
        </ControlTab>
        <ControlTab>
          <Property name="caption">已结束</Property>
          <Property name="iconClass">fa fa-history</Property>
          <Property name="width">150</Property>
          <Container>
            <DataGrid layoutConstraint="padding:8">
              <ClientEvent name="onDataRowClick">self.set(&quot;selection&quot;,arg.data);</ClientEvent>
              <Property name="dataSet">dsMain2</Property>
              <Property name="readOnly">true</Property>
              <Property name="selectionMode">singleRow</Property>
              <Property name="readOnly">true</Property>
              <Property name="fixedColumnCount">3</Property>
              <RowSelectorColumn/>
              <RowNumColumn>
                <Property name="width">50</Property>
                <Property name="caption">序号</Property>
              </RowNumColumn>
              <DataColumn>
                <ClientEvent name="onRenderCell">renderCell1(arg,self);</ClientEvent>
                <Property name="caption">操作</Property>
                <Property name="width">150</Property>
                <Property name="align">center</Property>
                <Editor/>
              </DataColumn>
              <DataColumn name="id">
                <Property name="property">id</Property>
                <Property name="width">180</Property>
              </DataColumn>
              <DataColumn name="deptId">
                <Property name="property">deptId</Property>
                <Property name="width">250</Property>
              </DataColumn>
              <DataColumn name="title">
                <Property name="property">title</Property>
                <Property name="width">300</Property>
              </DataColumn>
              <DataColumn>
                <ClientEvent name="onRenderCell">renderStatus(arg);</ClientEvent>
                <Property name="property">status</Property>
                <Property name="width">120</Property>
                <Property name="align">center</Property>
                <Property name="name">status</Property>
              </DataColumn>
              <DataColumn name="bizType">
                <Property name="property">bizType</Property>
                <Property name="width">120</Property>
                <Property name="align">center</Property>
              </DataColumn>
              <DataColumn name="assigneeName">
                <Property name="property">assigneeName</Property>
                <Property name="align">center</Property>
                <Property name="width">150</Property>
              </DataColumn>
              <DataColumn name="receiveTime">
                <Property name="property">receiveTime</Property>
                <Property name="width">150</Property>
                <Property name="align">center</Property>
              </DataColumn>
              <DataColumn name="createUserName">
                <Property name="property">createUserName</Property>
                <Property name="align">center</Property>
                <Property name="width">150</Property>
              </DataColumn>
              <DataColumn name="createTime">
                <Property name="property">createTime</Property>
                <Property name="align">center</Property>
                <Property name="width">150</Property>
              </DataColumn>
            </DataGrid>
            <ToolBar layoutConstraint="bottom">
              <Fill/>
              <DataPilot layoutConstraint="right">
                <Property name="itemCodes">pageSize,pages</Property>
                <Property name="dataSet">dsMain2</Property>
              </DataPilot>
            </ToolBar>
          </Container>
        </ControlTab>
      </TabControl>
    </Container>
    <Dialog id="dialogMain" layout="regionPadding:8">
      <Property name="closeable">false</Property>
      <Property name="caption">入库通知单</Property>
fzzy-igdss-view/src/main/java/com/fzzy/work/WorkOrderPR.java
@@ -2,10 +2,16 @@
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.work.data.OrderStatus;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.data.WorkOrderParam;
import com.fzzy.work.service.WorkOrderService;
import com.ruoyi.common.core.domain.entity.SysDictData;
import org.springframework.stereotype.Component;
import java.util.List;
import javax.annotation.Resource;
@@ -33,10 +39,48 @@
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<WorkOrder> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
        if (null == param) param = new WorkOrderParam();
        param.setCompanyId(ContextUtil.getCompanyId());
        workOrderService.pageQuery(corePage, param);
        // 重新封装
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
    /**
     *
     * workOrderPR#pageQuery2
     * 已经完成,分页查询
     * @param page
     * @param param
     */
    @DataProvider
    public void pageQuery2(Page<WorkOrder> page, WorkOrderParam param) {
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<WorkOrder> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
        if (null == param) param = new WorkOrderParam();
        param.setStatus(OrderStatus.STATUS_50.getCode());
        param.setCompanyId(ContextUtil.getCompanyId());
        workOrderService.pageQuery(corePage, param);
        // 重新封装
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
    /**
     * 工单状态
     * ${dorado.getDataProvider("workOrderPR#triggerStatus").getResult()}
     *
     * @return
     */
    @DataProvider
    public List<SysDictData> triggerStatus() {
        return workOrderService.triggerStatus();
    }
}
fzzy-igdss-web/src/main/resources/d7/common.css
@@ -315,6 +315,14 @@
    color: #FFF;
}
.s4{
    background-color: #1c84c6;
    padding: 2px 6px;
    text-shadow: none;
    border-radius: 10px;
    color: #FFF;
}
/**表单TITLE**/
.f-title{
    font: bold 30px Arial, sans-serif;
fzzy-igdss-web/src/main/resources/templates/work/list.html
@@ -85,46 +85,48 @@
        .layui-fluid {
             padding: 0 5px;
        }
        .iframe-box{
            width: 100%;
            min-height: 700px;
            border: 0;
        }
    </style>
</head>
<body>
<!-- 正文开始 -->
<div class="layui-fluid ew-console-wrapper">
    <!-- 快捷方式 -->
    <div class="layui-row layui-col-space15" style="background: #FFFFFF;margin: 10px">
    <div class="layui-row layui-col-space15" style="background: #FFF; margin: 10px 10px 0 10px">
        <div class="layui-col-sm3  layui-col-xs6">
            <div class="console-link-block">
                <div class="console-link-block-num" th:text="${patrolSuperData.isDeptNum}">0</div>
                <div class="console-link-block-text">已巡检库区数(当天)</div>
                <div class="console-link-block-num">0</div>
                <div class="console-link-block-text">今日工单统计</div>
                <i class="console-link-block-icon layui-icon layui-icon-form"></i>
            </div>
        </div>
        <div class="layui-col-sm3 layui-col-xs6">
            <div class="console-link-block">
                <div class="console-link-block-num" th:text="${patrolSuperData.noDeptNum}">0</div>
                <div class="console-link-block-text">未巡检库区数(当天)</div>
                <div class="console-link-block-num">0</div>
                <div class="console-link-block-text">今日待完成工单</div>
                <i class="console-link-block-icon layui-icon layui-icon-survey"></i>
            </div>
        </div>
        <div class="layui-col-sm3 layui-col-xs6">
            <div class="console-link-block">
                <div class="console-link-block-num" th:text="${patrolSuperData.yesterdaySum}">0</div>
                <div class="console-link-block-text">巡检人次(昨天)</div>
                <div class="console-link-block-num">0</div>
                <div class="console-link-block-text">总工单统计</div>
                <i class="console-link-block-icon layui-icon layui-icon-chart"></i>
            </div>
        </div>
       <div class="layui-col-sm3 layui-col-xs6">
            <div class="console-link-block">
                <div class="console-link-block-num" th:text="${patrolSuperData.weekSum}">0</div>
                <div class="console-link-block-text">巡检人次(近7天)</div>
                <div class="console-link-block-num">0</div>
                <div class="console-link-block-text">总未完成工单</div>
                <i class="console-link-block-icon layui-icon layui-icon-chart"></i>
            </div>
        </div>
    </div>
    <iframe src="/com.fzzy.igds.PatrolSuper.d" width="100%" height="695px" frameborder="0" allowfullscreen></iframe>
    <iframe src="/com.fzzy.work.WorkOrder.d"  class="iframe-box"  allowfullscreen></iframe>
</div>
<!-- js部分 -->
<script th:src="@{/ajax/libs/layui-ruoyi/layui.js}"></script>
</body>
</html>