Browse Source

学校、福达修改

lazhaoqian 3 years ago
parent
commit
7759079585
22 changed files with 302 additions and 12 deletions
  1. 126 0
      blade-common/src/main/java/org/springblade/common/utils/NumToWords.java
  2. 2 2
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/parities/entity/Parities.java
  3. 13 1
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/parities/vo/ParitiesVO.java
  4. 5 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java
  5. 5 0
      blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java
  6. 19 1
      blade-service/blade-client/src/main/java/org/springblade/client/parities/controller/ParitiesController.java
  7. 9 1
      blade-service/blade-client/src/main/java/org/springblade/client/parities/controller/ParitiesItemController.java
  8. 8 0
      blade-service/blade-client/src/main/java/org/springblade/client/parities/mapper/ParitiesItemMapper.java
  9. 3 0
      blade-service/blade-client/src/main/java/org/springblade/client/parities/mapper/ParitiesItemMapper.xml
  10. 6 0
      blade-service/blade-client/src/main/java/org/springblade/client/parities/service/IParitiesItemService.java
  11. 7 0
      blade-service/blade-client/src/main/java/org/springblade/client/parities/service/IParitiesService.java
  12. 10 0
      blade-service/blade-client/src/main/java/org/springblade/client/parities/service/impl/ParitiesItemServiceImpl.java
  13. 41 0
      blade-service/blade-client/src/main/java/org/springblade/client/parities/service/impl/ParitiesServiceImpl.java
  14. 2 0
      blade-service/blade-client/src/main/java/org/springblade/client/school/service/impl/SchoolTeacherServiceImpl.java
  15. 1 1
      blade-service/blade-client/src/main/java/org/springblade/client/serial/controller/TableMessageController.java
  16. 2 1
      blade-service/blade-client/src/main/java/org/springblade/client/serial/service/impl/TableMessageServiceImpl.java
  17. 1 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml
  18. 36 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java
  19. 1 1
      blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryItemController.java
  20. 2 2
      blade-service/blade-school/src/main/java/org/springblade/school/excel/ProbationExcel.java
  21. 2 2
      blade-service/blade-school/src/main/java/org/springblade/school/service/impl/SalaryItemServiceImpl.java
  22. 1 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

+ 126 - 0
blade-common/src/main/java/org/springblade/common/utils/NumToWords.java

@@ -0,0 +1,126 @@
+package org.springblade.common.utils;
+
+/**
+ * 转换金额为英文大写
+ */
+public class NumToWords {
+	public static void main(String[] args) {
+		System.out.println(NumToWords.parse("11232192.23123"));
+	}
+	//10以内的数字
+	private static final String[] SINGLE_NUM_ARR = new String[] { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
+	//十几的数字
+	private static final String[] TEN_NUM_ARR = new String[] { "Ten", "Eleven", "Tweleve", "Thirteen", "Fourteen", "Fifteen", "Sixteen","Seventeen", "Eighteen", "Nineteen" };
+	//整十的数字
+	private static final String[] TEN_INTEGER_ARR = new String[] { "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
+
+	public static String parse(String x) {
+		if(Double.parseDouble(x) <= 0){
+			return "Zero Cents only";
+		}
+		int z = x.indexOf("."); // 取小数点位置
+		String lstr = "", rstr = "";
+		if (z > -1) { // 看是否有小数,如果有,则分别取左边和右边
+			lstr = x.substring(0, z);
+			rstr = x.substring(z + 1);
+		} else // 否则就是全部
+			lstr = x;
+
+		String lstrrev = reverse(lstr); // 对左边的字串取反
+		String[] a = new String[5]; // 定义5个字串变量来存放解析出来的叁位一组的字串
+
+		switch (lstrrev.length() % 3) {
+			case 1:
+				lstrrev += "00";
+				break;
+			case 2:
+				lstrrev += "0";
+				break;
+		}
+		String lm = ""; // 用来存放转换後的整数部分
+		for (int i = 0; i < lstrrev.length() / 3; i++) {
+			a[i] = reverse(lstrrev.substring(3 * i, 3 * i + 3)); // 截取第一个叁位
+			if (!a[i].equals("000")) { // 用来避免这种情况:1000000 = one million
+				if (i != 0)
+					lm = transThree(a[i]) + " " + parseMore(String.valueOf(i)) + " " + lm; // 加:
+					// thousand、million、billion
+				else
+					lm = transThree(a[i]); // 防止i=0时, 在多加两个空格.
+			} else
+				lm += transThree(a[i]);
+		}
+
+		String xs = ""; // 用来存放转换後小数部分
+		if (z > -1){
+			String transTwo =  transTwo(rstr);
+			if(transTwo == null || "".equals(transTwo)){
+				xs = "";
+			}else{
+				xs = "and " + transTwo + " Cents "; // 小数部分存在时转换小数
+			}
+		}
+		return lm.trim() + " " + xs + "only";
+	}
+
+	private static String parseFirst(String s) {
+		//String[] a = new String[] { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
+		return SINGLE_NUM_ARR[Integer.parseInt(s.substring(s.length() - 1))];
+	}
+
+	private static String parseTeen(String s) {
+		//String[] a = new String[] { "Ten", "Eleven", "Tweleve", "Thirteen", "Fourteen", "Fifteen", "Sixteen","Seventeen", "Eighteen", "Nineteen" };
+		return TEN_NUM_ARR[Integer.parseInt(s) - 10];
+	}
+
+	private static String parseTen(String s) {
+		//String[] a = new String[] { "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
+		return TEN_INTEGER_ARR[Integer.parseInt(s.substring(0, 1)) - 1];
+	}
+
+	// 两位
+	private static String transTwo(String s) {
+		String value = "";
+		// 判断位数
+		if (s.length() > 2)
+			s = s.substring(0, 2);
+		else if (s.length() < 2)
+			s = s + "0";
+
+		if (s.startsWith("0")) // 07 - seven 是否小於10
+			value = parseFirst(s);
+		else if (s.startsWith("1")) // 17 seventeen 是否在10和20之间
+			value = parseTeen(s);
+		else if (s.endsWith("0")) // 是否在10与100之间的能被10整除的数
+			value = parseTen(s);
+		else
+			value = parseTen(s) + " " + parseFirst(s);
+		return value;
+	}
+
+	private static String parseMore(String s) {
+		String[] a = new String[] { "", "Thousand", "Million", "Billion" };
+		return a[Integer.parseInt(s)];
+	}
+
+	// 制作叁位的数
+	// s.length = 3
+	private static String transThree(String s) {
+		String value = "";
+		if (s.startsWith("0")) // 是否小於100
+			value = transTwo(s.substring(1));
+		else if (s.substring(1).equals("00")) // 是否被100整除
+			value = parseFirst(s.substring(0, 1)) + " Hundred";
+		else
+			value = parseFirst(s.substring(0, 1)) + " Hundred and " + transTwo(s.substring(1));
+		return value;
+	}
+
+	private static String reverse(String s) {
+		char[] aChr = s.toCharArray();
+		StringBuffer tmp = new StringBuffer();
+		for (int i = aChr.length - 1; i >= 0; i--) {
+			tmp.append(aChr[i]);
+		}
+		return tmp.toString();
+	}
+}

+ 2 - 2
blade-service-api/blade-client-api/src/main/java/org/springblade/client/parities/entity/Parities.java

@@ -48,9 +48,9 @@ public class Parities implements Serializable {
 		@ApiModelProperty(value = "主键")
 		private Long id;
 	/**
-	* 货币代码
+	* 货币币别
 	*/
-		@ApiModelProperty(value = "货币代码")
+		@ApiModelProperty(value = "货币币别")
 		private String code;
 	/**
 	* 货币名称

+ 13 - 1
blade-service-api/blade-client-api/src/main/java/org/springblade/client/parities/vo/ParitiesVO.java

@@ -16,11 +16,14 @@
  */
 package org.springblade.client.parities.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import io.swagger.annotations.ApiModel;
 import org.springblade.client.parities.entity.Parities;
 
+import java.util.Date;
+
 /**
  * 汇率管理主表视图实体类
  *
@@ -32,5 +35,14 @@ import org.springblade.client.parities.entity.Parities;
 @ApiModel(value = "ParitiesVO对象", description = "汇率管理主表")
 public class ParitiesVO extends Parities {
 	private static final long serialVersionUID = 1L;
-
+	/**
+	 * 业务日期
+	 */
+	@ApiModelProperty(value = "业务日期")
+	private Date businesDate;
+	/**
+	 * 货币币别
+	 */
+	@ApiModelProperty(value = "货币币别")
+	private String currency;
 }

+ 5 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -800,5 +800,10 @@ public class Order implements Serializable {
 	 */
 	@ApiModelProperty(value = "批次号")
 	private String lotNo;
+	/**
+	 * 英文大写金额
+	 */
+	@ApiModelProperty(value = "英文大写金额")
+	private String numToEnglish;
 
 }

+ 5 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java

@@ -692,5 +692,10 @@ public class Order extends OrderBase {
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date stockTime;
+	/**
+	 * 英文大写金额
+	 */
+	@ApiModelProperty(value = "英文大写金额")
+	private String numToEnglish;
 
 }

+ 19 - 1
blade-service/blade-client/src/main/java/org/springblade/client/parities/controller/ParitiesController.java

@@ -160,11 +160,14 @@ public class ParitiesController extends BladeController {
 		if (StringUtils.isBlank(parities.getCname())){
 			throw new SecurityException("货币名称不能为空");
 		}
+		if (StringUtils.isBlank(parities.getCode())){
+			throw new SecurityException("货币币别不能为空");
+		}
 		if (StringUtils.isBlank(parities.getAnnual())){
 			throw new SecurityException("汇率年度不能为空");
 		}
 		LambdaQueryWrapper<Parities> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(Parities::getCname,parities.getCname());
+		lambdaQueryWrapper.eq(Parities::getCode,parities.getCode());
 		lambdaQueryWrapper.eq(Parities::getAnnual,parities.getAnnual());
 		lambdaQueryWrapper.eq(Parities::getTenantId,SecureUtil.getTenantId());
 		lambdaQueryWrapper.eq(Parities::getIsDeleted,0);
@@ -188,6 +191,21 @@ public class ParitiesController extends BladeController {
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(paritiesService.removeByIds(Func.toLongList(ids)));
 	}
+	/**
+	 * 新增 汇率管理主表
+	 */
+	@PostMapping("/getParities")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "业务获取汇率", notes = "传入currency 币别 businesDate 业务日期")
+	public R getParities(@Valid @RequestBody ParitiesVO parities) {
+		if (StringUtils.isBlank(parities.getCurrency())){
+			throw new SecurityException("缺少必要的参数币别,请选择币别");
+		}
+		if (parities.getBusinesDate() == null){
+			throw new SecurityException("缺少必要的参数业务日期,请选择业务日期");
+		}
+		return R.data(paritiesService.getParities(parities));
+	}
 
 
 }

+ 9 - 1
blade-service/blade-client/src/main/java/org/springblade/client/parities/controller/ParitiesItemController.java

@@ -135,6 +135,14 @@ public class ParitiesItemController extends BladeController {
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(paritiesItemService.removeByIds(Func.toLongList(ids)));
 	}
-
+	/**
+	 * 修改 汇率管理明细表
+	 */
+	@PostMapping("/updateByPid")
+	@ApiOperationSupport(order = 9)
+	@ApiOperation(value = "根据主表id删除汇率明细", notes = "传入主表id")
+	public R updateByPid(@ApiParam(value = "主键集合", required = true) @RequestParam Long id) {
+		return R.status(paritiesItemService.updateByPid(id));
+	}
 
 }

+ 8 - 0
blade-service/blade-client/src/main/java/org/springblade/client/parities/mapper/ParitiesItemMapper.java

@@ -18,8 +18,10 @@ package org.springblade.client.parities.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
 import org.springblade.client.parities.entity.ParitiesItem;
 import org.springblade.client.parities.vo.ParitiesItemVO;
+import org.springframework.web.bind.annotation.PostMapping;
 
 import java.util.List;
 
@@ -40,4 +42,10 @@ public interface ParitiesItemMapper extends BaseMapper<ParitiesItem> {
 	 */
 	List<ParitiesItemVO> selectParitiesItemPage(IPage page, ParitiesItemVO paritiesItem);
 
+	/**
+	 * 根据主表id删除汇率明细
+	 * @param pid
+	 */
+	Integer updateByPid(@Param("pid") Long pid);
+
 }

+ 3 - 0
blade-service/blade-client/src/main/java/org/springblade/client/parities/mapper/ParitiesItemMapper.xml

@@ -28,5 +28,8 @@
     <select id="selectParitiesItemPage" resultMap="paritiesItemResultMap">
         select * from basic_parities_item where is_deleted = 0
     </select>
+    <update id="updateByPid" parameterType="long">
+         update basic_parities_item set is_deleted = '1' where pid = #{pid}
+    </update>
 
 </mapper>

+ 6 - 0
blade-service/blade-client/src/main/java/org/springblade/client/parities/service/IParitiesItemService.java

@@ -38,4 +38,10 @@ public interface IParitiesItemService extends IService<ParitiesItem> {
 	 */
 	IPage<ParitiesItemVO> selectParitiesItemPage(IPage<ParitiesItemVO> page, ParitiesItemVO paritiesItem);
 
+	/**
+	 * 根据主表id删除汇率明细
+	 * @param pid
+	 */
+	boolean updateByPid(Long pid);
+
 }

+ 7 - 0
blade-service/blade-client/src/main/java/org/springblade/client/parities/service/IParitiesService.java

@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.client.parities.entity.Parities;
+import org.springblade.client.parities.entity.ParitiesItem;
 import org.springblade.client.parities.vo.ParitiesVO;
 
 /**
@@ -46,4 +47,10 @@ public interface IParitiesService extends IService<Parities> {
 	 */
 	Parities saveParities(Parities parities);
 
+	/**
+	 * 业务获取汇率
+	 * @param paritiesVO
+	 */
+	ParitiesItem getParities(ParitiesVO paritiesVO);
+
 }

+ 10 - 0
blade-service/blade-client/src/main/java/org/springblade/client/parities/service/impl/ParitiesItemServiceImpl.java

@@ -38,4 +38,14 @@ public class ParitiesItemServiceImpl extends ServiceImpl<ParitiesItemMapper, Par
 		return page.setRecords(baseMapper.selectParitiesItemPage(page, paritiesItem));
 	}
 
+	@Override
+	public boolean updateByPid(Long pid) {
+		Integer i = baseMapper.updateByPid(pid);
+		if (i != null && i >=1){
+			return true;
+		}else {
+			return false;
+		}
+	}
+
 }

+ 41 - 0
blade-service/blade-client/src/main/java/org/springblade/client/parities/service/impl/ParitiesServiceImpl.java

@@ -17,10 +17,13 @@
 package org.springblade.client.parities.service.impl;
 
 
+import ch.qos.logback.core.encoder.LayoutWrappingEncoder;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springblade.client.parities.entity.Parities;
+import org.springblade.client.parities.entity.ParitiesItem;
 import org.springblade.client.parities.mapper.ParitiesItemMapper;
 import org.springblade.client.parities.mapper.ParitiesMapper;
 import org.springblade.client.parities.service.IParitiesService;
@@ -29,6 +32,7 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
+import java.util.Calendar;
 import java.util.Date;
 
 /**
@@ -77,4 +81,41 @@ public class ParitiesServiceImpl extends ServiceImpl<ParitiesMapper, Parities> i
 		return parities;
 	}
 
+	@Override
+	public ParitiesItem getParities(ParitiesVO paritiesVO) {
+		ParitiesItem paritiesItem = new ParitiesItem();
+		//处理业务日期
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(paritiesVO.getBusinesDate());
+		int year = calendar.get(Calendar.YEAR);//处理业务日期获取年
+		int month = calendar.get(Calendar.MONTH);//处理业务日期获取月
+		int date = calendar.get(Calendar.DATE);//处理业务日期获取日
+		//获取汇率类型
+		LambdaQueryWrapper<Parities> queryWrapper = new LambdaQueryWrapper<>();
+		queryWrapper.eq(Parities::getIsDeleted,0);
+		queryWrapper.eq(Parities::getTenantId,SecureUtil.getTenantId());
+		queryWrapper.eq(Parities::getCode,paritiesVO.getCurrency());
+		queryWrapper.eq(Parities::getAnnual,year);
+		Parities parities = baseMapper.selectOne(queryWrapper);
+		if (parities != null){
+			//获取汇率明细
+			LambdaQueryWrapper<ParitiesItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(ParitiesItem::getIsDeleted,0);
+			lambdaQueryWrapper.eq(ParitiesItem::getTenantId,SecureUtil.getTenantId());
+			lambdaQueryWrapper.eq(ParitiesItem::getPid,parities.getId());
+			if (parities.getParitiesType().equals("年汇率")){
+				lambdaQueryWrapper.eq(ParitiesItem::getAnnual,year);
+			}else if (parities.getParitiesType().equals("月汇率")){
+				lambdaQueryWrapper.eq(ParitiesItem::getAnnual,year);
+				lambdaQueryWrapper.eq(ParitiesItem::getMoon,month);
+			}else if (parities.getParitiesType().equals("日汇率")){
+				lambdaQueryWrapper.eq(ParitiesItem::getAnnual,year);
+				lambdaQueryWrapper.eq(ParitiesItem::getMoon,month);
+				lambdaQueryWrapper.eq(ParitiesItem::getNational,date);
+			}
+			paritiesItem = paritiesItemMapper.selectOne(lambdaQueryWrapper);
+		}
+		return paritiesItem;
+	}
+
 }

+ 2 - 0
blade-service/blade-client/src/main/java/org/springblade/client/school/service/impl/SchoolTeacherServiceImpl.java

@@ -82,6 +82,8 @@ public class SchoolTeacherServiceImpl extends ServiceImpl<SchoolTeacherMapper, S
 			DateTime end = new DateTime(new Date().getTime());
 			int result = Months.monthsBetween(start,end).getMonths();
 			schoolTeacher.setSchoolAge(new BigDecimal(Math.floorDiv(result, 12)));
+		}else {
+			schoolTeacher.setSchoolAge(BigDecimal.ZERO);
 		}
 		if (schoolTeacher.getSchoolAge() != null && schoolTeacher.getSchoolAge().compareTo(new BigDecimal(10)) < 0){
 			schoolTeacher.setSchoolAgeSalary(schoolTeacher.getSchoolAge().multiply(new BigDecimal(100)));

+ 1 - 1
blade-service/blade-client/src/main/java/org/springblade/client/serial/controller/TableMessageController.java

@@ -106,7 +106,7 @@ public class TableMessageController extends BladeController {
 	@ApiOperation(value = "修改", notes = "传入tableMessage")
 	public R update(@Valid @RequestBody TableMessage tableMessage) {
 		TableMessage fileName = tableMessageService.getOne(new QueryWrapper<TableMessage>().eq("file_name", tableMessage.getFileName())
-		.eq("tenant_id",SecureUtil.getTenantId()).eq("is_deleted",0));
+		.eq("tenant_id",SecureUtil.getTenantId()).eq("is_deleted",0).eq("create_user",SecureUtil.getUserId()));
 		if (fileName == null){
 			return R.success("未找到要删除的数据");
 		}

+ 2 - 1
blade-service/blade-client/src/main/java/org/springblade/client/serial/service/impl/TableMessageServiceImpl.java

@@ -90,7 +90,8 @@ public class TableMessageServiceImpl extends ServiceImpl<TableMessageMapper, Tab
 		}
 		//保存用户自定义信息
 		Integer i;
-		TableMessage message = baseMapper.selectOne(new QueryWrapper<TableMessage>().eq("create_user", SecureUtil.getUserId()).eq("file_name", tableMessage.getFileName()));
+		TableMessage message = baseMapper.selectOne(new QueryWrapper<TableMessage>().eq("create_user", SecureUtil.getUserId()).eq("file_name", tableMessage.getFileName())
+			.eq("tenant_id",SecureUtil.getTenantId()).eq("is_deleted",0));
 		tableMessage.setCreateDept(Long.valueOf(SecureUtil.getUser().getDeptId()));
 		Date date = new Date();
 		if (message == null) {

+ 1 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml

@@ -108,6 +108,7 @@
         <result column="print_time" property="printTime"/>
         <result column="print_number" property="printNumber"/>
         <result column="corp_debt" property="corpDebt"/>
+        <result column="num_to_english" property="numToEnglish"/>
     </resultMap>
 
 

+ 36 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -38,6 +38,7 @@ import org.springblade.client.feign.ICorpsProfitChangeClient;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.feign.ISerialClient;
 import org.springblade.client.vo.GoodsDescVO;
+import org.springblade.common.utils.NumToWords;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
@@ -268,6 +269,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 			order.setGrossProfit(orderMessage.getGrossProfit());
 			order.setGrossProfitRate(orderMessage.getGrossProfitRate());
 		}
+		if (order.getTradeType().equals(OrderTypeEnum.EXPORT.getType())){
+			this.numToEnglish(order);
+		}
 		return R.data(order);
 	}
 
@@ -459,6 +463,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				selectById.setOrderStatus(OrderEnum.PAUSE.getStatus());
 				selectById.setIfEnquiry(null);
 				selectById.setIfShipping(null);
+				selectById.setNumToEnglish(null);
 				selectById.setIfInvoice("否");
 				selectById.setBillType(order.getBillType());
 				selectById.setTradeType(order.getTradeType());
@@ -525,6 +530,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		selectById.setOrderStatus(OrderEnum.PAUSE.getStatus());
 		selectById.setIfEnquiry(null);
 		selectById.setIfShipping(null);
+		selectById.setNumToEnglish(null);
 		selectById.setIfInvoice("否");
 		selectById.setBillType(order.getBillType());
 		selectById.setTradeType(order.getTradeType());
@@ -578,6 +584,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		orderMessage.setId(order.getId());
 		orderMessage.setOrderStatus(OrderEnum.SUBMIT.getStatus());
 		baseMapper.updateById(orderMessage);
+		if (selectById.getTradeType().equals(OrderTypeEnum.EXPORT.getType())){
+			this.numToEnglish(selectById);
+		}
 		return R.data(order);
 	}
 
@@ -935,4 +944,31 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		return R.success("操作成功");
 	}
 
+	/**
+	 * 转换金额为英文大写
+	 * @param order
+	 */
+	public void numToEnglish(Order order){
+		//获取订单明细销售价格
+		//获取订单明细信息
+		BigDecimal bigDecimal = new BigDecimal(BigInteger.ZERO);
+		List<OrderItems> orderItemsList = orderItemsService.getOrderItems(order);
+		if (CollectionUtils.isNotEmpty(orderItemsList)){
+			bigDecimal = bigDecimal.add(orderItemsList.stream().filter(e ->e.getAmount() != null)
+				.map(OrderItems::getAmount)
+				.reduce(BigDecimal.ZERO, BigDecimal::add));
+		}
+		//获取订单费用信息
+		List<OrderFees> orderFeesList = orderFeesService.getOrderFees(order);
+		if (CollectionUtils.isNotEmpty(orderFeesList)){
+			bigDecimal = bigDecimal.add(orderFeesList.stream().filter(e ->e.getAmount() != null)
+				.map(OrderFees::getAmount)
+				.reduce(BigDecimal.ZERO, BigDecimal::add));
+		}
+		if (bigDecimal.compareTo(new BigDecimal(BigInteger.ZERO)) > 0){
+			String parse = NumToWords.parse(bigDecimal.toString());
+			order.setNumToEnglish(parse);
+			baseMapper.updateById(order);
+		}
+	}
 }

+ 1 - 1
blade-service/blade-school/src/main/java/org/springblade/school/controller/SalaryItemController.java

@@ -1291,7 +1291,7 @@ public class SalaryItemController extends BladeController {
 		//校验模板
 		String excelPattern = null;
 		try {
-			excelPattern = ExcelCheck.checkExcelPattern(file, new FineExcel());
+			excelPattern = ExcelCheck.checkExcelPattern(file, new SubsidyExcel());
 		} catch (Exception e) {
 			throw new SecurityException("校验Excel失败");
 		}

+ 2 - 2
blade-service/blade-school/src/main/java/org/springblade/school/excel/ProbationExcel.java

@@ -32,10 +32,10 @@ public class ProbationExcel implements Serializable {
 	 * 月份课时
 	 */
 	@ExcelProperty(value = "代课工作量")
-	private BigDecimal monthHour;
+	private BigDecimal custom;
 	/**
 	 * 单价
 	 */
 	@ExcelProperty(value = "代课课时费")
-	private BigDecimal monthPrice;
+	private BigDecimal customOne;
 }

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

@@ -1409,7 +1409,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			if (insuranceExcel.getGrading().equals("高中部")){
 				//学期绩效工资
 				R<SchoolConfigItem> config = schoolTeacherClient.getConfig(SecureUtil.getTenantId(),insuranceExcel.getGrading(), null, "学期绩效工资标准", salaryItem.getPerformanceGrade(), null,salaryItem.getDiscipline());
-				if (config != null){
+				if (config.isSuccess() && config.getData() != null){
 					salaryItem.setTermPerformanceSalary(config.getData().getSalary());
 				}else {
 					salaryItem.setTermPerformanceSalary(new BigDecimal(BigInteger.ZERO));
@@ -1417,7 +1417,7 @@ public class SalaryItemServiceImpl extends ServiceImpl<SalaryItemMapper, SalaryI
 			}else {
 				//学期绩效工资
 				R<SchoolConfigItem> config = schoolTeacherClient.getConfig(SecureUtil.getTenantId(),insuranceExcel.getGrading(), null, "学期绩效工资标准", salaryItem.getPerformanceGrade(), null,salaryItem.getDiscipline());
-				if (config != null){
+				if (config.isSuccess() && config.getData() != null){
 					salaryItem.setTermPerformanceSalary(config.getData().getSalary());
 				}else {
 					salaryItem.setTermPerformanceSalary(new BigDecimal(BigInteger.ZERO));

+ 1 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

@@ -106,6 +106,7 @@
         <result column="print_time" property="printTime"/>
         <result column="print_number" property="printNumber"/>
         <result column="corp_debt" property="corpDebt"/>
+        <result column="num_to_english" property="numToEnglish"/>
     </resultMap>