|
@@ -116,6 +116,69 @@ public class MaterialService {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 列表查询(报销使用)
|
|
|
+ */
|
|
|
+ public IPage<MaterialInfoDto> reimbursementList(Page<MaterialInfoDto> page , MaterialInfoDto dto) throws Exception{
|
|
|
+ QueryWrapper<MaterialInfoDto> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, MaterialInfoDto.class);
|
|
|
+
|
|
|
+ queryWrapper.eq("a.del_flag", "0");
|
|
|
+ queryWrapper.eq("a.create_by", UserUtils.getCurrentUserDTO().getId());
|
|
|
+ if (StringUtils.isNotEmpty(dto.getPurchaseSketch())) {
|
|
|
+ queryWrapper.like("a.purchase_sketch", dto.getPurchaseSketch());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(dto.getHandledByOffice())) {
|
|
|
+ //先根据id查出是否是父节点,是父节点则查出所有的子节点信息
|
|
|
+ List<String> childIds = basicMapper.findChildIds(dto.getHandledByOffice());
|
|
|
+ if ( null != childIds & childIds.size()>0){
|
|
|
+ childIds.add(dto.getHandledByOffice());
|
|
|
+ queryWrapper.in("a.handled_by_office",childIds);
|
|
|
+ }else {
|
|
|
+ queryWrapper.eq("a.handled_by_office", dto.getHandledByOffice());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(dto.getStatus())) {
|
|
|
+ queryWrapper.like("a.status", dto.getStatus());
|
|
|
+ }
|
|
|
+ //采购类别
|
|
|
+ if (StringUtils.isNotEmpty(dto.getProcurementType())) {
|
|
|
+ queryWrapper.like("b.procurement_type", dto.getProcurementType());
|
|
|
+ }
|
|
|
+ //经办人
|
|
|
+ if (StringUtils.isNotEmpty(dto.getHandledBy())) {
|
|
|
+ //根据经办人id查出经办人名称
|
|
|
+// String name = basicMapper.getHandledName(dto.getHandledBy());
|
|
|
+// dto.setHandledBy(name);
|
|
|
+ queryWrapper.eq("su.name", dto.getHandledBy());
|
|
|
+ }
|
|
|
+ //合同金额
|
|
|
+ //3、合同金额(区间)
|
|
|
+ String[] contractAmounts = dto.getContractAmounts();
|
|
|
+ if (contractAmounts != null) {
|
|
|
+ if (StringUtils.isNotEmpty(contractAmounts[0])) {
|
|
|
+ queryWrapper.ge("b.trade_total_price",contractAmounts[0]);
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(contractAmounts[1])) {
|
|
|
+ queryWrapper.le("b.trade_total_price", contractAmounts[1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String[] contractDates = dto.getContractDates();
|
|
|
+ if (contractDates != null) {
|
|
|
+
|
|
|
+ queryWrapper.between("a.create_date", contractDates[0], contractDates[1]);
|
|
|
+ }
|
|
|
+ IPage<MaterialInfoDto> list = basicMapper.findList(page, queryWrapper);
|
|
|
+ list.getRecords().stream().forEach(item -> {
|
|
|
+ // 采购申请
|
|
|
+ if (StringUtils.isNotBlank(item.getTaskId()) && StringUtils.isNotBlank(item.getStatus())) {
|
|
|
+ if ("2".equals(item.getStatus())) { // “审核中”的数据要获取数据审核人
|
|
|
+ item.setAuditUserIds(flowTaskService.getTaskAuditUsers(item.getTaskId())); // 获取数据审核人
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
public String save(MaterialInfoDto dto) throws Exception{
|
|
|
// 获取当前登录人信息
|
|
|
UserDTO userDTO = UserUtils.getCurrentUserDTO();
|