Browse Source

2022年11月18 18:06

wangzhuo 3 years ago
parent
commit
1dc4c7c977

+ 11 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/CommonFile.java

@@ -116,5 +116,16 @@ public class CommonFile implements Serializable {
 	@ApiModelProperty(value = "是否已删除(0 否 1是)")
 	private Integer isDeleted;
 
+	@ApiModelProperty(value = "状态")
+	private String message;
+
+	@ApiModelProperty(value = "大小")
+	private String size;
+
+	@ApiModelProperty(value = "排序")
+	private Integer sort;
+
+	@ApiModelProperty(value = "地址")
+	private String thumb;
 
 }

+ 1 - 1
blade-service-api/blade-school-api/src/main/java/org/springblade/school/entity/SalaryItem.java

@@ -888,7 +888,7 @@ public class SalaryItem implements Serializable {
 	 * 拨付比例
 	 */
 	@ApiModelProperty(value = "拨付比例")
-	private BigDecimal appropriationProportion;
+	private String appropriationProportion;
 
 	/**
 	 * 是否已导入出勤(0 否,1 是)

+ 17 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/extra/entity/Leads.java

@@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.client.entity.CommonFile;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
@@ -105,6 +106,13 @@ public class Leads implements Serializable {
 	 */
 	@ApiModelProperty(value = "创建人")
 	private Long createUser;
+
+	/**
+	 * 创建人名称
+	 */
+	@ApiModelProperty(value = "创建人名称")
+	private String createUserName;
+
 	/**
 	 * 创建部门
 	 */
@@ -147,10 +155,19 @@ public class Leads implements Serializable {
 	@ApiModelProperty(value = "客户id")
 	private Long corpId;
 
+	/**
+	 * 地址
+	 */
+	@ApiModelProperty(value = "地址")
+	private String address;
+
 	@TableField(exist = false)
 	private List<LeadsItem> itemList;
 
 	@TableField(exist = false)
+	private List<CommonFile> fileList;
+
+	@TableField(exist = false)
 	private String beginBizDate;
 
 	@TableField(exist = false)

+ 1 - 0
blade-service/blade-check/src/main/java/org/springblade/check/service/impl/AuditProecessServiceImpl.java

@@ -177,6 +177,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 			auditProecess.setSendUserId(auditProecessDTO.getSendUserId());
 			auditProecess.setSendName(auditProecessDTO.getSendName());
 			auditProecess.setSendTime(auditProecessDTO.getSendTime());
+			auditProecess.setBillTime(auditProecessDTO.getBillTime());
 			auditProecess.setSendMsg(auditProecessDTO.getSendMsg());
 			auditProecess.setAuditUserId(e.getAuditUserId());
 			auditProecess.setIffinalItem(e.getIffinalItem());

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

@@ -351,7 +351,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				} else {
 					amount = list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 				}
-				//毛利额 = 销售金额-采购金额-预计海运费-本次使用返利+应收费用(除包装费)
+				//毛利额 = 销售金额-采购金额-预计海运费-本次使用返利+应收费用(除包装费)- 本次产生返利
 				BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getThisUsedProfit() == null ? BigDecimal.ZERO : order.getThisUsedProfit());
 				//BigDecimal grossProfit = amount.subtract(reduce.add(order.getPredictOceanFreight())).subtract(order.getCreateProfit() == null ? BigDecimal.ZERO : order.getCreateProfit());
 				//国内主表需要总重量总体积
@@ -368,6 +368,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				List<OrderFees> feeList = orderFeesService.list(new LambdaQueryWrapper<OrderFees>().eq(OrderFees::getPid, order.getId()).ne(OrderFees::getItemId, feeId).eq(OrderFees::getIsDeleted, 0));
 				BigDecimal totalFee = feeList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 				grossProfit = grossProfit.add(totalFee);
+				//毛利额减去本次产生返利
+				grossProfit = grossProfit.subtract(order.getCreateProfit() == null ? BigDecimal.ZERO : order.getCreateProfit());
 
 				BigDecimal grossProfitRate = new BigDecimal(BigInteger.ZERO);
 				if (amount.compareTo(BigDecimal.ZERO) > 0) {

+ 12 - 3
blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java

@@ -1559,6 +1559,15 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 				salary.setAssessTeachingResearchName(item.getAssessTeachingResearchName());//教研组长考核补贴标准
 				//salary.setCustomizeSeven(item.getAssessTeachingResearch());//教研组长考核补贴
 				salary.setEnjoyOfficeTreatment(item.getEnjoyOfficeTreatment());//是否享受办公待遇
+				salary.setAttendance(BigDecimal.ZERO);
+				salary.setAttendanceType("");//出勤类型
+				salary.setRequiredAttendanceDays(BigDecimal.ZERO);//应出勤天数
+				salary.setActualAttendanceDays(BigDecimal.ZERO);//实际出勤天数
+				salary.setCalculationRuleRemark("");//出勤备注
+				salary.setMatterLeave(BigDecimal.ZERO);//事假
+				salary.setSickLeave(BigDecimal.ZERO);//病假
+				salary.setAbsenteeism(BigDecimal.ZERO);//旷工
+				salary.setAppropriationProportion("");//拨付比例
 				salary.setImportedOrNot(0);//是否已导入出勤
 				SalaryItem selectOne = baseMapper.selectOne(new QueryWrapper<SalaryItem>().eq("id_number", salary.getIdNumber()).eq("tenant_id", SecureUtil.getTenantId())
 					.eq("is_deleted", 0).eq("pid",salary.getPid()));
@@ -2457,10 +2466,10 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 					item.setVirtualDoubleCease(item.getVirtualDoubleCease().multiply(zeroPointEight));//虚拟双休日工作量工资标准
 					item.setVirtualDailyAssessmentCriteria(item.getVirtualDailyAssessmentCriteria().multiply(zeroPointEight));//虚拟日常考核标准
 					item.setTermPerformanceSalaryName(item.getTermPerformanceSalaryName().multiply(zeroPointEight));//绩效工资标准
-					item.setAppropriationProportion(new BigDecimal(0.8));
+					item.setAppropriationProportion("80%");
 				}else if (item.getAttendanceType().equals("在校")){//在校
 					BigDecimal absenceDays = item.getRequiredAttendanceDays().subtract(item.getActualAttendanceDays());//缺勤天数 = 应出勤天数-实际出勤天数
-					BigDecimal allotment = item.getActualAttendanceDays().divide(item.getRequiredAttendanceDays(), MathContext.DECIMAL32).setScale(2,BigDecimal.ROUND_HALF_UP);//拨付比例
+					BigDecimal allotment = item.getActualAttendanceDays().divide(item.getRequiredAttendanceDays(), MathContext.DECIMAL32).setScale(8,BigDecimal.ROUND_HALF_UP);//拨付比例
 					if (absenceDays.compareTo(new BigDecimal("5")) > 0){//缺勤天数大于5 按照 标准金额/22*出勤天数 重新计算
 						item.setSalaryWithdrawalStandard(item.getSalaryWithdrawalStandard().multiply(allotment));//工资拨付标准
 						item.setRankWithdrawalStandard(item.getRankWithdrawalStandard().multiply(allotment));//职级拨付标准
@@ -2477,7 +2486,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 						item.setVirtualDailyAssessmentCriteria(item.getVirtualDailyAssessmentCriteria().multiply(allotment));//虚拟日常考核标准
 						item.setTermPerformanceSalaryName(item.getTermPerformanceSalaryName().multiply(allotment));//绩效工资标准
 					}
-					item.setAppropriationProportion(allotment);
+					item.setAppropriationProportion(allotment.toString());
 				}
 				item.setImportedOrNot(1);
 			}

+ 0 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/controller/LeadsController.java

@@ -162,6 +162,4 @@ public class LeadsController extends BladeController {
 		return R.data(leadsService.leadsSubmit(leads));
 	}
 
-
-
 }

+ 1 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/ILeadsService.java

@@ -98,4 +98,5 @@ public interface ILeadsService extends IService<Leads> {
 	 * @return
 	 */
 	Object leadsSubmit(Leads leads);
+
 }

+ 45 - 12
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/impl/LeadsServiceImpl.java

@@ -20,7 +20,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mysql.cj.util.StringUtils;
 import com.trade.purchase.extra.entity.Leads;
 import com.trade.purchase.extra.entity.LeadsItem;
 import com.trade.purchase.extra.mapper.LeadsItemMapper;
@@ -31,16 +30,17 @@ import lombok.AllArgsConstructor;
 import org.springblade.check.dto.AuditProecessDTO;
 import org.springblade.check.entity.AuditPathsActs;
 import org.springblade.check.entity.AuditPathsLevels;
-import org.springblade.check.entity.AuditProecess;
 import org.springblade.check.feign.ICheckClient;
+import org.springblade.client.entity.CommonFile;
 import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.feign.ICommonFileClient;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.IGoodsDescClient;
 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.tool.api.R;
-import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.system.user.entity.User;
@@ -48,6 +48,7 @@ import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -71,6 +72,8 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 
 	private final ICorpsDescClient corpsDescClient;
 
+	private final ICommonFileClient commonFileClient;
+
 	@Override
 	public IPage<LeadsVO> selectLeadsPage(IPage<LeadsVO> page, LeadsVO leads) {
 		return page.setRecords(baseMapper.selectLeadsPage(page, leads));
@@ -92,7 +95,15 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 					item.setServiceProjectName(goodsDescClient.getGoodsDescDetail(item.getSpId()) == null ? "无" : goodsDescClient.getGoodsDescDetail(item.getSpId()).getCname());
 				}
 			});
+
 			detail.setItemList(itemList);
+
+			R<List<CommonFile>> fileList = commonFileClient.getList(leads.getId(), "LEADS_FILE");
+			if (fileList.isSuccess() && fileList.getData() != null) {
+				detail.setFileList(fileList.getData());
+			} else {
+				detail.setFileList(Collections.emptyList());
+			}
 		}
 		return detail;
 	}
@@ -100,15 +111,21 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 	@Override
 	public IPage<Leads> getList(Leads leads, Query query) {
 		LambdaQueryWrapper<Leads> leadsQueryWrapper = new LambdaQueryWrapper<>();
-		leadsQueryWrapper.like(ObjectUtil.isNotEmpty(leads.getCorpId()), Leads::getCorpId, leads.getCorpId())
-			.between(StringUtil.isNotBlank(leads.getBeginBizDate()) && StringUtil.isNotBlank(leads.getEndBizDate()),
-				Leads::getBizDate, leads.getBeginBizDate(), leads.getEndBizDate())
-			.eq(ObjectUtil.isNotEmpty(leads.getStatus()), Leads::getStatus, leads.getStatus())
-			.eq(ObjectUtil.isNotEmpty(leads.getFromUser()), Leads::getFromUser, leads.getFromUser())
-			.eq(ObjectUtil.isNotEmpty(leads.getToUser()), Leads::getToUser, leads.getToUser())
-			.eq(Leads::getTenantId, AuthUtil.getTenantId())
-			.eq(Leads::getIsDeleted, 0)
-			.orderByDesc(Leads::getCreateTime);
+		leadsQueryWrapper.like(ObjectUtil.isNotEmpty(leads.getCorpId()), Leads::getCorpId, leads.getCorpId());
+		leadsQueryWrapper.between(StringUtil.isNotBlank(leads.getBeginBizDate()) && StringUtil.isNotBlank(leads.getEndBizDate()),
+				Leads::getBizDate, leads.getBeginBizDate(), leads.getEndBizDate());
+		leadsQueryWrapper.eq(ObjectUtil.isNotEmpty(leads.getStatus()), Leads::getStatus, leads.getStatus());
+		leadsQueryWrapper.eq(ObjectUtil.isNotEmpty(leads.getFromUser()), Leads::getFromUser, leads.getFromUser());
+		leadsQueryWrapper.eq(ObjectUtil.isNotEmpty(leads.getToUser()), Leads::getToUser, leads.getToUser());
+		leadsQueryWrapper.eq(Leads::getTenantId, AuthUtil.getTenantId());
+		leadsQueryWrapper.eq(Leads::getIsDeleted, 0);
+		leadsQueryWrapper.like(ObjectUtil.isNotEmpty(leads.getCreateUserName()), Leads::getCreateUserName, leads.getCreateUserName());
+
+		String userRole = AuthUtil.getUserRole();
+		if (!userRole.contains("抄送人")) {
+			leadsQueryWrapper.eq(Leads::getCreateUser, AuthUtil.getUserId());
+		}
+		leadsQueryWrapper.orderByDesc(Leads::getCreateTime);
 		IPage<Leads> pages = baseMapper.selectPage(Condition.getPage(query), leadsQueryWrapper);
 		pages.getRecords().forEach(record -> {
 			if (ObjectUtil.isNotEmpty(record.getFromUser())) {
@@ -117,6 +134,9 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 			if (ObjectUtil.isNotEmpty(record.getToUser())) {
 				record.setToUserName(getUserName(record.getToUser()));
 			}
+			if (ObjectUtil.isNotEmpty(record.getCreateUser())){
+				record.setCreateUserName(getUserName(record.getCreateUser()));
+			}
 		});
 		return pages;
 	}
@@ -127,6 +147,7 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 		if (ObjectUtil.isEmpty(leads.getId())) {
 			leads.setTenantId(AuthUtil.getTenantId());
 			leads.setCreateUser(AuthUtil.getUserId());
+			leads.setCreateUserName(getUserName(AuthUtil.getUserId()));
 			leads.setCreateTime(new Date());
 			baseMapper.insert(leads);
 		} else {
@@ -149,6 +170,18 @@ public class LeadsServiceImpl extends ServiceImpl<LeadsMapper, Leads> implements
 				leadsItemMapper.updateById(item);
 			}
 		});
+
+		List<CommonFile> fileList = leads.getFileList();
+		if (ObjectUtil.isNotEmpty(fileList)){
+			fileList.forEach(file -> {
+				if (ObjectUtil.isEmpty(file.getId())) {
+					file.setPid(leadsId);
+					file.setSource("LEADS_FILE");
+				}
+			});
+			commonFileClient.saveList(fileList);
+		}
+
 		return leadsId;
 	}