Browse Source

2024年11月26日17:18:27

纪新园 1 year ago
parent
commit
16f0935a00
20 changed files with 809 additions and 562 deletions
  1. 11 1
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/update/entity/UpdateItem.java
  2. 92 89
      blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjStorageDesc.java
  3. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/update/controller/UpdateController.java
  4. 424 260
      blade-service/blade-los/src/main/java/org/springblade/los/business/update/service/impl/UpdateServiceImpl.java
  5. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/mapper/AuditPathsActsMapper.java
  6. 3 1
      blade-service/blade-los/src/main/java/org/springblade/los/check/mapper/AuditPathsActsMapper.xml
  7. 9 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditPathsServiceImpl.java
  8. 4 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java
  9. 1 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/mapper/AuditPathsActsMapper.java
  10. 3 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/mapper/AuditPathsActsMapper.xml
  11. 10 4
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/service/impl/AuditPathsServiceImpl.java
  12. 5 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsDescController.java
  13. 6 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/controller/GoodsDescController.java
  14. 79 63
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java
  15. 3 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java
  16. 124 127
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java
  17. 16 16
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/impl/StatisticsServiceImpl.java
  18. 3 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/storage/controller/StorageDescController.java
  19. 12 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/storage/service/impl/StorageDescServiceImpl.java
  20. 1 1
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

+ 11 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/update/entity/UpdateItem.java

@@ -139,6 +139,17 @@ public class UpdateItem implements Serializable {
 	 */
 	@ApiModelProperty(value = "字段值新")
 	private String fieldValueNewName;
+	/**
+	 * 二级
+	 */
+	@ApiModelProperty(value = "二级")
+	private String secondLevel;
+
+	/**
+	 * 二级
+	 */
+	@ApiModelProperty(value = "二级")
+	private String secondLevelName;
 
 	/**
 	 * 租户
@@ -253,5 +264,4 @@ public class UpdateItem implements Serializable {
 	private String finAccBillsFieldEname;
 
 
-
 }

+ 92 - 89
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjStorageDesc.java

@@ -16,20 +16,16 @@
  */
 package org.springblade.salesPart.entity;
 
-import java.math.BigDecimal;
-
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalDateTime;
-import java.io.Serializable;
-import java.util.Date;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 import org.springblade.core.secure.utils.AuthUtil;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * 配件批发仓库实体类
  *
@@ -44,91 +40,92 @@ public class PjStorageDesc implements Serializable {
 	private static final long serialVersionUID = 1L;
 
 	/**
-	* 主键
-	*/
-		@ApiModelProperty(value = "主键")
-		private Long id;
+	 * 主键
+	 */
+	@ApiModelProperty(value = "主键")
+	private Long id;
 	/**
 	 * 租户id
 	 */
 	@ApiModelProperty(value = "租户id")
-	private String tenantId = AuthUtil.getTenantId();;
-	/**
-	* 创建人
-	*/
-		@ApiModelProperty(value = "创建人")
-		private Long createUser;
-	/**
-	* 创建部门
-	*/
-		@ApiModelProperty(value = "创建部门")
-		private Long createDept;
-	/**
-	* 创建时间
-	*/
-		@ApiModelProperty(value = "创建时间")
-		private Date createTime;
-	/**
-	* 修改人
-	*/
-		@ApiModelProperty(value = "修改人")
-		private Long updateUser;
-	/**
-	* 修改时间
-	*/
-		@ApiModelProperty(value = "修改时间")
-		private Date updateTime;
-	/**
-	* 是否已删除(0 否 1是)
-	*/
-		@ApiModelProperty(value = "是否已删除(0 否 1是)")
+	private String tenantId = AuthUtil.getTenantId();
+	;
+	/**
+	 * 创建人
+	 */
+	@ApiModelProperty(value = "创建人")
+	private Long createUser;
+	/**
+	 * 创建部门
+	 */
+	@ApiModelProperty(value = "创建部门")
+	private Long createDept;
+	/**
+	 * 创建时间
+	 */
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+	/**
+	 * 修改人
+	 */
+	@ApiModelProperty(value = "修改人")
+	private Long updateUser;
+	/**
+	 * 修改时间
+	 */
+	@ApiModelProperty(value = "修改时间")
+	private Date updateTime;
+	/**
+	 * 是否已删除(0 否 1是)
+	 */
+	@ApiModelProperty(value = "是否已删除(0 否 1是)")
 
-		private Integer isDeleted;
-	/**
-	* 备注
-	*/
-		@ApiModelProperty(value = "备注")
-		private String remarks;
-	/**
-	* 订单状态
-	*/
-		@ApiModelProperty(value = "订单状态")
-		private String status;
-	/**
-	* 仓库编码
-	*/
-		@ApiModelProperty(value = "仓库编码")
-		private String code;
-	/**
-	* 仓库名称
-	*/
-		@ApiModelProperty(value = "仓库名称")
-		private String cname;
-	/**
-	* 联系人
-	*/
-		@ApiModelProperty(value = "联系人")
-		private String contacts;
-	/**
-	* 联系电话
-	*/
-		@ApiModelProperty(value = "联系电话")
-		private String tel;
-	/**
-	* 是否计费(0 否,1 是)
-	*/
-		@ApiModelProperty(value = "是否计费(0 否,1 是)")
-		private Integer chargeOrNot;
-	/**
-	* 库容
-	*/
-		@ApiModelProperty(value = "库容")
-		private BigDecimal storageCapacity;
-	/**
-	* 共享公司
-	*/
-		@ApiModelProperty(value = "共享公司")
-		private String sharedCompany;
+	private Integer isDeleted;
+	/**
+	 * 备注
+	 */
+	@ApiModelProperty(value = "备注")
+	private String remarks;
+	/**
+	 * 订单状态
+	 */
+	@ApiModelProperty(value = "订单状态")
+	private String status;
+	/**
+	 * 仓库编码
+	 */
+	@ApiModelProperty(value = "仓库编码")
+	private String code;
+	/**
+	 * 仓库名称
+	 */
+	@ApiModelProperty(value = "仓库名称")
+	private String cname;
+	/**
+	 * 联系人
+	 */
+	@ApiModelProperty(value = "联系人")
+	private String contacts;
+	/**
+	 * 联系电话
+	 */
+	@ApiModelProperty(value = "联系电话")
+	private String tel;
+	/**
+	 * 是否计费(0 否,1 是)
+	 */
+	@ApiModelProperty(value = "是否计费(0 否,1 是)")
+	private Integer chargeOrNot;
+	/**
+	 * 库容
+	 */
+	@ApiModelProperty(value = "库容")
+	private BigDecimal storageCapacity;
+	/**
+	 * 共享公司
+	 */
+	@ApiModelProperty(value = "共享公司")
+	private String sharedCompany;
 
 	/**
 	 * 所属公司id
@@ -142,5 +139,11 @@ public class PjStorageDesc implements Serializable {
 	@ApiModelProperty(value = "所属公司名称")
 	private String salesCompanyName;
 
+	/**
+	 * 是否融资库 0 自有库 1 融资库
+	 */
+	@ApiModelProperty(value = "是否融资库")
+	private String whetherFinancing;
+
 
 }

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/update/controller/UpdateController.java

@@ -75,6 +75,7 @@ public class UpdateController extends BladeController {
 			.eq(Update::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(update.getBusinessType()), Update::getBusinessType, update.getBusinessType())
 			.eq(ObjectUtils.isNotNull(update.getType()), Update::getType, update.getType())
+			.eq(ObjectUtils.isNotNull(update.getApprovalStatus()), Update::getApprovalStatus, update.getApprovalStatus())
 			.eq(ObjectUtils.isNotNull(update.getRetrievalType()), Update::getRetrievalType, update.getRetrievalType())
 			.like(ObjectUtils.isNotNull(update.getRetrievalValue()), Update::getRetrievalValue, update.getRetrievalValue())
 			.orderByDesc(Update::getCreateTime);

File diff suppressed because it is too large
+ 424 - 260
blade-service/blade-los/src/main/java/org/springblade/los/business/update/service/impl/UpdateServiceImpl.java


+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/mapper/AuditPathsActsMapper.java

@@ -58,4 +58,6 @@ public interface AuditPathsActsMapper extends BaseMapper<LosAuditPathsActs> {
 
 	@TenantIgnore
     List<LosAuditPathsActs> getLosAuditPathsActs(@Param("data")LosAuditPathsActs losAuditPathsActs);
+
+    void updateAuditPathsActs(@Param("pathId")Long pathId, @Param("isEnable")int isEnable);
 }

+ 3 - 1
blade-service/blade-los/src/main/java/org/springblade/los/check/mapper/AuditPathsActsMapper.xml

@@ -11,7 +11,9 @@
         <result column="path_id" property="pathId"/>
         <result column="fid_status" property="fidStatus"/>
     </resultMap>
-
+    <update id="updateAuditPathsActs">
+        update los_audit_paths_acts set is_enable = #{isEnable} where path_id = #{pathId}
+    </update>
 
     <select id="selectAuditPathsActsPage" resultMap="auditPathsActsResultMap">
         select * from los_audit_paths_acts where is_deleted = 0

+ 9 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditPathsServiceImpl.java

@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.los.check.entity.LosAuditPaths;
 import org.springblade.los.check.entity.LosAuditPathsLevels;
+import org.springblade.los.check.mapper.AuditPathsActsMapper;
 import org.springblade.los.check.mapper.AuditPathsLevelsMapper;
 import org.springblade.los.check.mapper.AuditPathsMapper;
 import org.springblade.los.check.service.IAuditPathsService;
@@ -48,6 +49,9 @@ public class AuditPathsServiceImpl extends ServiceImpl<AuditPathsMapper, LosAudi
 	@Autowired
 	private AuditPathsLevelsMapper auditPathsLevelsMapper;
 
+	@Autowired
+	private AuditPathsActsMapper auditPathsActsMapper;
+
 	@Override
 	public IPage<LosAuditPathsVO> selectAuditPathsPage(IPage<LosAuditPathsVO> page, LosAuditPathsVO auditPaths) {
 		return page.setRecords(baseMapper.selectAuditPathsPage(page, auditPaths));
@@ -112,6 +116,11 @@ public class AuditPathsServiceImpl extends ServiceImpl<AuditPathsMapper, LosAudi
 			});
 
 		}
+		if ("A".equals(auditPaths.getStatus())){
+			auditPathsActsMapper.updateAuditPathsActs(auditPaths.getId(),1);
+		}else if ("S".equals(auditPaths.getStatus())){
+			auditPathsActsMapper.updateAuditPathsActs(auditPaths.getId(),2);
+		}
 		return auditPaths;
 	}
 

+ 4 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/brand/controller/BrandDescController.java

@@ -27,6 +27,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -183,6 +184,7 @@ public class BrandDescController extends BladeController {
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入brandDesc")
+	@RepeatSubmit
 	public R submit(@Valid @RequestBody PjBrandDesc brandDesc) {
 		if (StringUtils.isNotBlank(brandDesc.getTenantId())) {
 			brandDesc.setTenantId(AuthUtil.getTenantId());
@@ -198,6 +200,7 @@ public class BrandDescController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			throw new RuntimeException("暂无权限,请联系管理员");
@@ -220,6 +223,7 @@ public class BrandDescController extends BladeController {
 	@GetMapping("/updateEnableOrNot")
 	@ApiOperationSupport(order = 9)
 	@ApiOperation(value = "启用禁用", notes = "传入accountManagement")
+	@RepeatSubmit
 	public R updateEnableOrNot(PjBrandDesc brandDesc) {
 		if (brandDesc.getId() == null) {
 			return R.fail(500, "请选择数据");

+ 1 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/mapper/AuditPathsActsMapper.java

@@ -55,4 +55,5 @@ public interface AuditPathsActsMapper extends BaseMapper<PjAuditPathsActs> {
 									  @Param("fidStatus") String fidStatus,
 									  @Param("tenantId") String tenantId);
 
+    void updateAuditPathsActs(@Param("pathId")Long pathId, @Param("isEnable")int isEnable);
 }

+ 3 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/mapper/AuditPathsActsMapper.xml

@@ -11,6 +11,9 @@
         <result column="path_id" property="pathId"/>
         <result column="fid_status" property="fidStatus"/>
     </resultMap>
+    <update id="updateAuditPathsActs">
+        update pjpf_audit_paths_acts set is_enable = #{isEnable} where path_id = #{pathId}
+    </update>
 
 
     <select id="selectAuditPathsActsPage" resultMap="auditPathsActsResultMap">

+ 10 - 4
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/check/service/impl/AuditPathsServiceImpl.java

@@ -21,15 +21,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.check.entity.AuditPaths;
-import org.springblade.check.entity.AuditPathsLevels;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.salesPart.check.entity.PjAuditPaths;
 import org.springblade.salesPart.check.entity.PjAuditPathsLevels;
+import org.springblade.salesPart.check.mapper.AuditPathsActsMapper;
 import org.springblade.salesPart.check.mapper.AuditPathsLevelsMapper;
 import org.springblade.salesPart.check.mapper.AuditPathsMapper;
 import org.springblade.salesPart.check.service.IAuditPathsService;
-import org.springblade.check.vo.AuditPathsVO;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.salesPart.check.vo.PjAuditPathsVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -51,6 +49,9 @@ public class AuditPathsServiceImpl extends ServiceImpl<AuditPathsMapper, PjAudit
 	@Autowired
 	private AuditPathsLevelsMapper auditPathsLevelsMapper;
 
+	@Autowired
+	private AuditPathsActsMapper auditPathsActsMapper;
+
 	@Override
 	public IPage<PjAuditPathsVO> selectAuditPathsPage(IPage<PjAuditPathsVO> page, PjAuditPathsVO auditPaths) {
 		return page.setRecords(baseMapper.selectAuditPathsPage(page, auditPaths));
@@ -115,6 +116,11 @@ public class AuditPathsServiceImpl extends ServiceImpl<AuditPathsMapper, PjAudit
 			});
 
 		}
+		if ("A".equals(auditPaths.getStatus())){
+			auditPathsActsMapper.updateAuditPathsActs(auditPaths.getId(),1);
+		}else if ("S".equals(auditPaths.getStatus())){
+			auditPathsActsMapper.updateAuditPathsActs(auditPaths.getId(),2);
+		}
 		return auditPaths;
 	}
 

+ 5 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/controller/CorpsDescController.java

@@ -26,6 +26,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
@@ -235,6 +236,7 @@ public class CorpsDescController extends BladeController {
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入corpsDesc")
+	@RepeatSubmit
 	public R submit(@Valid @RequestBody PjCorpsDesc corpsDesc) {
 		if (StringUtils.isNotBlank(corpsDesc.getTenantId())) {
 			corpsDesc.setTenantId(SecureUtil.getTenantId());
@@ -250,6 +252,7 @@ public class CorpsDescController extends BladeController {
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	@Transactional(rollbackFor = Exception.class)
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			throw new RuntimeException("暂无权限,删除失败");
@@ -409,6 +412,7 @@ public class CorpsDescController extends BladeController {
 	@GetMapping("/updateEnableOrNot")
 	@ApiOperationSupport(order = 13)
 	@ApiOperation(value = "启用禁用", notes = "传入corpsDesc")
+	@RepeatSubmit
 	public R updateEnableOrNot(PjCorpsDesc corpsDesc) {
 		if (corpsDesc.getId() == null) {
 			return R.fail(500, "请选择数据");
@@ -471,6 +475,7 @@ public class CorpsDescController extends BladeController {
 	@PostMapping("/appSubmitV1")
 	@ApiOperationSupport(order = 16)
 	@ApiOperation(value = "新增或修改", notes = "传入corpsDesc")
+	@RepeatSubmit
 	public R appSubmitV1(@Valid @RequestBody PjCorpsDesc corpsDesc) {
 		if (StringUtils.isBlank(corpsDesc.getTenantId())) {
 			corpsDesc.setTenantId(SecureUtil.getTenantId());

+ 6 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/goods/controller/GoodsDescController.java

@@ -27,6 +27,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
@@ -201,6 +202,7 @@ public class GoodsDescController extends BladeController {
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入goods")
+	@RepeatSubmit
 	public R submit(@Valid @RequestBody PjGoodsDesc goodsDesc) {
 		/*if (StringUtils.isBlank(goodsDesc.getTenantId())) {
 			goodsDesc.setTenantId(SecureUtil.getTenantId());
@@ -227,6 +229,7 @@ public class GoodsDescController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			throw new RuntimeException("暂无权限,请联系管理员");
@@ -261,6 +264,7 @@ public class GoodsDescController extends BladeController {
 	@PostMapping("/import-desc")
 	@ApiOperationSupport(order = 12)
 	@ApiOperation(value = "导入商品资料", notes = "传入excel")
+	@RepeatSubmit
 	public R importDesc(MultipartFile file) {
 		List<GoodsExcel> excelList = ExcelUtil.read(file, GoodsExcel.class);
 		if (CollectionUtils.isEmpty(excelList)) {
@@ -273,6 +277,7 @@ public class GoodsDescController extends BladeController {
 	 * 同步基础资料
 	 */
 	@GetMapping("/synchronization")
+	@RepeatSubmit
 	public R importDesc() {
 		return goodsDescService.synchronization();
 	}
@@ -348,6 +353,7 @@ public class GoodsDescController extends BladeController {
 	@GetMapping("/updateEnableOrNot")
 	@ApiOperationSupport(order = 11)
 	@ApiOperation(value = "启用禁用", notes = "传入goodsDesc")
+	@RepeatSubmit
 	public R updateEnableOrNot(PjGoodsDesc goodsDesc) {
 		if (goodsDesc.getId() == null) {
 			return R.fail(500, "请选择数据");

+ 79 - 63
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -1603,11 +1603,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					goodsName.append(goodsDesc.getCname()).append(",");
 					retrieval.append(goodsDesc.getCnameInt()).append(",");
 					item.setBrandName(goodsDesc.getBrandName());
-					BigDecimal costprie = item.getCostprie().divide(item.getGoodsNum(), 2, RoundingMode.HALF_UP);
-					item.setCostprie(item.getReturnsNumber().multiply(costprie));
+					item.setCostprie(item.getReturnsNumber().multiply(item.getCostpriePrice()));
 					item.setGrossProfit(item.getReturnsAmount().subtract(item.getCostprie()));
-					BigDecimal rebateCostprie = item.getRebateCostprie().divide(item.getGoodsNum(), 2, RoundingMode.HALF_UP);
-					item.setRebateCostprie(item.getReturnsNumber().multiply(rebateCostprie));
+					item.setRebateCostprie(item.getReturnsNumber().multiply(item.getRebatePrice()));
 					item.setRebateProfit(item.getReturnsAmount().subtract(item.getRebateCostprie()));
 					orderItemsService.saveOrUpdate(item);
 				}
@@ -3159,68 +3157,74 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 
 	@Override
 	public R whetherExistenceFinancing(PjOrder order) {
+		PjOrder pjOrder = baseMapper.selectById(order.getId());
+
 		String status = sysClient.getParamService("whether.financing");
-		String financingBrand = sysClient.getParamService("financing.brand");
 		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
-			PjOrder pjOrder = baseMapper.selectById(order.getId());
 			if (ObjectUtils.isNull(pjOrder.getStorageId())) {
 				throw new RuntimeException("请先维护发货仓库");
 			}
 			if (OrderTypeEnum.SCRW.getType().equals(pjOrder.getGenerateTask())) {
 				throw new RuntimeException("订单数据已生成出库,请刷新数据重新操作!");
 			}
-			LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
-				.eq(PjOrderItems::getIsDeleted, 0)
-				.eq(PjOrderItems::getPid, pjOrder.getId());
-			List<PjOrderItems> itemsList = orderItemsService.list(itemsLambdaQueryWrapper);
-			for (PjOrderItems item : itemsList) {
-				if (ObjectUtils.isNull(item.getRebatePrice())) {
-					throw new RuntimeException("获取数据失败,请先保存");
-				}
-				if (ObjectUtils.isNull(item.getCostprie())) {
-					throw new RuntimeException("获取数据失败,请先保存");
-				}
+			PjStorageDesc storageDesc = storageDescMapper.selectById(pjOrder.getStorageId());
+			if (storageDesc == null) {
+				throw new RuntimeException("未找到仓库信息");
 			}
-			long count = itemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName())).count();
-			if (count > 0) {
-				if ("审核提交".equals(order.getTaskWhetherAdopt())) {
-					throw new RuntimeException("任务已提交审核");
-				} else if ("审核中".equals(order.getTaskWhetherAdopt())) {
-					throw new RuntimeException("任务正在审核中");
-				} else if ("审核通过".equals(order.getTaskWhetherAdopt())) {
-					throw new RuntimeException("任务审核已通过");
-				}
-				PjpfFunding pjpfFunding = pjpfFundingService.getOne(new LambdaQueryWrapper<PjpfFunding>()
-					.eq(PjpfFunding::getTenantId, AuthUtil.getTenantId())
-					.eq(PjpfFunding::getIsDeleted, 0));
-				if (pjpfFunding == null) {
-					throw new RuntimeException("未找到融资总账");
-				}
-				List<Long> goodsIds = itemsList.stream().map(PjOrderItems::getGoodsId).distinct().collect(Collectors.toList());
-				List<PjOrderItems> itemsListRZCG = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
-					.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+			if ("1".equals(storageDesc.getWhetherFinancing())){
+				LambdaQueryWrapper<PjOrderItems> itemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				itemsLambdaQueryWrapper.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
 					.eq(PjOrderItems::getIsDeleted, 0)
-					.in(PjOrderItems::getGoodsId, goodsIds)
-					.eq(PjOrderItems::getBizType, "RZCG"));
-				List<Long> idList = itemsListRZCG.stream().map(PjOrderItems::getPid).distinct().collect(Collectors.toList());
-				List<PjOrder> orderList = baseMapper.selectList(new LambdaQueryWrapper<PjOrder>()
-					.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
-					.eq(PjOrder::getIsDeleted, 0)
-					.in(PjOrder::getId, idList));
-				List<PjOrder> orders = orderList.stream().filter(e -> e.getWhetherRedeem().equals("0")).distinct().collect(Collectors.toList());
-				if (!orders.isEmpty()) {
-					if (pjpfFunding.getBondAmount().compareTo(pjpfFunding.getPaidAlreadyBondAmount()) > 0) {
-						throw new RuntimeException("已缴保证金不足,生成任务失败");
+					.eq(PjOrderItems::getPid, pjOrder.getId());
+				List<PjOrderItems> itemsList = orderItemsService.list(itemsLambdaQueryWrapper);
+				for (PjOrderItems item : itemsList) {
+					if (ObjectUtils.isNull(item.getRebatePrice())) {
+						throw new RuntimeException("获取数据失败,请先保存");
 					}
-					BigDecimal amount = itemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-						.map(PjOrderItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
-					if (pjpfFunding.getAvailableAmount().subtract(pjpfFunding.getInterest()).compareTo(amount) < 0) {
-						throw new RuntimeException("可用资金:" + pjpfFunding.getAvailableAmount() + ";资金占用:" + pjpfFunding.getInterest() + ";   出库资金:" + amount + ";    请充值后,在生成任务");
+					if (ObjectUtils.isNull(item.getCostprie())) {
+						throw new RuntimeException("获取数据失败,请先保存");
 					}
 				}
-				return R.data("该订单明细商品存在融资货物,是否提交出库任务审批?");
-			} else {
+				if (!itemsList.isEmpty()) {
+					if ("审核提交".equals(order.getTaskWhetherAdopt())) {
+						throw new RuntimeException("任务已提交审核");
+					} else if ("审核中".equals(order.getTaskWhetherAdopt())) {
+						throw new RuntimeException("任务正在审核中");
+					} else if ("审核通过".equals(order.getTaskWhetherAdopt())) {
+						throw new RuntimeException("任务审核已通过");
+					}
+					PjpfFunding pjpfFunding = pjpfFundingService.getOne(new LambdaQueryWrapper<PjpfFunding>()
+						.eq(PjpfFunding::getTenantId, AuthUtil.getTenantId())
+						.eq(PjpfFunding::getIsDeleted, 0));
+					if (pjpfFunding == null) {
+						throw new RuntimeException("未找到融资总账");
+					}
+					List<Long> goodsIds = itemsList.stream().map(PjOrderItems::getGoodsId).distinct().collect(Collectors.toList());
+					List<PjOrderItems> itemsListRZCG = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
+						.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
+						.eq(PjOrderItems::getIsDeleted, 0)
+						.in(PjOrderItems::getGoodsId, goodsIds)
+						.eq(PjOrderItems::getBizType, "RZCG"));
+					List<Long> idList = itemsListRZCG.stream().map(PjOrderItems::getPid).distinct().collect(Collectors.toList());
+					List<PjOrder> orderList = baseMapper.selectList(new LambdaQueryWrapper<PjOrder>()
+						.eq(PjOrder::getTenantId, AuthUtil.getTenantId())
+						.eq(PjOrder::getIsDeleted, 0)
+						.in(PjOrder::getId, idList));
+					List<PjOrder> orders = orderList.stream().filter(e -> e.getWhetherRedeem().equals("0")).distinct().collect(Collectors.toList());
+					if (!orders.isEmpty()) {
+						if (pjpfFunding.getBondAmount().compareTo(pjpfFunding.getPaidAlreadyBondAmount()) > 0) {
+							throw new RuntimeException("已缴保证金不足,生成任务失败");
+						}
+						BigDecimal amount = itemsList.stream().map(PjOrderItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+						if (pjpfFunding.getAvailableAmount().subtract(pjpfFunding.getInterest()).compareTo(amount) < 0) {
+							throw new RuntimeException("可用资金:" + pjpfFunding.getAvailableAmount() + ";资金占用:" + pjpfFunding.getInterest() + ";   出库资金:" + amount + ";    请充值后,在生成任务");
+						}
+					}
+					return R.data("该订单明细商品存在融资货物,是否提交出库任务审批?");
+				} else {
+					return R.data(true);
+				}
+			}else{
 				return R.data(true);
 			}
 		} else {
@@ -3688,7 +3692,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			return R.fail(500, "生成系统编号失败");
 		}
 		String statu = sysClient.getParamService("whether.financing");
-		String financingBrand = sysClient.getParamService("financing.brand");
+//		String financingBrand = sysClient.getParamService("financing.brand");
 		if (order.getBsType().equals(OrderTypeEnum.SALES.getType())) {//销售
 			if (ObjectUtils.isNotNull(statu) && "1".equals(statu)) {
 				if (ObjectUtils.isNull(order.getStorageId())) {
@@ -3803,7 +3807,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					BigDecimal balanceQuantity = new BigDecimal("0.00");
 					BigDecimal inventoryAmount = new BigDecimal("0.00");
 					BigDecimal rebateInventoryAmount = new BigDecimal("0.00");
-					item.setSendNum(new BigDecimal("0.00"));
+//					item.setSendNum(new BigDecimal("0.00"));
 					/*if (new BigDecimal("0.00").compareTo(item.getPrice()) == 0) {
 						throw new RuntimeException("商品:" + item.getGoodsName() + "单价为零");
 					}*/
@@ -3940,10 +3944,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				order.setSalesAmount(new BigDecimal("0.00"));
 				order.setTotalMoney(new BigDecimal("0.00"));
 			}
-		} else if (order.getBsType().equals(OrderTypeEnum.PURCHASE.getType())) {
+		}
+		else if (order.getBsType().equals(OrderTypeEnum.PURCHASE.getType())) {
 			//采购
 			if (ObjectUtils.isNotNull(order.getStorageId())) {
-				order.setStorageName(storageDescMapper.selectById(order.getStorageId()).getCname());
+				PjStorageDesc storageDesc = storageDescMapper.selectById(order.getStorageId());
+				if (storageDesc != null && "0".equals(storageDesc.getWhetherFinancing())){
+					order.setStorageName(storageDesc.getCname());
+				}else{
+					throw new RuntimeException("请选择自有仓库");
+				}
 			}
 			if (order.getId() == null) {
 				order.setOrdNo(billNo);
@@ -3996,9 +4006,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					if (ObjectUtil.isEmpty(goodsDesc)) {
 						throw new RuntimeException("商品数据异常");
 					}
-					if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(item.getBrandName())) {
+					/*if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(item.getBrandName())) {
 						throw new RuntimeException("品牌:" + item.getBrandName() + "为融资品牌");
-					}
+					}*/
 					if ("1".equals(goodsDesc.getWhether()) && ObjectUtils.isNull(item.getDot())) {
 						throw new RuntimeException("商品:" + goodsDesc.getCname() + ",请选择批次号");
 					}
@@ -4071,10 +4081,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 				order.setSalesAmount(new BigDecimal("0.00"));
 				order.setTotalMoney(new BigDecimal("0.00"));
 			}
-		} else if (order.getBsType().equals(OrderTypeEnum.FINANCING.getType())) {
+		}
+		else if (order.getBsType().equals(OrderTypeEnum.FINANCING.getType())) {
 			//仓库名称
 			if (ObjectUtils.isNotNull(order.getStorageId())) {
-				order.setStorageName(storageDescMapper.selectById(order.getStorageId()).getCname());
+				PjStorageDesc storageDesc = storageDescMapper.selectById(order.getStorageId());
+				if (storageDesc != null && "1".equals(storageDesc.getWhetherFinancing())){
+					order.setStorageName(storageDesc.getCname());
+				}else{
+					throw new RuntimeException("请选择融资仓库");
+				}
 			}
 			if (order.getId() == null) {
 				order.setOrdNo(billNo);
@@ -4127,9 +4143,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					if (ObjectUtil.isEmpty(goodsDesc)) {
 						throw new RuntimeException("商品数据异常");
 					}
-					if (ObjectUtils.isNotNull(financingBrand) && !financingBrand.contains(item.getBrandName())) {
+					/*if (ObjectUtils.isNotNull(financingBrand) && !financingBrand.contains(item.getBrandName())) {
 						throw new RuntimeException("品牌:" + item.getBrandName() + "非融资品牌");
-					}
+					}*/
 					if ("1".equals(goodsDesc.getWhether()) && ObjectUtils.isNull(item.getDot())) {
 						throw new RuntimeException("商品:" + goodsDesc.getCname() + ",请选择批次号");
 					}

+ 3 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/service/impl/ProductLaunchServiceImpl.java

@@ -253,6 +253,7 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 		List<String> goodsNames = data.stream().map(ProductLaunchImportExcel::getCname).collect(Collectors.toList());
 		List<PjGoodsDesc> pjGoodsDescsList = goodsDescMapper.selectList(new LambdaQueryWrapper<PjGoodsDesc>()
 			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.eq(PjGoodsDesc::getEnableOrNot, 1)
 			.in(PjGoodsDesc::getCname, goodsNames));
 		List<PjGoodsFiles> pjGoodsFilesList = new ArrayList<>();
 		List<PjStockDesc> pjStockDescList = new ArrayList<>();
@@ -744,6 +745,7 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 		List<String> goodsNames = list.stream().map(PjProductLaunch::getCname).collect(Collectors.toList());
 		List<PjGoodsDesc> pjGoodsDescsList = goodsDescMapper.selectList(new LambdaQueryWrapper<PjGoodsDesc>()
 			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.eq(PjGoodsDesc::getEnableOrNot, 1)
 			.in(PjGoodsDesc::getCname, goodsNames));
 		List<PjGoodsFiles> pjGoodsFilesList = new ArrayList<>();
 		List<PjStockDesc> pjStockDescList = new ArrayList<>();
@@ -967,6 +969,7 @@ public class ProductLaunchServiceImpl extends ServiceImpl<ProductLaunchMapper, P
 		List<String> goodsNames = data.stream().map(ProductLaunchImportCodeExcel::getCode).collect(Collectors.toList());
 		List<PjGoodsDesc> pjGoodsDescsList = goodsDescMapper.selectList(new LambdaQueryWrapper<PjGoodsDesc>()
 			.eq(PjGoodsDesc::getIsDeleted, 0)
+			.eq(PjGoodsDesc::getEnableOrNot, 1)
 			.in(PjGoodsDesc::getCode, goodsNames));
 		List<PjGoodsFiles> pjGoodsFilesList = new ArrayList<>();
 		List<PjStockDesc> pjStockDescList = new ArrayList<>();

+ 124 - 127
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/ship/service/impl/ShipServiceImpl.java

@@ -762,7 +762,6 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
 		List<PjStockDesc> pjStockDescArrayList = new ArrayList<>();
 		String status = sysClient.getParamService("whether.financing");
-		String financingBrand = sysClient.getParamService("financing.brand");
 		if (CollectionUtils.isNotEmpty(ship.getShipItemsList())) {
 			List<Long> goodIds = ship.getShipItemsList().stream().map(PjShipItems::getGoodsId).distinct().collect(Collectors.toList());
 			List<PjGoodsDesc> pjGoodsDescList = goodsDescMapper.selectList(new LambdaQueryWrapper<PjGoodsDesc>()
@@ -1214,7 +1213,11 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				}
 			}
 		}*/
-		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
+		PjStorageDesc storageDesc = storageDescMapper.selectById(ship.getStorageId());
+		if (storageDesc == null) {
+			throw new RuntimeException("未找到仓库信息");
+		}
+		if (ObjectUtils.isNotNull(status) && "1".equals(status) && "1".equals(storageDesc.getWhetherFinancing())) {
 			String firstProportion = sysClient.getParamService("first.month.proportion");
 			String secondProportion = sysClient.getParamService("second.month.proportion");
 			PjpfFunding pjpfFunding = pjpfFundingService.getOne(new LambdaQueryWrapper<PjpfFunding>()
@@ -1239,8 +1242,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				.orderByAsc(PjOrder::getBusinesDate)
 			);
 			List<Long> ordIds = orderList.stream().map(PjOrder::getId).collect(Collectors.toList());
-			List<Long> goodsList = shipItemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-				.map(PjShipItems::getGoodsId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			List<Long> goodsList = shipItemsList.stream().map(PjShipItems::getGoodsId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
 			//获取融资采购单明细数据
 			List<PjOrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<PjOrderItems>()
 				.eq(PjOrderItems::getTenantId, AuthUtil.getTenantId())
@@ -1258,8 +1260,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					if (pjpfFunding.getBondAmount().compareTo(pjpfFunding.getPaidAlreadyBondAmount()) > 0) {
 						throw new RuntimeException("已缴保证金不足,出库失败");
 					}
-					BigDecimal amount = shipItemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-						.map(PjShipItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+					BigDecimal amount = shipItemsList.stream().map(PjShipItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 					if (pjpfFunding.getAvailableAmount().subtract(pjpfFunding.getInterest()).compareTo(amount) < 0) {
 						throw new RuntimeException("剩余可用资金:" + pjpfFunding.getAvailableAmount().subtract(pjpfFunding.getInterest()) + "小于本次出库金额:" + amount + ",出库失败");
 					}
@@ -1277,87 +1278,85 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				if (ObjectUtils.isNull(shipItems.getCostprie()) || shipItems.getCostprie().compareTo(new BigDecimal("0.00")) == 0) {
 					throw new RuntimeException("获取数据失败,请重新生成出库工单");
 				}
-				if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(shipItems.getBrandName())) {
-					BigDecimal number = shipItems.getSendNum();
-					//获取出库明细商品对应融资采购商品明细
-					List<PjOrderItems> orderItemList = orderItemsList.stream().filter(e -> e.getGoodsId().equals(shipItems.getGoodsId())).collect(Collectors.toList());
-					List<FinancingShipItemDto> mapList = new ArrayList<>();
-					if (number.compareTo(new BigDecimal("0.00")) > 0) {
-						//采购商品明细循环
-						for (PjOrderItems orderItems1 : orderItemList) {
-							if (orderItems1.getGoodsId().equals(shipItems.getGoodsId())) {
-								//记录出库明细对应融资采购单据
-								ShipItemsRecord shipItemsRecord = new ShipItemsRecord();
-								shipItemsRecord.setBillNo(ship.getBillno());
-								shipItemsRecord.setPid(shipItems.getPid());
-								shipItemsRecord.setItemId(shipItems.getId());
-								shipItemsRecord.setSrcId(orderItems1.getPid());
-								shipItemsRecord.setSrcItemId(orderItems1.getId());
-								shipItemsRecord.setSrcOrd(orderItems1.getBillNo());
-								shipItemsRecord.setCreateUser(AuthUtil.getUserId());
-								shipItemsRecord.setCreateUserName(AuthUtil.getUserName());
-								shipItemsRecord.setCreateTime(new Date());
-								//记录具体出库数量,来源融资采购明细
-								FinancingShipItemDto financingShipItemDto = new FinancingShipItemDto();
-								financingShipItemDto.setId(orderItems1.getId());
-								financingShipItemDto.setPid(orderItems1.getPid());
-								financingShipItemDto.setItemId(shipItems.getId());
-								BigDecimal subNum = orderItems1.getSendNum().subtract(orderItems1.getOutGoodsTotalShipNum());
-								//剩余数量 = 入库数量-已出数量
-								//修改明细出库数量
-								if (new BigDecimal("0.00").compareTo(subNum) != 0) {
-									if (number.compareTo(subNum) > 0) {
-										financingShipItemDto.setNum(subNum);
-										financingShipItemDto.setAmount(subNum.multiply(orderItems1.getPrice()));
-										shipItemsRecord.setNum(subNum);
-										shipItemsRecord.setAmount(subNum.multiply(orderItems1.getPrice()));
-										//本次出库数量大于剩余数量  融资采购明细出库数量=入库数量
-										orderItems1.setOutGoodsTotalShipNum(orderItems1.getSendNum());
-										orderItems1.setThisOutGoodsTotalShipNum(subNum);
-										orderItems1.setOutGoodsTotalShipAmount(orderItems1.getOutGoodsTotalShipNum().multiply(orderItems1.getPrice()));
-										orderItems1.setThisOutGoodsTotalShipAmount(subNum.multiply(orderItems1.getPrice()));
-										number = number.subtract(subNum);
-									} else if (number.compareTo(subNum) == 0) {
-										financingShipItemDto.setNum(subNum);
-										financingShipItemDto.setAmount(subNum.multiply(orderItems1.getPrice()));
-										shipItemsRecord.setNum(subNum);
-										shipItemsRecord.setAmount(subNum.multiply(orderItems1.getPrice()));
-										//本次出库数量等于剩余数量  融资采购明细出库数量=入库数量
-										orderItems1.setOutGoodsTotalShipNum(orderItems1.getSendNum());
-										orderItems1.setThisOutGoodsTotalShipNum(subNum);
-										orderItems1.setOutGoodsTotalShipAmount(orderItems1.getOutGoodsTotalShipNum().multiply(orderItems1.getPrice()));
-										orderItems1.setThisOutGoodsTotalShipAmount(subNum.multiply(orderItems1.getPrice()));
-										number = new BigDecimal("0.00");
-									} else {
-										financingShipItemDto.setNum(number);
-										financingShipItemDto.setAmount(number.multiply(orderItems1.getPrice()));
-										shipItemsRecord.setNum(number);
-										shipItemsRecord.setAmount(number.multiply(orderItems1.getPrice()));
-										//本次出库数量小于剩余数量  融资采购明细出库数量=入库数量-本次出库数量
-										orderItems1.setOutGoodsTotalShipNum(orderItems1.getOutGoodsTotalShipNum().add(number));
-										orderItems1.setThisOutGoodsTotalShipNum(number);
-										orderItems1.setOutGoodsTotalShipAmount(orderItems1.getOutGoodsTotalShipNum().multiply(orderItems1.getPrice()));
-										orderItems1.setThisOutGoodsTotalShipAmount(number.multiply(orderItems1.getPrice()));
-										number = new BigDecimal("0.00");
-									}
-									mapList.add(financingShipItemDto);
-									recordList.add(shipItemsRecord);
+				BigDecimal number = shipItems.getSendNum();
+				//获取出库明细商品对应融资采购商品明细
+				List<PjOrderItems> orderItemList = orderItemsList.stream().filter(e -> e.getGoodsId().equals(shipItems.getGoodsId())).collect(Collectors.toList());
+				List<FinancingShipItemDto> mapList = new ArrayList<>();
+				if (number.compareTo(new BigDecimal("0.00")) > 0) {
+					//采购商品明细循环
+					for (PjOrderItems orderItems1 : orderItemList) {
+						if (orderItems1.getGoodsId().equals(shipItems.getGoodsId())) {
+							//记录出库明细对应融资采购单据
+							ShipItemsRecord shipItemsRecord = new ShipItemsRecord();
+							shipItemsRecord.setBillNo(ship.getBillno());
+							shipItemsRecord.setPid(shipItems.getPid());
+							shipItemsRecord.setItemId(shipItems.getId());
+							shipItemsRecord.setSrcId(orderItems1.getPid());
+							shipItemsRecord.setSrcItemId(orderItems1.getId());
+							shipItemsRecord.setSrcOrd(orderItems1.getBillNo());
+							shipItemsRecord.setCreateUser(AuthUtil.getUserId());
+							shipItemsRecord.setCreateUserName(AuthUtil.getUserName());
+							shipItemsRecord.setCreateTime(new Date());
+							//记录具体出库数量,来源融资采购明细
+							FinancingShipItemDto financingShipItemDto = new FinancingShipItemDto();
+							financingShipItemDto.setId(orderItems1.getId());
+							financingShipItemDto.setPid(orderItems1.getPid());
+							financingShipItemDto.setItemId(shipItems.getId());
+							BigDecimal subNum = orderItems1.getSendNum().subtract(orderItems1.getOutGoodsTotalShipNum());
+							//剩余数量 = 入库数量-已出数量
+							//修改明细出库数量
+							if (new BigDecimal("0.00").compareTo(subNum) != 0) {
+								if (number.compareTo(subNum) > 0) {
+									financingShipItemDto.setNum(subNum);
+									financingShipItemDto.setAmount(subNum.multiply(orderItems1.getPrice()));
+									shipItemsRecord.setNum(subNum);
+									shipItemsRecord.setAmount(subNum.multiply(orderItems1.getPrice()));
+									//本次出库数量大于剩余数量  融资采购明细出库数量=入库数量
+									orderItems1.setOutGoodsTotalShipNum(orderItems1.getSendNum());
+									orderItems1.setThisOutGoodsTotalShipNum(subNum);
+									orderItems1.setOutGoodsTotalShipAmount(orderItems1.getOutGoodsTotalShipNum().multiply(orderItems1.getPrice()));
+									orderItems1.setThisOutGoodsTotalShipAmount(subNum.multiply(orderItems1.getPrice()));
+									number = number.subtract(subNum);
+								} else if (number.compareTo(subNum) == 0) {
+									financingShipItemDto.setNum(subNum);
+									financingShipItemDto.setAmount(subNum.multiply(orderItems1.getPrice()));
+									shipItemsRecord.setNum(subNum);
+									shipItemsRecord.setAmount(subNum.multiply(orderItems1.getPrice()));
+									//本次出库数量等于剩余数量  融资采购明细出库数量=入库数量
+									orderItems1.setOutGoodsTotalShipNum(orderItems1.getSendNum());
+									orderItems1.setThisOutGoodsTotalShipNum(subNum);
+									orderItems1.setOutGoodsTotalShipAmount(orderItems1.getOutGoodsTotalShipNum().multiply(orderItems1.getPrice()));
+									orderItems1.setThisOutGoodsTotalShipAmount(subNum.multiply(orderItems1.getPrice()));
+									number = new BigDecimal("0.00");
+								} else {
+									financingShipItemDto.setNum(number);
+									financingShipItemDto.setAmount(number.multiply(orderItems1.getPrice()));
+									shipItemsRecord.setNum(number);
+									shipItemsRecord.setAmount(number.multiply(orderItems1.getPrice()));
+									//本次出库数量小于剩余数量  融资采购明细出库数量=入库数量-本次出库数量
+									orderItems1.setOutGoodsTotalShipNum(orderItems1.getOutGoodsTotalShipNum().add(number));
+									orderItems1.setThisOutGoodsTotalShipNum(number);
+									orderItems1.setOutGoodsTotalShipAmount(orderItems1.getOutGoodsTotalShipNum().multiply(orderItems1.getPrice()));
+									orderItems1.setThisOutGoodsTotalShipAmount(number.multiply(orderItems1.getPrice()));
+									number = new BigDecimal("0.00");
 								}
+								mapList.add(financingShipItemDto);
+								recordList.add(shipItemsRecord);
 							}
-							orderItemList1.add(orderItems1);
 						}
+						orderItemList1.add(orderItems1);
 					}
-					if (!mapList.isEmpty()) {
-						ObjectMapper mapper = new ObjectMapper();
-						try {
-							String jsonString = mapper.writeValueAsString(mapList);
-							shipItems.setSrcFinancing(jsonString);
-						} catch (Exception e) {
-							System.err.println(e.getMessage());
-							throw new RuntimeException(e);
-						}
-						allList.addAll(mapList);
+				}
+				if (!mapList.isEmpty()) {
+					ObjectMapper mapper = new ObjectMapper();
+					try {
+						String jsonString = mapper.writeValueAsString(mapList);
+						shipItems.setSrcFinancing(jsonString);
+					} catch (Exception e) {
+						System.err.println(e.getMessage());
+						throw new RuntimeException(e);
 					}
+					allList.addAll(mapList);
 				}
 			}
 			if (!recordList.isEmpty()) {
@@ -1384,7 +1383,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 							.reduce(BigDecimal.ZERO, BigDecimal::add);
 						items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().add(thisSendSum));
 						items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().add(thisSendAmount));
-						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 							//重新计算所有未赎回融资采购,保证金,融资金额
 							if (!"1".equals(items.getWhetherRedeem())) {
 								Date currentDate = new Date();
@@ -1399,10 +1398,8 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 								if (currentDate.compareTo(thirtyDayAgo) > 0) {
 									if (!shipItemsList.isEmpty()) {
 										for (PjShipItems shipItems1 : shipItemsList) {
-											if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(shipItems1.getBrandName())) {
-												if (!itemIdList.isEmpty() && itemIdList.contains(shipItems1.getId())) {
-													shipItems1.setProportion(firstProportion);
-												}
+											if (!itemIdList.isEmpty() && itemIdList.contains(shipItems1.getId())) {
+												shipItems1.setProportion(firstProportion);
 											}
 										}
 									}
@@ -1475,12 +1472,10 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				item.setBondAmount(bondAmountSum);
 				pjpfFundingItemService.save(item);
 				for (PjShipItems shipItems : shipItemsList) {
-					if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(shipItems.getBrandName())) {
-						List<PjOrderItems> orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(shipItems.getSrcItemId())).collect(Collectors.toList());
-						for (PjOrderItems items : orderItems) {
-							items.setProportion(shipItems.getProportion());
-							items.setSrcFinancing(shipItems.getSrcFinancing());
-						}
+					List<PjOrderItems> orderItems = pjOrderItemsList.stream().filter(e -> e.getId().equals(shipItems.getSrcItemId())).collect(Collectors.toList());
+					for (PjOrderItems items : orderItems) {
+						items.setProportion(shipItems.getProportion());
+						items.setSrcFinancing(shipItems.getSrcFinancing());
 					}
 				}
 			}
@@ -1509,7 +1504,6 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		List<PjOrderItems> pjOrderItemsList = new ArrayList<>();
 		List<PjStockDesc> pjStockDescArrayList = new ArrayList<>();
 		String status = sysClient.getParamService("whether.financing");
-		String financingBrand = sysClient.getParamService("financing.brand");
 		if (CollectionUtils.isNotEmpty(ship.getShipItemsList())) {
 			List<Long> goodIds = ship.getShipItemsList().stream().map(PjShipItems::getGoodsId).distinct().collect(Collectors.toList());
 			List<PjGoodsDesc> pjGoodsDescList = goodsDescMapper.selectList(new LambdaQueryWrapper<PjGoodsDesc>()
@@ -1904,7 +1898,11 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			item.setBondAmount(availableAmountSum.abs());
 			pjpfFundingItemService.save(item);
 		}*/
-		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
+		PjStorageDesc storageDesc = storageDescMapper.selectById(ship.getStorageId());
+		if (storageDesc == null) {
+			throw new RuntimeException("未找到仓库信息");
+		}
+		if (ObjectUtils.isNotNull(status) && "1".equals(status) && "1".equals(storageDesc.getWhetherFinancing())) {
 			List<ShipItemsRecord> recordList = shipItemsRecordService.list(new LambdaQueryWrapper<ShipItemsRecord>()
 				.eq(ShipItemsRecord::getIsDeleted, 0)
 				.eq(ShipItemsRecord::getTenantId, AuthUtil.getTenantId())
@@ -1920,8 +1918,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			if (pjpfFunding == null) {
 				throw new RuntimeException("未找到融资总账");
 			}
-			List<String> srcFinancingList = itemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-				.map(PjShipItems::getSrcFinancing).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			List<String> srcFinancingList = itemsList.stream().map(PjShipItems::getSrcFinancing).filter(Objects::nonNull).distinct().collect(Collectors.toList());
 			List<FinancingShipItemDto> financingShipItemDtoList = new ArrayList<>();
 			for (String item : srcFinancingList) {
 				ObjectMapper mapper = new ObjectMapper();
@@ -1962,8 +1959,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				}
 			}
 			orderItemsService.updateBatchById(orderItemsList);
-			BigDecimal amount = itemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-				.map(PjShipItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal amount = itemsList.stream().map(PjShipItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 			pjpfFunding.setAvailableAmount(pjpfFunding.getAvailableAmount().add(amount));
 			BigDecimal bondAmountSum = new BigDecimal("0.00");
 			BigDecimal fundingAmountSum = new BigDecimal("0.00");
@@ -1980,7 +1976,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 						.reduce(BigDecimal.ZERO, BigDecimal::add);
 					items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().subtract(thisSendSum));
 					items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().subtract(thisSendAmount));
-					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 						if (orderIdsList.contains(items.getId())) {
 							if (!"1".equals(items.getWhetherRedeem())) {
 								Date currentDate = new Date();
@@ -2048,9 +2044,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 								if (currentDate.compareTo(thirtyDayAgo) > 0) {
 									if (!shipItems.isEmpty()) {
 										for (PjShipItems shipItems1 : itemsList) {
-											if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(shipItems1.getBrandName())) {
-												shipItems1.setProportion(firstProportion);
-											}
+											shipItems1.setProportion(firstProportion);
 										}
 									}
 									String[] arr = firstProportion.split(":");
@@ -2068,9 +2062,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 								} else {
 									if (!shipItems.isEmpty()) {
 										for (PjShipItems shipItems1 : shipItems) {
-											if (ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(shipItems1.getBrandName())) {
-												shipItems1.setProportion(secondProportion);
-											}
+											shipItems1.setProportion(secondProportion);
 										}
 									}
 									String[] arr = secondProportion.split(":");
@@ -2584,7 +2576,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				}
 			}
 		}
-		String status = sysClient.getParamService("whether.financing");
+		/*String status = sysClient.getParamService("whether.financing");
 		String financingBrand = sysClient.getParamService("financing.brand");
 		if (ObjectUtils.isNotNull(status) && "1".equals(status) && ship.getBizTypeName().equals(OrderTypeEnum.TKSHGD.getType())) {
 			String firstProportion = sysClient.getParamService("first.month.proportion");
@@ -2652,7 +2644,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 						.reduce(BigDecimal.ZERO, BigDecimal::add);
 					items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().subtract(thisSendSum));
 					items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().subtract(thisSendAmount));
-					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 						if (orderIdsList.contains(items.getId())) {
 							if (!"1".equals(items.getWhetherRedeem())) {
 								Date currentDate = new Date();
@@ -2754,7 +2746,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			item.setBondAmount(bondAmountSum);
 			item.setFundingAmount(fundingAmountSum);
 			pjpfFundingItemService.save(item);
-		}
+		}*/
 
 		return R.data(ship);
 	}
@@ -3164,7 +3156,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		} else {
 			throw new RuntimeException("数据异常请联系管理员");
 		}
-		String status = sysClient.getParamService("whether.financing");
+		/*String status = sysClient.getParamService("whether.financing");
 		String financingBrand = sysClient.getParamService("financing.brand");
 		//融资流程
 		if (ObjectUtils.isNotNull(status) && "1".equals(status) && ship.getBizTypeName().equals(OrderTypeEnum.TKSHGD.getType())) {
@@ -3332,7 +3324,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 							.reduce(BigDecimal.ZERO, BigDecimal::add);
 						items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().add(thisSendSum));
 						items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().add(thisSendAmount));
-						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 							//重新计算所有未赎回融资采购,保证金,融资金额
 							if (!"1".equals(items.getWhetherRedeem())) {
 								Date currentDate = new Date();
@@ -3413,7 +3405,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					}
 				}
 			}
-		}
+		}*/
 		return R.data(ship);
 	}
 
@@ -4208,7 +4200,11 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		saveHistory(ship.getId(), OrderTypeEnum.OURTBOUND.getType());
 		String status = sysClient.getParamService("whether.financing");
 		//融资流程
-		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
+		PjStorageDesc storageDesc = storageDescMapper.selectById(ship.getStorageId());
+		if (storageDesc == null) {
+			throw new RuntimeException("未找到仓库信息");
+		}
+		if (ObjectUtils.isNotNull(status) && "1".equals(status) && "1".equals(storageDesc.getWhetherFinancing())) {
 			String firstProportion = sysClient.getParamService("first.month.proportion");
 			String secondProportion = sysClient.getParamService("second.month.proportion");
 			PjpfFunding pjpfFunding = pjpfFundingService.getOne(new LambdaQueryWrapper<PjpfFunding>()
@@ -4374,7 +4370,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 							.reduce(BigDecimal.ZERO, BigDecimal::add);
 						items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().add(thisSendSum));
 						items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().add(thisSendAmount));
-						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 							//重新计算所有未赎回融资采购,保证金,融资金额
 							if (!"1".equals(items.getWhetherRedeem())) {
 								Date currentDate = new Date();
@@ -4622,8 +4618,11 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		//生成出库工单历史记录
 		saveHistory(ship.getId(), OrderTypeEnum.TOBESHIPPEDOUT.getType());
 		String status = sysClient.getParamService("whether.financing");
-		String financingBrand = sysClient.getParamService("financing.brand");
-		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
+		PjStorageDesc storageDesc = storageDescMapper.selectById(ship.getStorageId());
+		if (storageDesc == null) {
+			throw new RuntimeException("未找到仓库信息");
+		}
+		if (ObjectUtils.isNotNull(status) && "1".equals(status) && "1".equals(storageDesc.getWhetherFinancing())) {
 			List<ShipItemsRecord> recordList = shipItemsRecordService.list(new LambdaQueryWrapper<ShipItemsRecord>()
 				.eq(ShipItemsRecord::getIsDeleted, 0)
 				.eq(ShipItemsRecord::getTenantId, AuthUtil.getTenantId())
@@ -4639,8 +4638,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			if (pjpfFunding == null) {
 				throw new RuntimeException("未找到融资总账");
 			}
-			List<String> srcFinancingList = itemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-				.map(PjShipItems::getSrcFinancing).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			List<String> srcFinancingList = itemsList.stream().map(PjShipItems::getSrcFinancing).filter(Objects::nonNull).distinct().collect(Collectors.toList());
 			List<FinancingShipItemDto> financingShipItemDtoList = new ArrayList<>();
 			for (String item : srcFinancingList) {
 				ObjectMapper mapper = new ObjectMapper();
@@ -4681,8 +4679,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 				}
 			}
 			orderItemsService.updateBatchById(orderItemsList);
-			BigDecimal amount = itemsList.stream().filter(e -> ObjectUtils.isNotNull(financingBrand) && financingBrand.contains(e.getBrandName()))
-				.map(PjShipItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+			BigDecimal amount = itemsList.stream().map(PjShipItems::getCostprie).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 			pjpfFunding.setAvailableAmount(pjpfFunding.getAvailableAmount().add(amount));
 			BigDecimal bondAmountSum = new BigDecimal("0.00");
 			BigDecimal fundingAmountSum = new BigDecimal("0.00");
@@ -4697,7 +4694,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 						.reduce(BigDecimal.ZERO, BigDecimal::add);
 					items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().subtract(thisSendSum));
 					items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().subtract(thisSendAmount));
-					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 						if (!"1".equals(items.getWhetherRedeem())) {
 							Date currentDate = new Date();
 							Calendar calendar = Calendar.getInstance();
@@ -5212,7 +5209,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			orderRecord.setStatus(ship.getStatusName());
 			orderRecordService.save(orderRecord);
 		}
-		String status = sysClient.getParamService("whether.financing");
+		/*String status = sysClient.getParamService("whether.financing");
 		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
 			String firstProportion = sysClient.getParamService("first.month.proportion");
 			String secondProportion = sysClient.getParamService("second.month.proportion");
@@ -5275,7 +5272,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 						.reduce(BigDecimal.ZERO, BigDecimal::add);
 					items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().subtract(thisSendSum));
 					items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().subtract(thisSendAmount));
-					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+					if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 						if (!"1".equals(items.getWhetherRedeem())) {
 							Date currentDate = new Date();
 							Calendar calendar = Calendar.getInstance();
@@ -5340,7 +5337,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 			item.setBondAmount(bondAmountSum);
 			item.setFundingAmount(fundingAmountSum);
 			pjpfFundingItemService.save(item);
-		}
+		}*/
 
 		return R.data(ship);
 	}
@@ -5522,7 +5519,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 		} else {
 			throw new RuntimeException("数据异常请联系管理员");
 		}
-		String status = sysClient.getParamService("whether.financing");
+		/*String status = sysClient.getParamService("whether.financing");
 		if (ObjectUtils.isNotNull(status) && "1".equals(status)) {
 			String firstProportion = sysClient.getParamService("first.month.proportion");
 			String secondProportion = sysClient.getParamService("second.month.proportion");
@@ -5684,7 +5681,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 							.reduce(BigDecimal.ZERO, BigDecimal::add);
 						items.setOutGoodsTotalShipNum(items.getOutGoodsTotalShipNum().add(thisSendSum));
 						items.setOutGoodsTotalShipAmount(items.getOutGoodsTotalShipAmount().add(thisSendAmount));
-						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0){
+						if (ObjectUtils.isNotNull(items.getSalesAmount()) && new BigDecimal("0.00").compareTo(items.getSalesAmount()) != 0) {
 							//重新计算所有未赎回融资采购,保证金,融资金额
 							if (!"1".equals(items.getWhetherRedeem())) {
 								Date currentDate = new Date();
@@ -5763,7 +5760,7 @@ public class ShipServiceImpl extends ServiceImpl<ShipMapper, PjShip> implements
 					}
 				}
 			}
-		}
+		}*/
 		return R.data(ship);
 	}
 

+ 16 - 16
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/statistics/service/impl/StatisticsServiceImpl.java

@@ -647,37 +647,37 @@ public class StatisticsServiceImpl implements IStatisticsService {
 
 			BigDecimal goodsNumActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getGoodsNum).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal subTotalMoneyActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getSubTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal costprieActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getCostprie).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal profitActual = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getProfit).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal freight = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal outGoodsTotalShipNum = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getOutGoodsTotalShipNum).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal outGoodsTotalShipAmount = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getOutGoodsTotalShipAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal primaryGoodsTotalNum = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getPrimaryGoodsTotalNum).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal primaryGoodsTotalMoney = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getPrimaryGoodsTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal surplusNum = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getSurplusNum).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 			BigDecimal surplusAmount = saleDetailDtoList.stream().filter(e -> !"已取消".equals(e.getStatus()) && !"已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getSurplusAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
-				.setScale(0, RoundingMode.HALF_UP).abs();
+				.setScale(0, RoundingMode.HALF_UP);
 
 			BigDecimal freightReturns = saleDetailDtoList.stream().filter(e -> "已完成".equals(e.getStatus()))
 				.map(SaleDetailDto::getFreight).reduce(BigDecimal.ZERO, BigDecimal::add)
@@ -729,11 +729,11 @@ public class StatisticsServiceImpl implements IStatisticsService {
 				map.put("surplusNum", surplusNum);
 				map.put("surplusAmount", surplusAmount);
 			} else {
-				map.put("goodsSum", goodsNumActual.add(goodsNumCancel));
-				map.put("amount", subTotalMoneyActual.add(subTotalMoneyCancel));
-				map.put("costprie", costprieActual.add(costprieCancel));
-				map.put("profit", profitActual.add(profitCancel));
-				map.put("freight", freight.subtract(freightCancel).subtract(freightReturns));
+				map.put("goodsSum", goodsNumActual.abs().add(goodsNumCancel));
+				map.put("amount", subTotalMoneyActual.abs().add(subTotalMoneyCancel));
+				map.put("costprie", costprieActual.abs().add(costprieCancel));
+				map.put("profit", profitActual.abs().add(profitCancel));
+				map.put("freight", freight.abs().subtract(freightCancel).subtract(freightReturns));
 				map.put("goodsSumCancellation", goodsNumCancel.add(goodsNumReturns));
 				map.put("amountCancellation", subTotalMoneyCancel.add(subTotalMoneyReturns));
 				map.put("costprieCancellation", costprieCancel.add(costprieReturns));

+ 3 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/storage/controller/StorageDescController.java

@@ -27,6 +27,7 @@ import lombok.AllArgsConstructor;
 
 import javax.validation.Valid;
 
+import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -140,6 +141,7 @@ public class StorageDescController extends BladeController {
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入storageDesc")
+	@RepeatSubmit
 	public R submit(@Valid @RequestBody PjStorageDesc storageDesc) {
 		if (StringUtils.isNotBlank(storageDesc.getTenantId())) {
 			storageDesc.setTenantId(AuthUtil.getTenantId());
@@ -155,6 +157,7 @@ public class StorageDescController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		if (!AuthUtil.getUserRole().contains("admin")) {
 			throw new RuntimeException("暂无权限,删除失败");

+ 12 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/storage/service/impl/StorageDescServiceImpl.java

@@ -17,12 +17,15 @@
 package org.springblade.salesPart.storage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.salesPart.entity.PjStorageDesc;
 import org.springblade.salesPart.vo.StorageDescVO;
 import org.springblade.salesPart.storage.mapper.StorageDescMapper;
 import org.springblade.salesPart.storage.service.IStorageDescService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
@@ -35,8 +38,11 @@ import java.util.Date;
  * @since 2023-04-21
  */
 @Service
+@AllArgsConstructor
 public class StorageDescServiceImpl extends ServiceImpl<StorageDescMapper, PjStorageDesc> implements IStorageDescService {
 
+	private final ISysClient sysClient;
+
 	/**
 	 * 获取仓库详情
 	 *
@@ -62,6 +68,12 @@ public class StorageDescServiceImpl extends ServiceImpl<StorageDescMapper, PjSto
 	 */
 	@Override
 	public PjStorageDesc saveMessage(PjStorageDesc storageDesc) {
+		String status = sysClient.getParamService("whether.financing");
+		if (ObjectUtils.isNull(status) || "0".equals(status)) {
+			if ("1".equals(storageDesc.getWhetherFinancing())){
+				throw new RuntimeException("融资未开启,仓库为自有");
+			}
+		}
 		if (storageDesc.getId() == null){
 			storageDesc.setCreateUser(AuthUtil.getUserId());
 			storageDesc.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));

+ 1 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -29,6 +29,7 @@ import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.BladeTenantProperties;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.BladeConstant;
@@ -495,7 +496,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 
 		return baseMapper.selectList(new LambdaQueryWrapper<User>()
 			.eq(User::getIsDeleted, 0)
-			.eq(User::getTenantId, AuthUtil.getTenantId())
 			.apply("find_in_set(id,'" + userIds + "')"));
 	}
 

Some files were not shown because too many files changed in this diff