package com.fzzy.igds;
|
|
import com.bstek.dorado.annotation.DataProvider;
|
import com.bstek.dorado.annotation.DataResolver;
|
import com.bstek.dorado.annotation.Expose;
|
import com.fzzy.common.constant.BizTypeEnum;
|
import com.fzzy.igds.constant.Constant;
|
import com.fzzy.igds.data.BaseResp;
|
import com.fzzy.igds.data.IgdsBaseParam;
|
import com.fzzy.igds.domain.Depot;
|
import com.fzzy.igds.domain.PledgeContract;
|
import com.fzzy.igds.domain.PledgeContractDepot;
|
import com.fzzy.igds.service.DepotService;
|
import com.fzzy.igds.service.PledgeContractDepotService;
|
import com.fzzy.igds.service.PledgeContractService;
|
import com.fzzy.igds.utils.ContextUtil;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.enums.BusinessType;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Component
|
public class PledgeContractPR {
|
|
@Resource
|
private PledgeContractService pledgeContractService;
|
|
@Resource
|
private PledgeContractDepotService pledgeContractDepotService;
|
|
|
@Resource
|
private DepotService depotService;
|
|
/**
|
* pledgeContractPR#initAdd
|
* 新增初始化数据
|
*/
|
@Expose
|
public PledgeContract initAdd() {
|
SysUser user = ContextUtil.getLoginUser();
|
PledgeContract data = new PledgeContract();
|
data.setId(ContextUtil.generateOrderId("ZY"));
|
data.setCompanyId(user.getCompanyId());
|
data.setUpdateBy(user.getUserName());
|
return data;
|
}
|
|
|
/**
|
* pledgeContractPR#listAll
|
* 质押列表
|
*/
|
@DataProvider
|
public List<PledgeContract> listAll(IgdsBaseParam param) {
|
return pledgeContractService.listAll(param);
|
}
|
|
/**
|
* pledgeContractPR#getOne
|
*
|
* @param businessId
|
* @return
|
*/
|
@DataProvider
|
public PledgeContract getOne(String businessId) {
|
return pledgeContractService.getOne(businessId);
|
}
|
|
/**
|
* 保存/更新
|
*
|
* @param pledgeContract
|
* @return
|
*/
|
@Transactional
|
@DataResolver
|
public BaseResp saveUpdate(PledgeContract pledgeContract) {
|
List<PledgeContractDepot> depotData = pledgeContract.getDepotData();
|
if (depotData != null && !depotData.isEmpty()) {
|
pledgeContractDepotService.addDataByList(depotData);
|
}
|
if (null == pledgeContract.getCreateTime()) {
|
return pledgeContractService.addData(pledgeContract);
|
} else {
|
return pledgeContractService.updateData(pledgeContract);
|
}
|
}
|
|
|
/**
|
* 删除
|
* pledgeContractPR#delete
|
*
|
* @param pledgeContract
|
* @return
|
*/
|
@Log(title = "质押合同", businessType = BusinessType.DELETE, bizType = BizTypeEnum.SUPERVISION)
|
@Expose
|
public BaseResp delete(PledgeContract pledgeContract) {
|
if (StringUtils.isNotEmpty(pledgeContract.getId())) return pledgeContractService.deleteData(pledgeContract);
|
return BaseResp.success();
|
}
|
|
/**
|
* 质押状态
|
* ${dorado.getDataProvider("pledgeContractPR#status").getResult()}
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<SysDictData> status() {
|
List<SysDictData> result = new ArrayList<>();
|
result.add(new SysDictData("未解押", Constant.YN_N));
|
result.add(new SysDictData("已解押", Constant.YN_Y));
|
return result;
|
}
|
|
/**
|
* 删除质押仓库
|
* pledgeContractPR#deleteDepot
|
*
|
* @param pledgeContractDepot
|
* @return
|
*/
|
@Log(title = "质押合同", businessType = BusinessType.DELETE, bizType = BizTypeEnum.SUPERVISION)
|
@Expose
|
public BaseResp deleteDepot(PledgeContractDepot pledgeContractDepot) {
|
if (StringUtils.isNotEmpty(pledgeContractDepot.getId()))
|
return pledgeContractDepotService.deleteData(pledgeContractDepot);
|
return BaseResp.success();
|
}
|
|
|
/**
|
* pledgeContractPR#listAllData
|
* 质押仓库列表
|
*/
|
@DataProvider
|
public List<PledgeContractDepot> listAllData(String PledgeId) {
|
IgdsBaseParam param = new IgdsBaseParam();
|
param.setCompanyId(ContextUtil.getCompanyId());
|
param.setParentId(PledgeId);
|
return pledgeContractDepotService.listAll(param);
|
}
|
|
|
/**
|
* pledgeContractPR#getUnplacedDepotData
|
*
|
* @return
|
*/
|
@DataProvider
|
public List<Depot> getUnplacedDepotData(String parentId, String PledgeId) {
|
List<Depot> result = new ArrayList<>();
|
if (com.ruoyi.common.utils.StringUtils.isBlank(PledgeId) || com.ruoyi.common.utils.StringUtils.isBlank(parentId)) {
|
return result;
|
}
|
//获取收储公司下所有仓库
|
List<Depot> data = depotService.getData(null, parentId, false);
|
|
//获取已配置仓库
|
IgdsBaseParam param = new IgdsBaseParam();
|
param.setCompanyId(ContextUtil.getCompanyId());
|
param.setParentId(PledgeId);
|
List<PledgeContractDepot> pledgeContractDepots = pledgeContractDepotService.listAll(param);
|
//遍历找出所有未配置仓库
|
for (Depot depot : data) {
|
boolean flag = true;
|
for (PledgeContractDepot pledgeContractDepot : pledgeContractDepots) {
|
if (depot.getId().equals(pledgeContractDepot.getPledgeDepot())) {
|
flag = false;
|
break;
|
}
|
}
|
if (flag) {
|
result.add(depot);
|
}
|
}
|
return result;
|
}
|
}
|