|
@@ -37,6 +37,7 @@ import com.fjhx.common.service.contract.ContractTemplateService;
|
|
|
import com.fjhx.common.service.corporation.CorporationService;
|
|
|
import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
|
+import com.fjhx.common.utils.excel.util.ExcelUtil;
|
|
|
import com.fjhx.customer.entity.customer.dto.CustomerDto;
|
|
|
import com.fjhx.customer.entity.customer.po.Customer;
|
|
|
import com.fjhx.customer.service.customer.CustomerService;
|
|
@@ -59,6 +60,7 @@ import com.fjhx.purchase.entity.subscribe.po.SubscribeDetail;
|
|
|
import com.fjhx.purchase.mapper.subscribe.SubscribeDetailMapper;
|
|
|
import com.fjhx.purchase.service.pay.PayDetailService;
|
|
|
import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
|
|
|
+import com.fjhx.sale.entity.contract.ContractExcelBo;
|
|
|
import com.fjhx.sale.entity.contract.bo.ContractCurrencyRate;
|
|
|
import com.fjhx.sale.entity.contract.bo.ContractDocumentaryBo;
|
|
|
import com.fjhx.sale.entity.contract.dto.*;
|
|
@@ -114,6 +116,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
@@ -315,7 +318,9 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
public Page<ContractVo> getPage(ContractSelectDto dto) {
|
|
|
IWrapper<Contract> wrapper = getWrapper();
|
|
|
setContractParam(dto, wrapper);
|
|
|
- return pageCommon(dto, wrapper);
|
|
|
+ Page<ContractVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ setPageInfo(page.getRecords());
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -443,17 +448,15 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
@Override
|
|
|
public Page<ContractVo> getPage1(ContractSelectDto dto) {
|
|
|
IWrapper<Contract> wrapper = getWrapper();
|
|
|
- return pageCommon(dto, wrapper);
|
|
|
+ Page<ContractVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ setPageInfo(page.getRecords());
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 分页公共代码抽取
|
|
|
- */
|
|
|
- private Page<ContractVo> pageCommon(ContractSelectDto dto, IWrapper<Contract> wrapper) {
|
|
|
- Page<ContractVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
- List<ContractVo> list = page.getRecords();
|
|
|
+
|
|
|
+ private void setPageInfo(List<ContractVo> list) {
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
- return page;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
//赋值创建人名称
|
|
@@ -591,7 +594,6 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
contractVo.setContractOutboundInfoList(coiMap.getOrDefault(contractVo.getId(), new ArrayList<>()));
|
|
|
}
|
|
|
}
|
|
|
- return page;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2202,7 +2204,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
}, threadPoolExecutor);
|
|
|
|
|
|
// 赋值合同基本信息
|
|
|
- setInfo(contractPdfInfoVo, contract);
|
|
|
+ setPageInfo(contractPdfInfoVo, contract);
|
|
|
|
|
|
CompletableFuture.allOf(
|
|
|
setBuyCorporationFuture,
|
|
@@ -2322,7 +2324,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
/**
|
|
|
* 赋值合同基本信息
|
|
|
*/
|
|
|
- private void setInfo(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
+ private void setPageInfo(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
contractPdfInfoVo.setContractCode(contract.getCode());
|
|
|
// contractPdfInfoVo.setCreateTimeEn(sdf.format(contract.getCreateTime()));
|
|
|
contractPdfInfoVo.setCreateTime(contract.getCreateTime());
|
|
@@ -3309,4 +3311,48 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
ObsFileUtil.editFile(dto.getContractFileList(), dto.getId(), 10);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void excelExport(HttpServletResponse httpServletResponse, ContractSelectDto dto) {
|
|
|
+ IWrapper<Contract> wrapper = getWrapper();
|
|
|
+ setContractParam(dto, wrapper);
|
|
|
+ List<ContractVo> list = baseMapper.getList(wrapper);
|
|
|
+ setPageInfo(list);
|
|
|
+
|
|
|
+ Map<Integer, String> flowStatusMap = FlowStatusEnum1.getMap();
|
|
|
+
|
|
|
+ Map<String, Map<String, String>> allDictKVMap = DictUtils.getAllDictKVMap();
|
|
|
+
|
|
|
+ List<ContractExcelBo> contractExcelBos = new ArrayList<>();
|
|
|
+ for (ContractVo contractVo : list) {
|
|
|
+ ContractExcelBo bo = BeanUtil.copyProperties(contractVo, ContractExcelBo.class);
|
|
|
+ //审批状态
|
|
|
+ bo.setStatus("75".equals(bo.getStatus()) ? "已发货" : flowStatusMap.get(contractVo.getStatus()));
|
|
|
+
|
|
|
+ bo.setContractType("1".equals(bo.getContractType()) ? "外销订单" : "2".equals(bo.getContractType()) ? "内销订单" : "3".equals(bo.getContractType()) ? "打样订单" : "外贸订单(退税)");
|
|
|
+ bo.setProcessingMethod("10".equals(bo.getProcessingMethod()) ? "业务自采" : "生产处理");
|
|
|
+ bo.setBelongType("1".equals(bo.getBelongType()) ? "归属工厂" : "归属业务");
|
|
|
+
|
|
|
+ String prodTag = bo.getProdTag();
|
|
|
+ if (ObjectUtil.isNotEmpty(prodTag)) {
|
|
|
+ StringJoiner sj = new StringJoiner(",");
|
|
|
+ String[] split = prodTag.split(",");
|
|
|
+ for (String s : split) {
|
|
|
+ sj.add(allDictKVMap.get("contract_prod_tag").get(s));
|
|
|
+ }
|
|
|
+ bo.setProdTag(sj.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ bo.setIsSettled("1".equals(bo.getIsSettled()) ? "已结清" : "未结清");
|
|
|
+ bo.setAdvanceRatio(bo.getAdvanceRatio() + "%");
|
|
|
+ bo.setBeforeShipmentRatio(bo.getBeforeShipmentRatio() + "%");
|
|
|
+ bo.setAfterShipmentRatio(bo.getAfterShipmentRatio() + "%");
|
|
|
+ bo.setAmount(String.format("%s %s", contractVo.getCurrency(), contractVo.getAmount()));
|
|
|
+
|
|
|
+
|
|
|
+ contractExcelBos.add(bo);
|
|
|
+ }
|
|
|
+
|
|
|
+ ExcelUtil.export(httpServletResponse, contractExcelBos, ContractExcelBo.class);
|
|
|
+ }
|
|
|
+
|
|
|
}
|