|
@@ -12,10 +12,12 @@ import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.exception.JeecgBootException;
|
|
|
import org.jeecg.common.system.vo.DictModel;
|
|
|
import org.jeecg.common.util.RedisUtil;
|
|
|
+import org.jeecg.common.util.UUIDGenerator;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.config.InterfaceConnUtils;
|
|
|
import org.jeecg.modules.documents.letterDeposit.entity.SyLetterDeposit;
|
|
|
import org.jeecg.modules.documents.shippingDetails.entity.SyShippingDetailsItem;
|
|
|
+import org.jeecg.modules.documents.shippingDetails.entity.VO.RespUpdateVO;
|
|
|
import org.jeecg.modules.documents.syShippingOrder.entity.SyShippingOrderItem;
|
|
|
import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderItemMapper;
|
|
|
import org.jeecg.modules.documents.syShippingOrder.mapper.SyShippingOrderMapper;
|
|
@@ -38,12 +40,14 @@ import org.jeecg.modules.splt.service.ISyPackingListTailoringService;
|
|
|
import org.jeecg.modules.splt.vo.SyPackingListTailoringVo;
|
|
|
import org.jeecg.modules.system.service.impl.SysDictServiceImpl;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import java.io.FileWriter;
|
|
|
import java.io.Serializable;
|
|
|
import java.math.BigDecimal;
|
|
@@ -1187,7 +1191,7 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
return strs;
|
|
|
}
|
|
|
|
|
|
- @Autowired
|
|
|
+ @Resource
|
|
|
private PurchaseWarehousingMapper purchaseWarehousingMapper;
|
|
|
|
|
|
@DS("multi-one")
|
|
@@ -2793,4 +2797,105 @@ public class SyPackingListTailoringServiceImpl extends ServiceImpl<SyPackingList
|
|
|
}
|
|
|
return ids;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public RespUpdateVO saveSrmBill(SyPackingListTailoring syPackingListTailoring){
|
|
|
+ RespUpdateVO respUpdateVO = new RespUpdateVO();
|
|
|
+ respUpdateVO.setSuccess(false);
|
|
|
+ respUpdateVO.setExtraInfo("");
|
|
|
+ try {
|
|
|
+ List<SyPackingListTailoringItem> items = syPackingListTailoring.getSyPackingListTailoringItemList();
|
|
|
+
|
|
|
+ syPackingListTailoring.setDelFlag("0");
|
|
|
+ syPackingListTailoring.setPushState("0");
|
|
|
+ syPackingListTailoring.setStatus("0");
|
|
|
+ syPackingListTailoring.setDocumentNo(randomStr());
|
|
|
+ syPackingListTailoringMapper.insert(syPackingListTailoring);
|
|
|
+ UpdateWrapper updateWrapper = new UpdateWrapper();
|
|
|
+ updateWrapper.set("is_Reference", "2");
|
|
|
+ updateWrapper.eq("id", syPackingListTailoring.getSyPreAssembledPackingListId());
|
|
|
+ syPreAssembledPackingListMapper.update(null, updateWrapper);
|
|
|
+ SyPreAssembledPackingList syPreAssembledPackingList = syPreAssembledPackingListMapper.selectById(syPackingListTailoring.getSyPreAssembledPackingListId());
|
|
|
+ if (syPreAssembledPackingList != null && syPreAssembledPackingList.getSyOrderDataId() != null) {
|
|
|
+ syPackingListTailoring.setSyOrderDataId(syPackingListTailoring.getSyOrderDataId());
|
|
|
+
|
|
|
+ }
|
|
|
+ if (syPackingListTailoring.getSyPackingListTailoringItemList() != null) {
|
|
|
+ syPackingListTailoring.setTotalBoxes(new BigDecimal("0"));
|
|
|
+ syPackingListTailoring.setTotal(new BigDecimal("0"));
|
|
|
+ syPackingListTailoring.setTotalGrossWeight(new BigDecimal("0"));
|
|
|
+ syPackingListTailoring.setTotalNetWeight(new BigDecimal("0"));
|
|
|
+ syPackingListTailoring.setTotalPrice(new BigDecimal("0"));
|
|
|
+ syPackingListTailoring.setTotalVolume(new BigDecimal("0"));
|
|
|
+ for (SyPackingListTailoringItem item : items) {
|
|
|
+ List<SizeTable> sizes = item.getSizeTables();
|
|
|
+ item.setSyPackingListTailoringId(syPackingListTailoring.getId());
|
|
|
+ item.setElementsId(syPackingListTailoring.getElementsId());
|
|
|
+ syPackingListTailoring.setTotalBoxes(syPackingListTailoring.getTotalBoxes().add(item.getBoxNumber()));
|
|
|
+ syPackingListTailoring.setTotal(syPackingListTailoring.getTotal().add(item.getTotal()));
|
|
|
+ syPackingListTailoring.setTotalGrossWeight(syPackingListTailoring.getTotalGrossWeight().add(item.getTotalGrossWeight()));
|
|
|
+ syPackingListTailoring.setTotalNetWeight(syPackingListTailoring.getTotalNetWeight().add(item.getTotalNetWeight()));
|
|
|
+ syPackingListTailoring.setTotalPrice(syPackingListTailoring.getTotalPrice().add(item.getTotalPrice()));
|
|
|
+ syPackingListTailoring.setTotalVolume(syPackingListTailoring.getTotalVolume().add(item.getTotalVolume()));
|
|
|
+ BigDecimal boxNumber1 = item.getBoxNumber();
|
|
|
+ item.setGroupId(oConvertUtils.id());
|
|
|
+ item.setDelFlag("0");
|
|
|
+ for (SizeTable size : sizes) {
|
|
|
+ if (size.getProportion() == null) {
|
|
|
+ size.setProportion(0);
|
|
|
+ }
|
|
|
+ SyPackingListTailoringItem item1 = new SyPackingListTailoringItem();
|
|
|
+ BeanUtils.copyProperties(item, item1);
|
|
|
+ item1.setSize(size.getSize());
|
|
|
+ BigDecimal boxNumber = boxNumber1.multiply(new BigDecimal(size.getProportion()));
|
|
|
+ item1.setTotal(boxNumber);
|
|
|
+
|
|
|
+ item1.setActualPackingQty(boxNumber);
|
|
|
+ item1.setPlanQuantity(size.getQuantity());
|
|
|
+ item1.setSize(size.getSize());
|
|
|
+ item1.setTotalPrice(boxNumber.multiply(item1.getUnitPrice()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ item1.setSyPreAssembledPackingListItemId(size.getItemId());
|
|
|
+ item1.setSort(size.getNum());
|
|
|
+ item1.setId(oConvertUtils.id());
|
|
|
+ SyPreAssembledPackingListItem syPreItem = syPreAssembledPackingListItemMapper.selectById(item1.getSyPreAssembledPackingListItemId());
|
|
|
+
|
|
|
+
|
|
|
+ item1.setSalesman(syPreItem.getSalesman());
|
|
|
+ if (item1.getFactoryUnitPrice() != null) {
|
|
|
+ item1.setFactoryUnitPrice(syPreItem.getFactoryUnitPrice());
|
|
|
+ }
|
|
|
+ item1.setPackId(syPreItem.getPackId());
|
|
|
+ item1.setCustomsDeclarationUnitPrice(syPreItem.getCustomsDeclarationUnitPrice());
|
|
|
+ item1.setSalesDepartment(syPreItem.getSalesDepartment());
|
|
|
+ item1.setSyOrderDataId(syPreItem.getSyOrderDataId());
|
|
|
+ item1.setSyOrderDataItemId(syPreItem.getSyOrderDataItemId());
|
|
|
+ item1.setOrderNumber(syPreItem.getOrderNumber());
|
|
|
+ item1.setSpurOrSubOrder(syPreItem.getSpurOrSubOrder());
|
|
|
+ item1.setOmpoId(syPreItem.getOmpoId());
|
|
|
+ item1.setMasterMetering(item1.getMasterMetering());
|
|
|
+ item1.setOmpoIdItem(syPreItem.getOmpoIdItem());
|
|
|
+ item1.setOmpoAccount(syPreItem.getOmpoAccount());
|
|
|
+ item1.setSupplier(syPreItem.getSupplier());
|
|
|
+ item1.setSupplierCode(syPreItem.getSupplierCode());
|
|
|
+ if (size.getProportion() == 0) {
|
|
|
+ item1.setTotal(null);
|
|
|
+ }
|
|
|
+ syPreAssembledPackingListItemMapper.updateById(syPreItem);
|
|
|
+ syPackingListTailoringItemMapper.insert(item1);
|
|
|
+ respUpdateVO.setExtraInfo(respUpdateVO.getExtraInfo() + size.getSrmId() + "," + item1.getId() + ";");
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ syPackingListTailoringMapper.updateById(syPackingListTailoring);
|
|
|
+ respUpdateVO.setMessage(syPreAssembledPackingList.getId());
|
|
|
+ respUpdateVO.setSuccess(true);
|
|
|
+ } else {
|
|
|
+ respUpdateVO.setMessage("子表明细不能为空");
|
|
|
+ }
|
|
|
+ }catch (Exception ex){
|
|
|
+ respUpdateVO.setMessage(ex.getMessage());
|
|
|
+ }
|
|
|
+ return respUpdateVO;
|
|
|
+ }
|
|
|
}
|