From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:44:19 +0800
Subject: [PATCH] 删除
---
src/main/java/com/gk/firework/Domain/Vo/FireworkDeal.java | 288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 288 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Domain/Vo/FireworkDeal.java b/src/main/java/com/gk/firework/Domain/Vo/FireworkDeal.java
new file mode 100644
index 0000000..ccf3e3c
--- /dev/null
+++ b/src/main/java/com/gk/firework/Domain/Vo/FireworkDeal.java
@@ -0,0 +1,288 @@
+package com.gk.firework.Domain.Vo;
+
+import com.gk.firework.Domain.SaleOrderInfo;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.BeanUtils;
+import com.gk.firework.Domain.Utils.StringUtils;
+
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+import static com.gk.firework.Domain.Vo.EntryUtils.RK_ENTRY;
+import static com.gk.firework.Domain.Vo.EntryUtils.TH_ENTRY;
+
+/**
+ * @author : jingjy
+ * @date : 2021/3/19 8:48
+ * 公共处理方法
+ */
+public class FireworkDeal {
+ public static final int DIRECTION_ITEM = 10;
+ public static final int DIRECTION_INSIDE = 19;
+ public static final int DIRECTION_OUTSIDE = 22;
+ private static final String RETAIL_ORDER = "1";
+ private static final String GROUP_ORDER = "2";
+ private static final String NORMAL_DELIVERY = "1";
+ public static final String OTHER_DELIVERY = "2";
+ public static final String MODULE_ENTRY = "入库";
+ public static final String MODULE_DELIVERY = "出库";
+ private static final String MODULE_SALE = "销售";
+
+
+ public static DirectionDetail dealDirectionCode(String direction){
+
+ DirectionDetail directionDetail = new DirectionDetail();
+
+ if (StringUtils.isBlank(direction)){
+ return directionDetail;
+ }
+ int length = direction.length();
+ if (length != DIRECTION_INSIDE && length != DIRECTION_OUTSIDE ){
+ return directionDetail;
+ }
+
+ directionDetail.setOriginalCode(direction);
+ directionDetail.setLength(length);
+ String itemCode = direction.substring(0,10);
+ String dateCode = direction.substring(10,14);
+ String serialNo = direction.substring(14,19);
+ if (length == DIRECTION_OUTSIDE){
+ String boxNo = direction.substring(19,22);
+ directionDetail.setBoxNo(boxNo);
+ }
+
+ directionDetail.setItemCode(itemCode);
+ directionDetail.setDateCode(dateCode);
+ directionDetail.setSerialNo(serialNo);
+
+ return directionDetail;
+ }
+
+ public static boolean is22Characters(String direction){
+ return !StringUtils.isBlank(direction) && direction.length() == 22;
+ }
+
+ public static boolean is19Characters(String direction){
+ return !StringUtils.isBlank(direction) && direction.length() == 19;
+ }
+
+ /**
+ * 判断字符串是否流向码
+ * @param direction 流向码
+ * @return true:不是流向码
+ */
+ public static boolean isNotDirectionCode(String direction){
+ return !is19Characters(direction) && !is22Characters(direction);
+ }
+
+ /**
+ * 通过22位流向码获取一批19位流向码
+ * @param dire 流向码
+ * @param detailFirst 首个流向码详情
+ * @param detailLast 尾个流向码详情
+ * @param productVos 获取的一批19位码详情
+ * @param productVo 产品详情
+ */
+ public static void getProductVos(String dire, DirectionDetail detailFirst, DirectionDetail detailLast, List<ProductVo> productVos, ProductVo productVo) {
+ for (int i = Integer.parseInt(detailFirst.getSerialNo());i < Integer.parseInt(detailLast.getSerialNo())+Integer.parseInt(detailLast.getBoxNo());i++){
+ ProductVo productVoCopy = BeanUtils.copy(productVo, ProductVo.class);
+ productVoCopy.setDirectionCode(dire.substring(0, 14) + String.format("%05d", i));
+ productVos.add(productVoCopy);
+ }
+ }
+
+ public static Map<String,List<ProductCodeVo>> getProductCodeVoList(ProductCodeVo productCodeVo) {
+ List<ProductCodeVo> productCodeVoList = new ArrayList<>();
+ List<ProductCodeVo> printCodeVoList = new ArrayList<>();
+ DirectionDetail detailDetail = dealDirectionCode(productCodeVo.getOriginalcode());
+ for (int i = Integer.parseInt(detailDetail.getSerialNo());i < Integer.parseInt(detailDetail.getSerialNo())+Integer.parseInt(detailDetail.getBoxNo());i++){
+ ProductCodeVo productVoCopy = BeanUtils.copy(productCodeVo, ProductCodeVo.class);
+ productVoCopy.setItemcode(productCodeVo.getOriginalcode().substring(0, 14) + String.format("%05d", i));
+ productCodeVoList.add(productVoCopy);
+ }
+
+ ProductCodeVo productVoCopy = new ProductCodeVo();
+ printCodeVoList.addAll(productCodeVoList);
+ if (productCodeVoList.size() > 0 && productCodeVoList.size() % 2 == 0) {
+ //2个空行
+ printCodeVoList.add(productVoCopy);
+ printCodeVoList.add(productVoCopy);
+ } else if (productCodeVoList.size() > 0 && productCodeVoList.size() % 2 == 1) {
+ //3个空行
+ printCodeVoList.add(productVoCopy);
+ printCodeVoList.add(productVoCopy);
+ printCodeVoList.add(productVoCopy);
+ }
+
+ productCodeVoList.add(productVoCopy);
+
+
+ HashMap<String,List<ProductCodeVo>> result = new HashMap<>();
+ result.put("productCodeVoList", productCodeVoList);
+ result.put("printCodeVoList", printCodeVoList);
+ return result;
+ }
+
+ public static List<ProductCodeVo> getBatchProductCodeList(ProductCodeVo productCodeVo,Integer needBlank) {
+ List<ProductCodeVo> productCodeVoList = new ArrayList<>();
+ List<ProductCodeVo> printCodeVoList = new ArrayList<>();
+ DirectionDetail detailDetail = dealDirectionCode(productCodeVo.getOriginalcode());
+ for (int i = Integer.parseInt(detailDetail.getSerialNo());i < Integer.parseInt(detailDetail.getSerialNo())+Integer.parseInt(detailDetail.getBoxNo());i++){
+ ProductCodeVo productVoCopy = BeanUtils.copy(productCodeVo, ProductCodeVo.class);
+ productVoCopy.setItemcode(productCodeVo.getOriginalcode().substring(0, 14) + String.format("%05d", i));
+ productCodeVoList.add(productVoCopy);
+ }
+
+ ProductCodeVo productVoCopy = new ProductCodeVo();
+ printCodeVoList.addAll(productCodeVoList);
+
+ if (productCodeVoList.size() > 0 && productCodeVoList.size() % 2 == 0 && needBlank == 1) {
+ //2个空行
+ printCodeVoList.add(productVoCopy);
+ printCodeVoList.add(productVoCopy);
+ } else if (productCodeVoList.size() > 0 && productCodeVoList.size() % 2 == 1) {
+ //1个空行
+ printCodeVoList.add(productVoCopy);
+ }
+
+ productCodeVoList.add(productVoCopy);
+
+ return printCodeVoList;
+ }
+
+ public static void setProductVosAttribute(ProductVo productVo){
+ if (productVo != null){
+ DirectionDetail directionDetail = dealDirectionCode(productVo.getDirectionCode());
+ productVo.setItemCode(directionDetail.getItemCode());
+ productVo.setBoxNo(directionDetail.getBoxNo());
+ productVo.setSerialNo(directionDetail.getSerialNo());
+ productVo.setDateCode(directionDetail.getDateCode());
+ }
+ }
+
+ /**
+ * 生成OrderCode
+ */
+ /*public static String generateOrderCode(String module, String type, Date date){
+ DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+ String orderCode = dateFormat.format(date);
+ orderCode += (int)(Math.random()*1000);
+ switch (module) {
+ case MODULE_ENTRY:
+ if (type.equals(RK_ENTRY)) {
+ orderCode = "RK-" + orderCode;
+ } else if (type.equals(TH_ENTRY)) {
+ orderCode = "TH-" + orderCode;
+ }
+ break;
+ case MODULE_DELIVERY:
+ if (type.equals(NORMAL_DELIVERY)) {
+ orderCode = "ND-" + orderCode;
+ } else {
+ orderCode = "OD-" + orderCode;
+ }
+ break;
+ case MODULE_SALE:
+ if (type.equals(RETAIL_ORDER)) {
+ orderCode = "RO-" + orderCode;
+ } else if (type.equals(GROUP_ORDER)) {
+ orderCode = "GO-" + orderCode;
+ }
+ break;
+ default:
+ }
+
+ return orderCode;
+ }*/
+
+ /**
+ * 身份证中间数字加密
+ * @param idCardNum 身份证号
+ * @return 加密后的身份证号
+ */
+ public static String hideIdCardNum(String idCardNum){
+ if (StringUtils.isBlank(idCardNum)){
+ return idCardNum;
+ }
+ String begin = idCardNum.substring(0,6);
+ String end = idCardNum.substring(idCardNum.length()-6);
+ String mid = "******";
+ return begin+mid+end;
+ }
+
+ /**
+ * 根据单个含药量,返回一位编码
+ * 0 x<1
+ * 1 1≤x<2
+ * 2 2≤x<3
+ * 3 3≤x<4
+ * 4 4≤x<5
+ * 5 5≤x<6
+ * 6 6≤x<7
+ * 7 7≤x<8
+ * 8 8≤x<9
+ * 9 9≤x<10
+ * A 10≤x<20
+ * B 20≤x<30
+ * C 30≤x<40
+ * D 40≤x≤50
+ * E 50<x<100
+ * F 100≤x<200
+ * G 200≤x<500
+ * H 500≤x<1000
+ * I 定义中不含I
+ * J 1000≤x≤1200
+ * K 1200<x≤3000
+ * L 3000<x≤8000
+ */
+ public static String getBitCode(float x){
+
+ String bitCode = "";
+ if (x < 1){
+ bitCode = "0";
+ }else if (1<=x && x<2){
+ bitCode = "1";
+ }else if (x>=2 && x<3){
+ bitCode = "2";
+ }else if (x>=3 && x<4){
+ bitCode = "3";
+ }else if (x>=4 && x<5){
+ bitCode = "4";
+ }else if (x>=5 && x<6){
+ bitCode = "5";
+ }else if (x>=6 && x<7){
+ bitCode = "6";
+ }else if (x>=7 && x<8){
+ bitCode = "7";
+ }else if (x>=8 && x<9){
+ bitCode = "8";
+ }else if (x>=9 && x<10){
+ bitCode = "9";
+ }else if (x>=10 && x<20){
+ bitCode = "A";
+ }else if (x>=20 && x<30){
+ bitCode = "B";
+ }else if (x>=30 && x<40){
+ bitCode = "C";
+ }else if (x>=40 && x<=50){
+ bitCode = "D";
+ }else if (x>50 && x<100){
+ bitCode = "E";
+ }else if (x>=100 && x<200){
+ bitCode = "F";
+ }else if (x>=200 && x<500){
+ bitCode = "G";
+ }else if (x>=500 && x<1000){
+ bitCode = "H";
+ }else if (x>=1000 && x<=1200){
+ bitCode = "J";
+ }else if (x>1200 && x<=3000){
+ bitCode = "K";
+ }else if (x>3000 && x<=8000){
+ bitCode = "L";
+ }
+ return bitCode;
+ }
+}
--
Gitblit v1.9.2