Commit 02d556c13fa3242f6a7726cef57e2cfe20a40e29

Authored by 易文鹏
1 parent ebe60db4

入库任务和出库单失败后手动回传

src/main/java/com/huaheng/api/mes/controller/MesReceiptController.java
... ... @@ -626,7 +626,7 @@ public class MesReceiptController extends BaseController {
626 626 shipmentHeader.setErrorMsg("出库回传:接口地址错误或返回为空");
627 627 shipmentHeader.setPushSuccessStatus(2);
628 628 shipmentHeaderService.updateById(shipmentHeader);
629   - return true;
  629 + return false;
630 630 }
631 631 shipmentHeader.setPushErrorCount(shipmentHeader.getPushErrorCount()+1);
632 632 if (!returnInfo.hasError()) {
... ...
src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
... ... @@ -436,17 +436,19 @@ public class RyTask extends BaseController {
436 436 public void gcBill(){
437 437  
438 438 LambdaQueryWrapper<ReceiptHeader> query = Wrappers.lambdaQuery();
439   - query.eq(ReceiptHeader::getFirstStatus,QuantityConstant.RECEIPT_HEADER_RETURN)
  439 + query .eq(ReceiptHeader::getFirstStatus,QuantityConstant.RECEIPT_HEADER_RETURN)
440 440 .eq(ReceiptHeader::getLastStatus,QuantityConstant.RECEIPT_HEADER_RETURN)
  441 + .eq(ReceiptHeader::getPushSuccessStatus,1)
441 442 .eq(ReceiptHeader::getDeleted, true)
442   - .last("LIMIT 10");
  443 + .last("LIMIT 1");
443 444 List<ReceiptHeader> receiptHeaders = receiptHeaderService.list(query);
444 445  
445 446 LambdaQueryWrapper<ShipmentHeader> query1 = Wrappers.lambdaQuery();
446   - query1.eq(ShipmentHeader::getLastStatus,QuantityConstant.RECEIPT_HEADER_RETURN)
  447 + query1 .eq(ShipmentHeader::getFirstStatus,QuantityConstant.RECEIPT_HEADER_RETURN)
447 448 .eq(ShipmentHeader::getLastStatus,QuantityConstant.RECEIPT_HEADER_RETURN)
  449 + .eq(ShipmentHeader::getPushSuccessStatus,1)
448 450 .eq(ShipmentHeader::getDeleted, false)
449   - .last("LIMIT 10");
  451 + .last("LIMIT 1");
450 452 List<ShipmentHeader> shipmentHeaders = shipmentHeaderService.list(query1);
451 453  
452 454 for (ReceiptHeader receiptHeader : receiptHeaders) {
... ... @@ -477,6 +479,51 @@ public class RyTask extends BaseController {
477 479 }
478 480 }
479 481  
  482 + public void gcBill2(){
  483 + LambdaQueryWrapper<ReceiptHeader> query = Wrappers.lambdaQuery();
  484 + query.eq(ReceiptHeader::getFirstStatus,QuantityConstant.RECEIPT_HEADER_POSTING)
  485 + .eq(ReceiptHeader::getLastStatus,QuantityConstant.RECEIPT_HEADER_POSTING)
  486 + .eq(ReceiptHeader::getDeleted, true)
  487 + .last("LIMIT 1");
  488 + List<ReceiptHeader> receiptHeaders = receiptHeaderService.list(query);
  489 +
  490 + LambdaQueryWrapper<ShipmentHeader> query1 = Wrappers.lambdaQuery();
  491 + query1.eq(ShipmentHeader::getLastStatus,QuantityConstant.SHIPMENT_HEADER_COMPLETED)
  492 + .eq(ShipmentHeader::getLastStatus,QuantityConstant.SHIPMENT_HEADER_COMPLETED)
  493 + .eq(ShipmentHeader::getDeleted, false)
  494 + .last("LIMIT 1");
  495 + List<ShipmentHeader> shipmentHeaders = shipmentHeaderService.list(query1);
  496 +
  497 +
  498 + for (ReceiptHeader receiptHeader : receiptHeaders) {
  499 + try{
  500 + //新增入库单历史
  501 + receiptHeaderHistoryService.saveById(String.valueOf(receiptHeader.getId()), "回传");
  502 + receiptHeader.setDeleted(false);
  503 + if (!receiptHeaderService.updateById(receiptHeader)) {
  504 + throw new ServiceException("删除头表失败");
  505 + }
  506 + }catch (Exception e){
  507 + e.printStackTrace();
  508 + }
  509 + }
  510 +
  511 + for (ShipmentHeader shipmentHeader : shipmentHeaders) {
  512 + try{
  513 + //新增入库单历史
  514 + shipmentHeaderHistoryService.saveById(String.valueOf(shipmentHeader.getId()), "回传");
  515 + shipmentHeader.setDeleted(true);
  516 + if (!shipmentHeaderService.updateById(shipmentHeader)) {
  517 + throw new ServiceException("删除头表失败");
  518 + }
  519 + }catch (Exception e){
  520 + e.printStackTrace();
  521 + }
  522 +
  523 + }
  524 + }
  525 +
  526 +
480 527 public void restoreHistoryDate(){
481 528 receiptRestore();
482 529 shipmentRestore();
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
... ... @@ -583,10 +583,22 @@ public class ShipmentHeaderController extends BaseController {
583 583 if (shipmentHeader == null) {
584 584 return AjaxResult.error("没有找到出库单");
585 585 }
586   - //shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
587   - //shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
588   - //shipmentHeaderService.updateById(shipmentHeader);
589   - return AjaxResult.success("回传成功");
  586 + if (shipmentHeader.getPushSuccessStatus()!=2) {
  587 + return AjaxResult.error("只有回传错误才能手动回传!");
  588 + }
  589 + if (("MOM".equals(shipmentHeader.getCreatedBy()) || "merge".equals(shipmentHeader.getShipmentType()) || "299".equals(shipmentHeader.getShipmentType()))) {
  590 + try {
  591 + shipmentHeader.setWarehouse("035");
  592 + if (mesReceiptController.postE_Rd_Out(shipmentHeader)) {
  593 + return AjaxResult.success("回传成功");
  594 + }
  595 + } catch (Exception e) {
  596 + e.printStackTrace();
  597 + }
  598 + }else {
  599 + return AjaxResult.error("无需回传");
  600 + }
  601 + return AjaxResult.error("回传失败");
590 602 }
591 603  
592 604  
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeaderHistory/controller/ShipmentHeaderHistoryController.java
... ... @@ -64,13 +64,14 @@ public class ShipmentHeaderHistoryController extends BaseController
64 64 @Log(title = "出库-出库单历史", operating="查看历史出库主单", action = BusinessType.GRANT)
65 65 @PostMapping("/list")
66 66 @ResponseBody
67   - public TableDataInfo list(ShipmentHeaderHistory shipmentHeader, String createdBegin, String createdEnd, String deliveryDate, String startDate) {
  67 + public TableDataInfo list(ShipmentHeaderHistory shipmentHeader, String createdBegin, String createdEnd, String deliveryDate, String startDate,String importDate) {
68 68 LambdaQueryWrapper<ShipmentHeaderHistory> lambdaQueryWrapper = Wrappers.lambdaQuery();
69 69 PageDomain pageDomain = TableSupport.buildPageRequest();
70 70 Integer pageNum = pageDomain.getPageNum();
71 71 Integer pageSize = pageDomain.getPageSize();
72 72 Date date1 = null;
73 73 Date date2 = null;
  74 + Date date3 = null;
74 75 try {
75 76 if (StringUtils.isNotNull(deliveryDate)) {
76 77 date1 = new SimpleDateFormat("yyyy-MM-dd").parse(deliveryDate);
... ... @@ -89,7 +90,14 @@ public class ShipmentHeaderHistoryController extends BaseController
89 90 }
90 91 } catch (java.text.ParseException e) {
91 92 }
92   -
  93 + try {
  94 + if (StringUtils.isNotNull(importDate)) {
  95 + date3 = new SimpleDateFormat("yyyy-MM-dd").parse(importDate);
  96 + } else {
  97 + date3 = null;
  98 + }
  99 + } catch (java.text.ParseException e) {
  100 + }
93 101 Date startTime1 = date1;
94 102 Date endTime1 = null;
95 103 if(startTime1!=null){
... ... @@ -103,6 +111,12 @@ public class ShipmentHeaderHistoryController extends BaseController
103 111 //获取当前时间
104 112 endTime2 = DateUtils.dateAddNum(startTime2, 1,0,-1);
105 113 }
  114 + Date startTime3 = date3;
  115 + Date endTime3 = null;
  116 + if (startTime3 != null) {
  117 + //获取当前时间
  118 + endTime3 = DateUtils.dateAddNum(startTime3, 1, 0, -1);
  119 + }
106 120  
107 121 lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),ShipmentHeaderHistory::getCreated, createdBegin)
108 122 .le(StringUtils.isNotEmpty(createdEnd), ShipmentHeaderHistory::getCreated, createdEnd)
... ... @@ -117,11 +131,14 @@ public class ShipmentHeaderHistoryController extends BaseController
117 131 .like(StringUtils.isNotEmpty(shipmentHeader.getShipmentNote()), ShipmentHeaderHistory::getShipmentNote, shipmentHeader.getShipmentNote())
118 132 .like(StringUtils.isNotEmpty(shipmentHeader.getWorkshop()),ShipmentHeaderHistory::getWorkshop,shipmentHeader.getWorkshop())
119 133 .eq(StringUtils.isNotEmpty(shipmentHeader.getShipmentType()),ShipmentHeaderHistory::getShipmentType,shipmentHeader.getShipmentType())
  134 + .like(StringUtils.isNotEmpty(shipmentHeader.getProcessType()), ShipmentHeaderHistory::getProcessType, shipmentHeader.getProcessType())
120 135 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCode()), ShipmentHeaderHistory::getReferCode, shipmentHeader.getReferCode())
  136 + .like(StringUtils.isNotEmpty(shipmentHeader.getTransferWarehouseName()), ShipmentHeaderHistory::getTransferWarehouseName, shipmentHeader.getTransferWarehouseName())
121 137 .eq(StringUtils.isNotEmpty(shipmentHeader.getReferCodeType()), ShipmentHeaderHistory::getReferCodeType, shipmentHeader.getReferCodeType())
122 138 .like(StringUtils.isNotEmpty(shipmentHeader.getOrigin()), ShipmentHeaderHistory::getOrigin, shipmentHeader.getOrigin())
123 139 .between(StringUtils.isNotNull(startTime1), ShipmentHeaderHistory::getRequestedDeliveryDate, startTime1,endTime1)
124 140 .between(StringUtils.isNotNull(startTime2), ShipmentHeaderHistory::getRequestedStartDate, startTime2,endTime2)
  141 + .between(StringUtils.isNotNull(startTime3), ShipmentHeaderHistory::getDailyScheduleImportDate, startTime3, endTime3)
125 142 .eq(shipmentHeader.getFirstStatus()!=null, ShipmentHeaderHistory::getFirstStatus, shipmentHeader.getFirstStatus())
126 143 .eq(shipmentHeader.getLastStatus()!=null, ShipmentHeaderHistory::getLastStatus, shipmentHeader.getLastStatus())
127 144 .eq(StringUtils.isNotNull(shipmentHeader.getPushSuccessStatus()),ShipmentHeaderHistory::getPushSuccessStatus,shipmentHeader.getPushSuccessStatus())
... ...
src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
... ... @@ -35,6 +35,7 @@ import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
35 35 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
36 36 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
37 37 import com.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper;
  38 +import com.huaheng.pc.task.taskHeader.service.ReceiptTaskService;
38 39 import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
39 40 import com.huaheng.pc.task.taskHeader.service.WorkTaskService;
40 41 import io.swagger.annotations.ApiOperation;
... ... @@ -74,6 +75,9 @@ public class TaskHeaderController extends BaseController {
74 75 @Resource
75 76 private ContainerTypeService containerTypeService;
76 77  
  78 + @Resource
  79 + private ReceiptTaskService receiptTaskService;
  80 +
77 81  
78 82 private String prefix = "task/taskHeader";
79 83  
... ... @@ -204,6 +208,26 @@ public class TaskHeaderController extends BaseController {
204 208 return taskHeaderService.completeTaskByWMS(Convert.toIntArray(taskId), null);
205 209 }
206 210  
  211 +
  212 + /**
  213 + * 回传erp
  214 + */
  215 + //@RequiresPermissions("task:taskHeader:complete")
  216 + //@Log(title = "任务-任务管理", operating = "PC完成立库任务", action = BusinessType.UPDATE)
  217 + @PostMapping( "/backERP")
  218 + @ResponseBody
  219 + public AjaxResult backERP(String taskId){
  220 + if (StringUtils.isEmpty(taskId)){
  221 + return AjaxResult.error("taskId不能为空");
  222 + }
  223 + TaskHeader taskHeader = taskHeaderService.getById(taskId);
  224 + if (taskHeader==null) {
  225 + return AjaxResult.error("找不到该任务"+taskId);
  226 + }
  227 + return receiptTaskService.backMomReceipt(taskHeader);
  228 + }
  229 +
  230 +
207 231 /**
208 232 * 删除立库任务
209 233 */
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
... ... @@ -602,11 +602,14 @@ public class ReceiptTaskService {
602 602 taskHeader.setBackMoM(3);
603 603 receiptHeader.setErrorMsg(returnInfo.getMsg());
604 604 receiptHeader.setPushSuccessStatus(2);
  605 + taskHeaderService.updateById(taskHeader);
  606 + receiptHeaderService.updateById(receiptHeader);
  607 + return AjaxResult.error("回传失败");
605 608 }
606 609 taskHeaderService.updateById(taskHeader);
607 610 receiptHeaderService.updateById(receiptHeader);
608 611 }
609 612 }
610   - return AjaxResult.success("回传MOM成功");
  613 + return AjaxResult.success("回传成功");
611 614 }
612 615 }
... ...
src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html
... ... @@ -50,6 +50,12 @@
50 50 通知单号:<input type="text" name="noticeNo"/>
51 51 </li>
52 52 <li>
  53 + 调整单号:<input type="text" name="processType"/>
  54 + </li>
  55 + <li>
  56 + 调入仓库名称:<input type="text" name="transferWarehouseName"/>
  57 + </li>
  58 + <li>
53 59 头 状 态:<select name="firstStatus"
54 60 th:with="firstStatus=${@dict.getType('shipmentHeaderStatus')}">
55 61 <option value="">所有</option>
... ... @@ -89,6 +95,11 @@
89 95 备注:<input type="text" name="shipmentNote"/>
90 96 </li>
91 97 <li class="time">
  98 +
  99 + <label>日计划导入日期: </label>
  100 + <input type="text" class="time-input" id="dailyScheduleImportDate"
  101 + placeholder="日计划导入日期"
  102 + name="importDate" autocomplete="off"/>
92 103 <label>计划开工日期: </label>
93 104 <input type="text" class="time-input" id="requestedStartDate"
94 105 placeholder="计划开工日期"
... ... @@ -256,6 +267,15 @@
256 267 var shipmentId = "";
257 268 var shipmentCode = "";
258 269  
  270 + //日计划导入日期
  271 + layui.use('laydate', function () {
  272 + var laydate = layui.laydate;
  273 + var day1 = new Date();
  274 + day1.setTime(day1.getTime() + 24 * 60 * 60 * 1000 * 1);
  275 + // laydate.render({ elem: '#requestedDeliveryDate', theme: 'molv',value: new Date(day1), isInitValue: true});
  276 + laydate.render({elem: '#dailyScheduleImportDate', theme: 'molv'});
  277 + });
  278 +
259 279 //计划完工日期
260 280 layui.use('laydate', function () {
261 281 var laydate = layui.laydate;
... ... @@ -402,6 +422,7 @@
402 422 // return actions.join('');
403 423 // }
404 424 // },
  425 +
405 426 {
406 427 field: 'warehouseCode',
407 428 title: '仓库',
... ...
src/main/resources/templates/task/taskHeader/taskHeader.html
... ... @@ -160,6 +160,9 @@
160 160 actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a> ');
161 161 actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>');
162 162 }
  163 + if (row.status >= 100 && row.backMoM===3) {
  164 + actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="backERP(\'' + row.id + '\')"><i class="fa fa-check"></i>回传</a>');
  165 + }
163 166 return actions.join('');
164 167 }
165 168 },
... ... @@ -321,7 +324,7 @@
321 324 },
322 325 {
323 326 field : 'pushErrorCount',
324   - title : '回传次数',
  327 + title : '回传错误次数',
325 328 visible:true,
326 329 },
327 330 {
... ... @@ -555,6 +558,15 @@
555 558 });
556 559 }
557 560  
  561 + /*任务列表-回传*/
  562 + function backERP(taskId) {
  563 + $.modal.confirm("确定回传MOM?", function() {
  564 + var url = ctx + 'task/taskHeader/backERP';
  565 + var data = { "taskId" : taskId };
  566 + $.operate.post(url, data);
  567 + });
  568 + }
  569 +
558 570 /*任务列表-批量完成任务*/
559 571 function batchComplete() {
560 572 //var rows = $.common.isEmpty($.table._option.taskId) ? $.table.selectFirstColumns() : $.table.selectColumns($.table._option.taskId);
... ...