Quellcode durchsuchen

2022年11月16 19:54

wangzhuo vor 3 Jahren
Ursprung
Commit
cb47b888b7

+ 1 - 1
blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java

@@ -121,7 +121,7 @@ public class AuditProecess implements Serializable {
 	* 业务日期
 	*/
 		@ApiModelProperty(value = "业务日期")
-		private LocalDateTime billTime;
+		private Date billTime;
 	/**
 	* 存储对应审批字段
 	*/

+ 6 - 0
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/vojo/Acc.java

@@ -388,5 +388,11 @@ public class Acc implements Serializable {
 	@TableField(exist = false)
 	private BigDecimal currentAmount;
 
+	/**
+	 * 为0是否显示(0 是,1 否)
+	 */
+	@TableField(exist = false)
+	private String whether;
+
 
 }

+ 10 - 2
blade-service/blade-client/src/main/java/org/springblade/client/corps/service/impl/CorpsDescServiceImpl.java

@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.math.BigDecimal;
+import java.rmi.server.ServerCloneException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -256,7 +257,14 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, CorpsDesc
 				if (corpsType != null) {
 					countList.add(true);
 					CorpsDesc corpsDesc = new CorpsDesc();
-					corpsDesc.setCode(e.getCode());
+					if (ObjectUtil.isNotEmpty(e.getCode())){//判断编号是否重复
+						CorpsDesc desc = baseMapper.selectCorpsDescCode(e.getCode(), AuthUtil.getTenantId());
+						if (ObjectUtil.isNotEmpty(desc)){
+							throw new SecurityException("客户编号"+e.getCode()+"重复");
+						}else {
+							corpsDesc.setCode(e.getCode());
+						}
+					}
 					corpsDesc.setCname(e.getCname());
 					corpsDesc.setAttn(e.getAttn());
 					corpsDesc.setAttn(e.getAttn());
@@ -339,7 +347,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, CorpsDesc
 			}
 
 		} catch (Exception exception) {
-			throw new SecurityException("请检查导入数据");
+			throw new SecurityException("请检查导入数据"+exception.getMessage());
 		}
 	}
 

+ 3 - 2
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -352,7 +352,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 					amount = list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 				}
 				//毛利额 = 销售金额-采购金额-预计海运费-本次使用返利+应收费用(除包装费)
-				BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getCreateProfit() == null ? BigDecimal.ZERO : order.getCreateProfit());
+				BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getThisUsedProfit() == null ? BigDecimal.ZERO : order.getThisUsedProfit());
+				//BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getCreateProfit() == null ? BigDecimal.ZERO : order.getCreateProfit());
 				//国内主表需要总重量总体积
 				//总重量求和
 				BigDecimal cntrVolumn = list.stream().reduce(BigDecimal.ZERO, (x, y) -> x.add(y.getCntrVolumn().multiply(y.getOrderQuantity())), BigDecimal::add);
@@ -1402,7 +1403,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
 						// 判断比较大小
 						if (orderQuantity.compareTo(lockingQuantity) > 0) {
-							throw new SecurityException("撤销失败:原单据的订货数量大于锁定库存,无法释放 库存");
+							throw new SecurityException("撤销失败:原单据的"+oneStock.getCode()+"订货数量大于锁定库存,无法释放 库存");
 						}
 						// 增加可用库存
 						oneStock.setSurplusRouteQuantity(surplusRouteQuantity.add(orderQuantity));

+ 38 - 3
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/AccServiceImpl.java

@@ -30,6 +30,7 @@ import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.finance.mapper.AccMapper;
 import org.springblade.finance.mapper.ItemsMapper;
 import org.springblade.finance.mapper.SettlementMapper;
@@ -273,7 +274,7 @@ public class AccServiceImpl extends ServiceImpl<AccMapper, Acc> implements IAccS
 
 			BigDecimal amount = new BigDecimal(0);
 
-			//便利该客户本月数据 计算借款、还款,结余金额
+			//遍历该客户本月数据 计算借款、还款,结余金额
 			for (Acc accs : accList) {
 				//本期金额
 				if (ObjectUtils.isNotNull(accs.getDc()) && "d".equals(accs.getDc())) {
@@ -303,8 +304,28 @@ public class AccServiceImpl extends ServiceImpl<AccMapper, Acc> implements IAccS
 				acc1.setLastAmount(lastAmountC);
 				acc1.setLastSettlementAmount(lastSettlementAmountC);
 			}
+			if (ObjectUtil.isEmpty(acc1.getLastAmount())){
+				acc1.setLastAmount(BigDecimal.ZERO);
+			}
+			if (ObjectUtil.isEmpty(acc1.getLastSettlementAmount())){
+				acc1.setLastSettlementAmount(BigDecimal.ZERO);
+			}
+
 			acc1.setLastOutstandingAmount(acc1.getLastAmount().subtract(acc1.getLastSettlementAmount()));
-			newAccList.add(acc1);
+
+			if (acc.getWhether().equals("1")){
+				if(acc1.getLastAmount().compareTo(BigDecimal.ZERO) > 0
+					|| acc1.getLastOutstandingAmount().compareTo(BigDecimal.ZERO) > 0
+					|| acc1.getLastSettlementAmount().compareTo(BigDecimal.ZERO) > 0
+					|| acc1.getAmount().compareTo(BigDecimal.ZERO) > 0
+					|| acc1.getSettlementAmount().compareTo(BigDecimal.ZERO) > 0
+					|| acc1.getOutstandingAmount().compareTo(BigDecimal.ZERO) > 0)
+				{
+					newAccList.add(acc1);
+				}
+			}else {
+				newAccList.add(acc1);
+			}
 
 			//返回数据
 			IPage<Acc> pages = new Page<>();
@@ -392,7 +413,21 @@ public class AccServiceImpl extends ServiceImpl<AccMapper, Acc> implements IAccS
 					acc1.setLastSettlementAmount(lastSettlementAmountC);
 				}
 				acc1.setLastOutstandingAmount(acc1.getLastAmount().subtract(acc1.getLastSettlementAmount()));
-				accList.add(acc1);
+
+				if (ObjectUtil.isNotEmpty(acc.getWhether()) && acc.getWhether().equals("1")){
+					if(acc1.getLastAmount().compareTo(BigDecimal.ZERO) > 0
+						|| acc1.getLastOutstandingAmount().compareTo(BigDecimal.ZERO) > 0
+						|| acc1.getLastSettlementAmount().compareTo(BigDecimal.ZERO) > 0
+						|| acc1.getAmount().compareTo(BigDecimal.ZERO) > 0
+						|| acc1.getSettlementAmount().compareTo(BigDecimal.ZERO) > 0
+						|| acc1.getOutstandingAmount().compareTo(BigDecimal.ZERO) > 0)
+					{
+						accList.add(acc1);
+					}
+				}else {
+					accList.add(acc1);
+				}
+
 			}
 			//返回数据
 			IPage<Acc> page = new Page<>();

+ 1 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/financing/service/impl/FinancingServiceImpl.java

@@ -187,6 +187,7 @@ public class FinancingServiceImpl extends ServiceImpl<FinancingMapper, Financing
 			auditProecessDTO.setSendUserId(AuthUtil.getUserId());
 			auditProecessDTO.setSendName(AuthUtil.getUserName());
 			auditProecessDTO.setSendTime(new Date());
+			auditProecessDTO.setBillTime(salesFinancing.getFinancingDate());
 			R financeProcess = iCheckClient.createFinanceProcess(auditProecessDTO);
 			if (!financeProcess.isSuccess()) {
 				throw new SecurityException("操作失败,请联系管理员");

+ 10 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/WoodHarvestingCloudController.java

@@ -330,6 +330,16 @@ public class WoodHarvestingCloudController {
 	}
 
 	/**
+	 * 佳通木材库库存总价和数量
+	 */
+	@GetMapping("/sumMoneyNumber")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "库存总账数量和金额", notes = "传入order")
+	public Map<String, Object> sumMoneyNumber(OrderTotalDTO order) {
+		return orderService.sumMoneyNumber(order);
+	}
+
+	/**
 	 * 库存导出
 	 */
 	@GetMapping("/generalLedgerExport")

+ 7 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.java

@@ -60,6 +60,13 @@ public interface OrderMapper extends BaseMapper<Order> {
 	List<GeneralLedgerExcel> generalLedgerList(IPage page, @Param("Order") OrderTotalDTO order);
 
 	/**
+	 * 库存总账
+	 * @param order
+	 * @return
+	 */
+	Map<String, Object> sumMoneyNumber(@Param("Order") OrderTotalDTO order);
+
+	/**
 	 * @param rubberStockDto
 	 * @return
 	 */

+ 81 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

@@ -472,6 +472,87 @@
         order by bo.busines_date
     </select>
 
+    <select id="sumMoneyNumber" parameterType="com.trade.purchase.order.vo.OrderTotalDTO" resultType= "map">
+        SELECT
+            ifnull( sum(boi.balance_number), 0 ) as balanceNumber,
+            ifnull( sum(boi.balance_money), 0 ) as balanceMoney
+        FROM
+            business_order bo
+        LEFT JOIN business_order_items boi ON boi.pid = bo.id
+        LEFT JOIN basic_storage_type bst ON bo.storage_id = bst.id
+        LEFT JOIN basic_storage_desc bsc ON boi.storage_id = bsc.id
+        LEFT JOIN basic_goods_desc bgd ON boi.item_id = bgd.id
+        LEFT JOIN basic_corps_desc bcd ON bo.corp_id = bcd.id
+        LEFT JOIN basic_corps_desc bcd1 ON bo.purchaser_id = bcd1.id
+        WHERE
+        boi.is_deleted = 0
+        AND bo.is_deleted = 0
+        and bo.trade_type = 'JTMC'
+        AND boi.bill_type = 'RK'
+        <if test="Order.sysNo!=null and Order.sysNo != ''">
+            and bo.sys_no=#{Order.sysNo}
+        </if>
+        <if test="Order.morderNo!=null and Order.morderNo != ''">
+            and bo.bill_no = #{Order.morderNo}
+        </if>
+        <if test="Order.businesStartDate!=null">
+            and bo.busines_date &gt; #{businesStartDate}
+        </if>
+        <if test="Order.businesEndDate!=null">
+            and bo.busines_date &lt;= #{businesEndDate}
+        </if>
+        <if test="Order.corpId!=null">
+            and bo.corp_id=#{Order.corpId}
+        </if>
+        <if test="Order.billNo!=null and Order.billNo != ''">
+            and boi.bill_no like CONCAT(CONCAT('%', #{Order.billNo}), '%')
+        </if>
+        <if test="Order.purchaserId!=null">
+            and bo.purchaser_id = #{Order.purchaserId}
+        </if>
+        <if test="Order.warehouseId!=null">
+            and bo.storage_id = #{Order.warehouseId}
+        </if>
+        <if test="Order.tenantId!=null and Order.tenantId != ''">
+            and bo.tenant_id = #{Order.tenantId}
+        </if>
+        <if test="Order.itemId!=null and Order.itemId != ''">
+            and boi.item_id = #{Order.itemId}
+        </if>
+        <if test="Order.length!=null  and Order.length != ''">
+            and boi.length = #{Order.length}
+        </if>
+        <if test="Order.width!=null and Order.width != ''">
+            and boi.width = #{Order.width}
+        </if>
+        <if test="Order.thickness!=null and Order.thickness != ''">
+            and boi.thickness = #{Order.thickness}
+        </if>
+        <if test="Order.vehicleShipNumber!=null and Order.vehicleShipNumber != ''">
+            and bo.vehicle_ship_number like CONCAT(CONCAT('%', #{Order.vehicleShipNumber}), '%')
+        </if>
+        <if test="Order.itemType!=null and Order.itemType != ''">
+            and boi.item_type=#{Order.itemType}
+        </if>
+        <if test="Order.grade!=null and Order.grade != ''">
+            and boi.grade = #{Order.grade}
+        </if>
+        <if test="Order.storageId!=null">
+            and boi.storage_id = #{Order.storageId}
+        </if>
+        <if test="Order.unit!=null and Order.unit != ''">
+            and boi.unit = #{Order.unit}
+        </if>
+        <if test="Order.isIssue!=null and Order.isIssue != ''">
+            and boi.is_Issue = #{Order.isIssue}
+        </if>
+        <if test="Order.containerNo!=null and Order.containerNo != ''">
+            and boi.container_no = #{Order.containerNo}
+        </if>
+        <if test="Order.isIssue == null and Order.isIssue == ''">
+            and (boi.is_Issue = '3' or boi.is_Issue = '4' or boi.is_Issue = '5' or boi.is_Issue = '6')
+        </if>
+    </select>
 
     <select id="generalLedgerListByGoods" parameterType="String" resultType="java.util.Map">
         SELECT boi.item_id             AS id,

+ 7 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/IOrderService.java

@@ -206,6 +206,13 @@ public interface IOrderService extends IService<Order> {
 	IPage<GeneralLedgerExcel> generalLedgerList(IPage<GeneralLedgerExcel> page, OrderTotalDTO order);
 
 	/**
+	 * 佳通木材库库存总价和数量
+	 * @param order
+	 * @return
+	 */
+	Map<String, Object> sumMoneyNumber(OrderTotalDTO order);
+
+	/**
 	 * 库存总账(商品)
 	 *
 	 * @return

+ 11 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -1573,6 +1573,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			auditProecessDTO.setSendUserId(AuthUtil.getUserId());
 			auditProecessDTO.setSendName(AuthUtil.getUserName());
 			auditProecessDTO.setSendTime(new Date());
+			auditProecessDTO.setBillTime(salesOrder.getStockTime());
 			R financeProcess = iCheckClient.createFinanceProcess(auditProecessDTO);
 			if (!financeProcess.isSuccess()) {
 				throw new SecurityException("操作失败,请联系管理员");
@@ -1837,6 +1838,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	/**
+	 * 佳通木材库库存总价和数量
+	 * @param order
+	 * @return
+	 */
+	@Override
+	public Map<String, Object> sumMoneyNumber(OrderTotalDTO order) {
+		return baseMapper.sumMoneyNumber(order);
+	}
+
+	/**
 	 * 库存总账(商品)
 	 *
 	 * @return