浏览代码

代码补充

yuansh 8 小时之前
父节点
当前提交
b88b9b91d0

+ 1 - 0
srm-module-code/src/main/java/org/jeecg/modules/afterCode/entity/AfterServiceLogs.java

@@ -54,6 +54,7 @@ public class AfterServiceLogs implements Serializable {
     private Integer status;
 	/**所属部门*/
     @ApiModelProperty(value = "所属部门")
+    @Dict(dictTable = "sys_depart", dicCode = "org_code", dicText = "depart_name")
     private String sysOrgCode;
 	/**删除状态(0-正常,1-已删除)*/
     @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")

+ 22 - 15
srm-module-code/src/main/java/org/jeecg/modules/cuspCode/entity/CuspCustomerProfile.java

@@ -34,8 +34,7 @@ public class CuspCustomerProfile implements Serializable {
     @ApiModelProperty(value = "主键id")
     private String id;
 	/**创建人*/
-    @ApiModelProperty(value = "创建人")
-    private String createBy;
+
     private String sysOrgCode;
 
     //隶属部门
@@ -43,19 +42,7 @@ public class CuspCustomerProfile implements Serializable {
     @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
     private String subordinateDepart;
 
-	/**创建时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "创建时间")
-    private Date createTime;
-	/**更新人*/
-    @ApiModelProperty(value = "更新人")
-    private String updateBy;
-	/**更新时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "更新时间")
-    private Date updateTime;
+
 	/**状态(1-启用,0-停用)*/
 	@Excel(name = "状态(status)", width = 15)
     @ApiModelProperty(value = "状态(1-启用,0-停用)")
@@ -161,4 +148,24 @@ public class CuspCustomerProfile implements Serializable {
 //	@Excel(name = "文件", width = 15)
     @ApiModelProperty(value = "文件")
     private String files;
+
+    @Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+    /**创建时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    @Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    /**更新人*/
+    @ApiModelProperty(value = "更新人")
+    @Excel(name = "最后修改人", width = 15)
+    private String updateBy;
+    /**更新时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新时间")
+    @Excel(name = "最后修改时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
 }

+ 13 - 8
srm-module-code/src/main/java/org/jeecg/modules/cuspCode/vo/CuspCustomerProfilePage.java

@@ -26,24 +26,29 @@ public class CuspCustomerProfilePage {
 	/**主键id*/
 	@ApiModelProperty(value = "主键id")
     private String id;
-	/**创建人*/
-	@ApiModelProperty(value = "创建人")
-    private String createBy;
     private String sysOrgCode;
 
+	@Excel(name = "创建人", width = 15)
+	@ApiModelProperty(value = "创建人")
+	private String createBy;
 	/**创建时间*/
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
 	@ApiModelProperty(value = "创建时间")
-    private Date createTime;
+	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
 	/**更新人*/
 	@ApiModelProperty(value = "更新人")
-    private String updateBy;
+	@Excel(name = "最后修改人", width = 15)
+	private String updateBy;
 	/**更新时间*/
 	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
 	@ApiModelProperty(value = "更新时间")
-    private Date updateTime;
+	@Excel(name = "最后修改时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+	private Date updateTime;
+
+
 	/**删除状态(0-正常,1-已删除)*/
 //	//@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
 	@ApiModelProperty(value = "删除状态(0-正常,1-已删除)")

+ 94 - 2
srm-module-code/src/main/java/org/jeecg/modules/platCode/controller/PlatCommissionOrderController.java

@@ -1,8 +1,11 @@
 package org.jeecg.modules.platCode.controller;
 
+import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.io.IOException;
 import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -13,13 +16,26 @@ import java.util.HashMap;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.enums.WriteDirectionEnum;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
+import com.alibaba.excel.write.metadata.fill.FillWrapper;
 import org.apache.commons.lang.StringUtils;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.common.util.UUIDGenerator;
+import org.jeecg.modules.baseCode.entity.BaseTemplates;
+import org.jeecg.modules.baseCode.service.IBaseTemplatesService;
 import org.jeecg.modules.baseCode.service.ISerialPatternService;
-import org.jeecg.modules.platCode.entity.PlatCommissionContract;
 import org.jeecg.modules.platCode.entity.PlatCommissionOrder;
 import org.jeecg.modules.platCode.service.IPlatCommissionContractService;
 import org.jeecg.modules.saleCode.entity.SaleInvoice;
 import org.jeecg.modules.saleCode.service.ISaleInvoiceService;
+import org.jeecg.modules.system.service.ISysDictService;
+import org.jeecg.modules.utils.ExcelExportUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -38,6 +54,7 @@ import org.jeecg.modules.platCode.service.IPlatCommissionOrderService;
 import org.jeecg.modules.platCode.service.IPlatCommissionOrderProductService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.multipart.MultipartFile;
@@ -68,6 +85,8 @@ public class PlatCommissionOrderController {
 	private IPlatCommissionOrderService platCommissionOrderService;
 	@Autowired
 	private IPlatCommissionOrderProductService platCommissionOrderProductService;
+	 @Autowired
+	 private ISysDictService sysDictService;
 
 	 @Autowired
 	 private IPlatCommissionContractService platCommissionContractService;
@@ -75,7 +94,11 @@ public class PlatCommissionOrderController {
 	 private ISerialPatternService serialPatternService;
 	 @Autowired
 	 private ISaleInvoiceService saleInvoiceService;
-	
+	 @Autowired
+	 private IBaseTemplatesService baseTemplatesService;
+
+	 @Value(value = "${jeecg.path.upload}")
+	 private String uploadpath;
 	/**
 	 * 分页列表查询
 	 *
@@ -537,6 +560,75 @@ public class PlatCommissionOrderController {
       return mv;
     }
 
+
+	 /**
+	  * 这是ExcelUtil.getOutputStream
+	  * 这里就是将文件下载交给了浏览器
+	  *
+	  * @param
+	  * @return
+	  */
+	 public OutputStream getOutputStream(String fileName, HttpServletResponse response) throws Exception {
+		 // 这里文件名如果涉及中文一定要使用URL编码,否则会乱码
+		 String exportFileName = URLEncoder.encode(fileName + ExcelTypeEnum.XLSX.getValue(), StandardCharsets.UTF_8.toString());
+		 response.setContentType("application/force-download");
+		 response.setHeader("Content-Disposition", "attachment;filename=" + exportFileName);
+		 return response.getOutputStream();
+	 }
+
+
+	 /**
+	  * 导出excel
+	  */
+	 @RequestMapping(value = "/exportBillXls")
+	 public void exportBillXls(HttpServletResponse response, PlatCommissionOrder saleOrder) throws Exception {
+		 PlatCommissionOrder platCommissionOrder = platCommissionOrderService.getById(saleOrder.getId());
+		 if(platCommissionOrder==null) {
+		 	throw new JeecgBootException("数据为空");
+		 }
+
+		 BaseTemplates templates = baseTemplatesService.getByTemplateType("佣金订单");
+		 if(platCommissionOrder==null) {
+			 throw new JeecgBootException("佣金订单导出模板不存在");
+		 }
+		 List<PlatCommissionOrderProduct> productList = platCommissionOrderProductService.selectByMainId(saleOrder.getId());
+
+		 int rowNum = 1;
+		 for(PlatCommissionOrderProduct o:productList){
+			 o.setRowNumber(rowNum++);
+		 }
+		 try {
+			 String currencyText = sysDictService.queryDictTextByKey("currency", platCommissionOrder.getCurrency());
+			 platCommissionOrder.setCurrencyText(currencyText);
+
+			 platCommissionOrder.setBillDateText(DateUtils.date2Str(platCommissionOrder.getBillDate(), DateUtils.date_sdf.get()));
+
+			 platCommissionOrder.setCommissionRateText(platCommissionOrder.getCommissionRate().doubleValue() + "%");
+
+			 String templateFilePath = uploadpath + templates.getTemplateFile();//"/template/佣金订单.xlsx";
+			 String tempFilePath = uploadpath + "/" + UUIDGenerator.generate() + ".xlsx";
+
+			 try (ExcelWriter excelWriter = EasyExcel.write(tempFilePath).withTemplate(templateFilePath).build()) {
+				 WriteSheet writeSheet = EasyExcel.writerSheet().build();
+				 FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).forceNewRow(Boolean.TRUE).build();
+				 excelWriter.fill(new FillWrapper(productList), fillConfig, writeSheet);
+				 excelWriter.fill(platCommissionOrder, writeSheet);
+			 }
+			 List<String> noteList = new ArrayList<>();
+//			 productList.forEach(p -> noteList.add(p.getNotes()));
+
+			 ExcelExportUtils.excelInsertRowNotes(getOutputStream("OA - "+platCommissionOrder.getBillCode() + ".xlsx", response),
+					 tempFilePath, 19, noteList, 1, 4);
+
+
+		 }catch (Exception e){
+			 e.printStackTrace();
+			 throw new JeecgBootException("数据异常:"+e.getMessage());
+		 }
+
+	 }
+
+
     /**
     * 通过excel导入数据
     *

+ 10 - 4
srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionOrder.java

@@ -3,10 +3,8 @@ package org.jeecg.modules.platCode.entity;
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import org.jeecg.common.constant.ProvinceCityArea;
 import org.jeecg.common.util.SpringContextUtils;
 import lombok.Data;
@@ -154,4 +152,12 @@ public class PlatCommissionOrder implements Serializable {
 	@Excel(name = "附件(attachs)", width = 15)
     @ApiModelProperty(value = "附件(attachs)")
     private String attachs;
+
+
+    @TableField(exist = false)
+    private String currencyText;
+    @TableField(exist = false)
+    private String commissionRateText;
+    @TableField(exist = false)
+    private String billDateText;
 }

+ 5 - 4
srm-module-code/src/main/java/org/jeecg/modules/platCode/entity/PlatCommissionOrderProduct.java

@@ -1,10 +1,8 @@
 package org.jeecg.modules.platCode.entity;
 
 import java.io.Serializable;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import org.jeecg.common.constant.ProvinceCityArea;
 import org.jeecg.common.util.SpringContextUtils;
 import lombok.Data;
@@ -139,4 +137,7 @@ public class PlatCommissionOrderProduct implements Serializable {
 	@Excel(name = "来源子表", width = 15)
     @ApiModelProperty(value = "来源子表")
     private String sourceId;
+
+    @TableField(exist = false)
+    private Integer rowNumber;
 }

+ 1 - 1
srm-module-code/src/main/java/org/jeecg/modules/saleCode/controller/SaleOrderController.java

@@ -759,7 +759,7 @@ public class SaleOrderController {
             }
 
             QueryWrapper<PurOrder> queryPurOrder = new QueryWrapper();
-            queryPurOrder.eq("source_code", code);
+            queryPurOrder.eq("source_code2", code);
             queryPurOrder.eq("del_flag", "0");
 
             List<PurOrder> listPurOrder = purOrderService.list(queryPurOrder);

+ 10 - 3
srm-module-code/src/main/java/org/jeecg/modules/saleCode/controller/SaleQuotationController.java

@@ -744,9 +744,16 @@ public class SaleQuotationController {
                     BigDecimal dic = o.getDiscount() ==null?BigDecimal.ZERO:o.getDiscount();
                     BigDecimal dis = (new BigDecimal("100").subtract(dic)).divide(new BigDecimal("100"));
 
-                    BigDecimal getSalePrice = o.getSalePrice() == null ? BigDecimal.ZERO : o.getSalePrice();
-                    BigDecimal setTaxPrice = getSalePrice.divide(dis, 2, BigDecimal.ROUND_HALF_UP);//折前价
-                    o.setSalePrice(setTaxPrice);
+
+                    BigDecimal taxPriceOriginal = o.getTaxPriceOriginal();
+                    if(taxPriceOriginal == null){
+
+                        BigDecimal getSalePrice = o.getSalePrice() == null ? BigDecimal.ZERO : o.getSalePrice();
+                        BigDecimal setTaxPrice = getSalePrice.divide(dis, 2, BigDecimal.ROUND_HALF_UP);//折前价
+                        o.setSalePrice(setTaxPrice);
+                    }else{
+                        o.setSalePrice(taxPriceOriginal);
+                    }
                 }
                 saleQuotation.setOrderMoney(orderMoney.setScale(2));