ICSReceiptApi.java
3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.huaheng.api.U8.controller;
import com.alibaba.fastjson.JSON;
import com.huaheng.pc.u8.domain.ICSReceiptDetail;
import com.huaheng.pc.u8.domain.ICSReceiptHeader;
import com.huaheng.pc.u8.domain.ICSReceiptModel;
import com.huaheng.pc.u8.service.ICSReceiptAPIService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.documentWarning.service.IDocumentWarningService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.List;
/**
 * u8-wms入库下发或回传接口
 *  @author huaheng
 *  @date 2019-1-4
 *
 */
@RestController
@RequestMapping("/api/icsReceipt")
@Api(tags = {"icsReceipt"}, description = "ICS入库下发或回传接口")
public class ICSReceiptApi extends BaseController {
    @Autowired
    private ICSReceiptAPIService icsReceiptAPIService;
    @Resource
    private IDocumentWarningService documentWarningService;
    @Log(title = "采购订单", action = BusinessType.INSERT)
    @PostMapping("/GetICSPO_PO")
    @ApiOperation("ICS采购订单接口")
    @ResponseBody
    @ApiLogger(apiName = "ICS采购订单接口",from = "U8")
    public AjaxResult procureReceipt(@RequestBody ICSReceiptModel icsReceiptModel)  {
        ICSReceiptHeader icsReceiptHeader=icsReceiptModel.getIcsReceiptHeader();
//        String wareHouseCode = icsReceiptHeader.getCWarehouseCode();
//        if(wareHouseCode!=null && !"".equals(wareHouseCode)){
//            return AjaxResult.error("入库单头信息仓库编码不能为空");
//        }
        List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
        if(icsReceiptHeader == null ){
            documentWarningService.ErpSendWarning("","采购订单缺少主单据");
            return AjaxResult.error("缺少主单据");
        }
        if(icsReceiptDetails==null){
            documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"采购订单缺少子单据");
            return AjaxResult.error("缺少子单据");
        }
        icsReceiptHeader.setType("PCI");
        AjaxResult result = handleMultiProcess(new MultiProcessListener() {
            @Override
            public AjaxResult doProcess() {
                AjaxResult ajaxResult = icsReceiptAPIService.procureReceipt(icsReceiptModel);
                return ajaxResult;
            }
        });
        return result;
    }
    @Log(title = "采购到货单下发", action = BusinessType.INSERT)
    @PostMapping("/GetICSPU_ArrivalVouch")
    @ApiOperation("ICS采购到货单下发接口")
    @ResponseBody
    @ApiLogger(apiName = "ICS采购到货单下发接口",from = "U8")
    public AjaxResult procureArrive(@RequestBody ICSReceiptModel icsReceiptModel) throws ParseException {
        ICSReceiptHeader icsReceiptHeader=icsReceiptModel.getIcsReceiptHeader();
        List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
        if(icsReceiptHeader==null ){
            documentWarningService.ErpSendWarning("","采购到货单缺少主单据");
            return AjaxResult.error("缺少主单据");
        }
        if(icsReceiptDetails==null){
            documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"采购到货单缺少子单据");
            return AjaxResult.error("缺少子单据");
        }
        icsReceiptHeader.setType("PI");
        String json = JSON.toJSONString(icsReceiptModel);
        AjaxResult ajaxResult = icsReceiptAPIService.procureArrive(icsReceiptModel);
        return ajaxResult;
    }
}