|
@@ -3,6 +3,7 @@ package com.tld.service.impl;
|
|
|
import com.tld.mapper.AskGoodsMapper;
|
|
|
import com.tld.mapper.DeliveryMapper;
|
|
|
import com.tld.mapper.DictionaryMapper;
|
|
|
+import com.tld.mapper.WarehousingMapper;
|
|
|
import com.tld.model.*;
|
|
|
import com.tld.service.DeliveryService;
|
|
|
import org.redisson.api.RLock;
|
|
@@ -28,6 +29,9 @@ public class DeliveryServiceImpl implements DeliveryService {
|
|
|
//删除日志表
|
|
|
@Autowired
|
|
|
private DictionaryMapper dictionaryMapper;
|
|
|
+ //入库
|
|
|
+ @Autowired
|
|
|
+ private WarehousingMapper warehousingMapper;
|
|
|
|
|
|
@Override
|
|
|
public Map<String, Object> getDelivery(Delivery delivery) {
|
|
@@ -126,6 +130,8 @@ public class DeliveryServiceImpl implements DeliveryService {
|
|
|
try{
|
|
|
String removalCode = codeGenerateCk();
|
|
|
for(AskGoods askGoods : askGoodsMapper.getAskGoodsVitrual(uniqueCode, type)){
|
|
|
+ askGoods.setStorageCode(removalCode);
|
|
|
+ askGoods.setCompanyNumber(askGoods.getAccountSleeve());
|
|
|
Inventory inventory = deliveryMapper.getInventoryHalf(askGoods);
|
|
|
//如果出库库存等于虚拟表库存则删除此库存
|
|
|
if(Integer.parseInt(askGoods.getNum()) == Integer.parseInt(inventory.getAmount())){
|
|
@@ -134,25 +140,31 @@ public class DeliveryServiceImpl implements DeliveryService {
|
|
|
inventory.setAmount(askGoods.getNum());
|
|
|
askGoodsMapper.updateInventory(inventory);
|
|
|
}
|
|
|
- String materialId = askGoodsMapper.getMaterialId(askGoods.getWllbCode());//查询物料id
|
|
|
- deliveryMapper.updateDelivery(materialId, askGoods.getNum(), deliveryId); //修改销售单出库数量
|
|
|
+ //判断物料是否录入
|
|
|
+ MaterialClass materialClass = warehousingMapper.getMateriaIsExist(askGoods.getWllbCode());
|
|
|
+ deliveryMapper.updateDelivery(materialClass.getTldId(), askGoods.getNum(), deliveryId); //修改销售单出库数量
|
|
|
//查询销售单部分信息
|
|
|
- Delivery delivery = new Delivery().setDeliveryId(deliveryId).setMaterialId(materialId);
|
|
|
+ Delivery delivery = new Delivery().setDeliveryId(deliveryId).setMaterialId(materialClass.getTldId());
|
|
|
List<Delivery> list = deliveryMapper.getDelivery(delivery);
|
|
|
- //产成品销售流水
|
|
|
- Delivery delivery1 = new Delivery()
|
|
|
- .setMaterialCode(askGoods.getWllbCode()) //物料code
|
|
|
- .setOutNum(askGoods.getNum()) //出库数量
|
|
|
- .setUserId(askGoods.getUserId()) //用户id
|
|
|
- .setDeliveryId(deliveryId) //销售单id
|
|
|
- .setCompanyNumber(list.get(0).getCompanyNumber()) //公司编号
|
|
|
- .setCustomerCode(list.get(0).getCustomerCode())//客户编号
|
|
|
- .setStorageCode(removalCode) //出库流水
|
|
|
- .setWbs(list.get(0).getWbs());// wbs
|
|
|
- deliveryMapper.addRemovalHalf(delivery1); //流水录入
|
|
|
+ if(materialClass.getPartType().equals("产成品")){
|
|
|
+ //产成品销售流水
|
|
|
+ Delivery delivery1 = new Delivery()
|
|
|
+ .setMaterialCode(askGoods.getWllbCode()) //物料code
|
|
|
+ .setOutNum(askGoods.getNum()) //出库数量
|
|
|
+ .setUserId(askGoods.getUserId()) //用户id
|
|
|
+ .setDeliveryId(deliveryId) //销售单id
|
|
|
+ .setCompanyNumber(list.get(0).getCompanyNumber()) //公司编号
|
|
|
+ .setCustomerCode(list.get(0).getCustomerCode())//客户编号
|
|
|
+ .setStorageCode(removalCode) //出库流水
|
|
|
+ .setWbs(list.get(0).getWbs());// wbs
|
|
|
+ deliveryMapper.addRemovalHalf(delivery1); //流水录入
|
|
|
+ } else if(materialClass.getPartType().equals("原材料")){
|
|
|
+ askGoods.setType("销售出库");
|
|
|
+ askGoodsMapper.addRemoval(askGoods);//插入出库流水
|
|
|
+ }
|
|
|
askGoodsMapper.deleteVirtual(askGoods.getId());//删除已出虚拟表库存
|
|
|
ReturRemoval returRemoval = new ReturRemoval()
|
|
|
- .setMaterialId(materialId)
|
|
|
+ .setMaterialId(materialClass.getTldId())
|
|
|
.setDocumentId(deliveryId)
|
|
|
.setWbs(list.get(0).getWbs())
|
|
|
.setNum(askGoods.getNum())
|