tao.mo

PI-11-HS CODE接口-01:

接口调整
新增HS CODE通用模糊查询接口,增加监管条件字段。
mt
2023年2月24日18:02:22
...@@ -25,7 +25,8 @@ public enum ErrorCodeEnum { ...@@ -25,7 +25,8 @@ public enum ErrorCodeEnum {
25 ERROR_30101("30101","数据查询异常(访问数据库超时或者其他数据库异常)"), 25 ERROR_30101("30101","数据查询异常(访问数据库超时或者其他数据库异常)"),
26 ERROR_30102("30102","hscode编码字段长度超过2000字符"), 26 ERROR_30102("30102","hscode编码字段长度超过2000字符"),
27 ERROR_30103("30103","skuCode与skuName必须传递一项"), 27 ERROR_30103("30103","skuCode与skuName必须传递一项"),
28 - ERROR_30104("30104","skuCode或skuName长度超出限制"); 28 + ERROR_30104("30104","skuCode或skuName长度超出限制"),
29 + ERROR_30105("30105","skuCode编码最少输入4位字符,skuName最少输入2个字符");
29 30
30 ErrorCodeEnum(String code,String name){ 31 ErrorCodeEnum(String code,String name){
31 this.code = code; 32 this.code = code;
......
...@@ -98,12 +98,12 @@ public class HsCodeInterface { ...@@ -98,12 +98,12 @@ public class HsCodeInterface {
98 long end = System.currentTimeMillis(); 98 long end = System.currentTimeMillis();
99 iclearApiHsCodeLog.setSpendTime(end-begin); 99 iclearApiHsCodeLog.setSpendTime(end-begin);
100 String skuCode = hscode.getSkuCode(); 100 String skuCode = hscode.getSkuCode();
101 - if(!StringUtil.isEmpty(skuCode)){ 101 + if(!StringUtil.isEmpty(skuCode) && skuCode.length() > 50){
102 skuCode = skuCode.substring(0,50); 102 skuCode = skuCode.substring(0,50);
103 } 103 }
104 String skuName = hscode.getSkuName(); 104 String skuName = hscode.getSkuName();
105 - if(!StringUtil.isEmpty(skuName)){ 105 + if(!StringUtil.isEmpty(skuName) && skuName.length() > 1000){
106 - skuName = skuName.substring(0,50); 106 + skuName = skuName.substring(0,1000);
107 } 107 }
108 iclearApiHsCodeLog.setCode("[skuCode="+skuCode+"],[skuName="+skuName+"]"); 108 iclearApiHsCodeLog.setCode("[skuCode="+skuCode+"],[skuName="+skuName+"]");
109 iClearApiHsCodeLogService.saveIClearApiHsCodeLog(iclearApiHsCodeLog); 109 iClearApiHsCodeLogService.saveIClearApiHsCodeLog(iclearApiHsCodeLog);
......
...@@ -94,5 +94,8 @@ public class Constant { ...@@ -94,5 +94,8 @@ public class Constant {
94 94
95 public static String DECLARED_DOC_TYPE_ZERO="declaredDocType_00"; 95 public static String DECLARED_DOC_TYPE_ZERO="declaredDocType_00";
96 96
97 - 97 + /**
98 + * 监管条件
99 + */
100 + public static final String supervise_condition = "superviseRestrict";
98 } 101 }
......
...@@ -2,6 +2,8 @@ package com.erry.iclear.dateInterface.entity; ...@@ -2,6 +2,8 @@ package com.erry.iclear.dateInterface.entity;
2 2
3 import com.erry.iclear.dateInterface.common.BaseModel; 3 import com.erry.iclear.dateInterface.common.BaseModel;
4 import com.fasterxml.jackson.annotation.JsonIgnore; 4 import com.fasterxml.jackson.annotation.JsonIgnore;
5 +import lombok.Data;
6 +import org.hibernate.annotations.Persister;
5 7
6 import javax.persistence.*; 8 import javax.persistence.*;
7 import java.math.BigDecimal; 9 import java.math.BigDecimal;
...@@ -13,6 +15,7 @@ import java.util.Date; ...@@ -13,6 +15,7 @@ import java.util.Date;
13 */ 15 */
14 @Entity 16 @Entity
15 @Table(name = "T_CC_HS_CODE") 17 @Table(name = "T_CC_HS_CODE")
18 +@Data
16 public class HsCode extends BaseModel { 19 public class HsCode extends BaseModel {
17 20
18 private static final long serialVersionUID = 2693103610036977383L; 21 private static final long serialVersionUID = 2693103610036977383L;
...@@ -449,820 +452,14 @@ public class HsCode extends BaseModel { ...@@ -449,820 +452,14 @@ public class HsCode extends BaseModel {
449 @Column(name = "OUT_RATE") 452 @Column(name = "OUT_RATE")
450 private BigDecimal outRate; 453 private BigDecimal outRate;
451 454
455 + /**
456 + * 是否限制出口C类申报
457 + * 1表示限制,0表示不限制
458 + */
459 + @Transient
460 + Integer restrictedC;
452 461
453 - public static long getSerialVersionUID() {
454 - return serialVersionUID;
455 - }
456 -
457 - @Override
458 - public Long getId() {
459 - return id;
460 - }
461 -
462 - @Override
463 - public void setId(Long id) {
464 - this.id = id;
465 - }
466 -
467 - public String getSkuCode() {
468 - return skuCode;
469 - }
470 -
471 - public void setSkuCode(String skuCode) {
472 - this.skuCode = skuCode;
473 - }
474 -
475 - public String getSkuName() {
476 - return skuName;
477 - }
478 -
479 - public void setSkuName(String skuName) {
480 - this.skuName = skuName;
481 - }
482 -
483 - public BigDecimal getDutyRate() {
484 - return dutyRate;
485 - }
486 -
487 - public void setDutyRate(BigDecimal dutyRate) {
488 - this.dutyRate = dutyRate;
489 - }
490 -
491 - public BigDecimal getRegRate() {
492 - return regRate;
493 - }
494 -
495 - public void setRegRate(BigDecimal regRate) {
496 - this.regRate = regRate;
497 - }
498 -
499 - public BigDecimal getTaxRate() {
500 - return taxRate;
501 - }
502 -
503 - public void setTaxRate(BigDecimal taxRate) {
504 - this.taxRate = taxRate;
505 - }
506 -
507 - public String getMeasureUnit() {
508 - return measureUnit;
509 - }
510 -
511 - public void setMeasureUnit(String measureUnit) {
512 - this.measureUnit = measureUnit;
513 - }
514 -
515 - public String getMonitorCondition() {
516 - return monitorCondition;
517 - }
518 -
519 - public void setMonitorCondition(String monitorCondition) {
520 - this.monitorCondition = monitorCondition;
521 - }
522 -
523 - public String getRemark() {
524 - return remark;
525 - }
526 -
527 - public void setRemark(String remark) {
528 - this.remark = remark;
529 - }
530 -
531 - public Date getCreateTime() {
532 - return createTime;
533 - }
534 -
535 - public void setCreateTime(Date createTime) {
536 - this.createTime = createTime;
537 - }
538 -
539 - public SysUser getCreatorId() {
540 - return creatorId;
541 - }
542 -
543 - public void setCreatorId(SysUser creatorId) {
544 - this.creatorId = creatorId;
545 - }
546 -
547 - public String getCreator() {
548 - return creator;
549 - }
550 -
551 - public void setCreator(String creator) {
552 - this.creator = creator;
553 - }
554 -
555 - public Date getUpdateTime() {
556 - return updateTime;
557 - }
558 -
559 - public void setUpdateTime(Date updateTime) {
560 - this.updateTime = updateTime;
561 - }
562 -
563 - public SysUser getUpdateUser() {
564 - return updateUser;
565 - }
566 -
567 - public void setUpdateUser(SysUser updateUser) {
568 - this.updateUser = updateUser;
569 - }
570 -
571 - public String getUpdateUserName() {
572 - return updateUserName;
573 - }
574 -
575 - public void setUpdateUserName(String updateUserName) {
576 - this.updateUserName = updateUserName;
577 - }
578 -
579 - public Boolean getValidate() {
580 - return validate;
581 - }
582 -
583 - public void setValidate(Boolean validate) {
584 - this.validate = validate;
585 - }
586 -
587 - public String getUnitLegalFirst() {
588 - return unitLegalFirst;
589 - }
590 -
591 - public void setUnitLegalFirst(String unitLegalFirst) {
592 - this.unitLegalFirst = unitLegalFirst;
593 - }
594 -
595 - public String getUnitLegalSecond() {
596 - return unitLegalSecond;
597 - }
598 -
599 - public void setUnitLegalSecond(String unitLegalSecond) {
600 - this.unitLegalSecond = unitLegalSecond;
601 - }
602 -
603 - public Boolean getCcc() {
604 - return isCcc;
605 - }
606 -
607 - public void setCcc(Boolean ccc) {
608 - isCcc = ccc;
609 - }
610 -
611 - public Boolean getExporttax() {
612 - return exporttax;
613 - }
614 -
615 - public void setExporttax(Boolean exporttax) {
616 - this.exporttax = exporttax;
617 - }
618 -
619 - public String getElement1() {
620 - return element1;
621 - }
622 -
623 - public void setElement1(String element1) {
624 - this.element1 = element1;
625 - }
626 -
627 - public BigDecimal getFlag1() {
628 - return flag1;
629 - }
630 -
631 - public void setFlag1(BigDecimal flag1) {
632 - this.flag1 = flag1;
633 - }
634 -
635 - public String getSelect1() {
636 - return select1;
637 - }
638 -
639 - public void setSelect1(String select1) {
640 - this.select1 = select1;
641 - }
642 -
643 - public BigDecimal getSelectFlag1() {
644 - return selectFlag1;
645 - }
646 -
647 - public void setSelectFlag1(BigDecimal selectFlag1) {
648 - this.selectFlag1 = selectFlag1;
649 - }
650 -
651 - public String getElement2() {
652 - return element2;
653 - }
654 -
655 - public void setElement2(String element2) {
656 - this.element2 = element2;
657 - }
658 -
659 - public BigDecimal getFlag2() {
660 - return flag2;
661 - }
662 -
663 - public void setFlag2(BigDecimal flag2) {
664 - this.flag2 = flag2;
665 - }
666 -
667 - public String getSelect2() {
668 - return select2;
669 - }
670 -
671 - public void setSelect2(String select2) {
672 - this.select2 = select2;
673 - }
674 -
675 - public BigDecimal getSelectFlag2() {
676 - return selectFlag2;
677 - }
678 -
679 - public void setSelectFlag2(BigDecimal selectFlag2) {
680 - this.selectFlag2 = selectFlag2;
681 - }
682 -
683 - public String getElement3() {
684 - return element3;
685 - }
686 -
687 - public void setElement3(String element3) {
688 - this.element3 = element3;
689 - }
690 -
691 - public BigDecimal getFlag3() {
692 - return flag3;
693 - }
694 -
695 - public void setFlag3(BigDecimal flag3) {
696 - this.flag3 = flag3;
697 - }
698 -
699 - public String getSelect3() {
700 - return select3;
701 - }
702 -
703 - public void setSelect3(String select3) {
704 - this.select3 = select3;
705 - }
706 -
707 - public BigDecimal getSelectFlag3() {
708 - return selectFlag3;
709 - }
710 -
711 - public void setSelectFlag3(BigDecimal selectFlag3) {
712 - this.selectFlag3 = selectFlag3;
713 - }
714 -
715 - public String getElement4() {
716 - return element4;
717 - }
718 -
719 - public void setElement4(String element4) {
720 - this.element4 = element4;
721 - }
722 -
723 - public BigDecimal getFlag4() {
724 - return flag4;
725 - }
726 -
727 - public void setFlag4(BigDecimal flag4) {
728 - this.flag4 = flag4;
729 - }
730 -
731 - public String getSelect4() {
732 - return select4;
733 - }
734 -
735 - public void setSelect4(String select4) {
736 - this.select4 = select4;
737 - }
738 -
739 - public BigDecimal getSelectFlag4() {
740 - return selectFlag4;
741 - }
742 -
743 - public void setSelectFlag4(BigDecimal selectFlag4) {
744 - this.selectFlag4 = selectFlag4;
745 - }
746 -
747 - public String getElement5() {
748 - return element5;
749 - }
750 -
751 - public void setElement5(String element5) {
752 - this.element5 = element5;
753 - }
754 -
755 - public BigDecimal getFlag5() {
756 - return flag5;
757 - }
758 -
759 - public void setFlag5(BigDecimal flag5) {
760 - this.flag5 = flag5;
761 - }
762 -
763 - public String getSelect5() {
764 - return select5;
765 - }
766 -
767 - public void setSelect5(String select5) {
768 - this.select5 = select5;
769 - }
770 -
771 - public BigDecimal getSelectFlag5() {
772 - return selectFlag5;
773 - }
774 -
775 - public void setSelectFlag5(BigDecimal selectFlag5) {
776 - this.selectFlag5 = selectFlag5;
777 - }
778 -
779 - public String getElement6() {
780 - return element6;
781 - }
782 -
783 - public void setElement6(String element6) {
784 - this.element6 = element6;
785 - }
786 -
787 - public BigDecimal getFlag6() {
788 - return flag6;
789 - }
790 -
791 - public void setFlag6(BigDecimal flag6) {
792 - this.flag6 = flag6;
793 - }
794 -
795 - public String getSelect6() {
796 - return select6;
797 - }
798 -
799 - public void setSelect6(String select6) {
800 - this.select6 = select6;
801 - }
802 -
803 - public BigDecimal getSelectFlag6() {
804 - return selectFlag6;
805 - }
806 -
807 - public void setSelectFlag6(BigDecimal selectFlag6) {
808 - this.selectFlag6 = selectFlag6;
809 - }
810 -
811 - public String getElement7() {
812 - return element7;
813 - }
814 -
815 - public void setElement7(String element7) {
816 - this.element7 = element7;
817 - }
818 -
819 - public BigDecimal getFlag7() {
820 - return flag7;
821 - }
822 -
823 - public void setFlag7(BigDecimal flag7) {
824 - this.flag7 = flag7;
825 - }
826 -
827 - public String getSelect7() {
828 - return select7;
829 - }
830 -
831 - public void setSelect7(String select7) {
832 - this.select7 = select7;
833 - }
834 -
835 - public BigDecimal getSelectFlag7() {
836 - return selectFlag7;
837 - }
838 -
839 - public void setSelectFlag7(BigDecimal selectFlag7) {
840 - this.selectFlag7 = selectFlag7;
841 - }
842 -
843 - public String getElement8() {
844 - return element8;
845 - }
846 -
847 - public void setElement8(String element8) {
848 - this.element8 = element8;
849 - }
850 -
851 - public BigDecimal getFlag8() {
852 - return flag8;
853 - }
854 -
855 - public void setFlag8(BigDecimal flag8) {
856 - this.flag8 = flag8;
857 - }
858 -
859 - public String getSelect8() {
860 - return select8;
861 - }
862 -
863 - public void setSelect8(String select8) {
864 - this.select8 = select8;
865 - }
866 -
867 - public BigDecimal getSelectFlag8() {
868 - return selectFlag8;
869 - }
870 -
871 - public void setSelectFlag8(BigDecimal selectFlag8) {
872 - this.selectFlag8 = selectFlag8;
873 - }
874 -
875 - public String getElement9() {
876 - return element9;
877 - }
878 -
879 - public void setElement9(String element9) {
880 - this.element9 = element9;
881 - }
882 -
883 - public BigDecimal getFlag9() {
884 - return flag9;
885 - }
886 -
887 - public void setFlag9(BigDecimal flag9) {
888 - this.flag9 = flag9;
889 - }
890 -
891 - public String getSelect9() {
892 - return select9;
893 - }
894 -
895 - public void setSelect9(String select9) {
896 - this.select9 = select9;
897 - }
898 -
899 - public BigDecimal getSelectFlag9() {
900 - return selectFlag9;
901 - }
902 -
903 - public void setSelectFlag9(BigDecimal selectFlag9) {
904 - this.selectFlag9 = selectFlag9;
905 - }
906 -
907 - public String getElement10() {
908 - return element10;
909 - }
910 -
911 - public void setElement10(String element10) {
912 - this.element10 = element10;
913 - }
914 -
915 - public BigDecimal getFlag10() {
916 - return flag10;
917 - }
918 -
919 - public void setFlag10(BigDecimal flag10) {
920 - this.flag10 = flag10;
921 - }
922 -
923 - public String getSelect10() {
924 - return select10;
925 - }
926 -
927 - public void setSelect10(String select10) {
928 - this.select10 = select10;
929 - }
930 -
931 - public BigDecimal getSelectFlag10() {
932 - return selectFlag10;
933 - }
934 -
935 - public void setSelectFlag10(BigDecimal selectFlag10) {
936 - this.selectFlag10 = selectFlag10;
937 - }
938 -
939 - public String getElement11() {
940 - return element11;
941 - }
942 -
943 - public void setElement11(String element11) {
944 - this.element11 = element11;
945 - }
946 -
947 - public BigDecimal getFlag11() {
948 - return flag11;
949 - }
950 -
951 - public void setFlag11(BigDecimal flag11) {
952 - this.flag11 = flag11;
953 - }
954 -
955 - public String getSelect11() {
956 - return select11;
957 - }
958 -
959 - public void setSelect11(String select11) {
960 - this.select11 = select11;
961 - }
962 -
963 - public BigDecimal getSelectFlag11() {
964 - return selectFlag11;
965 - }
966 -
967 - public void setSelectFlag11(BigDecimal selectFlag11) {
968 - this.selectFlag11 = selectFlag11;
969 - }
970 -
971 - public String getElement12() {
972 - return element12;
973 - }
974 -
975 - public void setElement12(String element12) {
976 - this.element12 = element12;
977 - }
978 -
979 - public BigDecimal getFlag12() {
980 - return flag12;
981 - }
982 -
983 - public void setFlag12(BigDecimal flag12) {
984 - this.flag12 = flag12;
985 - }
986 -
987 - public String getSelect12() {
988 - return select12;
989 - }
990 -
991 - public void setSelect12(String select12) {
992 - this.select12 = select12;
993 - }
994 -
995 - public BigDecimal getSelectFlag12() {
996 - return selectFlag12;
997 - }
998 -
999 - public void setSelectFlag12(BigDecimal selectFlag12) {
1000 - this.selectFlag12 = selectFlag12;
1001 - }
1002 -
1003 - public String getElement13() {
1004 - return element13;
1005 - }
1006 -
1007 - public void setElement13(String element13) {
1008 - this.element13 = element13;
1009 - }
1010 -
1011 - public BigDecimal getFlag13() {
1012 - return flag13;
1013 - }
1014 -
1015 - public void setFlag13(BigDecimal flag13) {
1016 - this.flag13 = flag13;
1017 - }
1018 -
1019 - public String getSelect13() {
1020 - return select13;
1021 - }
1022 -
1023 - public void setSelect13(String select13) {
1024 - this.select13 = select13;
1025 - }
1026 -
1027 - public BigDecimal getSelectFlag13() {
1028 - return selectFlag13;
1029 - }
1030 -
1031 - public void setSelectFlag13(BigDecimal selectFlag13) {
1032 - this.selectFlag13 = selectFlag13;
1033 - }
1034 -
1035 - public String getElement14() {
1036 - return element14;
1037 - }
1038 -
1039 - public void setElement14(String element14) {
1040 - this.element14 = element14;
1041 - }
1042 -
1043 - public BigDecimal getFlag14() {
1044 - return flag14;
1045 - }
1046 -
1047 - public void setFlag14(BigDecimal flag14) {
1048 - this.flag14 = flag14;
1049 - }
1050 -
1051 - public String getSelect14() {
1052 - return select14;
1053 - }
1054 -
1055 - public void setSelect14(String select14) {
1056 - this.select14 = select14;
1057 - }
1058 -
1059 - public BigDecimal getSelectFlag14() {
1060 - return selectFlag14;
1061 - }
1062 -
1063 - public void setSelectFlag14(BigDecimal selectFlag14) {
1064 - this.selectFlag14 = selectFlag14;
1065 - }
1066 -
1067 - public String getElement15() {
1068 - return element15;
1069 - }
1070 -
1071 - public void setElement15(String element15) {
1072 - this.element15 = element15;
1073 - }
1074 -
1075 - public BigDecimal getFlag15() {
1076 - return flag15;
1077 - }
1078 -
1079 - public void setFlag15(BigDecimal flag15) {
1080 - this.flag15 = flag15;
1081 - }
1082 -
1083 - public String getSelect15() {
1084 - return select15;
1085 - }
1086 -
1087 - public void setSelect15(String select15) {
1088 - this.select15 = select15;
1089 - }
1090 -
1091 - public BigDecimal getSelectFlag15() {
1092 - return selectFlag15;
1093 - }
1094 -
1095 - public void setSelectFlag15(BigDecimal selectFlag15) {
1096 - this.selectFlag15 = selectFlag15;
1097 - }
1098 -
1099 - public String getElement16() {
1100 - return element16;
1101 - }
1102 -
1103 - public void setElement16(String element16) {
1104 - this.element16 = element16;
1105 - }
1106 -
1107 - public BigDecimal getFlag16() {
1108 - return flag16;
1109 - }
1110 -
1111 - public void setFlag16(BigDecimal flag16) {
1112 - this.flag16 = flag16;
1113 - }
1114 -
1115 - public String getSelect16() {
1116 - return select16;
1117 - }
1118 -
1119 - public void setSelect16(String select16) {
1120 - this.select16 = select16;
1121 - }
1122 -
1123 - public BigDecimal getSelectFlag16() {
1124 - return selectFlag16;
1125 - }
1126 -
1127 - public void setSelectFlag16(BigDecimal selectFlag16) {
1128 - this.selectFlag16 = selectFlag16;
1129 - }
1130 -
1131 - public String getElement17() {
1132 - return element17;
1133 - }
1134 -
1135 - public void setElement17(String element17) {
1136 - this.element17 = element17;
1137 - }
1138 -
1139 - public BigDecimal getFlag17() {
1140 - return flag17;
1141 - }
1142 -
1143 - public void setFlag17(BigDecimal flag17) {
1144 - this.flag17 = flag17;
1145 - }
1146 -
1147 - public String getSelect17() {
1148 - return select17;
1149 - }
1150 -
1151 - public void setSelect17(String select17) {
1152 - this.select17 = select17;
1153 - }
1154 -
1155 - public BigDecimal getSelectFlag17() {
1156 - return selectFlag17;
1157 - }
1158 -
1159 - public void setSelectFlag17(BigDecimal selectFlag17) {
1160 - this.selectFlag17 = selectFlag17;
1161 - }
1162 -
1163 - public String getElement18() {
1164 - return element18;
1165 - }
1166 -
1167 - public void setElement18(String element18) {
1168 - this.element18 = element18;
1169 - }
1170 -
1171 - public BigDecimal getFlag18() {
1172 - return flag18;
1173 - }
1174 -
1175 - public void setFlag18(BigDecimal flag18) {
1176 - this.flag18 = flag18;
1177 - }
1178 -
1179 - public String getSelect18() {
1180 - return select18;
1181 - }
1182 -
1183 - public void setSelect18(String select18) {
1184 - this.select18 = select18;
1185 - }
1186 -
1187 - public BigDecimal getSelectFlag18() {
1188 - return selectFlag18;
1189 - }
1190 -
1191 - public void setSelectFlag18(BigDecimal selectFlag18) {
1192 - this.selectFlag18 = selectFlag18;
1193 - }
1194 -
1195 - public String getElement19() {
1196 - return element19;
1197 - }
1198 -
1199 - public void setElement19(String element19) {
1200 - this.element19 = element19;
1201 - }
1202 -
1203 - public BigDecimal getFlag19() {
1204 - return flag19;
1205 - }
1206 -
1207 - public void setFlag19(BigDecimal flag19) {
1208 - this.flag19 = flag19;
1209 - }
1210 -
1211 - public String getSelect19() {
1212 - return select19;
1213 - }
1214 -
1215 - public void setSelect19(String select19) {
1216 - this.select19 = select19;
1217 - }
1218 -
1219 - public BigDecimal getSelectFlag19() {
1220 - return selectFlag19;
1221 - }
1222 -
1223 - public void setSelectFlag19(BigDecimal selectFlag19) {
1224 - this.selectFlag19 = selectFlag19;
1225 - }
1226 -
1227 - public String getElement20() {
1228 - return element20;
1229 - }
1230 -
1231 - public void setElement20(String element20) {
1232 - this.element20 = element20;
1233 - }
1234 -
1235 - public BigDecimal getFlag20() {
1236 - return flag20;
1237 - }
1238 -
1239 - public void setFlag20(BigDecimal flag20) {
1240 - this.flag20 = flag20;
1241 - }
1242 -
1243 - public String getSelect20() {
1244 - return select20;
1245 - }
1246 -
1247 - public void setSelect20(String select20) {
1248 - this.select20 = select20;
1249 - }
1250 -
1251 - public BigDecimal getSelectFlag20() {
1252 - return selectFlag20;
1253 - }
1254 -
1255 - public void setSelectFlag20(BigDecimal selectFlag20) {
1256 - this.selectFlag20 = selectFlag20;
1257 - }
1258 -
1259 - public BigDecimal getOutRate() {
1260 - return outRate;
1261 - }
1262 462
1263 - public void setOutRate(BigDecimal outRate) {
1264 - this.outRate = outRate;
1265 - }
1266 463
1267 @Override 464 @Override
1268 public String toString() { 465 public String toString() {
......
...@@ -41,4 +41,13 @@ public interface DictionaryEntriesRepository extends JpaRepository<DictionaryEn ...@@ -41,4 +41,13 @@ public interface DictionaryEntriesRepository extends JpaRepository<DictionaryEn
41 @Query(nativeQuery = true, value = "SELECT * FROM T_BI_DICTIONARY_ENTRIES WHERE DICT_CODE = ?1 AND EXT6 = ?2") 41 @Query(nativeQuery = true, value = "SELECT * FROM T_BI_DICTIONARY_ENTRIES WHERE DICT_CODE = ?1 AND EXT6 = ?2")
42 public DictionaryEntries findDictionaryEntriesByDicCode(String code,String numBer); 42 public DictionaryEntries findDictionaryEntriesByDicCode(String code,String numBer);
43 43
44 + /**
45 + *监管条件
46 + * @param dictCode
47 + * @param status
48 + * @return
49 + */
50 + @Query(nativeQuery = true, value = "select CHINESE_NAME from T_BI_DICTIONARY_ENTRIES where DICT_CODE = ?1 AND STATUS=?2 order by ORDINAL")
51 + public List<String> findDicEntByCodeList(String dictCode, Integer status);
52 +
44 } 53 }
......
...@@ -16,27 +16,35 @@ import java.util.List; ...@@ -16,27 +16,35 @@ import java.util.List;
16 */ 16 */
17 @Repository 17 @Repository
18 public interface HsCodeRepository extends JpaSpecificationExecutor<HsCode>, JpaRepository<HsCode, Long> { 18 public interface HsCodeRepository extends JpaSpecificationExecutor<HsCode>, JpaRepository<HsCode, Long> {
19 - /**
20 - *
21 - * 根据hscode编码查询最新一条hscode信息
22 - * @param code
23 - * @return
24 - */
25 - @Query(nativeQuery = true,value = "select top 1 * from T_CC_HS_CODE where VALIDATE=1 and SKU_CODE =?1 order by id desc ")
26 - public HsCode findHsCodeByCode(String code);
27 19
28 /** 20 /**
29 * 根据hscode编码查询对应的hscode 21 * 根据hscode编码查询对应的hscode
30 * @param skuCodeList 22 * @param skuCodeList
31 * @return 23 * @return
32 */ 24 */
33 - @Query(nativeQuery = true, value = "select * from [dbo].[T_CC_HS_CODE] where VALIDATE=1 and SKU_CODE in ?1") 25 + @Query(nativeQuery = true, value = "select * from T_CC_HS_CODE where VALIDATE=1 and SKU_CODE in ?1")
34 List<HsCode> findHsCodeListByCode(List<String> skuCodeList); 26 List<HsCode> findHsCodeListByCode(List<String> skuCodeList);
35 27
36 /** 28 /**
29 + * 根据hscode编码或者商品名称进行模糊查询
30 + * @param skuCode
31 + * @param skuName
32 + * @return
33 + */
34 + @Query(nativeQuery = true, value = "SELECT TOP 50 * FROM T_CC_HS_CODE WHERE VALIDATE=1 and SKU_CODE LIKE ?1 AND SKUNAME LIKE ?2")
35 + List<HsCode> fuzzyQueryHsCode(String skuCode,String skuName);
36 +
37 + /**
37 * 查询所有有效hscode 38 * 查询所有有效hscode
38 * @return 39 * @return
39 */ 40 */
40 @Query(nativeQuery = true,value = "select * from T_CC_HS_CODE where VALIDATE=1") 41 @Query(nativeQuery = true,value = "select * from T_CC_HS_CODE where VALIDATE=1")
41 - public List<HsCode> findAllHsCodeList(); 42 + List<HsCode> findAllHsCodeList();
43 +
44 + /**
45 + * 获取监管条件数据
46 + * @return
47 + */
48 + @Query(nativeQuery = true,value = "select * from T_CC_HS_CODE where OUT_RATE <> 0 or MONITOR_CONDITION collate Chinese_PRC_CS_AI_WS LIKE ?1")
49 + List<HsCode> findMonitorCondition(String chinsesName);
42 } 50 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -3,14 +3,17 @@ package com.erry.iclear.dateInterface.service; ...@@ -3,14 +3,17 @@ package com.erry.iclear.dateInterface.service;
3 import com.erry.iclear.dateInterface.ErrorCodeEnum; 3 import com.erry.iclear.dateInterface.ErrorCodeEnum;
4 import com.erry.iclear.dateInterface.api.request.HsCodeParam; 4 import com.erry.iclear.dateInterface.api.request.HsCodeParam;
5 import com.erry.iclear.dateInterface.api.response.ResultHsCode; 5 import com.erry.iclear.dateInterface.api.response.ResultHsCode;
6 +import com.erry.iclear.dateInterface.common.Constant;
6 import com.erry.iclear.dateInterface.entity.HsCode; 7 import com.erry.iclear.dateInterface.entity.HsCode;
8 +import com.erry.iclear.dateInterface.repository.DictionaryEntriesRepository;
7 import com.erry.iclear.dateInterface.repository.HsCodeRepository; 9 import com.erry.iclear.dateInterface.repository.HsCodeRepository;
8 import com.erry.iclear.dateInterface.util.StringUtil; 10 import com.erry.iclear.dateInterface.util.StringUtil;
9 import lombok.extern.slf4j.Slf4j; 11 import lombok.extern.slf4j.Slf4j;
10 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
12 -import java.util.Arrays; 14 +
13 -import java.util.List; 15 +import java.sql.*;
16 +import java.util.*;
14 17
15 /** 18 /**
16 * hscode service 19 * hscode service
...@@ -20,8 +23,12 @@ import java.util.List; ...@@ -20,8 +23,12 @@ import java.util.List;
20 @Service 23 @Service
21 @Slf4j 24 @Slf4j
22 public class HsCodeService { 25 public class HsCodeService {
26 +
23 @Autowired 27 @Autowired
24 HsCodeRepository hsCodeRepository; 28 HsCodeRepository hsCodeRepository;
29 + @Autowired
30 + DictionaryEntriesRepository dicEntriesRepository;
31 +
25 /** 32 /**
26 * 根据hscode编码查询对应的hscode 33 * 根据hscode编码查询对应的hscode
27 * @param hscode 34 * @param hscode
...@@ -59,6 +66,8 @@ public class HsCodeService { ...@@ -59,6 +66,8 @@ public class HsCodeService {
59 hsCodeList.add(hsCode); 66 hsCodeList.add(hsCode);
60 } 67 }
61 }); 68 });
69 + //只能申报D类hscode监管条件hscode
70 + this.setHscodeSupervise(hsCodeList);
62 resultHsCode.setSuccess(Boolean.TRUE); 71 resultHsCode.setSuccess(Boolean.TRUE);
63 resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode()); 72 resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode());
64 resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName()); 73 resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName());
...@@ -80,24 +89,43 @@ public class HsCodeService { ...@@ -80,24 +89,43 @@ public class HsCodeService {
80 public ResultHsCode fuzzyQueryHsCode(HsCodeParam hscode){ 89 public ResultHsCode fuzzyQueryHsCode(HsCodeParam hscode){
81 ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null); 90 ResultHsCode resultHsCode = new ResultHsCode(Boolean.FALSE,"","",null);
82 try{ 91 try{
92 + //编码与品名都为空校验失败
83 if(StringUtil.isEmpty(hscode.getSkuCode()) && StringUtil.isEmpty(hscode.getSkuName())){ 93 if(StringUtil.isEmpty(hscode.getSkuCode()) && StringUtil.isEmpty(hscode.getSkuName())){
84 resultHsCode.setCode(ErrorCodeEnum.ERROR_30103.getCode()); 94 resultHsCode.setCode(ErrorCodeEnum.ERROR_30103.getCode());
85 resultHsCode.setMsg(ErrorCodeEnum.ERROR_30103.getName()); 95 resultHsCode.setMsg(ErrorCodeEnum.ERROR_30103.getName());
86 return resultHsCode; 96 return resultHsCode;
87 } 97 }
98 + //编码长度大于50校验失败
88 if(!StringUtil.isEmpty(hscode.getSkuCode()) && hscode.getSkuCode().length() > 50){ 99 if(!StringUtil.isEmpty(hscode.getSkuCode()) && hscode.getSkuCode().length() > 50){
89 resultHsCode.setCode(ErrorCodeEnum.ERROR_30104.getCode()); 100 resultHsCode.setCode(ErrorCodeEnum.ERROR_30104.getCode());
90 resultHsCode.setMsg(ErrorCodeEnum.ERROR_30104.getName()); 101 resultHsCode.setMsg(ErrorCodeEnum.ERROR_30104.getName());
91 return resultHsCode; 102 return resultHsCode;
92 } 103 }
104 + //品名长度大于1000校验失败
93 if(!StringUtil.isEmpty(hscode.getSkuName()) && hscode.getSkuName().length() > 1000){ 105 if(!StringUtil.isEmpty(hscode.getSkuName()) && hscode.getSkuName().length() > 1000){
94 resultHsCode.setCode(ErrorCodeEnum.ERROR_30104.getCode()); 106 resultHsCode.setCode(ErrorCodeEnum.ERROR_30104.getCode());
95 resultHsCode.setMsg(ErrorCodeEnum.ERROR_30104.getName()); 107 resultHsCode.setMsg(ErrorCodeEnum.ERROR_30104.getName());
96 return resultHsCode; 108 return resultHsCode;
97 } 109 }
98 - List<HsCode> hsCodeList = null; 110 + //编码长度小于4位字符校验失败
99 - 111 + if(!StringUtil.isEmpty(hscode.getSkuName()) && hscode.getSkuName().length() < 4){
100 - 112 + resultHsCode.setCode(ErrorCodeEnum.ERROR_30105.getCode());
113 + resultHsCode.setMsg(ErrorCodeEnum.ERROR_30105.getName());
114 + return resultHsCode;
115 + }
116 + //品名长度小于2位字符校验失败
117 + if(!StringUtil.isEmpty(hscode.getSkuName()) && hscode.getSkuName().length() < 2){
118 + resultHsCode.setCode(ErrorCodeEnum.ERROR_30105.getCode());
119 + resultHsCode.setMsg(ErrorCodeEnum.ERROR_30105.getName());
120 + return resultHsCode;
121 + }
122 + String skuCode = "%"+hscode.getSkuCode()+"%";
123 + String skuName = "%"+hscode.getSkuName()+"%";
124 + //模糊查询hscode信息
125 + List<HsCode> hsCodeList = this.hsCodeRepository.fuzzyQueryHsCode(skuCode,skuName);
126 + //对查询数据进行处理,标志数据是否C类限制品名
127 + //只能申报D类hscode监管条件hscode
128 + this.setHscodeSupervise(hsCodeList);
101 resultHsCode.setSuccess(Boolean.TRUE); 129 resultHsCode.setSuccess(Boolean.TRUE);
102 resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode()); 130 resultHsCode.setCode(ErrorCodeEnum.SUCCESS.getCode());
103 resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName()); 131 resultHsCode.setMsg(ErrorCodeEnum.SUCCESS.getName());
...@@ -131,4 +159,94 @@ public class HsCodeService { ...@@ -131,4 +159,94 @@ public class HsCodeService {
131 } 159 }
132 return resultHsCode; 160 return resultHsCode;
133 } 161 }
162 +
163 + /**
164 + * 只能申报D类hscode监管条件hscode
165 + * 设置hscode
166 + * mt
167 + * 2023年2月24日17:29:49
168 + */
169 + public void setHscodeSupervise(List<HsCode> hsCodeList){
170 + List<Long> hsCodeIds = new ArrayList<>();
171 + Map<String,Object> hscodeMap = this.getHscodeSupervise();
172 + StringBuffer shsql = new StringBuffer("'");
173 + if (hscodeMap !=null && hscodeMap.size()>0){
174 + for (Map.Entry hscodeEntry :hscodeMap.entrySet()){
175 + HsCode hsCode = (HsCode) hscodeEntry.getValue();
176 + hsCodeIds.add(hsCode.getId());
177 + }
178 + }
179 + hsCodeList.forEach(hsCode->{
180 + //判断该hscode是否只能申报D类
181 + if(hsCodeIds.contains(hsCode.getId())){
182 + //d类
183 + hsCode.setRestrictedC(1);
184 + }else{
185 + //C类
186 + hsCode.setRestrictedC(0);
187 + }
188 + //如果ID为空,则设置为空
189 + if(hsCode.getId() == null){
190 + hsCode.setRestrictedC(null);
191 + }
192 + });
193 + }
194 +
195 + /**
196 + * 根据监管条件获取数据,只能申报D类hscode信息
197 + * mt
198 + * 2023年2月24日16:43:46
199 + * @return
200 + */
201 + private Map<String,Object> getHscodeSupervise(){
202 + try {
203 + Map<String,Object> returnMap = new HashMap<>();
204 + List<String> dictionaryEntriesList = dicEntriesRepository.findDicEntByCodeList(Constant.supervise_condition,1);
205 + if (dictionaryEntriesList !=null && dictionaryEntriesList.size()>0){
206 + String chinsesName = "%[";
207 + for (int i= 0;i<dictionaryEntriesList.size();i++){
208 + if (dictionaryEntriesList.size() -1 == i){
209 + chinsesName += dictionaryEntriesList.get(i)+"]%";
210 + }else{
211 + chinsesName += dictionaryEntriesList.get(i)+"|";
212 + }
213 + }
214 + //查询监管条件数据
215 + List<HsCode> hsCodeList = this.hsCodeRepository.findMonitorCondition(chinsesName);
216 + hsCodeList.forEach(hsCode->{
217 + String newCode = getSubHscode(hsCode.getSkuCode());
218 + returnMap.put(newCode,hsCode);
219 + });
220 + }
221 + return returnMap;
222 + }catch (Exception e){
223 + log.error(e.getMessage(),e);
224 + }
225 + return null;
226 + }
227 +
228 + /**
229 + * 对商品编码进行处理
230 + * @param code
231 + * @return
232 + */
233 + private String getSubHscode(String code){
234 + try {
235 + if (!StringUtil.isEmptyWithTrim(code) && code.length()>6) {
236 + if (code.length() == 7) {
237 + code = "0" + code + "00";
238 + } else if (code.length() == 8) {
239 + code = code + "00";
240 + } else if (code.length() == 9) {
241 + code = "0" + code;
242 + } else if (code.length() > 10) {
243 + code = code.substring(0, 10);
244 + }
245 + return code;
246 + }
247 + }catch (Exception e){
248 + log.error(e.getMessage(),e);
249 + }
250 + return null;
251 + }
134 } 252 }
...\ No newline at end of file ...\ No newline at end of file
......