Commit 7c236be71ac9f9b51f1594a61dde1a8a94883998

Authored by mahuandong
1 parent d8be3289

表单头创建时间添加默认创建时间

开始时间默认提前一周,结束时间默认当天
src/main/java/com/huaheng/pc/check/checkDetail/controller/CheckDetailController.java
... ... @@ -130,15 +130,6 @@ public class CheckDetailController extends BaseController {
130 130 }
131 131  
132 132 /**
133   - * 完成质检
134   - */
135   - @GetMapping("complete/{id}")
136   - public String complete(@PathVariable("id") Integer id, ModelMap mmap) {
137   - mmap.put("checkDetailId", id);
138   - return prefix + "/checkComplete";
139   - }
140   -
141   - /**
142 133 * 保存质检完成
143 134 * @param inventorySts 库存状态
144 135 * @param qty 数量
... ... @@ -149,9 +140,7 @@ public class CheckDetailController extends BaseController {
149 140 @Log(title = "质检-质检详情 ",operating = "质检详情删除", action = BusinessType.DELETE)
150 141 @PostMapping("/complete")
151 142 @ResponseBody
152   - public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id,
153   - @ApiParam(name="库存状态",value="inventorySts",example="good,bad")String inventorySts,
154   - @ApiParam(name = "数量",value = "qty",example = "10,20") String qty) {
155   - return checkDetailService.complete(id, inventorySts, qty);
  143 + public AjaxResult complete(@ApiParam(name="质检明细id",value="id")Integer id) {
  144 + return checkDetailService.complete(id);
156 145 }
157 146 }
... ...
src/main/java/com/huaheng/pc/check/checkDetail/service/CheckDetailService.java
... ... @@ -26,77 +26,58 @@ import org.springframework.transaction.annotation.Transactional;
26 26 public class CheckDetailService extends ServiceImpl<CheckDetailMapper, CheckDetail> {
27 27  
28 28 @Resource
29   - private CheckingRegisterService checkingRegisterService;
30   - @Resource
31 29 private CheckHeaderService checkHeaderService;
  30 + @Resource
  31 + private CheckingRegisterService checkingRegisterService;
32 32  
33 33 /**
34 34 * 质检完成
35 35 * @param id 质检明细id
36   - * @param inventorySts 库存状态 good,
37   - * @param qty 数量 10,20
38 36 * @return AjaxResult
39 37 */
40 38 @Transactional
41   - public AjaxResult complete(Integer id, String inventorySts, String qty){
  39 + public AjaxResult complete(Integer id){
  40 + LambdaQueryWrapper<CheckingRegister> checkingRegisterLambda = Wrappers.lambdaQuery();
  41 + checkingRegisterLambda.eq(CheckingRegister::getCheckDetailId, id);
  42 + List<CheckingRegister> checkingRegisters = checkingRegisterService.list(checkingRegisterLambda);
  43 + int total = 0; //质检登记中的总数量
  44 + for (CheckingRegister checkingRegister: checkingRegisters){
  45 + total += checkingRegister.getQty();
  46 + }
42 47  
43   - //将库存状态、数量字符串转为List
44   - List<String> inventoryStsList = Arrays.asList(Convert.toStrArray(inventorySts));
45   - List<Integer> qtyList = Arrays.asList(Convert.toIntArray(qty));
  48 + //更新传入明细id为完成质检状态
46 49 CheckDetail checkDetail = this.getById(id);
47   -
48   - //
49   - int sum = 0;
50   - for (Integer quantity : qtyList) {
51   - sum += quantity;
52   - }
53   - if (checkDetail.getQty() == sum) {
54   - AjaxResult.error("质检登记数量和质检明细系统数量核对错误");
  50 + if ( !(total == checkDetail.getQty())){
  51 + return AjaxResult.error("质检登记中总数量不等于质检明细中数量,不能完成质检");
55 52 }
  53 + checkDetail.setCheckBy(ShiroUtils.getLoginName());
  54 + checkDetail.setCheckAt(new Date());
  55 +
56 56 checkDetail.setStatus("20");
57   - if ( !this.updateById(checkDetail)){
58   - throw new ServiceException("更新质检明细表错误");
  57 + checkDetail.setLastUpdated(new Date());
  58 + checkDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  59 + if (!this.updateById(checkDetail)){
  60 + throw new ServiceException("更新质检明细表失败");
59 61 }
60   - CheckingRegister checkingRegister = new CheckingRegister();
61   - checkingRegister.setCheckDetailId(checkDetail.getId());
62   - checkingRegister.setCheckHeaderId(checkDetail.getCheckHeaderId());
63   - checkingRegister.setWarehouseCode(ShiroUtils.getWarehouseCode());
64   - checkingRegister.setCheckCode(checkDetail.getCheckCode());
65   - checkingRegister.setReceiptDetailId(checkDetail.getReceiptDetailId());
66   - checkingRegister.setReceiptCode(checkDetail.getReceiptCode());
67   - checkingRegister.setReferCode(checkDetail.getReferCode());
68   - checkingRegister.setReferLineId(checkDetail.getReferLineId());
69   - checkingRegister.setReferPlatform(checkDetail.getReferPlatform());
70   - checkingRegister.setMaterialCode(checkDetail.getMaterialCode());
71   - checkingRegister.setMaterialName(checkDetail.getMaterialName());
72   - checkingRegister.setMaterialSpec(checkDetail.getMaterialSpec());
73   - checkingRegister.setMaterialUnit(checkDetail.getMaterialUnit());
74   - checkingRegister.setCompanyCode(checkDetail.getCompanyCode());
75   - checkingRegister.setCheckBy(ShiroUtils.getLoginName());
76   - checkingRegister.setCheckAt(new Date());
77   - checkingRegister.setCreatedBy(ShiroUtils.getLoginName());
78   - checkingRegister.setLastUpdatedBy(ShiroUtils.getLoginName());
  62 + LambdaQueryWrapper<CheckDetail> lambda = Wrappers.lambdaQuery();
  63 + lambda.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId());
  64 + List<CheckDetail> checkDetails = this.list(lambda);
79 65  
80   - for (int i = 0; i<inventoryStsList.size(); i++){
81   - checkingRegister.setInventorySts(inventoryStsList.get(i));
82   - checkingRegister.setQty(qtyList.get(0));
83   - if ( !checkingRegisterService.save(checkingRegister)){
84   - throw new ServiceException("生成质检报告失败");
  66 + //判断头表下所有明细是否全部完成
  67 + boolean result = false;
  68 + for (CheckDetail checkDetail1 : checkDetails){
  69 + if ("20".equals(checkDetail1.getStatus())){
  70 + result = true;
  71 + } else {
  72 + result = false;
85 73 }
86 74 }
87   -
88   - LambdaQueryWrapper<CheckDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
89   - lambdaQueryWrapper.eq(CheckDetail::getCheckHeaderId, checkDetail.getCheckHeaderId())
90   - .ne(CheckDetail::getStatus, 20);
91   - List<CheckDetail> checkDetails = this.list(lambdaQueryWrapper);
92   -
93   - //如果改质检单的全部明细都完成质检则更新质检头表状态
94   - if (checkDetails == null){
  75 + if (result){
95 76 CheckHeader checkHeader = new CheckHeader();
96 77 checkHeader.setId(checkDetail.getCheckHeaderId());
97   - checkHeader.setStatus("20");
98   - if (!checkHeaderService.updateById(checkHeader)){
99   - throw new ServiceException("更新质检头表发生错误");
  78 + checkHeader.setStatus("30");
  79 + if ( !checkHeaderService.updateById(checkHeader)){
  80 + throw new ServiceException("质检头表更新失败");
100 81 }
101 82 }
102 83 return AjaxResult.success("质检完成");
... ...
src/main/resources/application-druid.properties
... ... @@ -2,14 +2,14 @@
2 2 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
3 3 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
4 4 # \u4E3B\u5E93
5   -#spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
  5 +spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/wms_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
6 6 #spring.datasource.druid.master.url=jdbc:mysql://172.16.29.45:3306/huahengExample?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
7   -spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms2.0?characterEncoding=utf8&serverTimezone=GMT%2b8
  7 +#spring.datasource.druid.master.url=jdbc:mysql://localhost:3306/wms2.0?characterEncoding=utf8&serverTimezone=GMT%2b8
8 8  
9   -#spring.datasource.druid.master.username=softhuaheng
10   -#spring.datasource.druid.master.password=HHrobot123.
11   -spring.datasource.druid.master.username=root
12   -spring.datasource.druid.master.password=123456
  9 +spring.datasource.druid.master.username=softhuaheng
  10 +spring.datasource.druid.master.password=HHrobot123.
  11 +#spring.datasource.druid.master.username=root
  12 +#spring.datasource.druid.master.password=123456
13 13 # \u4ECE\u5E93
14 14 #spring.datasource.druid.slave.open = true
15 15 #spring.datasource.druid.slave.url=jdbc:mysql://172.16.29.45:3306/huaheng?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false
... ...
src/main/resources/static/huaheng/js/common.js
... ... @@ -21,8 +21,10 @@ $(function(){
21 21 if ($(".time").length > 0) {
22 22 layui.use('laydate', function() {
23 23 var laydate = layui.laydate;
24   - laydate.render({ elem: '#startTime', theme: 'molv' });
25   - laydate.render({ elem: '#endTime', theme: 'molv' });
  24 + var day1 = new Date();
  25 + day1.setTime(day1.getTime()-24*60*60*1000*7);
  26 + laydate.render({ elem: '#startTime', theme: 'molv',value: new Date(day1), isInitValue: true});
  27 + laydate.render({ elem: '#endTime', theme: 'molv',value: new Date(), isInitValue: true });
26 28 });
27 29 }
28 30 });
... ...
src/main/resources/static/huaheng/js/huahengUI.js
... ... @@ -51,13 +51,17 @@
51 51 },
52 52 // 查询条件
53 53 queryParams: function(params) {
  54 + var day1 = new Date();
  55 + day1.setTime(day1.getTime()-24*60*60*1000*7);
54 56 return {
55 57 // 传递参数查询参数
56 58 pageSize: params.limit,
57 59 pageNum: params.offset / params.limit + 1,
58 60 searchValue: params.search,
59 61 orderByColumn: params.sort,
60   - isAsc: params.order
  62 + isAsc: params.order,
  63 + createdBegin: day1,
  64 + createdEnd: new Date()
61 65 };
62 66 },
63 67 // 请求获取数据后处理回调函数
... ...
src/main/resources/templates/check/checkHeader/checkHeader.html
... ... @@ -103,8 +103,8 @@
103 103 </div>
104 104  
105 105 <div class="btn-group hidden-xs" id="toolbarReg" role="group">
106   - <a class="btn btn-outline btn-danger btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove">
107   - <i class="fa fa-trash-o"></i> 质检完成
  106 + <a class="btn btn-outline btn-success btn-rounded" onclick="complete()" shiro:hasPermission="check:checkingRegister:remove">
  107 + <i class="fa fa-check-circle-o"></i> 质检完成
108 108 </a>
109 109 <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="check:checkingRegister:remove">
110 110 <i class="fa fa-trash-o"></i> 删除
... ... @@ -259,7 +259,6 @@
259 259  
260 260 //质检明细表格初始化
261 261 $("#bootstrap-table1").bootstrapTable({
262   - url: prefix + "/list",
263 262 createUrl: prefix1 + "/add",
264 263 updateUrl: prefix1 + "/edit/{id}",
265 264 removeUrl: prefix1 + "/remove",
... ... @@ -269,7 +268,6 @@
269 268 sortOrder: "desc",
270 269 iconSize: "outline",
271 270 toolbar: "#toolbar1",
272   - contentType: "application/x-www-form-urlencoded",
273 271 pagination: true, // 是否显示分页(*)
274 272 pageNumber: 1, // 初始化加载第一页,默认第一页
275 273 pageSize: 50, // 每页的记录行数(*)
... ... @@ -282,11 +280,13 @@
282 280 },
283 281 {
284 282 field : 'id',
285   - title : 'id'
  283 + title : 'id',
  284 + visible: false
286 285 },
287 286 {
288 287 field : 'checkHeaderId',
289   - title : '质检头id'
  288 + title : '质检头id',
  289 + visible : false
290 290 },
291 291 {
292 292 field : 'warehouseCode',
... ... @@ -299,7 +299,8 @@
299 299 },
300 300 {
301 301 field : 'inventoryDetailId',
302   - title : '库存明细标识'
  302 + title : '库存明细标识',
  303 + visible : false
303 304 },
304 305 {
305 306 field : 'locationCode',
... ... @@ -311,7 +312,8 @@
311 312 },
312 313 {
313 314 field : 'receiptDetailId',
314   - title : '入库单明细标识'
  315 + title : '入库单明细标识',
  316 + visible : false
315 317 },
316 318 {
317 319 field : 'receiptCode',
... ... @@ -402,7 +404,6 @@
402 404 });
403 405 //质检登记表格初始化
404 406 $("#bootstrap-table2").bootstrapTable({
405   - contentType: "application/x-www-form-urlencoded",
406 407 editable: true,
407 408 clickEdit: true,
408 409 clickToSelect: true,
... ... @@ -586,6 +587,7 @@
586 587 });
587 588 }
588 589 });
  590 +
589 591 /* 质检单列表-详细 */
590 592 function detail(id, code) {
591 593 checkId = id;
... ... @@ -647,6 +649,7 @@
647 649  
648 650 function complete() {
649 651 var url = prefix1+"/complete";
  652 + var data = {id: checkDetailId};
650 653 $.operate.submit(url, "post", "json", data);
651 654 }
652 655 </script>
... ...
src/main/resources/templates/include.html
... ... @@ -20,7 +20,7 @@
20 20 <div th:fragment="footer">
21 21 <script th:src="@{/js/jquery.min.js}"></script>
22 22 <script th:src="@{/js/bootstrap.min.js}"></script>
23   -
  23 + <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script>
24 24 <!-- bootstrap-table 表格插件 -->
25 25 <script th:src="@{/ajax/libs/bootstrap-table/bootstrap-table.min.js}"></script>
26 26 <script th:src="@{/ajax/libs/bootstrap3-editable/js/bootstrap-editable.js}"></script>
... ... @@ -42,7 +42,6 @@
42 42 <script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
43 43 <script th:src="@{/ajax/libs/layui/layui.js}"></script>
44 44 <script th:src="@{/ajax/libs/layui/lay/modules/upload.js}"></script>
45   - <script th:src="@{/huaheng/js/common.js?v=2.3.0}"></script>
46 45 <script th:src="@{/huaheng/js/huahengUI.js?v=2.3.2}"></script>
47 46 <script th:inline="javascript"> var ctx = [[@{/}]]; </script>
48 47 </div>
... ...