add:订单新增生产数量等字段;
fix:修复相同订单号相同品目相同交期合并订单无订单号时的bug。
This commit is contained in:
@@ -261,4 +261,19 @@ public class MpsSaleOrder implements Serializable{
|
||||
*/
|
||||
@ApiModelProperty(value = "/**后段提交标记*/")
|
||||
private String behind_submit_flag;
|
||||
/**
|
||||
* 需生产数量
|
||||
*/
|
||||
@ApiModelProperty(value = "/**需生产数量*/")
|
||||
private BigDecimal need_product_qty;
|
||||
/**
|
||||
* 刻字数量
|
||||
*/
|
||||
@ApiModelProperty(value = "/**刻字数量*/")
|
||||
private BigDecimal lettering_qty;
|
||||
/**
|
||||
* 刻字数量
|
||||
*/
|
||||
@ApiModelProperty(value = "/**入库数量*/")
|
||||
private BigDecimal in_storage_qty;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
DATE_FORMAT(der.behind_plandeliver_date, '%Y-%m-%d' ) AS behindPlandeliverDate,
|
||||
DATE_FORMAT(der.create_time, '%Y-%m-%d %H:%i:%s' ) AS createTime,
|
||||
DATE_FORMAT(der.aps_update_time, '%Y-%m-%d %H:%i:%s' ) AS apsUpdateTime,
|
||||
DATE_FORMAT(DATE_ADD(der.plandeliver_date, INTERVAL 7 DAY), '%Y-%m-%d') AS order_date,
|
||||
DATE_FORMAT(DATE_ADD(der.plandeliver_date, INTERVAL 3 DAY), '%Y-%m-%d') AS warehousing_date,
|
||||
mater.material_name
|
||||
FROM
|
||||
mps_sale_order der
|
||||
@@ -22,13 +24,13 @@
|
||||
and der.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.sale_type != null">
|
||||
and der.sale_type >= #{query.sale_type}
|
||||
and der.sale_type = #{query.sale_type}
|
||||
</if>
|
||||
<if test="query.create_mode != null">
|
||||
and der.create_mode >= #{query.create_mode}
|
||||
and der.create_mode = #{query.create_mode}
|
||||
</if>
|
||||
<if test="query.cust_code != null">
|
||||
and der.cust_code >= #{query.cust_code}
|
||||
and der.cust_code = #{query.cust_code}
|
||||
</if>
|
||||
<if test="query.start_time != null and query.start_time != ''">
|
||||
and der.create_time >= #{query.start_time}
|
||||
|
||||
@@ -160,6 +160,9 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl<MpsSaleOrderMapper,MpsS
|
||||
@Override
|
||||
public void update(JSONObject form) {
|
||||
MpsSaleOrder mpsSaleOrder = form.toJavaObject(MpsSaleOrder.class);
|
||||
mpsSaleOrder.setUpdate_id(SecurityUtils.getCurrentUserId());
|
||||
mpsSaleOrder.setUpdate_name(SecurityUtils.getCurrentUsername());
|
||||
mpsSaleOrder.setUpdate_time(DateUtil.now());
|
||||
this.updateById(mpsSaleOrder);
|
||||
}
|
||||
|
||||
@@ -226,20 +229,33 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl<MpsSaleOrderMapper,MpsS
|
||||
if(StringUtils.isBlank(col)) {
|
||||
throw new BadRequestException("销售单号不能为空");
|
||||
}
|
||||
if(col.equals("660697961")) {
|
||||
int is = 0;
|
||||
}
|
||||
mpsSaleOrder.setSale_code(col);
|
||||
}
|
||||
if(j == 1) {
|
||||
if(StringUtils.isBlank(col)) {
|
||||
throw new BadRequestException("合同号不能为空");
|
||||
}
|
||||
// if(StringUtils.isBlank(col)) {
|
||||
// throw new BadRequestException("合同号不能为空");
|
||||
// }
|
||||
mpsSaleOrder.setContract_code(col);
|
||||
}
|
||||
if(j == 2) {
|
||||
mpsSaleOrder.setMaterial_code(col);
|
||||
}
|
||||
if(j == 3) {
|
||||
if(StringUtils.isBlank(col)) {
|
||||
throw new BadRequestException("规格名称不能为空");
|
||||
}
|
||||
List<MdMeMaterialbase> meMaterialBases = materialbaseService.list(new QueryWrapper<MdMeMaterialbase>().eq("material_spec", col));
|
||||
List<MdMeMaterialbase> meMaterialBases;
|
||||
if(StringUtils.isNotBlank(mpsSaleOrder.getMaterial_code())) {
|
||||
meMaterialBases = materialbaseService.list(new QueryWrapper<MdMeMaterialbase>().eq("material_code", mpsSaleOrder.getMaterial_code()));
|
||||
}
|
||||
else{
|
||||
meMaterialBases = materialbaseService.list(new QueryWrapper<MdMeMaterialbase>().eq("material_spec", col));
|
||||
}
|
||||
if(CollectionUtils.isEmpty(meMaterialBases)) {
|
||||
//如果不是一线物料,就跳过不导入该订单
|
||||
break;
|
||||
}
|
||||
else{
|
||||
@@ -258,14 +274,14 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl<MpsSaleOrderMapper,MpsS
|
||||
}
|
||||
}
|
||||
}
|
||||
if(j == 3) {
|
||||
if(j == 4) {
|
||||
if(StringUtils.isBlank(col)) {
|
||||
mpsSaleOrder.setProduct_area("A1");
|
||||
}
|
||||
//智能一线,智能三线
|
||||
mpsSaleOrder.setProduct_area(col.contains("三") || col.contains("3") ? "A3" : "A1");
|
||||
}
|
||||
if(j == 4) {
|
||||
if(j == 5) {
|
||||
if(StringUtils.isBlank(col)) {
|
||||
throw new BadRequestException("销售数量不能为空");
|
||||
}
|
||||
@@ -283,7 +299,7 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl<MpsSaleOrderMapper,MpsS
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(j == 5) {
|
||||
if(j == 6) {
|
||||
if(StringUtils.isBlank(col)) {
|
||||
throw new BadRequestException("订单交期不能为空");
|
||||
}
|
||||
@@ -307,27 +323,30 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl<MpsSaleOrderMapper,MpsS
|
||||
//后段交期
|
||||
mpsSaleOrder.setBehind_plandeliver_date(newDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
if(j == 6) {
|
||||
if(j == 7) {
|
||||
if(StringUtils.isNotBlank(col)) {
|
||||
mpsSaleOrder.setRawmaterial_name(col);
|
||||
}
|
||||
}
|
||||
if(j == 7) {
|
||||
if(j == 8) {
|
||||
if(StringUtils.isNotBlank(col)) {
|
||||
BigDecimal rateQty = BigDecimal.valueOf(NumberUtils.isNumber(col) ? NumberUtils.toDouble(col) : 0);
|
||||
mpsSaleOrder.setRate_qty(rateQty);
|
||||
}
|
||||
}
|
||||
if(j == 8) {
|
||||
if(j == 9) {
|
||||
if(StringUtils.isNotBlank(col)) {
|
||||
BigDecimal canuseQty = BigDecimal.valueOf(NumberUtils.isNumber(col) ? NumberUtils.toDouble(col) : 0);
|
||||
mpsSaleOrder.setCanuse_qty(canuseQty);
|
||||
}
|
||||
}
|
||||
if(j == 9) {
|
||||
if(j == 10) {
|
||||
//已完成数量
|
||||
if(StringUtils.isNotBlank(col)) {
|
||||
BigDecimal productQty = BigDecimal.valueOf(NumberUtils.isNumber(col) ? NumberUtils.toDouble(col) : 0);
|
||||
mpsSaleOrder.setProduct_qty(productQty);
|
||||
//需生产数量
|
||||
mpsSaleOrder.setNeed_product_qty(mpsSaleOrder.getSale_qty().subtract(productQty));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -337,24 +356,24 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl<MpsSaleOrderMapper,MpsS
|
||||
int seqNo = orderSeqNoMap.getOrDefault(orderCode, 0) + 1;
|
||||
orderSeqNoMap.put(orderCode, seqNo);
|
||||
mpsSaleOrder.setSeq_no(seqNo * 100);
|
||||
}
|
||||
OrderQuery orderQuery = new OrderQuery();
|
||||
orderQuery.setSale_code(mpsSaleOrder.getSale_code());
|
||||
orderQuery.setStatus(SaleOrderEnum.CREATE.getCode());
|
||||
List<Map> salesOrders = baseMapper.queryAll(orderQuery);
|
||||
//相同订单号
|
||||
if(salesOrders.size() > 0) {
|
||||
List<Map> salesOrderList = salesOrders.stream().filter(m -> mpsSaleOrder.getSale_code().equals(m.get("sale_code")) && mpsSaleOrder.getMaterial_code().equals(m.get("material_code"))).collect(Collectors.toList());
|
||||
if(salesOrderList.size() > 0) {
|
||||
continue;
|
||||
}
|
||||
else{
|
||||
Map maxSeqNoOrder = salesOrders.stream().max(Comparator.comparingInt(m -> (int) m.get("seq_no"))).orElse(null);
|
||||
int maxSeqNoValue = (int) maxSeqNoOrder.get("seq_no");
|
||||
mpsSaleOrder.setSeq_no(maxSeqNoValue + 100);
|
||||
OrderQuery orderQuery = new OrderQuery();
|
||||
orderQuery.setSale_code(mpsSaleOrder.getSale_code());
|
||||
orderQuery.setStatus(SaleOrderEnum.CREATE.getCode());
|
||||
List<Map> salesOrders = baseMapper.queryAll(orderQuery);
|
||||
//相同订单号
|
||||
if(salesOrders.size() > 0) {
|
||||
List<Map> salesOrderList = salesOrders.stream().filter(m -> mpsSaleOrder.getSale_code().equals(m.get("sale_code")) && mpsSaleOrder.getMaterial_code().equals(m.get("material_code"))).collect(Collectors.toList());
|
||||
if(salesOrderList.size() > 0) {
|
||||
continue;
|
||||
}
|
||||
else{
|
||||
Map maxSeqNoOrder = salesOrders.stream().max(Comparator.comparingInt(m -> (int) m.get("seq_no"))).orElse(null);
|
||||
int maxSeqNoValue = (int) maxSeqNoOrder.get("seq_no");
|
||||
mpsSaleOrder.setSeq_no(maxSeqNoValue + 100);
|
||||
}
|
||||
}
|
||||
mpsSaleOrder.setAps_sale_code(mpsSaleOrder.getSale_code() + "-" + mpsSaleOrder.getSeq_no());
|
||||
}
|
||||
mpsSaleOrder.setAps_sale_code(mpsSaleOrder.getSale_code() + "-" + mpsSaleOrder.getSeq_no());
|
||||
if(CollectionUtils.isEmpty(errorMap)) {
|
||||
if(mpsSaleOrder.getSale_code() != null) {
|
||||
data.add(mpsSaleOrder);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,15 +1,10 @@
|
||||
package org.nl.wms.pcs_manage.service.purchase.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user