Merge remote-tracking branch 'origin/master'

master
胡川虎 2 months ago
commit 0685a2bfc5

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

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

Loading…
Cancel
Save