TempService.java
4.75 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
99
100
101
102
103
104
105
package com.huaheng.api.backPass;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.utils.DateUtils;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
/***
 * @author tongzonghao
 *
 */
@Service
public class TempService {
    @Resource
    private ReceiptHeaderService receiptHeaderService;
    @Resource
    private ShipmentHeaderService shipmentHeaderService;
    @Resource
    private ShipmentDetailService shipmentDetailService;
    @Resource
    private ReceiptDetailService receiptDetailService;
    @Resource
    private MaterialService materialService;
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult createBillBy(ReceiptDetail receiptDetail1, Integer semiInt) {
        ReceiptDetail receiptDetailByRollNumber = receiptDetailService.getReceiptDetailByRollNumber(receiptDetail1.getRollNumber(), ShiroUtils.getZoneCode());
        if (receiptDetailByRollNumber != null) {
            return AjaxResult.success();
        }
        //不是半自动就不创建单据
        if (semiInt != 1) {
            return AjaxResult.success();
        }
        String materialCode = receiptDetail1.getMaterialCode();
        String rollNumber = receiptDetail1.getRollNumber();
        Material material = materialService.getMaterialByCode(materialCode, QuantityConstant.WAREHOUSECODE);
        if (material == null) {
            material = new Material();
            material.setCode(materialCode);
            material.setName(materialCode);
            material.setSpec(materialCode);
            material.setUnit(materialCode);
            material.setCompanyCode(QuantityConstant.COMPANYCODE);
            materialService.addSave(material);
        }
        String code = receiptHeaderService.createCode("DE", ShiroUtils.getZoneCode());
        ReceiptHeader receiptHeader = new ReceiptHeader();
        receiptHeader.setReceiptType("DE");
        receiptHeader.setCode(code);
        receiptHeader.setWarehouseCode(QuantityConstant.WAREHOUSECODE);
        receiptHeader.setZoneCode(ShiroUtils.getZoneCode());
        receiptHeader.setCompanyCode(QuantityConstant.COMPANYCODE);
        receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
        receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
        receiptHeader.setTotalLines(BigDecimal.ONE.intValue());
        receiptHeader.setTotalQty(receiptDetail1.getQty());
        receiptHeader.setCreatedBy("半自动创建");
        receiptHeader.setCreated(DateUtils.getNowDate());
        receiptHeader.setLastUpdatedBy("半自动创建");
        receiptHeader.setLastUpdated(DateUtils.getNowDate());
        receiptHeaderService.save(receiptHeader);
        ReceiptDetail receiptDetail = new ReceiptDetail();
        receiptDetail.setReceiptId(receiptHeader.getId());
        receiptDetail.setReceiptCode(receiptHeader.getCode());
        receiptDetail.setCompanyCode(QuantityConstant.COMPANYCODE);
        receiptDetail.setWarehouseCode(QuantityConstant.WAREHOUSECODE);
        receiptDetail.setInventorySts(QuantityConstant.GOOD);
        receiptDetail.setMaterialCode(material.getCode());
        receiptDetail.setMaterialName(material.getName());
        receiptDetail.setMaterialSpec(material.getSpec());
        receiptDetail.setMaterialUnit(material.getUnit());
        receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_BUILD.toString());
        receiptDetail.setRollNumber(rollNumber);
        receiptDetail.setQty(receiptDetail1.getQty());
        if (receiptDetail.getQty() == null) {
            receiptDetail.setQty(BigDecimal.ONE);
        } else {
            receiptDetail.setQty(receiptDetail1.getQty());
        }
        receiptDetail.setTaskQty(BigDecimal.ZERO);
        receiptDetail.setCreatedBy("半自动创建");
        receiptDetail.setCreated(DateUtils.getNowDate());
        receiptDetail.setLastUpdatedBy("半自动创建");
        receiptDetail.setLastUpdated(DateUtils.getNowDate());
        receiptDetailService.save(receiptDetail);
        return AjaxResult.success();
    }
}