czt
9 天以前 db67639449287bcec461916a7dca6003ee5dd03c
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package com.fzzy.igds;
 
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.InoutData;
import com.fzzy.igds.data.InoutParam;
import com.fzzy.igds.domain.InoutRecord;
import com.fzzy.igds.service.InoutRecordService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
 
/**
 * @Description 出入库详单页面管理
 * @Author CZT
 * @Date 2025/12/05 10:40
 */
@Component
public class InoutDataPR {
 
    @Resource
    private InoutRecordService inoutRecordService;
 
    /**
     * inoutDataPR#pageInoutData
     *
     * @param page
     * @param param
     * @throws Exception
     */
    @DataProvider
    public void pageInoutData(Page<InoutRecord> page, InoutParam param) {
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutRecord> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
 
        if(null == param) {
            param = new InoutParam();
        }
        inoutRecordService.listPageInout(corePage, param);
 
        // 重新封装
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
 
    /**
     * 保存出入库数据 inoutDataPR#saveInoutData
     */
    @DataResolver
    public String saveInoutData(InoutRecord data) {
        if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
            return "系统:已经删除的数据不支持修改!";
        }
        if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
            return "系统:未结束流程的数据不支持修改!";
        }
        int i = inoutRecordService.updateInoutRecord(data);
        if (i > 0) {
            return null;
        } else {
            return "保存失败!";
        }
    }
 
    /**
     * inoutDataPR#errorInoutData 出入库数据执行 异常终止
     *
     * @param data
     * @return
     * @throws Exception
     */
    @DataResolver
    @Transactional
    public String errorInoutData(InoutRecord data) {
        return inoutRecordService.errorInoutData(data);
    }
 
    /**
     * inoutDataPR#printWeightBill 获取打印单信息
     *
     * @param data
     * @return
     * @throws Exception
     */
    @Expose
    public String printWeightBill(InoutRecord data) {
        if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
            return "删除的数据不支持打印!";
        }
        if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
            return "未完成的数据不支持打印!";
        }
 
        if (Constant.TYPE_IN.equals(data.getType())) {
            return inoutRecordService.inWeightBill(data);
        } else {
            return inoutRecordService.outWeightBill(data);
        }
    }
 
 
    /**
     * inoutDataPR#initDataByHand 新增
     *
     * @return
     */
    @DataProvider
    public InoutData initDataByHand(String type) {
        SysUser user = ContextUtil.getLoginUser();
        InoutData data = new InoutData();
        data.setCompanyId(user.getCompanyId());
        data.setRegisterTime(new Date());
        data.setType(type);
        data.setRegisterUser(user.getUserName());
        data.setDeptId(ContextUtil.subDeptId(user));
        data.setCheckUser(user.getUserName());
        data.setProgress(Constant.PROGRESS_RECORD);
        data.setRecordStatus(Constant.RECORD_STATUS_ADD);
        return data;
    }
 
    /**
     * 补单 inoutDataPR#addData
     */
    @DataResolver
    public String addData(InoutData data) {
        if (data.getSettleWeight() <= 0.0) {
            return "系统:结算重量必须大于0";
        }
 
        return inoutRecordService.handAddInoutRecord(data);
    }
 
    /**
     * inoutDataPR#printWeightBill 获取打印单信息
     *
     * @param data
     * @return
     * @throws Exception
     */
    @Expose
    public String printWeightBillHand(InoutData data) {
        if (Constant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
            return "删除的数据不支持打印!";
        }
        if (!Constant.PROGRESS_RECORD.equals(data.getProgress())) {
            return "未完成的数据不支持打印!";
        }
 
        if (Constant.TYPE_IN.equals(data.getType())) {
            return inoutRecordService.inWeightBill(data);
        } else {
            return inoutRecordService.outWeightBill(data);
        }
    }
}