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 page, InoutParam param) { com.baomidou.mybatisplus.extension.plugins.pagination.Page 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); } } }