Commit 265489a2e19c5f88710dc8c6dab95790be217145

Authored by 易文鹏
1 parent a610818b

feat:新增待入库物料明细报表

src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
... ... @@ -96,6 +96,35 @@ public class ReceiptDetailController extends BaseController {
96 96 }
97 97 }
98 98  
  99 + /**
  100 + * 查询待入库明细
  101 + */
  102 + @RequiresPermissions("receipt:waitReceiptDetailList:view")
  103 + @GetMapping("waitReceiptDetailList")
  104 + public String receiptHeader() {
  105 + return prefix + "/waitReceiptDetail";
  106 + }
  107 +
  108 + /**
  109 + * 查询待入库明细
  110 + */
  111 + @PostMapping("/waitReceiptDetailList")
  112 + @ResponseBody
  113 + public TableDataInfo waitReceiptDetailList(String createdBegin, String createdEnd, String receiptCode, String materialCode, String materialName, String noticeNo, String SNNO) {
  114 + LambdaQueryWrapper<ReceiptDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
  115 + lambdaQueryWrapper
  116 + .ge(StringUtils.isNotBlank(createdBegin), ReceiptDetail::getCreated, createdBegin)
  117 + .le(StringUtils.isNotBlank(createdEnd), ReceiptDetail::getCreated, createdEnd)
  118 + .eq(StringUtils.isNotBlank(materialCode), ReceiptDetail::getMaterialCode, materialCode)
  119 + .eq(StringUtils.isNotBlank(materialName), ReceiptDetail::getMaterialName, materialName)
  120 + .eq(StringUtils.isNotBlank(noticeNo), ReceiptDetail::getNoticeNo, noticeNo)
  121 + .eq(StringUtils.isNotBlank(receiptCode), ReceiptDetail::getReceiptCode, receiptCode)
  122 + .eq(StringUtils.isNotBlank(SNNO), ReceiptDetail::getSNNO, SNNO);
  123 + List<ReceiptDetail> list = receiptDetailService.list(lambdaQueryWrapper);
  124 + List<ReceiptDetail> filteredList = filterAlreadyStoredRecords(list);
  125 + return getDataTable(filteredList);
  126 + }
  127 +
99 128  
100 129 /**
101 130 * PDA查询入库详情
... ...
src/main/resources/templates/receipt/receiptDetail/waitReceiptDetail.html 0 → 100644
  1 +<!DOCTYPE html>
  2 +<html lang="zh" xmlns:th="http://www.thymeleaf.org"
  3 + xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
  4 +<meta charset="utf-8">
  5 +<head th:include="include :: header"></head>
  6 +<body class="gray-bg">
  7 +
  8 +<div class="container-div">
  9 + <div class="row">
  10 + <div class="col-sm-12 select-info">
  11 + <form id="receiptDetail-form">
  12 + <div class="select-list">
  13 + <ul>
  14 + <li>入库单号:<input type="text" name="receiptCode"/></li>
  15 + <li>条码:<input type="text" name="SNNO" id="SNNO"></li>
  16 + <li>通知单号:<input type="text" name="noticeNo" id="noticeNo"></li>
  17 + <li>
  18 + 物料编码:<input type="text" name="materialCode"/>
  19 + </li>
  20 + <li>
  21 + 物料名称:<input type="text" name="materialName"/>
  22 + </li>
  23 + <li class="time">
  24 + <label>创建时间: </label>
  25 + <input type="text" class="time-input" id="startTime" placeholder="开始时间"
  26 + name="createdBegin" autocomplete="off"/>
  27 + <span>-</span>
  28 + <input type="text" class="time-input" id="endTime" placeholder="结束时间"
  29 + name="createdEnd" autocomplete="off"/>
  30 + </li>
  31 + <li>
  32 + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
  33 + class="fa fa-search"></i>&nbsp;搜索</a>
  34 + <a class="btn btn-warning btn-rounded btn-sm"
  35 + onclick="$.form.reset('receiptDetail-form')"><i
  36 + class="fa fa-refresh"></i>&nbsp;重置</a>
  37 + </li>
  38 + </ul>
  39 + </div>
  40 + </form>
  41 + </div>
  42 + <div class="col-sm-12 select-info">
  43 + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
  44 + </div>
  45 + </div>
  46 +</div>
  47 +
  48 +
  49 +<div th:include="include :: footer"></div>
  50 +<script th:inline="javascript">
  51 +
  52 + var noReturnRequiredFlag = [[${@permission.hasPermi('receipt:receiptHeader:noReturnRequired')}]];
  53 + var printFlag = [[${@permission.hasPermi('receipt:receiptHeader:report')}]];
  54 + let receiveFlag = [[${@permission.hasPermi('receipt:receiptHeader:receive')}]];
  55 + var detailPrefix = ctx + "receipt/receiptDetail";
  56 + var datas = [[${@dict.getType('sys_normal_disable')}]];
  57 + var receiptTypes = [[${@receiptTypeService.getType()}]];
  58 + var originalWarehouse = [[${@dict.getType('originalWarehouse')}]];
  59 + var receiptHeaderStatus = [[${@dict.getType('receiptHeaderStatus')}]];
  60 + var uploadStatus = [[${@dict.getType('uploadStatus')}]];
  61 + var company = [[${@companyService.getCode()}]];
  62 + var supplier = [[${@SupplierService.getCode()}]];
  63 + var inventoryStatus = [[${@dict.getType('inventoryStatus')}]];
  64 + var receiptId = '';
  65 + var receiptCode = '';
  66 + let status = [[${status}]];
  67 + var statusFirst = [[${statusFirst}]];
  68 + var statusLast = [[${statusLast}]];
  69 + var yes_or_no = [[${@dict.getType('yes_or_no')}]];
  70 + var prefix = ctx + "receipt/receiptDetail";
  71 + $(function () {
  72 + var options = {
  73 + url: prefix + "/waitReceiptDetailList",
  74 + modalName: "入库明细",
  75 + search: false,
  76 + columns: [{
  77 + checkbox: true
  78 + },
  79 + {
  80 + title: '操作',
  81 + align: 'center',
  82 + formatter: function (value, row, index) {
  83 + var actions = [];
  84 + actions.push('<a class="btn btn-primary btn-xs to-receive" onclick="Toreceiving(\'' + row.receiptCode + '\')"><i class="fa fa-cart-plus"></i>组盘</a> ');
  85 + return actions.join('');
  86 + }
  87 + },
  88 + {
  89 + field: 'id',
  90 + title: 'id',
  91 + visible: false
  92 + },
  93 + {
  94 + field: 'noticeNo',
  95 + title: '通知单号'
  96 + },
  97 + {
  98 + field: 'receiptCode',
  99 + title: '入库单编码'
  100 + },
  101 + {
  102 + field: 'materialCode',
  103 + title: '物料编码'
  104 + },
  105 + {
  106 + field: 'materialName',
  107 + title: '物料名称'
  108 + },
  109 + {
  110 + field: 'materialSpec',
  111 + title: '物料规格'
  112 + },
  113 + {
  114 + field: 'materialUnit',
  115 + title: '物料单位'
  116 + },
  117 + {
  118 + field: 'processStamp',
  119 + title: '明细状态',
  120 + align: 'center',
  121 + formatter: function (value, row, index) {
  122 + return $.table.selectDictLabel(receiptHeaderStatus, value);
  123 + }
  124 + },
  125 + {
  126 + field: 'sNNO',
  127 + title: '条码',
  128 + visible: true
  129 + },
  130 + {
  131 + field: 'agingDate',
  132 + title: '入库日期',
  133 + visible: false
  134 + },
  135 + {
  136 + field: 'qty',
  137 + title: '单据数量'
  138 + },
  139 + {
  140 + field: 'taskQty',
  141 + title: '已收数量'
  142 + },
  143 + {
  144 + field: 'selfCreated',
  145 + title: '自建单据物料',
  146 + formatter: function (value, row, index) {
  147 + return $.table.selectDictLabel(yes_or_no, value);
  148 + },
  149 + align: 'center',
  150 + },
  151 + {
  152 + field: 'isMustFlatWarehouseMaterial',
  153 + title: '必须平库物料',
  154 + formatter: function (value, row, index) {
  155 + return $.table.selectDictLabel(yes_or_no, value);
  156 + },
  157 + align: 'center',
  158 + },
  159 + {
  160 + field: 'isFlatWarehouse',
  161 + title: '仓库类型',
  162 + visible: true,
  163 + align: 'center',
  164 + formatter: function (value, row, index) {
  165 + if (value == 1) {
  166 + return '<span style="color:#51855c">平库</span>'
  167 + } else {
  168 + return '<span style="color:black">立库</span>'
  169 + }
  170 + }
  171 + },
  172 + {
  173 + field: 'frequency',
  174 + title: '物料使用频率',
  175 + formatter: function (value, row, index) {
  176 + if (value === '频繁使用物料') {
  177 + return '<span style="color:#941616">频繁使用物料</span>'
  178 + } else if (value === '常用物料') {
  179 + return '<span style="color:#016201">常用物料</span>'
  180 + } else {
  181 + return '<span></span>'
  182 + }
  183 + },
  184 + },
  185 + {
  186 + field: 'inventorySts',
  187 + title: '库存状态',
  188 + visible: false
  189 + },
  190 + {
  191 + field: 'created',
  192 + title: '创建时间'
  193 + },
  194 + {
  195 + field: 'createdBy',
  196 + title: '创建用户',
  197 + visible: false
  198 + },
  199 + {
  200 + field: 'lastUpdated',
  201 + title: '最后修改时间',
  202 + visible: true
  203 + },
  204 + {
  205 + field: 'lastUpdatedBy',
  206 + title: '最后操作人',
  207 + visible: true
  208 + },
  209 + {
  210 + field: 'remarks',
  211 + title: '备注',
  212 + },
  213 + ]
  214 + };
  215 + $.table.init(options);
  216 + });
  217 +
  218 +
  219 + /* 收货 */
  220 + function Toreceiving(code) {
  221 + let storage = window.localStorage;
  222 + storage.receiving_code = code;
  223 + createMenuItem(ctx + "receipt/receiving", "收货");
  224 + parent.$('.tabReload').click();
  225 + }
  226 +</script>
  227 +</body>
  228 +</html>
... ...
src/main/resources/templates/system/role/role.html
1 1 <!DOCTYPE html>
2 2 <html lang="zh" xmlns:th="http://www.thymeleaf.org"
3   - xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
  3 + xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
4 4 <meta charset="utf-8">
5 5 <head th:include="include :: header"></head>
6 6 <body class="gray-bg">
7 7  
8   - <div class="container-div">
9   - <div class="row">
10   - <div class="col-sm-12 select-info">
11   - <form id="role-form">
12   - <div class="select-list">
13   - <ul>
14   - <li>
15   - 角色名称:<input type="text" name="roleName"/>
16   - </li>
17   - <li>
18   - 权限字符:<input type="text" name="roleCode"/>
19   - </li>
20   - <li>
21   - 角色状态:<select name="enable" th:with="type=${@dict.getType('sys_normal_disable')}">
22   - <option value="">所有</option>
23   - <option th:each="e : ${type}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
24   - </select>
25   - </li>
26   - <!--<li class="time">-->
27   - <!--<label>创建时间: </label>-->
28   - <!--<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginTime]"/>-->
29   - <!--<span>-</span>-->
30   - <!--<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endTime]"/>-->
31   - <!--</li>-->
32   - <li>
33   - <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
34   - <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('role-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
35   - <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
36   - </li>
37   - </ul>
38   - </div>
39   - </form>
40   - </div>
  8 +<div class="container-div">
  9 + <div class="row">
  10 + <div class="col-sm-12 select-info">
  11 + <form id="role-form">
  12 + <div class="select-list">
  13 + <ul>
  14 + <li>
  15 + 角色名称:<input type="text" name="roleName"/>
  16 + </li>
  17 + <li>
  18 + 权限字符:<input type="text" name="roleCode"/>
  19 + </li>
  20 + <li>
  21 + 角色状态:<select name="enable" th:with="type=${@dict.getType('sys_normal_disable')}">
  22 + <option value="">所有</option>
  23 + <option th:each="e : ${type}" th:text="${e['dictLabel']}"
  24 + th:value="${e['dictValue']}"></option>
  25 + </select>
  26 + </li>
  27 + <li>
  28 + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
  29 + class="fa fa-search"></i>&nbsp;搜索</a>
  30 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('role-form')"><i
  31 + class="fa fa-refresh"></i>&nbsp;重置</a>
  32 + <!--<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.exportExcel()" shiro:hasPermission="system:role:export"><i class="fa fa-download"></i>&nbsp;导出</a>-->
  33 + </li>
  34 + </ul>
  35 + </div>
  36 + </form>
  37 + </div>
41 38  
42   - <div class="btn-group hidden-xs" id="toolbar" role="group">
43   - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="system:role:add">
44   - <i class="fa fa-plus"></i> 新增
45   - </a>
46   - <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="system:role:remove">
47   - <i class="fa fa-trash-o"></i> 删除
48   - </a>
49   - </div>
  39 + <div class="btn-group hidden-xs" id="toolbar" role="group">
  40 + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()"
  41 + shiro:hasPermission="system:role:add">
  42 + <i class="fa fa-plus"></i> 新增
  43 + </a>
  44 + <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()"
  45 + shiro:hasPermission="system:role:remove">
  46 + <i class="fa fa-trash-o"></i> 删除
  47 + </a>
  48 + </div>
50 49  
51   - <div class="col-sm-12 select-info">
52   - <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
53   - </div>
54   - </div>
55   - </div>
56   - <div th:include="include :: footer"></div>
57   - <script th:inline="javascript">
58   - var editFlag = [[${@permission.hasPermi('system:role:edit')}]];
59   - var removeFlag = [[${@permission.hasPermi('system:role:remove')}]];
60   - var datas = [[${@dict.getType('sys_normal_disable')}]];
61   - var prefix = ctx + "system/role"
  50 + <div class="col-sm-12 select-info">
  51 + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
  52 + </div>
  53 + </div>
  54 +</div>
  55 +<div th:include="include :: footer"></div>
  56 +<script th:inline="javascript">
  57 + var editFlag = [[${@permission.hasPermi('system:role:edit')}]];
  58 + var removeFlag = [[${@permission.hasPermi('system:role:remove')}]];
  59 + var datas = [[${@dict.getType('sys_normal_disable')}]];
  60 + var prefix = ctx + "system/role"
62 61  
63 62  
64   - $(function() {
65   - var options = {
66   - url: prefix + "/list",
67   - createUrl: prefix + "/add",
68   - updateUrl: prefix + "/edit/{id}",
69   - removeUrl: prefix + "/remove",
70   - exportUrl: prefix + "/export",
71   - sortName: "roleSort",
72   - // height:610,
73   - modalName: "角色",
74   - search: false,
75   - showExport: false,
76   - columns: [{
77   - checkbox: true
78   - },
79   - {
80   - field: 'id',
81   - title: '角色id'
82   - },
83   - {
84   - field: 'roleName',
85   - title: '角色名称',
86   - sortable: true
87   - },
88   - {
89   - field: 'roleCode',
90   - title: '权限编码',
91   - sortable: true
92   - },
93   - {
94   - field: 'roleSort',
95   - title: '显示顺序',
96   - sortable: true
97   - },
98   - {
99   - field: 'enable',
100   - title: '状态',
101   - align: 'center',
102   - formatter: function(value, row, index) {
103   - return $.table.selectDictLabel(datas, value);
104   - }
105   - },
106   - {
107   - field: 'createTime',
108   - title: '创建时间',
109   - sortable: true
110   - },
111   - {
112   - title: '操作',
113   - align: 'center',
114   - formatter: function(value, row, index) {
115   - var actions = [];
116   - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
117   - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
118   - return actions.join('');
119   - }
120   - }]
121   - };
122   - $.table.init(options);
123   - });
124   - </script>
  63 + $(function () {
  64 + var options = {
  65 + url: prefix + "/list",
  66 + createUrl: prefix + "/add",
  67 + updateUrl: prefix + "/edit/{id}",
  68 + removeUrl: prefix + "/remove",
  69 + exportUrl: prefix + "/export",
  70 + sortName: "roleSort",
  71 + // height:610,
  72 + modalName: "角色",
  73 + search: false,
  74 + showExport: false,
  75 + columns: [{
  76 + checkbox: true
  77 + },
  78 + {
  79 + field: 'id',
  80 + title: '角色id'
  81 + },
  82 + {
  83 + field: 'roleName',
  84 + title: '角色名称',
  85 + sortable: true
  86 + },
  87 + {
  88 + field: 'roleCode',
  89 + title: '权限编码',
  90 + sortable: true
  91 + },
  92 + {
  93 + field: 'roleSort',
  94 + title: '显示顺序',
  95 + sortable: true
  96 + },
  97 + {
  98 + field: 'enable',
  99 + title: '状态',
  100 + align: 'center',
  101 + formatter: function (value, row, index) {
  102 + return $.table.selectDictLabel(datas, value);
  103 + }
  104 + },
  105 + {
  106 + field: 'createTime',
  107 + title: '创建时间',
  108 + sortable: true
  109 + },
  110 + {
  111 + title: '操作',
  112 + align: 'center',
  113 + formatter: function (value, row, index) {
  114 + var actions = [];
  115 + actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
  116 + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
  117 + return actions.join('');
  118 + }
  119 + }]
  120 + };
  121 + $.table.init(options);
  122 + });
  123 +</script>
125 124 </body>
126 125 </html>
... ...