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.data.NoticeParam;
|
import com.fzzy.igds.service.InoutNoticeService;
|
import com.fzzy.igds.domain.InoutNoticeIn;
|
import com.fzzy.igds.domain.InoutNoticeOut;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Component;
|
import javax.annotation.Resource;
|
import java.util.*;
|
|
/**
|
* @Description 通知单管理
|
* @Author CZT
|
* @Date 2025/11/29 16:42
|
*/
|
@Component
|
public class InoutNoticePR {
|
|
@Resource
|
private InoutNoticeService inoutNoticeService;
|
|
/**
|
* inoutNoticePR#getYearQuery 默认年份
|
*
|
* @param
|
* @return
|
*/
|
@DataProvider
|
public Map<String, Object> getYearQuery(Map<String, Object> param) {
|
Map<String, Object> result = new HashMap<String, Object>();
|
//获取参数中分库编码
|
String deptId = (String)param.get("deptId");
|
|
result.put("year", DateFormatUtils.format(new Date(), "yyyy"));
|
result.put("deptId", deptId);
|
return result;
|
}
|
|
/*==================== 入库通知单相关业务 ====================*/
|
|
/**
|
* inoutNoticePR#initAddIn 入库通知单新增初始化
|
*
|
* @return
|
*/
|
@Expose
|
public InoutNoticeIn initAddIn() {
|
SysUser user = ContextUtil.getLoginUser();
|
InoutNoticeIn data = new InoutNoticeIn();
|
data.setId(ContextUtil.generateOrderId("RK"));
|
data.setName("入库通知单");
|
data.setCompanyId(user.getCompanyId());
|
data.setDeptId(ContextUtil.subDeptId(user));
|
data.setYear(DateFormatUtils.format(new Date(), "yyyy"));
|
data.setCreateBy(ContextUtil.getLoginUserName());
|
data.setCreateTime(new Date());
|
return data;
|
}
|
|
/**
|
* inoutNoticePR#pageQueryIn 获取入库通知单
|
*
|
* @param param
|
* @return
|
*/
|
@DataProvider
|
public void pageQueryIn(Page<InoutNoticeIn> page, NoticeParam param) {
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutNoticeIn> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
|
|
inoutNoticeService.pageQueryIn(corePage, param);
|
|
// 重新封装
|
page.setEntities(corePage.getRecords());
|
page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
|
}
|
|
/**
|
* inoutNoticePR#saveIn 更新入库通知单
|
*/
|
@DataResolver
|
public String saveIn(InoutNoticeIn data) {
|
InoutNoticeIn inoutNoticeIn = new InoutNoticeIn();
|
BeanUtils.copyProperties(data, inoutNoticeIn);
|
return inoutNoticeService.saveOrUpdateIn(inoutNoticeIn);
|
}
|
|
/**
|
* inoutNoticePR#delDataIn
|
*/
|
@Expose
|
public String delDataIn(InoutNoticeIn data) {
|
InoutNoticeIn inoutNoticeIn = new InoutNoticeIn();
|
BeanUtils.copyProperties(data, inoutNoticeIn);
|
return inoutNoticeService.delDataIn(inoutNoticeIn);
|
}
|
|
/**
|
* 重新核算入库通知单完成量
|
*
|
* inoutNoticePR#updateSumNoticeIn
|
*
|
* @return
|
*/
|
@Expose
|
public String updateSumNoticeIn() {
|
|
//获取所有未完成状态的入库通知单
|
String companyId = ContextUtil.getCompanyId();
|
|
List<InoutNoticeIn> noticeInList = inoutNoticeService.getUnComNoticeIn(companyId);
|
|
if (noticeInList != null && noticeInList.size() > 0) {
|
inoutNoticeService.updateSumNoticeIn(noticeInList);
|
return "success";
|
}
|
return "fail";
|
}
|
|
/*==================== 出库通知单相关业务 ====================*/
|
|
/**
|
* inoutNoticePR#initAddOut 出库通知单新增初始化
|
*
|
* @return
|
*/
|
@Expose
|
public InoutNoticeOut initAddOut() {
|
SysUser user = ContextUtil.getLoginUser();
|
InoutNoticeOut data = new InoutNoticeOut();
|
data.setId(ContextUtil.generateOrderId("CK"));
|
data.setName("出库通知单");
|
data.setCompanyId(user.getCompanyId());
|
data.setDeptId(ContextUtil.subDeptId(user));
|
data.setYear(DateFormatUtils.format(new Date(), "yyyy"));
|
data.setCreateBy(ContextUtil.getLoginUserName());
|
data.setCreateTime(new Date());
|
return data;
|
}
|
|
/**
|
* inoutNoticePR#pageQueryOut 获取出库通知单
|
* @param page
|
* @param param
|
*/
|
@DataProvider
|
public void pageQueryOut(Page<InoutNoticeOut> page, NoticeParam param) {
|
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutNoticeOut> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
|
|
inoutNoticeService.pageQueryOut(corePage, param);
|
|
// 重新封装
|
page.setEntities(corePage.getRecords());
|
page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
|
}
|
|
/**
|
* inoutNoticePR#saveOut 更新出库通知单
|
* @param data
|
* @return
|
*/
|
@DataResolver
|
public String saveOut(InoutNoticeOut data) {
|
InoutNoticeOut inoutNoticeOut = new InoutNoticeOut();
|
BeanUtils.copyProperties(data, inoutNoticeOut);
|
return inoutNoticeService.saveOrUpdateOut(inoutNoticeOut);
|
}
|
|
/**
|
* inoutNoticePR#delDataOut
|
*/
|
@Expose
|
public String delDataOut(InoutNoticeOut data) {
|
InoutNoticeOut inoutNoticeOut = new InoutNoticeOut();
|
BeanUtils.copyProperties(data, inoutNoticeOut);
|
return inoutNoticeService.delDataOut(inoutNoticeOut);
|
}
|
|
|
/**
|
* 重新核算出库通知单完成量
|
*
|
* inoutNoticePR#updateSumNoticeOut
|
*
|
* @return
|
*/
|
@Expose
|
public String updateSumNoticeOut() {
|
|
//获取所有未完成状态的入库通知单
|
String companyId = ContextUtil.getCompanyId();
|
|
List<InoutNoticeOut> noticeOutList = inoutNoticeService.getUnComNoticeOut(companyId);
|
|
if (noticeOutList != null && noticeOutList.size() > 0) {
|
inoutNoticeService.updateSumNoticeOut(noticeOutList);
|
return "success";
|
}
|
return "fail";
|
}
|
|
}
|