Browse Source

Merge remote-tracking branch 'origin/dev' into dev

纪新园 3 years ago
parent
commit
e004dc8707
21 changed files with 372 additions and 72 deletions
  1. 15 9
      blade-service-api/blade-check-api/src/main/java/org/springblade/check/entity/AuditProecess.java
  2. 5 0
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/vo/CorpsDescVO.java
  3. 13 1
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java
  4. 5 0
      blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java
  5. 5 0
      blade-service-api/blade-mocha-item-api/src/main/java/org/springblade/mocha/entity/PriceBank.java
  6. 6 0
      blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java
  7. 0 40
      blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java
  8. 2 0
      blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java
  9. 60 0
      blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescController.java
  10. 3 3
      blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/PriceItemController.java
  11. 4 0
      blade-service/blade-project/pom.xml
  12. 114 2
      blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java
  13. 54 0
      blade-service/blade-project/src/main/java/org/springblade/project/excel/CommissionExcel.java
  14. 53 0
      blade-service/blade-project/src/main/java/org/springblade/project/excel/StatisticsExcel.java
  15. 0 1
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java
  16. 6 0
      blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java
  17. 8 0
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.java
  18. 5 1
      blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.xml
  19. 8 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/IDictBizService.java
  20. 5 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictBizServiceImpl.java
  21. 1 15
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/PurchaseOrderController.java

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

@@ -51,6 +51,12 @@ public class AuditProecess implements Serializable {
 	*/
 		@ApiModelProperty(value = "业务id")
 		private Long billId;
+
+	/**
+	 * 申请表id
+	 */
+		private Long srcBillId;
+
 	/**
 	* 单据编号
 	*/
@@ -137,7 +143,6 @@ public class AuditProecess implements Serializable {
 		@TableField(exist = false)
 	    private Integer operate;
 
-		private Long srcBillId;
 	    @ApiModelProperty(value = "审批类型")
 		private String processType;
 
@@ -169,26 +174,27 @@ public class AuditProecess implements Serializable {
 	/**
 	 * 订单日期
 	 */
-	@TableField(exist = false)
-	private Date orderDate;
+		@TableField(exist = false)
+		private Date orderDate;
 
 	/**
 	 * 订单号
 	 */
-	@TableField(exist = false)
-	private String orderNo;
+		@TableField(exist = false)
+		private String orderNo;
 
 	/**
 	 * 客户名称
 	 */
-	@TableField(exist = false)
-	private String corpsName;
+		@TableField(exist = false)
+		private String corpsName;
 
 	/**
 	 * 请核人真实姓名
 	 */
-	@TableField(exist = false)
-	private String sendRealName;
+		@TableField(exist = false)
+		private String sendRealName;
+
 	/**
 	 * 数量
 	 */

+ 5 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/vo/CorpsDescVO.java

@@ -21,6 +21,11 @@ import java.util.List;
 public class CorpsDescVO extends CorpsDesc {
 	private static final long serialVersionUID = 1L;
 	/**
+	 * 客户名称
+	 */
+	@ApiModelProperty(value = "客户名称")
+	private String cname;
+	/**
 	 * 客户联系人
 	 */
 	@ApiModelProperty(value = "客户联系人")

+ 13 - 1
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClient.java

@@ -42,7 +42,7 @@ public interface IDictBizClient {
 	String GET_VALUE = API_PREFIX + "/dict-biz/get-value";
 	String GET_LIST = API_PREFIX + "/dict-biz/get-list";
 	String GET_ID = API_PREFIX + "/dict-biz/get-id";
-
+	String GET_ONE_VALUE = API_PREFIX + "/dict-biz/get-one-value";
 	/**
 	 * 获取字典实体
 	 *
@@ -81,4 +81,16 @@ public interface IDictBizClient {
 	@GetMapping(GET_ID)
 	R<Long> getId(@RequestParam("code") String code, @RequestParam("dictKey") String dictKey);
 
+	/**
+	 * 获取字典表某一个对应值
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	@GetMapping(GET_ONE_VALUE)
+	R<String> getOneValue(@RequestParam("code") String code,
+						  @RequestParam("dictKey") String dictKey,
+						  @RequestParam("tenantId") String tenantId);
+
 }

+ 5 - 0
blade-service-api/blade-dict-api/src/main/java/org/springblade/system/feign/IDictBizClientFallback.java

@@ -48,4 +48,9 @@ public class IDictBizClientFallback implements IDictBizClient {
 	public R<Long> getId(String code, String dictKey) {
 		return R.fail("获取数据失败");
 	}
+
+	@Override
+	public R<String> getOneValue(String code, String dictKey, String tenantId) {
+		return R.fail("获取数据失败");
+	}
 }

+ 5 - 0
blade-service-api/blade-mocha-item-api/src/main/java/org/springblade/mocha/entity/PriceBank.java

@@ -225,6 +225,11 @@ public class PriceBank implements Serializable {
 		@ApiModelProperty(value = "美元价格")
 		private BigDecimal greenback;
 	/**
+	 * 美金成本
+	 */
+		@ApiModelProperty(value = "美元成本")
+		private BigDecimal usdCost;
+	/**
 	 * 税率
 	 */
 		@ApiModelProperty(value = "税率")

+ 6 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -185,6 +185,12 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	private Integer taskStatus;
 
 	/**
+	 * 状态名称
+	 */
+	@TableField(exist = false)
+	private String taskStatusName;
+
+	/**
 	 * 提成
 	 */
 	private BigDecimal commission;

+ 0 - 40
blade-service/blade-check/src/main/java/org/springblade/check/controller/AuditProecessController.java

@@ -379,44 +379,4 @@ public class AuditProecessController extends BladeController {
 		return R.success("删除成功");
 	}
 
-	/**
-	 * 审批流记录
-	 * @param auditProecess
-	 * @return
-	 */
-	@GetMapping("/appList")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "app用户审批记录", notes = "传入auditProecess")
-	public R appList(AuditProecess auditProecess) {
-		LambdaQueryWrapper<AuditProecess> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(AuditProecess::getIsDelete, 0);//是否删除
-		lambdaQueryWrapper.like(AuditProecess::getAuditUserId, String.valueOf(AuthUtil.getUserId()));//审核人id
-		lambdaQueryWrapper.eq(StringUtils.isNotBlank(auditProecess.getProcessType()), AuditProecess::getProcessType, auditProecess.getProcessType());//业务类型
-		lambdaQueryWrapper.eq(StringUtils.isNotBlank(auditProecess.getAuditStatus()), AuditProecess::getAuditStatus, auditProecess.getAuditStatus());//审核状态
-		lambdaQueryWrapper.eq(auditProecess.getCorpId() != null, AuditProecess::getCorpId, auditProecess.getCorpId());//往来单位
-		lambdaQueryWrapper.like(StringUtils.isNotBlank(auditProecess.getBillNo()),AuditProecess::getBillNo, auditProecess.getBillNo());//业务编号
-		lambdaQueryWrapper.gt(auditProecess.getApplybegintime() != null, AuditProecess::getSendTime, auditProecess.getApplybegintime());//请核时间
-		lambdaQueryWrapper.le(auditProecess.getApplyendtime() != null, AuditProecess::getSendTime, auditProecess.getApplyendtime());
-		lambdaQueryWrapper.orderByDesc(AuditProecess::getSendTime);
-
-		List<AuditProecess> auditProecessList = auditProecessService.list(lambdaQueryWrapper);
-		if (CollectionUtils.isNotEmpty(auditProecessList)) {
-			auditProecessList.forEach(auditOrderVO -> {
-				//采购销售表相关数据
-				if (auditOrderVO.getBillId() != null) {
-					Order order = orderDescClient.getById(auditOrderVO.getBillId());
-					if (order != null) {
-						auditOrderVO.setOrderDate(order.getCreateTime());
-						auditOrderVO.setOrderNo(order.getOrderNo());
-						auditOrderVO.setAmountReceivable(order.getDebitAmount());
-						if (order.getCorpId() != null ) {
-							auditOrderVO.setCorpsName(corpsDescClient.getCorpMessage(order.getCorpId()).getData().getCname());
-						}
-					}
-				}
-			});
-		}
-		return R.data(auditProecessList);
-	}
-
 }

+ 2 - 0
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java

@@ -28,6 +28,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.finance.vojo.Acc;
 import org.springblade.purchase.sales.entity.Order;
@@ -319,6 +320,7 @@ public class CorpsDescController extends BladeController {
 		LambdaQueryWrapper<CorpsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(CorpsDesc::getTenantId, AuthUtil.getTenantId());
 		lambdaQueryWrapper.eq(CorpsDesc::getIsDeleted, 0);
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(corpsDesc.getCname()), CorpsDesc::getCname, corpsDesc.getCname());
 
 		//获得客户信息
 		List<CorpsDesc> corpsDescList = corpsDescService.list(lambdaQueryWrapper);

+ 60 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescController.java

@@ -33,6 +33,7 @@ import org.springblade.client.goods.excel.GoodsExcel;
 import org.springblade.client.goods.excel.GoodsExcels;
 import org.springblade.client.goods.excel.GoodsInfoExcel;
 import org.springblade.client.goods.excel.GoodsOutExcel;
+import org.springblade.client.goods.mapper.GoodsFilesMapper;
 import org.springblade.client.goods.service.*;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.core.boot.ctrl.BladeController;
@@ -43,6 +44,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.mocha.feign.ISalesPolicyClient;
 import org.springblade.purchase.sales.entity.OrderItems;
 import org.springblade.purchase.sales.feign.IOrderItemsClient;
@@ -92,6 +94,8 @@ public class GoodsDescController extends BladeController {
 
 	private final ICorpsDescService corpsDescService;
 
+	private final GoodsFilesMapper goodsFilesMapper;
+
 	/**
 	 * 详情
 	 */
@@ -476,4 +480,60 @@ public class GoodsDescController extends BladeController {
 			this.selectChildById(item.getId(), idList);
 		});
 	}
+
+
+	/**
+	 * 获得所有商品类别
+	 * @return typeList
+	 */
+	@GetMapping("/goodsTypeList")
+	public R<?> GoodsTypeList() {
+		LambdaQueryWrapper<GoodsType> typeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		typeLambdaQueryWrapper.eq(GoodsType::getTenantId, AuthUtil.getTenantId());
+		typeLambdaQueryWrapper.eq(GoodsType::getIsDeleted, 0);
+		List<GoodsType> typeList = goodsDescType.list(typeLambdaQueryWrapper);
+		return R.data(typeList);
+	}
+
+	/**
+	 * 根据类别id获得属于该类别的所有商品数据
+	 * @param current
+	 * @param size
+	 * @param goodsTypeId 	类型id
+	 * @param cname   		商品名称
+	 * @param typeno		规格编码
+	 * @param brandItem		花纹
+	 * @param brand			品牌
+	 * @return list
+	 */
+	@GetMapping("/getGoodsList")
+	public R<?> getGoodsList(@RequestParam(name = "current", defaultValue = "1") Integer current,
+							 @RequestParam(name = "size", defaultValue = "10") Integer size,
+							 @RequestParam(name = "goodsTypeId", required = false) String goodsTypeId,
+							 @RequestParam(name = "cname", required = false) String cname,
+							 @RequestParam(name = "typeno", required = false) String typeno,
+							 @RequestParam(name = "brandItem", required = false) String brandItem,
+							 @RequestParam(name = "brand", required = false) String brand
+	) {
+		LambdaQueryWrapper<GoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(GoodsDesc::getTenantId, AuthUtil.getTenantId());
+		lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted, 0);
+		lambdaQueryWrapper.eq(StringUtil.isNotBlank(goodsTypeId), GoodsDesc::getGoodsTypeId, goodsTypeId);
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(cname), GoodsDesc::getCname, cname);
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(typeno), GoodsDesc::getTypeno, typeno);
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(brandItem), GoodsDesc::getBrandItem, brandItem);
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(brand), GoodsDesc::getBrand, brand);
+		Page<GoodsDesc> page = new Page<>(current, size);
+		IPage<GoodsDesc> iPage = goodsDescService.page(page, lambdaQueryWrapper);
+
+		iPage.getRecords().forEach(good -> {
+			List<GoodsFiles> filesList = goodsFilesMapper.selectList(new LambdaQueryWrapper<GoodsFiles>()
+				.eq(GoodsFiles::getPid, good.getId())
+				.eq(GoodsFiles::getIsDeleted, 0)
+			);
+			good.setFilesList(filesList);
+		});
+
+		return R.data(iPage);
+	}
 }

+ 3 - 3
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/PriceItemController.java

@@ -215,13 +215,13 @@ public class PriceItemController extends BladeController {
 					}*/
 
 					priceItemList.forEach(e->{
-						BigDecimal saleMoney=BigDecimal.ZERO;
+						BigDecimal saleMoney = BigDecimal.ZERO;
 						BigDecimal reduce=e.getSalesPrice();
 						BigDecimal freight=BigDecimal.ZERO;
 						BigDecimal label=BigDecimal.ZERO;
 							if(isFreight!=null && isFreight==1)
 							{
-								freight=e.getFreightFees();
+								freight = e.getFreightFees();
 							}
 							if(isLabel!=null && isLabel==1)
 							{
@@ -229,7 +229,7 @@ public class PriceItemController extends BladeController {
 							}
 						saleMoney=(reduce.add(freight)).add(label);
 
-						Map<String,BigDecimal> map=new HashMap<>();
+						Map<String,BigDecimal> map = new HashMap<>();
 						map.put("salePrice",saleMoney);
 						mapList.add(map);
 					});

+ 4 - 0
blade-service/blade-project/pom.xml

@@ -84,6 +84,10 @@
             <version>2.8.2.RELEASE</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-starter-excel</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 114 - 2
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -5,24 +5,31 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
 import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.project.entity.ServiceProject;
 import org.springblade.project.entity.ServiceProjectFiles;
 import org.springblade.project.entity.ServiceProjectItem;
+import org.springblade.project.excel.CommissionExcel;
+import org.springblade.project.excel.StatisticsExcel;
 import org.springblade.project.service.ServiceProjectFilesService;
 import org.springblade.project.service.ServiceProjectItemService;
 import org.springblade.project.service.ServiceProjectService;
 import org.springblade.project.utils.DateUtil;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.entity.Tenant;
+import org.springblade.system.feign.IDictBizClient;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.feign.ITenantClient;
 import org.springblade.system.user.entity.User;
@@ -32,6 +39,7 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -56,6 +64,8 @@ public class ProjectController {
 	private ICorpsDescClient corpsDescClient;//获取客户信息
 	@Autowired
 	private ISysClient iSysClient;//部门
+	@Autowired
+	private IDictBizClient iDictBizClient;//状态
 
 
 	@GetMapping("/list")
@@ -800,7 +810,9 @@ public class ProjectController {
 							 @RequestParam(name = "beginEndTime", required = false) String beginEndTime,
 							 @RequestParam(name = "projectType", required = false) Integer projectType,
 							 @RequestParam(name = "branch", required = false) String branch,
-							 @RequestParam(name = "sysNo", required = false) String sysNo
+							 @RequestParam(name = "sysNo", required = false) String sysNo,
+							 @RequestParam(name = "payStartTime", required = false) String payStartTime,
+							 @RequestParam(name = "payEndTime", required = false) String payEndTime
 	) {
 		List<String> listStatus = Arrays.asList(status.split(","));
 
@@ -815,6 +827,8 @@ public class ProjectController {
 			.le(StringUtils.isNotBlank(beginEndTime), ServiceProjectItem::getBeginTime, beginEndTime)
 			.ge(StringUtils.isNotBlank(actualDateStart), ServiceProjectItem::getActualDate, actualDateStart)
 			.le(StringUtils.isNotBlank(actualDateEnd), ServiceProjectItem::getActualDate, actualDateEnd)
+			.ge(StringUtil.isNotBlank(payStartTime), ServiceProjectItem::getPayTime, payStartTime)
+			.le(StringUtil.isNotBlank(payEndTime), ServiceProjectItem::getPayTime, payEndTime)
 			.like(StringUtils.isNotBlank(sysNo), ServiceProjectItem::getSysNo, sysNo)
 			.orderByDesc(ServiceProjectItem::getCreateTime);
 
@@ -892,7 +906,7 @@ public class ProjectController {
 	 * @param beginTimeEnd
 	 * @param actualDateStart
 	 * @param actualDateEnd
-	 * @param corpName
+	 * @param userName
 	 * @param status
 	 * @param branch
 	 * @return
@@ -973,5 +987,103 @@ public class ProjectController {
 		return R.data(serviceProjectItem.getId());
 	}
 
+	/**
+	 * 统计主营业务-任务、提成统计导出
+	 *
+	 * @param beginTimeStart	任务统计开始时间
+	 * @param beginTimeEnd		任务统计结束时间
+	 * @param actualDateStart	提成统计开始时间
+	 * @param actualDateEnd		提成统计结束时间
+	 * @param userName			承做人
+	 * @param taskStatus		状态
+	 * @param branch			任务分支
+	 */
+	@GetMapping("/statisticsExport")
+	@ApiOperation(value = "任务 提成统计导出", notes = "任务 提成统计导出")
+	public void statisticsExport(@RequestParam(name = "beginTimeStart", required = false) String beginTimeStart,
+								 @RequestParam(name = "beginTimeEnd", required = false) String beginTimeEnd,
+								 @RequestParam(name = "actualDateStart", required = false) String actualDateStart,
+								 @RequestParam(name = "actualDateEnd", required = false) String actualDateEnd,
+								 @RequestParam(name = "userName", required = false) String userName,
+								 @RequestParam(name = "taskStatus", required = false) String taskStatus,
+								 @RequestParam(name = "branch") String branch,
+								 @RequestParam(name = "type") String type,
+								 HttpServletResponse response
+	){
+		LambdaQueryWrapper<ServiceProjectItem> itemLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		itemLambdaQueryWrapper
+			.eq(ServiceProjectItem::getTenantId, AuthUtil.getTenantId())
+			.ge(StringUtils.isNotBlank(beginTimeStart), ServiceProjectItem::getBeginTime, beginTimeStart)
+			.le(StringUtils.isNotBlank(beginTimeEnd), ServiceProjectItem::getBeginTime, beginTimeEnd)
+			.ge(StringUtils.isNotBlank(actualDateStart), ServiceProjectItem::getActualDate, actualDateStart)
+			.le(StringUtils.isNotBlank(actualDateEnd), ServiceProjectItem::getActualDate, actualDateEnd);
 
+		// 承做人
+		if (StringUtils.isNotBlank(userName)) {
+			List<User> userList = userClient.userInfoByName(userName, AuthUtil.getTenantId());
+			if (ObjectUtils.isNotNull(userList)) {
+				itemLambdaQueryWrapper.eq(ObjectUtils.isNotNull(userList), ServiceProjectItem::getUserid, userList.get(0).getId());
+			}
+		}
+		if (taskStatus.equals("undefined")){
+			taskStatus = null;
+		}
+		itemLambdaQueryWrapper.orderByDesc(ServiceProjectItem::getUserid)
+			.eq(ServiceProjectItem::getIsDeleted, 0)
+			.eq(StringUtils.isNotBlank(taskStatus), ServiceProjectItem::getStatus, taskStatus)
+			.eq(ServiceProjectItem::getBranch, branch);
+		List<ServiceProjectItem> list = serviceProjectItemService.list(itemLambdaQueryWrapper);
+
+		if (!CollectionUtils.isEmpty(list)) {
+			list.forEach(e -> {
+				Long corpId = serviceProjectService.getOne(new LambdaQueryWrapper<ServiceProject>()
+					.eq(ServiceProject::getId, e.getPId())).getCorpId();
+				R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
+				if (corpMessage.isSuccess() && corpMessage.getData() != null) {
+					e.setCornName(corpMessage.getData().getCname());
+				}
+				//承做人
+				R<User> userR = userClient.userInfoById(e.getUserid());
+				if (userR.isSuccess()) {
+					e.setUserName(userR.getData().getRealName());
+				}
+
+				R<String> taskStatusName = iDictBizClient.getOneValue("task_status", String.valueOf(e.getTaskStatus()), AuthUtil.getTenantId());
+				if (ObjectUtil.isNotEmpty(taskStatusName)){
+					e.setTaskStatusName(taskStatusName.getData());
+				}
+
+			});
+		}
+
+		if (type.equals("RW")){
+			List<StatisticsExcel> excelList = new ArrayList<>();
+			list.forEach(e -> {
+				StatisticsExcel excel = new StatisticsExcel();
+				excel.setUserName(e.getUserName());
+				excel.setBeginTime(e.getBeginTime());
+				excel.setCornName(e.getCornName());
+				excel.setTaskName(e.getPName());
+				excel.setTaskStatus(e.getTaskStatusName());
+				excelList.add(excel);
+			});
+			ExcelUtil.export(response, "任务统计", "任务统计", excelList, StatisticsExcel.class);
+		}else if (type.equals("TC")){
+			List<CommissionExcel> excelList = new ArrayList<>();
+			if (ObjectUtil.isNotEmpty(list)) {
+				list.forEach(e -> {
+					CommissionExcel excel = new CommissionExcel();
+					excel.setUserName(e.getUserName());
+					excel.setBeginTime(e.getActualDate());
+					excel.setCornName(e.getCornName());
+					excel.setTaskName(e.getPName());
+					excel.setCommission(e.getCommission());
+					excelList.add(excel);
+				});
+			}
+			ExcelUtil.export(response, "提成统计", "提成统计", excelList, CommissionExcel.class);
+		}else {
+			throw new RuntimeException("用户无导出权限!");
+		}
+	}
 }

+ 54 - 0
blade-service/blade-project/src/main/java/org/springblade/project/excel/CommissionExcel.java

@@ -0,0 +1,54 @@
+package org.springblade.project.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class CommissionExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 承做人
+	 */
+	@ExcelProperty(value = "承做人")
+	private String userName;
+
+	/**
+	 * 业务日期
+	 */
+	@ExcelProperty(value = "业务日期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date beginTime;
+
+	/**
+	 * 客户名称
+	 */
+	@ExcelProperty(value = "客户名称")
+	private String cornName;
+
+	/**
+	 * 任务名称
+	 */
+	@ExcelProperty(value = "任务名称")
+	private String taskName;
+
+	/**
+	 * 提成金额
+	 */
+	@ExcelProperty(value = "提成金额")
+	private BigDecimal commission;
+}

+ 53 - 0
blade-service/blade-project/src/main/java/org/springblade/project/excel/StatisticsExcel.java

@@ -0,0 +1,53 @@
+package org.springblade.project.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class StatisticsExcel implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 承做人
+	 */
+	@ExcelProperty(value = "承做人")
+	private String userName;
+
+	/**
+	 * 业务日期
+	 */
+	@ExcelProperty(value = "业务日期")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
+	private Date beginTime;
+
+	/**
+	 * 客户名称
+	 */
+	@ExcelProperty(value = "客户名称")
+	private String cornName;
+
+	/**
+	 * 任务名称
+	 */
+	@ExcelProperty(value = "任务名称")
+	private String taskName;
+
+	/**
+	 * 状态
+	 */
+	@ExcelProperty(value = "状态")
+	private String taskStatus;
+}

+ 0 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/controller/OrderController.java

@@ -732,5 +732,4 @@ public class OrderController extends BladeController {
 		return R.data(pages);
 	}
 
-
 }

+ 6 - 0
blade-service/blade-system/src/main/java/org/springblade/system/feign/DictBizClient.java

@@ -66,4 +66,10 @@ public class DictBizClient implements IDictBizClient {
 		return R.data(service.getId(code, dictKey));
 	}
 
+	@Override
+	@GetMapping(GET_ONE_VALUE)
+	public R<String> getOneValue(String code, String dictKey, String tenantId) {
+		return R.data(service.getOneValue(code, dictKey, tenantId));
+	}
+
 }

+ 8 - 0
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.java

@@ -70,4 +70,12 @@ public interface DictBizMapper extends BaseMapper<DictBiz> {
 	 */
 	Long getId(String code, String dictKey);
 
+	/**
+	 * 获取字典表某一个对应值
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	String getOneValue(String code, String dictKey, String tenantId);
 }

+ 5 - 1
blade-service/blade-system/src/main/java/org/springblade/system/mapper/DictBizMapper.xml

@@ -52,5 +52,9 @@
             id
         from blade_dict_biz where code = #{param1} and dict_key = #{param2} and is_deleted = 0
     </select>
-
+    <select id="getOneValue" resultType="java.lang.String">
+        select
+            distinct dict_value
+        from blade_dict_biz where code = #{param1} and dict_key = #{param2} and tenant_id = #{param3} and is_deleted = 0
+    </select>
 </mapper>

+ 8 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/IDictBizService.java

@@ -108,4 +108,12 @@ public interface IDictBizService extends IService<DictBiz> {
 	 */
 	Long getId(String code, String dictKey);
 
+	/**
+	 * 获取字典表某一个对应值
+	 *
+	 * @param code    字典编号
+	 * @param dictKey 字典序号
+	 * @return
+	 */
+	String getOneValue(String code, String dictKey, String tenantId);
 }

+ 5 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/DictBizServiceImpl.java

@@ -128,4 +128,9 @@ public class DictBizServiceImpl extends ServiceImpl<DictBizMapper, DictBiz> impl
 	public Long getId(String code, String dictKey) {
 		return baseMapper.getId(code, dictKey);
 	}
+
+	@Override
+	public String getOneValue(String code, String dictKey, String tenantId) {
+		return baseMapper.getOneValue(code, dictKey, tenantId);
+	}
 }

+ 1 - 15
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/controller/PurchaseOrderController.java

@@ -186,9 +186,6 @@ public class PurchaseOrderController extends BladeController {
 			{
 				return R.data(Collections.EMPTY_LIST,"暂无相关数据");
 			}
-
-
-
 		}
 		//采购商
 		if(StringUtils.isNotBlank(strPurchaserName))
@@ -236,11 +233,11 @@ public class PurchaseOrderController extends BladeController {
 		queryWrapper.orderByDesc("create_time");
 		Page<Order> page=new Page<>(current,size);
 		IPage<Order> pages = orderService.page(page,queryWrapper);
-//		List<Order> orderList = orderService.list(queryWrapper);
 		List<Order> records = pages.getRecords();
 		if(CollectionUtils.isNotEmpty(records))
 		{
 			records.forEach(e->{
+				//所属公司
 				if(e.getBelongToCorpId()!=null)
 				{
 					R<CorpsDesc> corpMessage3 = corpsDescClient.getCorpMessage(e.getBelongToCorpId());
@@ -308,18 +305,7 @@ public class PurchaseOrderController extends BladeController {
 						.filter(Objects::nonNull)
 						.reduce(BigDecimal.ZERO, BigDecimal::add);
 					e.setActualWeight(actualWeight);
-
-					orderItemsList.forEach(item -> {
-						//商品信息
-						R<GoodsDescVO> goodsDesc = goodsDescClient.selectGoodsMessage(item.getItemId());
-						if(goodsDesc.isSuccess() && ObjectUtil.isNotEmpty(goodsDesc.getData()))
-						{
-							item.setGoodsName(goodsDesc.getData().getCname());
-						}
-					});
 				}
-
-				e.setItemsList(orderItemsList);
 			});
 		}
 		return R.data(pages);