feat():采购协同;

master
jiyufei 2 months ago
parent 593fd05aae
commit 4bb8b9f678

@ -22,6 +22,7 @@ import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jnpf.database.model.superQuery.SuperJsonModel;
@ -96,8 +97,16 @@ public class YysMaterialProcurementItemServiceImpl extends ServiceImpl<YysMateri
if (ObjectUtil.isNull(entity)) {
return;
}
if (ObjectUtil.isNotEmpty(entity.getOrderQuantity())) {
entity.setOrderQuantity(entity.getOrderQuantity().add(nums));
} else {
entity.setOrderQuantity(nums);
}
if (StringUtils.isNoneBlank(entity.getOrderNos())) {
entity.setOrderNos(String.join(",", join, entity.getOrderNos()));
} else {
entity.setOrderNos(join);
}
this.updateById(entity);
}
}

@ -1,7 +1,6 @@
package jnpf.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.google.common.collect.Lists;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import jnpf.entity.*;
import jnpf.mapper.YysMaterialProcurementOrderMapper;
import jnpf.service.*;
@ -11,11 +10,7 @@ import jnpf.model.yysmaterialprocurementorder.*;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.util.GeneraterSwapUtil;
import jnpf.database.model.superQuery.SuperQueryJsonModel;
import jnpf.database.model.superQuery.ConditionJsonModel;
import jnpf.database.model.superQuery.SuperQueryConditionModel;
import java.lang.reflect.Field;
@ -24,7 +19,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.CompletableFuture;
import java.util.regex.Pattern;
import java.util.concurrent.atomic.AtomicInteger;
import jnpf.model.QueryModel;
@ -41,15 +36,12 @@ import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import java.util.*;
import jnpf.base.UserInfo;
import jnpf.permission.entity.UserEntity;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
@ -373,11 +365,13 @@ public class YysMaterialProcurementOrderServiceImpl extends ServiceImpl<YysMater
if (CollectionUtils.isEmpty(form.getOrderData())) {
return "采购单信息为空";
}
//获取当日最新编号
int num = this.getNewNum();
AtomicInteger index = new AtomicInteger(num);
String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
List<YysMaterialProcurementOrderEntity> collect = form.getOrderData().stream().map(form1 -> {
String mainId = RandomUtil.uuId();
int index = 1;
String number = String.format("%03d", index);
String number = String.format("%03d", index.getAndIncrement());
YysMaterialProcurementOrderEntity entity = new YysMaterialProcurementOrderEntity();
entity.setOrderDate(DateUtil.getNowDate());
entity.setRequestDeliveryDate(new Date(Long.parseLong(form1.getRequestDeliveryDate())));
@ -394,7 +388,6 @@ public class YysMaterialProcurementOrderServiceImpl extends ServiceImpl<YysMater
entity.setOrderNumber("PO" + currentDate + number);
entity.setCreatorTime(DateUtil.getNowDate());
entity.setCreatorUserId(userProvider.get().getUserId());
index++;
return entity;
}).collect(Collectors.toList());
boolean result = this.saveBatch(collect);
@ -410,4 +403,26 @@ public class YysMaterialProcurementOrderServiceImpl extends ServiceImpl<YysMater
}
return "生成失败";
}
private int getNewNum() {
String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
LambdaQueryWrapper<YysMaterialProcurementOrderEntity> wrapper = new LambdaQueryWrapper<>();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date todayStart = calendar.getTime();
calendar.add(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.MILLISECOND, -1);
Date todayEnd = calendar.getTime();
wrapper.between(YysMaterialProcurementOrderEntity::getOrderDate, todayStart, todayEnd);
wrapper.orderByDesc(YysMaterialProcurementOrderEntity::getOrderNumber).last("limit 0,1");
YysMaterialProcurementOrderEntity max = this.getOne(wrapper);
if (ObjectUtil.isEmpty(max)) {
return 1;
}
String number = max.getOrderNumber().replace("PO", "").replace(currentDate, "");
return Integer.parseInt(number) + 1;
}
}

@ -45,7 +45,7 @@ public class YysMaterialProcurementOrderForm {
/**
*
**/
@JsonProperty("materialID")
@JsonProperty("materialId")
private String materialId;
/**
/**

Loading…
Cancel
Save