1.修改复制单据功能逻辑

master
x_z 3 years ago
parent 7866176a6d
commit 73b9a98a47

@ -22,7 +22,10 @@ import com.glxp.sale.admin.res.inout.ErpOrderResponse;
import com.glxp.sale.admin.res.inout.StockOrderResponse; import com.glxp.sale.admin.res.inout.StockOrderResponse;
import com.glxp.sale.admin.service.auth.AuthAdminService; import com.glxp.sale.admin.service.auth.AuthAdminService;
import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.auth.CustomerService;
import com.glxp.sale.admin.service.basic.*; import com.glxp.sale.admin.service.basic.BasicUnitMaintainService;
import com.glxp.sale.admin.service.basic.BussinessLocalTypeService;
import com.glxp.sale.admin.service.basic.BussinessTypeService;
import com.glxp.sale.admin.service.basic.UdiRelevanceService;
import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.info.CompanyService;
import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.inout.*;
import com.glxp.sale.admin.service.inventory.InvStockPrintService; import com.glxp.sale.admin.service.inventory.InvStockPrintService;
@ -388,6 +391,8 @@ public class StockOrderController {
StockOrderEntity stockOrderEntity = stockOrderService.findById(addStockOrderChangeRequest.getStockOrderId()); StockOrderEntity stockOrderEntity = stockOrderService.findById(addStockOrderChangeRequest.getStockOrderId());
OrderEntity originOrder = orderService.findById(stockOrderEntity.getOrderIdFk()); OrderEntity originOrder = orderService.findById(stockOrderEntity.getOrderIdFk());
String oldOrderId = originOrder.getId();
String replicateNo = originOrder.getReplicateNo(); //复制单号
List<WarehouseEntity> originCodes = codesService.findByReceiptId(originOrder.getId()); List<WarehouseEntity> originCodes = codesService.findByReceiptId(originOrder.getId());
originOrder.setActDate(DateUtil.formatDate(new Date())); originOrder.setActDate(DateUtil.formatDate(new Date()));
originOrder.setFromCorp(addStockOrderChangeRequest.getFromCorp()); originOrder.setFromCorp(addStockOrderChangeRequest.getFromCorp());
@ -399,33 +404,49 @@ public class StockOrderController {
originOrder.setContrastStatus(0);//设置erp校验状态为未校验 originOrder.setContrastStatus(0);//设置erp校验状态为未校验
originOrder.setReceiveStatus(0); //设置验收状态为未验收 originOrder.setReceiveStatus(0); //设置验收状态为未验收
originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
originOrder.setErpFk(null);//关联业务单据置空
originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode()); originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode());
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction()); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
String supplementOrderNo = orderNo; String supplementOrderNo = orderNo;
if (StrUtil.isBlank(replicateNo)) {
replicateNo = supplementOrderNo; //此单据第一条复制单号
} else {
replicateNo = replicateNo + "," + supplementOrderNo; //复制单号拼接上新的单号
}
originOrder.setId(supplementOrderNo); originOrder.setId(supplementOrderNo);
originOrder.setReplicateNo(null); //新单据的复制单号置空
List<WarehouseEntity> supplementCodes = new ArrayList<>(); List<WarehouseEntity> supplementCodes = new ArrayList<>();
List<WarehouseEntity> products = addStockOrderChangeRequest.getProducts();
originCodes.forEach( originCodes.forEach(
code -> { code -> {
WarehouseEntity supplementCode = new WarehouseEntity(); //复制选中的产品
BeanUtil.copyProperties(code, supplementCode); for (WarehouseEntity product : products) {
supplementCode.setFromCorpId(originOrder.getFromCorpId()); if (product.getRelId().equals(code.getRelId())) {
supplementCode.setFromCorp(originOrder.getFromCorp()); if ((StrUtil.isNotBlank(product.getBatchNo()) && StrUtil.isNotBlank(code.getBatchNo()) && product.getBatchNo().equals(code.getBatchNo()))
supplementCode.setLocStorageCode(originOrder.getLocStorageCode()); || (StrUtil.isBlank(product.getBatchNo()) && StrUtil.isBlank(code.getBatchNo()))) {
supplementCode.setOrderId(supplementOrderNo); WarehouseEntity supplementCode = new WarehouseEntity();
//查询补单设置 BeanUtil.copyProperties(code, supplementCode);
supplementCode.setAction(originOrder.getAction()); supplementCode.setFromCorpId(originOrder.getFromCorpId());
supplementCode.setMainAction(originOrder.getMainAction()); supplementCode.setFromCorp(originOrder.getFromCorp());
supplementCode.setId(null); supplementCode.setLocStorageCode(originOrder.getLocStorageCode());
supplementCodes.add(supplementCode); supplementCode.setOrderId(supplementOrderNo);
//查询补单设置
supplementCode.setAction(originOrder.getAction());
supplementCode.setMainAction(originOrder.getMainAction());
supplementCode.setId(null);
supplementCodes.add(supplementCode);
}
}
}
} }
); );
originOrder.setUpdateTime(new Date()); originOrder.setUpdateTime(new Date());
orderService.insertOrder(originOrder); orderService.insertOrder(originOrder);
codesTempService.insertCodesTemp(supplementCodes); codesTempService.insertCodesTemp(supplementCodes);
orderService.updateReplicateNo(oldOrderId, replicateNo);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }

@ -71,4 +71,13 @@ public interface OrderDao {
* @return * @return
*/ */
boolean updateOrderTime(@Param("actDate") String actDate, @Param("auditTime") String auditTime, @Param("updateTime") String updateTime, @Param("orderIds") List<String> orderIds); boolean updateOrderTime(@Param("actDate") String actDate, @Param("auditTime") String auditTime, @Param("updateTime") String updateTime, @Param("orderIds") List<String> orderIds);
/**
*
*
* @param orderId
* @param replicateNo
* @return
*/
boolean updateReplicateNo(@Param("orderId") String orderId, @Param("replicateNo") String replicateNo);
} }

@ -51,4 +51,7 @@ public class OrderEntity {
//审核时间 //审核时间
private Date auditTime; private Date auditTime;
//复制单号,多个单号之间使用英文逗号,分隔
private String replicateNo;
} }

@ -1,7 +1,10 @@
package com.glxp.sale.admin.req.inout; package com.glxp.sale.admin.req.inout;
import com.glxp.sale.admin.entity.inout.WarehouseEntity;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class AddStockOrderChangeRequest { public class AddStockOrderChangeRequest {
@ -20,5 +23,7 @@ public class AddStockOrderChangeRequest {
private String customerId; private String customerId;
private String stockOrderId; private String stockOrderId;
private List<WarehouseEntity> products;
} }

@ -104,4 +104,13 @@ public interface OrderService {
* @param orders * @param orders
*/ */
public void getAllOrder(OrderEntity orderEntity, List<OrderEntity> orders); public void getAllOrder(OrderEntity orderEntity, List<OrderEntity> orders);
/**
*
*
* @param orderId
* @param replicateNo
* @return
*/
boolean updateReplicateNo(String orderId, String replicateNo);
} }

@ -369,6 +369,22 @@ public class OrderServiceImpl implements OrderService {
getAllOrder(order, orders); getAllOrder(order, orders);
} }
} }
//复制单号
if (StrUtil.isNotBlank(orderEntity.getReplicateNo())) {
//被复制单号不为空,查询复制单据
String[] replicateNos = orderEntity.getReplicateNo().split(",");
for (String replicateNo : replicateNos) {
orderFilterRequest.setId(replicateNo);
OrderEntity order = orderDao.findOne(orderFilterRequest);
orders.add(order);
}
}
}
@Override
public boolean updateReplicateNo(String orderId, String replicateNo) {
return orderDao.updateReplicateNo(orderId, replicateNo);
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

@ -33,7 +33,7 @@
fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus, fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus,
receiveStatus, erpFk, stockCheckFk, customerId, supId, receiveStatus, erpFk, stockCheckFk, customerId, supId,
exportFilePath, locStorageCode, supplementNo, ullageSupNo, createUser, reviewUser, exportFilePath, locStorageCode, supplementNo, ullageSupNo, createUser, reviewUser,
outChangeEnable, originUllageSupNo, preCheck,updateTime) outChangeEnable, originUllageSupNo, preCheck,updateTime,replicateNo)
values (#{id}, values (#{id},
#{action}, #{action},
#{corpOrderId}, #{corpOrderId},
@ -52,7 +52,7 @@
#{erpFk}, #{erpFk},
#{stockCheckFk}, #{stockCheckFk},
#{customerId}, #{supId}, #{exportFilePath}, #{locStorageCode}, #{supplementNo}, #{customerId}, #{supId}, #{exportFilePath}, #{locStorageCode}, #{supplementNo},
#{ullageSupNo}, #{createUser}, #{reviewUser}, #{outChangeEnable}, #{originUllageSupNo}, #{preCheck},#{updateTime}) #{ullageSupNo}, #{createUser}, #{reviewUser}, #{outChangeEnable}, #{originUllageSupNo}, #{preCheck},#{updateTime}, #{replicateNo})
</insert> </insert>
@ -63,7 +63,7 @@
fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus, fromCorp, status, remark, exportStatus, fromType, contrastStatus, signStatus,
receiveStatus, erpFk, stockCheckFk, customerId, supId, receiveStatus, erpFk, stockCheckFk, customerId, supId,
exportFilePath, locStorageCode, supplementNo, ullageSupNo, createUser, reviewUser, exportFilePath, locStorageCode, supplementNo, ullageSupNo, createUser, reviewUser,
outChangeEnable, originUllageSupNo, preCheck,updateTime) outChangeEnable, originUllageSupNo, preCheck,updateTime,replicateNo)
values (#{id}, values (#{id},
#{action}, #{action},
#{corpOrderId}, #{corpOrderId},
@ -91,7 +91,9 @@
#{reviewUser}, #{reviewUser},
#{outChangeEnable}, #{outChangeEnable},
#{originUllageSupNo}, #{originUllageSupNo},
#{preCheck},#{updateTime}) #{preCheck},
#{updateTime},
#{replicateNo})
</insert> </insert>
@ -128,6 +130,7 @@
<if test="originUllageSupNo != null">originUllageSupNo=#{originUllageSupNo},</if> <if test="originUllageSupNo != null">originUllageSupNo=#{originUllageSupNo},</if>
<if test="preCheck != null">preCheck=#{preCheck},</if> <if test="preCheck != null">preCheck=#{preCheck},</if>
<if test="auditTime != null">auditTime=#{auditTime},</if> <if test="auditTime != null">auditTime=#{auditTime},</if>
<if test="replicateNo != null and replicateNo != ''">replicateNo=#{replicateNo}</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>
@ -559,4 +562,10 @@
</foreach> </foreach>
</update> </update>
<update id="updateReplicateNo">
update io_order
set replicateNo = #{replicateNo}
where id = #{orderId}
</update>
</mapper> </mapper>
Loading…
Cancel
Save