|
|
@@ -4,13 +4,14 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
+import com.ruoyi.approvalFlow.domain.AuditItems;
|
|
|
+import com.ruoyi.approvalFlow.service.impl.AuditItemsAbout;
|
|
|
+import com.ruoyi.approvalFlow.service.impl.AuditItemsServiceImpl;
|
|
|
+import com.ruoyi.basicData.domain.TContactsItems;
|
|
|
import com.ruoyi.basicData.domain.TCorps;
|
|
|
import com.ruoyi.basicData.domain.TCustomerContact;
|
|
|
import com.ruoyi.basicData.domain.TWarehouseArea;
|
|
|
-import com.ruoyi.basicData.mapper.TCorpsMapper;
|
|
|
-import com.ruoyi.basicData.mapper.TCustomerContactMapper;
|
|
|
-import com.ruoyi.basicData.mapper.TWarehouseAreaMapper;
|
|
|
-import com.ruoyi.basicData.mapper.TWarehouseMapper;
|
|
|
+import com.ruoyi.basicData.mapper.*;
|
|
|
import com.ruoyi.basicData.service.ITWarehouseService;
|
|
|
import com.ruoyi.common.constant.UserConstants;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
@@ -25,14 +26,18 @@ import com.ruoyi.common.utils.DateUtils;
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
|
|
+import com.ruoyi.system.domain.SysConfig;
|
|
|
+import com.ruoyi.system.mapper.SysConfigMapper;
|
|
|
import com.ruoyi.system.mapper.TWarehouseUserMapper;
|
|
|
import com.ruoyi.system.service.ISysDictDataService;
|
|
|
import com.ruoyi.warehouseBusiness.domain.TAnnex;
|
|
|
+import com.ruoyi.warehouseBusiness.domain.TEnclosure;
|
|
|
import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
|
|
|
import com.ruoyi.warehouseBusiness.domain.dto.WarehouseSubmitDTO;
|
|
|
import com.ruoyi.warehouseBusiness.domain.enums.AnnexActEnum;
|
|
|
import com.ruoyi.warehouseBusiness.domain.vo.WarehouseInfoVO;
|
|
|
import com.ruoyi.warehouseBusiness.mapper.TAnnexMapper;
|
|
|
+import com.ruoyi.warehouseBusiness.mapper.TEnclosureMapper;
|
|
|
import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
|
|
|
import com.ruoyi.warehouseBusiness.request.InventoryQueryRequest;
|
|
|
import com.ruoyi.warehouseBusiness.response.InventoryQueryResponse;
|
|
|
@@ -85,6 +90,18 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
|
|
|
@Autowired
|
|
|
private TWarehouseUserMapper tWarehouseUserMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TContactsItemsMapper contactsItemsMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TEnclosureMapper tEnclosureMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SysConfigMapper sysConfigMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AuditItemsServiceImpl auditItemsService;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 查询仓库
|
|
|
@@ -103,6 +120,15 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
|
|
|
annex.setfActid(AnnexActEnum.WAREHOUSE.getType());
|
|
|
List<TAnnex> annexList = annexMapper.selectTAnnexList(annex);
|
|
|
warehouseInfoVO.setAnnexList(annexList);
|
|
|
+ TContactsItems tContactsItems = new TContactsItems();
|
|
|
+ tContactsItems.setPid(tWarehouse.getfId());
|
|
|
+ tContactsItems.setType("CK");
|
|
|
+ List<TContactsItems> contactsItemsList = contactsItemsMapper.selectContactsItemsList(tContactsItems);
|
|
|
+ warehouseInfoVO.setCtnpriceItemsList(contactsItemsList);
|
|
|
+ TEnclosure tEnclosure = new TEnclosure();
|
|
|
+ tEnclosure.setfPid(tWarehouse.getfId());
|
|
|
+ List<TEnclosure> tEnclosureList = tEnclosureMapper.selectTEnclosureList(tEnclosure);
|
|
|
+ warehouseInfoVO.setEnclosureList(tEnclosureList);
|
|
|
}
|
|
|
return warehouseInfoVO;
|
|
|
}
|
|
|
@@ -162,21 +188,21 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
|
|
|
for (TWarehouse tWarehouse1 : list) {
|
|
|
WarehouseInfoVO warehouseInfoVO = new WarehouseInfoVO();
|
|
|
BeanUtils.copyProperties(tWarehouse1, warehouseInfoVO);
|
|
|
- if (!fPropertiesList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfProperties())){
|
|
|
- List<SysDictData> fProperties = fPropertiesList.stream().filter(e-> tWarehouse1.getfProperties().contains(e.getDictValue())).collect(Collectors.toList());
|
|
|
- if (!fProperties.isEmpty()){
|
|
|
+ if (!fPropertiesList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfProperties())) {
|
|
|
+ List<SysDictData> fProperties = fPropertiesList.stream().filter(e -> tWarehouse1.getfProperties().contains(e.getDictValue())).collect(Collectors.toList());
|
|
|
+ if (!fProperties.isEmpty()) {
|
|
|
warehouseInfoVO.setfProperties(fProperties.stream().map(SysDictData::getDictLabel).collect(Collectors.joining(",")));
|
|
|
}
|
|
|
}
|
|
|
- if (!fTypeList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfType())){
|
|
|
- List<SysDictData> fType = fTypeList.stream().filter(e-> tWarehouse1.getfType().contains(e.getDictValue())).collect(Collectors.toList());
|
|
|
- if (!fType.isEmpty()){
|
|
|
+ if (!fTypeList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfType())) {
|
|
|
+ List<SysDictData> fType = fTypeList.stream().filter(e -> tWarehouse1.getfType().contains(e.getDictValue())).collect(Collectors.toList());
|
|
|
+ if (!fType.isEmpty()) {
|
|
|
warehouseInfoVO.setfType(fType.stream().map(SysDictData::getDictLabel).collect(Collectors.joining(",")));
|
|
|
}
|
|
|
}
|
|
|
- if (!fGoodsTypeList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfGoodsType())){
|
|
|
- List<SysDictData> fGoodsType = fGoodsTypeList.stream().filter(e-> tWarehouse1.getfGoodsType().contains(e.getDictValue())).collect(Collectors.toList());
|
|
|
- if (!fGoodsType.isEmpty()){
|
|
|
+ if (!fGoodsTypeList.isEmpty() && ObjectUtils.isNotNull(tWarehouse1.getfGoodsType())) {
|
|
|
+ List<SysDictData> fGoodsType = fGoodsTypeList.stream().filter(e -> tWarehouse1.getfGoodsType().contains(e.getDictValue())).collect(Collectors.toList());
|
|
|
+ if (!fGoodsType.isEmpty()) {
|
|
|
warehouseInfoVO.setfGoodsType(fGoodsType.stream().map(SysDictData::getDictLabel).collect(Collectors.joining(",")));
|
|
|
}
|
|
|
}
|
|
|
@@ -488,6 +514,36 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
|
|
|
annexMapper.insertTAnnex(li);
|
|
|
});
|
|
|
}
|
|
|
+ if (CollectionUtils.isNotEmpty(tWarehouse.getCtnpriceItemsList())) {
|
|
|
+ for (TContactsItems item : tWarehouse.getCtnpriceItemsList()) {
|
|
|
+ item.setPid(tWarehouse.getfId());
|
|
|
+ item.setType("CK");
|
|
|
+ if (item.getId() == null) {
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateBy(username);
|
|
|
+ contactsItemsMapper.insertContactsItems(item);
|
|
|
+ } else {
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setUpdateBy(username);
|
|
|
+ contactsItemsMapper.updateContactsItems(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(tWarehouse.getEnclosureList())) {
|
|
|
+ for (TEnclosure item : tWarehouse.getEnclosureList()) {
|
|
|
+ item.setfPid(tWarehouse.getfId());
|
|
|
+ if (item.getfId() == null) {
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateBy(username);
|
|
|
+ tEnclosureMapper.insertTEnclosure(item);
|
|
|
+ } else {
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setUpdateBy(username);
|
|
|
+ tEnclosureMapper.updateTEnclosure(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
@@ -523,6 +579,35 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
|
|
|
annexMapper.insertTAnnex(li);
|
|
|
});
|
|
|
}
|
|
|
+ if (CollectionUtils.isNotEmpty(tWarehouse.getCtnpriceItemsList())) {
|
|
|
+ for (TContactsItems item : tWarehouse.getCtnpriceItemsList()) {
|
|
|
+ item.setPid(tWarehouse.getfId());
|
|
|
+ item.setType("CK");
|
|
|
+ if (item.getId() == null) {
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateBy(username);
|
|
|
+ contactsItemsMapper.insertContactsItems(item);
|
|
|
+ } else {
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setUpdateBy(username);
|
|
|
+ contactsItemsMapper.updateContactsItems(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(tWarehouse.getEnclosureList())) {
|
|
|
+ for (TEnclosure item : tWarehouse.getEnclosureList()) {
|
|
|
+ item.setfPid(tWarehouse.getfId());
|
|
|
+ if (item.getfId() == null) {
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateBy(username);
|
|
|
+ tEnclosureMapper.insertTEnclosure(item);
|
|
|
+ } else {
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ item.setUpdateBy(username);
|
|
|
+ tEnclosureMapper.updateTEnclosure(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
@@ -839,6 +924,74 @@ public class TWarehouseServiceImpl implements ITWarehouseService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public AjaxResult tWarehouseAgreementSubmit(TWarehouse tWarehouse, LoginUser loginUser) {
|
|
|
+ // 这里加个判断取系统参数来确定是否需要启用审批流
|
|
|
+ boolean isApprove = false;
|
|
|
+ long actId = 1100L;
|
|
|
+ String key = "warehouse.approval";
|
|
|
+ SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
|
|
|
+ if (StringUtils.isNull(sysConfig)) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return AjaxResult.error("系统参数异常,未找到开启审批流参数");
|
|
|
+ }
|
|
|
+ if ("1".equals(sysConfig.getConfigValue())) {
|
|
|
+ isApprove = true;
|
|
|
+ }
|
|
|
+ if (isApprove) {
|
|
|
+ AuditItems auditItems = new AuditItems();
|
|
|
+ auditItems.setLevelId(0L);
|
|
|
+ auditItems.setBillId(tWarehouse.getfId());
|
|
|
+ auditItems.setActId(actId);
|
|
|
+ auditItems.setFidStatus("approval_status");
|
|
|
+ auditItems.setTimes(1L);
|
|
|
+ auditItems.setIffinalItem("F");
|
|
|
+ auditItems.setBillNo(tWarehouse.getfCname());
|
|
|
+ auditItems.setRefno1(tWarehouse.getfCname());
|
|
|
+ auditItems.setRefno2("CKSP");
|
|
|
+ auditItems.setSendUserId(loginUser.getUser().getUserId());
|
|
|
+ auditItems.setSendName(loginUser.getUsername());
|
|
|
+ auditItems.setSendTime(new Date());
|
|
|
+ auditItems.setAuditUserId(loginUser.getUser().getUserId());
|
|
|
+ auditItems.setAuditItem(new Date());
|
|
|
+ auditItems.setAuditOpTime(new Date());
|
|
|
+ auditItems.setAuditMsg("提交");
|
|
|
+ auditItems.setAuditStatus("O");
|
|
|
+ List<String> fsrcBillno = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotNull(tWarehouse.getfCname())) {
|
|
|
+ fsrcBillno.add(tWarehouse.getfCname());
|
|
|
+ }
|
|
|
+ auditItems.setfSrcBillnos(fsrcBillno);// 装载业务编号
|
|
|
+ TWarehouse warehouseSubmitDTO = new TWarehouse();
|
|
|
+ warehouseSubmitDTO.setfId(tWarehouse.getfId());
|
|
|
+ warehouseSubmitDTO.setApprovalStatus("审核提交");
|
|
|
+ tWarehouseMapper.updateTWarehouse(warehouseSubmitDTO);
|
|
|
+ AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
|
|
|
+ Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
|
|
|
+ if (code.equals(500L)) {
|
|
|
+ throw new RuntimeException("请核失败");
|
|
|
+ }
|
|
|
+ return approvalFlow;
|
|
|
+ } else {
|
|
|
+ TWarehouse warehouseSubmitDTO = new TWarehouse();
|
|
|
+ warehouseSubmitDTO.setfId(tWarehouse.getfId());
|
|
|
+ warehouseSubmitDTO.setApprovalStatus("审核通过");
|
|
|
+ tWarehouseMapper.updateTWarehouse(warehouseSubmitDTO);
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult revoke(TWarehouse tWarehouse, LoginUser loginUser) {
|
|
|
+ // 根据业务 id (仓储费 id) 删除对应审批流数据
|
|
|
+ AuditItemsAbout.deleteAuditItemsData(tWarehouse.getfId());
|
|
|
+ TWarehouse warehouseSubmitDTO = new TWarehouse();
|
|
|
+ warehouseSubmitDTO.setfId(tWarehouse.getfId());
|
|
|
+ warehouseSubmitDTO.setApprovalStatus("录入");
|
|
|
+ tWarehouseMapper.updateTWarehouse(warehouseSubmitDTO);
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public String checkUFNoUnique(TWarehouse tWarehouse) {
|
|
|
TWarehouse tWarehouse1 = tWarehouseMapper.checkFNoUnique(tWarehouse.getfNo());
|
|
|
if (StringUtils.isNotNull(tWarehouse1) && !tWarehouse1.getfId().equals(tWarehouse.getfId())) {
|