Browse Source

2024年3月28日17:31:25

纪新园 1 year ago
parent
commit
3d7b504df2

+ 4 - 4
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FeeSummaryDetailNotRC.java

@@ -27,13 +27,13 @@ public class FeeSummaryDetailNotRC {
 	@ExcelProperty(value = "航次")
 	private String voyageNo;
 	@ExcelProperty(value = "开船日期")
-	private BigDecimal etd;
+	private String etd;
 	@ExcelProperty(value = "提单号")
-	private BigDecimal mblNo;
+	private String mblNo;
 	@ExcelProperty(value = "起运港")
-	private BigDecimal pod;
+	private String pod;
 	@ExcelProperty(value = "目的港")
-	private BigDecimal pol;
+	private String pol;
 	@ExcelProperty(value = "汇率")
 	private BigDecimal rate;
 	@ExcelProperty(value = "箱型箱量")

+ 4 - 4
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FeeSummaryDetailNotRD.java

@@ -27,7 +27,7 @@ public class FeeSummaryDetailNotRD {
 	@ExcelProperty(value = "航次")
 	private String voyageNo;
 	@ExcelProperty(value = "开船日期")
-	private BigDecimal etd;
+	private String etd;
 	@ExcelProperty(value = "提单号")
 	private String mblNo;
 	@ExcelProperty(value = "起运港")
@@ -35,7 +35,7 @@ public class FeeSummaryDetailNotRD {
 	@ExcelProperty(value = "目的港")
 	private String pol;
 	@ExcelProperty(value = "汇率")
-	private String rate;
+	private BigDecimal rate;
 	@ExcelProperty(value = "箱型箱量")
 	private String quantityCntrDescr;
 	@ExcelProperty(value = "美元")
@@ -51,8 +51,8 @@ public class FeeSummaryDetailNotRD {
 	@ExcelProperty(value = "未开RMB")
 	private BigDecimal amountInvoicingNot;
 	@ExcelProperty(value = "业务员")
-	private BigDecimal srcCnName;
+	private String srcCnName;
 	@ExcelProperty(value = "操作员")
-	private BigDecimal operatorName;
+	private String operatorName;
 
 }

+ 6 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjProductLaunch.java

@@ -310,4 +310,10 @@ public class PjProductLaunch implements Serializable {
 	 */
 	@TableField(exist = false)
 	private String whetherIntegral;
+
+	/**
+	 * 库存是否为零
+	 */
+	@TableField(exist = false)
+	private String whether;
 }

+ 5 - 4
blade-service/blade-client/src/main/java/org/springblade/client/wechat/controller/WechatController.java

@@ -89,10 +89,11 @@ public class WechatController {
 			String response = HttpUtil.get(requestUrl);
 			JSONObject jsonObject = JSONObject.parseObject(response);
 			String openid = String.valueOf(jsonObject.get("openid"));
+			String unionid = String.valueOf(jsonObject.get("unionid"));
 			// 获取解密所需的session_key
-			String session_key = String.valueOf(jsonObject.get("session_key"));
+//			String session_key = String.valueOf(jsonObject.get("session_key"));
 			// 通过AES解密encryptedData 获取union_id,工具类见下方
-			String encryptedResult = AESUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
+//			String encryptedResult = AESUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
 			/**
 			 * 此处解密之后数据包格式为:
 			 * openid	 string	用户唯一标识
@@ -105,9 +106,9 @@ public class WechatController {
 			 * unionId   string	用户在开放平台的唯一标识符
 			 * watermark JSON	数据水印,包括appid,timestamp字段 为了校验数据的有效性
 			 */
-			JSONObject parseObject = JSONObject.parseObject(encryptedResult);
+//			JSONObject parseObject = JSONObject.parseObject(encryptedResult);
 			// ps:此处一定要注意解密的出来的字段名为驼峰命名的unionId,openId,并非直接授权的unionid
-			String unionid = String.valueOf(parseObject.get("unionId"));
+//			String unionid = String.valueOf(parseObject.get("unionId"));
 			map.put("openid", openid);
 			map.put("unionid", unionid);
 		} catch (Exception e) {

+ 8 - 8
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.xml

@@ -527,12 +527,12 @@
             acc.corp_cn_name corpName,
         </if>
             acc.bill_no billNo,
-            acc.vessel_en_name vesselEnName,
+            acc.vessel_en_name vesselName,
             acc.voyage_no voyageNo,
             acc.mblno mblNo,
-            acc.etd etdDate,
-            acc.pod_en_name podEnName,
-            acc.pol_en_name polEnName,
+            acc.etd etd,
+            acc.pod_en_name pod,
+            acc.pol_en_name pol,
             acc.quantity_cntr_descr quantityCntrDescr,
             SUM(( CASE acc.account_dc WHEN 'D' THEN (acc.amount_dr_usd-stl_amount_dr_usd) WHEN 'C' THEN (acc.amount_cr_usd-stl_amount_cr_usd) ELSE 0 END ) ) AS amountUsdNot,
             SUM(( CASE acc.account_dc WHEN 'D' THEN (acc.amount_dr-acc.stl_amount_dr) WHEN 'C' THEN (acc.amount_cr-acc.stl_amount_cr) ELSE 0 END ) ) AS amountNot,
@@ -617,12 +617,12 @@
             acc.corp_cn_name corpName,
         </if>
         acc.bill_no billNo,
-        acc.vessel_en_name vesselEnName,
+        acc.vessel_en_name vesselName,
         acc.voyage_no voyageNo,
         acc.mblno mblNo,
-        acc.etd etdDate,
-        acc.pod_en_name podEnName,
-        acc.pol_en_name polEnName,
+        acc.etd etd,
+        acc.pod_en_name pod,
+        acc.pol_en_name pol,
         acc.quantity_cntr_descr quantityCntrDescr,
         SUM(( CASE acc.account_dc WHEN 'D' THEN (acc.amount_dr_usd-stl_amount_dr_usd) WHEN 'C' THEN (acc.amount_cr_usd-stl_amount_cr_usd) ELSE 0 END ) ) AS amountUsdNot,
         SUM(( CASE acc.account_dc WHEN 'D' THEN (acc.amount_dr-acc.stl_amount_dr) WHEN 'C' THEN (acc.amount_cr-acc.stl_amount_cr) ELSE 0 END ) ) AS amountNot,

+ 87 - 0
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/controller/FinanceStatisticsController.java

@@ -22,7 +22,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author :jixinyuan
@@ -73,6 +76,31 @@ public class FinanceStatisticsController {
 	}
 
 	/**
+	 * 分页 应收(付)实收(付)汇总合计
+	 */
+	@GetMapping("/feeSummarySum")
+	public R feeSummarySum(FeeSummaryQ feeSummaryQ) {
+		List<FeeSummaryRD> list = statisticAnalysisService.feeSummaryExport(feeSummaryQ);
+		Map<String, BigDecimal> map = new HashMap<>();
+		if (!list.isEmpty()) {
+			map.put("amountUsd", list.stream().map(FeeSummaryRD::getAmountUsd).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amount", list.stream().map(FeeSummaryRD::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountUsdAlready", list.stream().map(FeeSummaryRD::getAmountUsdAlready).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountAlready", list.stream().map(FeeSummaryRD::getAmountAlready).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountUsdNot", list.stream().map(FeeSummaryRD::getAmountUsdNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountNot", list.stream().map(FeeSummaryRD::getAmountNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+		} else {
+			map.put("amountUsd", BigDecimal.ZERO);
+			map.put("amount", BigDecimal.ZERO);
+			map.put("amountUsdAlready", BigDecimal.ZERO);
+			map.put("amountAlready", BigDecimal.ZERO);
+			map.put("amountUsdNot", BigDecimal.ZERO);
+			map.put("amountNot", BigDecimal.ZERO);
+		}
+		return R.data(map);
+	}
+
+	/**
 	 * 应收(付)实收(付)汇总导出
 	 */
 	@GetMapping("/feeSummaryExport")
@@ -94,6 +122,39 @@ public class FinanceStatisticsController {
 	}
 
 	/**
+	 * 分页 应收(付)实收(付)明细表合计
+	 */
+	@GetMapping("/feeSummaryDetailSum")
+	public R feeSummaryDetailSum(FeeSummaryQ feeSummaryQ) {
+		List<FeeSummaryDetailRD> list = statisticAnalysisService.feeSummaryDetailExport(feeSummaryQ);
+		Map<String, BigDecimal> map = new HashMap<>();
+		if (!list.isEmpty()) {
+			map.put("amountUsd", list.stream().map(FeeSummaryDetailRD::getAmountUsd).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amount", list.stream().map(FeeSummaryDetailRD::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountUsdAlready", list.stream().map(FeeSummaryDetailRD::getAmountUsdAlready).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountAlready", list.stream().map(FeeSummaryDetailRD::getAmountAlready).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountUsdNot", list.stream().map(FeeSummaryDetailRD::getAmountUsdNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountNot", list.stream().map(FeeSummaryDetailRD::getAmountNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicingUsd", list.stream().map(FeeSummaryDetailRD::getAmountInvoicingUsd).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicing", list.stream().map(FeeSummaryDetailRD::getAmountInvoicing).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicingUsdNot", list.stream().map(FeeSummaryDetailRD::getAmountInvoicingUsdNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicingNot", list.stream().map(FeeSummaryDetailRD::getAmountInvoicingNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+		} else {
+			map.put("amountUsd", BigDecimal.ZERO);
+			map.put("amount", BigDecimal.ZERO);
+			map.put("amountUsdAlready", BigDecimal.ZERO);
+			map.put("amountAlready", BigDecimal.ZERO);
+			map.put("amountUsdNot", BigDecimal.ZERO);
+			map.put("amountNot", BigDecimal.ZERO);
+			map.put("amountInvoicingUsd", BigDecimal.ZERO);
+			map.put("amountInvoicing", BigDecimal.ZERO);
+			map.put("amountInvoicingUsdNot", BigDecimal.ZERO);
+			map.put("amountInvoicingNot", BigDecimal.ZERO);
+		}
+		return R.data(map);
+	}
+
+	/**
 	 * 应收(付)实收(付)明细表导出
 	 */
 	@GetMapping("/feeSummaryDetailExport")
@@ -115,6 +176,31 @@ public class FinanceStatisticsController {
 	}
 
 	/**
+	 * 分页 未收(付)明细表合计
+	 */
+	@GetMapping("/feeSummaryDetailNotSum")
+	public R feeSummaryDetailNotSum(FeeSummaryQ feeSummaryQ) {
+		List<FeeSummaryDetailNotRD> list = statisticAnalysisService.feeSummaryDetailExportNot(feeSummaryQ);
+		Map<String, BigDecimal> map = new HashMap<>();
+		if (!list.isEmpty()) {
+			map.put("amountUsdNot", list.stream().map(FeeSummaryDetailNotRD::getAmountUsdNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountNot", list.stream().map(FeeSummaryDetailNotRD::getAmountNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicingUsd", list.stream().map(FeeSummaryDetailNotRD::getAmountInvoicingUsd).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicing", list.stream().map(FeeSummaryDetailNotRD::getAmountInvoicing).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicingUsdNot", list.stream().map(FeeSummaryDetailNotRD::getAmountInvoicingUsdNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+			map.put("amountInvoicingNot", list.stream().map(FeeSummaryDetailNotRD::getAmountInvoicingNot).reduce(BigDecimal.ZERO, BigDecimal::add));
+		} else {
+			map.put("amountUsdNot", BigDecimal.ZERO);
+			map.put("amountNot", BigDecimal.ZERO);
+			map.put("amountInvoicingUsd", BigDecimal.ZERO);
+			map.put("amountInvoicing", BigDecimal.ZERO);
+			map.put("amountInvoicingUsdNot", BigDecimal.ZERO);
+			map.put("amountInvoicingNot", BigDecimal.ZERO);
+		}
+		return R.data(map);
+	}
+
+	/**
 	 * 未收(付)明细表导出
 	 */
 	@GetMapping("/feeSummaryDetailExportNot")
@@ -126,6 +212,7 @@ public class FinanceStatisticsController {
 			ExcelUtil.export(response, "未付明细表", "未付明细表", BeanUtil.copy(list, FeeSummaryDetailNotRC.class), FeeSummaryDetailNotRC.class);
 		}
 	}
+
 	/**
 	 * 分页账龄分析
 	 */

+ 8 - 4
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

@@ -100,7 +100,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		BigDecimal exrateC = bCurrencyService.getCnyExrate("USD", "C");
 		BigDecimal exrateD = bCurrencyService.getCnyExrate("USD", "D");
 		//是否合并amend费用  true 合并  false 不合并
-		if (ObjectUtils.isNotNull(financeProfit.getMergeAmendFee())) {
+		if ("1".equals(financeProfit.getMergeAmendFee())) {
 			financeProfitList = financeProfitMapper.financeProfit(financeProfit, page);
 			String billNo = financeProfitList.stream().map(FinanceProfitDtoList::getBillNo).filter(Objects::nonNull).distinct().collect(Collectors.joining(","));
 			LambdaQueryWrapper<Amends> lambdaQueryWrapper = new LambdaQueryWrapper<Amends>()
@@ -263,7 +263,9 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 			}
 			financeProfitList.addAll(financeProfits);
 		} else {
-			financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			if (ObjectUtils.isNotNull(financeProfit.getBillType())) {
+				financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			}
 			financeProfitList = financeProfitMapper.financeProfit(financeProfit, page);
 			/*List<FinanceProfitDtoList> financeProfitListBg = amendsMapper.financeProfit(financeProfit);
 			if (!financeProfitListBg.isEmpty()) {
@@ -705,7 +707,7 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		BigDecimal exrateC = bCurrencyService.getCnyExrate("USD", "C");
 		BigDecimal exrateD = bCurrencyService.getCnyExrate("USD", "D");
 		//是否合并amend费用  true 合并  false 不合并
-		if (ObjectUtils.isNotNull(financeProfit.getMergeAmendFee())) {
+		if ("1".equals(financeProfit.getMergeAmendFee())) {
 			financeProfitList = financeProfitMapper.financeProfitSum(financeProfit);
 			String billNo = financeProfitList.stream().map(FinanceProfitDtoList::getBillNo).filter(Objects::nonNull).distinct().collect(Collectors.joining(","));
 			LambdaQueryWrapper<Amends> lambdaQueryWrapper = new LambdaQueryWrapper<Amends>()
@@ -868,7 +870,9 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 			}
 			financeProfitList.addAll(financeProfits);
 		} else {
-			financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			if (ObjectUtils.isNotNull(financeProfit.getBillType())) {
+				financeProfit.setBillType(financeProfit.getBillType() + ",SEA,SIA,AEA,AIA");
+			}
 			financeProfitList = financeProfitMapper.financeProfitSum(financeProfit);
 		}
 		for (FinanceProfitDtoList item : financeProfitList) {

+ 2 - 2
blade-service/blade-los/src/main/java/org/springblade/los/view/mapper/FinanceProfitMapper.xml

@@ -118,7 +118,7 @@
         <if test='data.srcId != null'>
             and seb.src_id = #{data.srcId}
         </if>
-        <if test="data.examine != null and data.examine != ''">
+        <if test='data.examine != null and data.examine != "" and data.examine == "1"'>
             and seb.status = 3
         </if>
         <if test="data.examineDate != null and data.examineDate != ''">
@@ -221,7 +221,7 @@
         <if test='data.srcId != null'>
             and seb.src_id = #{data.srcId}
         </if>
-        <if test="data.examine != null and data.examine != ''">
+        <if test='data.examine != null and data.examine != "" and data.examine == "1"'>
             and seb.status = 3
         </if>
         <if test="data.examineDate != null and data.examineDate != ''">

+ 3 - 2
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/corps/service/impl/CorpsDescServiceImpl.java

@@ -994,7 +994,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 				baseMapper.updateById(corpsDesc);
 			}
 		}
-		PjShip item = new PjShip();
+		/*PjShip item = new PjShip();
 		//给角色为财务的人发送消息
 		R<String> clientDeptIds = sysClient.getRoleIds(AuthUtil.getTenantId(), "客服");
 		StringBuilder openIds = new StringBuilder();
@@ -1017,6 +1017,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 				item.setDate(date1);
 				item.setGoodsNames("商品json");
 				item.setCustomerName("客户名称");
+				item.setBillno("13456");
 				List<WxMpTemplateData> data = new ArrayList<>();
 				for (WechatMessageConfigurationItem items : res.getData()) {
 					try {
@@ -1044,7 +1045,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 					System.out.println("=========发送返回值=========" + rest);
 				}
 			}
-		}
+		}*/
 		return R.data(corpsDesc);
 	}
 

+ 1 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/payMethod/PayServiceImpl.java

@@ -100,7 +100,7 @@ public class PayServiceImpl implements PayService {
 			} else {
 				paymentDTO.setNotify_url(parameters.getNotifyUrl() + "/api/blade-pay/tongLianPayment/callbackNotify");
 			}
-			paymentDTO.setLimit_pay("no_credit");
+//			paymentDTO.setLimit_pay("no_credit");
 			paymentDTO.setIdno("");
 			paymentDTO.setTruename("");
 			paymentDTO.setAsinfo("");

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

@@ -493,6 +493,9 @@ public class ProductLaunchController extends BladeController {
 				lambdaQueryWrapper.in(PjProductLaunch::getGoodsId, goodsId);
 			}
 		}
+		if ("0".equals(productLaunch.getWhether())) {
+			lambdaQueryWrapper.gt(PjProductLaunch::getInventory, 0);
+		}
 		lambdaQueryWrapper.orderByDesc(PjProductLaunch::getInventory);
 		IPage<PjProductLaunch> pages = productLaunchService.page(Condition.getPage(query), lambdaQueryWrapper);
 

+ 5 - 4
blade-service/blade-weChat/src/main/java/org/springblade/weChat/login/WechatController.java

@@ -88,10 +88,11 @@ public class WechatController {
 			String response = HttpUtil.get(requestUrl);
 			JSONObject jsonObject = JSONObject.parseObject(response);
 			String openid = String.valueOf(jsonObject.get("openid"));
+			String unionid = String.valueOf(jsonObject.get("unionid"));
 			// 获取解密所需的session_key
-			String session_key = String.valueOf(jsonObject.get("session_key"));
+//			String session_key = String.valueOf(jsonObject.get("session_key"));
 			// 通过AES解密encryptedData 获取union_id,工具类见下方
-			String encryptedResult = AESUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
+//			String encryptedResult = AESUtil.decrypt(encryptedData, session_key, iv, "UTF-8");
 			/**
 			 * 此处解密之后数据包格式为:
 			 * openid	 string	用户唯一标识
@@ -104,9 +105,9 @@ public class WechatController {
 			 * unionId   string	用户在开放平台的唯一标识符
 			 * watermark JSON	数据水印,包括appid,timestamp字段 为了校验数据的有效性
 			 */
-			JSONObject parseObject = JSONObject.parseObject(encryptedResult);
+//			JSONObject parseObject = JSONObject.parseObject(encryptedResult);
 			// ps:此处一定要注意解密的出来的字段名为驼峰命名的unionId,openId,并非直接授权的unionid
-			String unionid = String.valueOf(parseObject.get("unionId"));
+//			String unionid = String.valueOf(parseObject.get("unionId"));
 			map.put("openid", openid);
 			map.put("unionid", unionid);
 		} catch (Exception e) {