浏览代码

2022年9月5日 17:51

wangzhuo 3 年之前
父节点
当前提交
05f96624b5

+ 17 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/office/excel/StockExcel.java

@@ -58,5 +58,22 @@ public class StockExcel implements Serializable {
 	@ExcelProperty(value = "出库")
 	private BigDecimal outQuantity;
 
+	/**
+	 * 结余
+	 */
+	@ExcelProperty(value = "结余")
+	private BigDecimal balanceQuantity;
+
+	/**
+	 * 单价
+	 */
+	@ExcelProperty(value = "单价")
+	private BigDecimal unitPrice;
+
+	/**
+	 * 金额
+	 */
+	@ExcelProperty(value = "金额")
+	private BigDecimal amount;
 
 }

+ 1 - 1
blade-service/blade-project/src/main/java/org/springblade/project/service/impl/ServiceProjectServiceImpl.java

@@ -559,7 +559,7 @@ public class ServiceProjectServiceImpl extends ServiceImpl<ServiceProjectMapper,
 			BigDecimal matMoney = ls.getMatMoney().divide(new BigDecimal(ls.getSecond()), MathContext.ENGINEERING);
 			//提成
 			if (ObjectUtils.isNotNull(ls.getCommission())) {
-				ls.setCommission(ls.getAmount().multiply(ls.getCommission().divide(new BigDecimal(100), MathContext.ENGINEERING)).divide(new BigDecimal(ls.getSecond()), MathContext.ENGINEERING));
+				ls.setCommission(serviceCharge.multiply(ls.getCommission().divide(new BigDecimal(100), MathContext.ENGINEERING)).divide(new BigDecimal(ls.getSecond()), MathContext.ENGINEERING));
 			} else {
 				ls.setCommission(new BigDecimal(0));
 			}

+ 59 - 52
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -1793,61 +1793,68 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		if (quantity.compareTo(BigDecimal.ZERO) > 0) {
 			price = amount.divide(quantity, 5, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
 		}
-		Items items = new Items();
-		items.setSrcOrderno(order.getOrgOrderNo());
-		items.setItemType(itemType);
-		items.setCorpId(order.getCorpId());
-		items.setSrcParentId(order.getId());
-		items.setCurrency("CNY");
-		items.setExchangeRate(new BigDecimal(1));
-		items.setTaxRate(BigDecimal.ZERO);
-		items.setSrcType(1);
-		items.setTradeType(order.getTradeType());
-		items.setChargeMember(order.getChargeMember());
-		items.setAmount(amount);
-		items.setQuantity(quantity);
-		items.setPrice(price);
-		items.setUnit("条");
-		items.setRemarks(order.getOrderRemark());
-		//items.setSrcFeesId(orderItems.getId());
-		//获取费用id
-		R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
-		if (fees.isSuccess() && fees.getData() != null) {
-			items.setCostType(fees.getData().getId().toString());
-		}
-		itemsList.add(items);
-		/*if (CollectionUtils.isNotEmpty(orderItemsList)){
-			for (OrderItems orderItems : orderItemsList) {
-				Items items = new Items();
-				items.setSrcOrderno(order.getOrgOrderNo());
-				items.setItemType(itemType);
-				items.setCorpId(order.getCorpId());
-				items.setSrcParentId(order.getId());
-				items.setCurrency("CNY");
-				items.setExchangeRate(new BigDecimal(1));
-				items.setTaxRate(BigDecimal.ZERO);
-				items.setSrcType(1);
-				items.setTradeType(order.getTradeType());
-				items.setChargeMember(order.getChargeMember());
-				items.setAmount(orderItems.getAmount());
-				items.setQuantity(orderItems.getOrderQuantity());
-				items.setPrice(orderItems.getPrice());
-				items.setUnit(orderItems.getUnit());
-				items.setSrcFeesId(orderItems.getId());
-				//获取费用id
-				R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
-				if (fees.isSuccess() && fees.getData() != null){
-					items.setCostType(fees.getData().getId().toString());
-				}
-				//获取商品名称
-				//"goodName": "浩悦四代",
-				R<GoodsDescVO> goodsMessage = goodsDescClient.selectGoodsMessage(orderItems.getItemId());
-				if (goodsMessage.isSuccess() && goodsMessage.getData() != null){
-					items.setGoodName(goodsMessage.getData().getCname());
+		if (AuthUtil.getTenantId().equals("922648"))
+		{
+			if (CollectionUtils.isNotEmpty(orderItemsList)){
+				for (OrderItems orderItems : orderItemsList) {
+					Items items = new Items();
+					items.setSrcOrderno(order.getOrgOrderNo());
+					items.setItemType(itemType);
+					items.setCorpId(order.getCorpId());
+					items.setSrcParentId(order.getId());
+					items.setCurrency("CNY");
+					items.setExchangeRate(new BigDecimal(1));
+					items.setTaxRate(BigDecimal.ZERO);
+					items.setSrcType(1);
+					items.setTradeType(order.getTradeType());
+					items.setChargeMember(order.getChargeMember());
+					items.setAmount(orderItems.getAmount());
+					items.setQuantity(orderItems.getOrderQuantity());
+					items.setPrice(orderItems.getPrice());
+					items.setUnit(orderItems.getUnit());
+					items.setSrcFeesId(orderItems.getId());
+					//获取费用id
+					R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
+					if (fees.isSuccess() && fees.getData() != null){
+						items.setCostType(fees.getData().getId().toString());
+					}
+					//获取商品名称
+					//"goodName": "浩悦四代",
+					R<GoodsDescVO> goodsMessage = goodsDescClient.selectGoodsMessage(orderItems.getItemId());
+					if (goodsMessage.isSuccess() && goodsMessage.getData() != null){
+						items.setGoodName(goodsMessage.getData().getCname());
+					}
+					itemsList.add(items);
 				}
-				itemsList.add(items);
 			}
+		}else {
+			Items items = new Items();
+			items.setSrcOrderno(order.getOrgOrderNo());
+			items.setItemType(itemType);
+			items.setCorpId(order.getCorpId());
+			items.setSrcParentId(order.getId());
+			items.setCurrency("CNY");
+			items.setExchangeRate(new BigDecimal(1));
+			items.setTaxRate(BigDecimal.ZERO);
+			items.setSrcType(1);
+			items.setTradeType(order.getTradeType());
+			items.setChargeMember(order.getChargeMember());
+			items.setAmount(amount);
+			items.setQuantity(quantity);
+			items.setPrice(price);
+			items.setUnit("条");
+			items.setRemarks(order.getOrderRemark());
+			//items.setSrcFeesId(orderItems.getId());
+			//获取费用id
+			R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
+			if (fees.isSuccess() && fees.getData() != null) {
+				items.setCostType(fees.getData().getId().toString());
+			}
+			itemsList.add(items);
 		}
+
+
+		/*
 		//获取订单收款信息
 		LambdaQueryWrapper<OrderFees> orderFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		orderFeesLambdaQueryWrapper.eq(OrderFees::getIsDeleted,0);

+ 3 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -105,6 +105,9 @@ public class UserController {
 
 	@GetMapping("/userList")
 	public R userList(UserVO userVO) {
+		if (AuthUtil.getTenantId().equals("234557") && !StringUtil.isNotBlank(userVO.getDeptPid())){
+			return R.data(new ArrayList<>());
+		}
 		LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.like(StringUtils.isNotBlank(userVO.getRealName()), User::getRealName, userVO.getRealName())
 			.like(ObjectUtil.isNotEmpty(userVO.getDeptPid()), User::getDeptPid, userVO.getDeptPid())

+ 5 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/office/controller/StockController.java

@@ -33,6 +33,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -80,9 +81,11 @@ public class StockController extends BladeController {
 	 */
 	@GetMapping("/ListExport")
 	public void listExport(StockVO stockVO, HttpServletResponse response){
-		IPage<StockVO> iPage= stockService.getList(null, stockVO);
+		List<StockVO> iPage= stockService.getListExcel(stockVO);
 		List<StockExcel> list = new ArrayList<>();
-		list = BeanUtil.copy(iPage.getRecords(), StockExcel.class);
+		if (ObjectUtil.isNotEmpty(iPage)){
+			list = BeanUtil.copy(iPage, StockExcel.class);
+		}
 		ExcelUtil.export(response, "库存帐", "库存帐", list, StockExcel.class);
 	}
 

+ 8 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/office/mapper/StockMapper.java

@@ -59,4 +59,12 @@ public interface StockMapper extends BaseMapper<Stock> {
 	 */
 	StockVO selectStock(@Param("stockVO") StockVO stockVO);
 
+	/**
+	 * 导出
+	 *
+	 * @param stockVO
+	 * @return
+	 */
+	List<StockVO> selectList(@Param("stockVO") StockVO stockVO);
+
 }

+ 10 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/office/service/IStockService.java

@@ -22,6 +22,8 @@ import com.trade.purchase.office.entity.Stock;
 import com.trade.purchase.office.vo.StockVO;
 import org.springblade.core.mp.support.Query;
 
+import java.util.List;
+
 /**
  * 办公用品库存账 服务类
  *
@@ -48,4 +50,12 @@ public interface IStockService extends IService<Stock> {
 	 */
 	IPage<StockVO> getList(IPage<StockVO> page, StockVO stockVO);
 
+	/**
+	 * 导出
+	 *
+	 * @param stockVO
+	 * @return
+	 */
+	List<StockVO> getListExcel(StockVO stockVO);
+
 }

+ 50 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/office/service/impl/StockServiceImpl.java

@@ -105,6 +105,56 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
 		return page.setRecords(records);
 	}
 
+	@Override
+	public List<StockVO> getListExcel(StockVO stockVO) {
+		String beginInDate = stockVO.getBeginInDate();
+		String endInDate = stockVO.getEndInDate();
+		stockVO.setBeginInDate(getFirstTimeOfMonth(beginInDate));
+		stockVO.setEndInDate(getLastTimeOfMonth(endInDate));
+		stockVO.setTenantId(AuthUtil.getTenantId());
+		List<StockVO> records = baseMapper.selectList(stockVO);
+		records.forEach(record -> {
+			if (record.getBalanceQuantity().compareTo(BigDecimal.ZERO) > 0) {
+				record.setUnitPrice(record.getAmount().divide(record.getBalanceQuantity(), RoundingMode.HALF_UP));
+			} else {
+				record.setUnitPrice(BigDecimal.ZERO);
+			}
+
+			StockVO tempVO = new StockVO();
+			tempVO.setStorageId(record.getStorageId());
+			tempVO.setGoodsId(record.getGoodsId());
+			tempVO.setEndInDate(getFirstTimeOfMonth(beginInDate));
+			tempVO.setTenantId(AuthUtil.getTenantId());
+			tempVO = baseMapper.selectStock(tempVO);
+			if (ObjectUtil.isNotEmpty(tempVO)) {
+				record.setOpening(tempVO.getBalanceQuantity());
+			} else {
+				record.setOpening(new BigDecimal("0.00"));
+			}
+
+			Stock stock = baseMapper.selectOne(new LambdaQueryWrapper<Stock>()
+				.select(Stock::getInDate)
+				.eq(Stock::getStorageId, record.getStorageId())
+				.eq(Stock::getGoodsId, record.getGoodsId())
+				.eq(Stock::getTenantId, AuthUtil.getTenantId())
+				.eq(Stock::getIsDeleted, 0)
+				.last("limit 1")
+			);
+			if (ObjectUtil.isNotEmpty(stock)) {
+				record.setInDate(stock.getInDate());
+			}
+
+			if (ObjectUtil.isNotEmpty(record.getGoodsId())) {
+				R<GoodsDescVO> goods = goodsDescClient.selectGoodsMessage(record.getGoodsId());
+				if (goods.isSuccess() && ObjectUtil.isNotEmpty(goods.getData())) {
+					record.setCode(goods.getData().getCode());
+					record.setCname(goods.getData().getCname());
+				}
+			}
+		});
+		return records;
+	}
+
 	private String getFirstTimeOfMonth(String date) {
 		return getTimeOfMonth(date, true);
 	}