Ver Fonte

Merge branch 'develop' into card007

card007 há 5 anos atrás
pai
commit
46c6e2d8ff
33 ficheiros alterados com 477 adições e 84 exclusões
  1. 78 0
      pom.xml
  2. 1 1
      src/main/java/com/style24/admin/biz/service/TsaGoodsService.java
  3. 9 6
      src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java
  4. 1 1
      src/main/java/com/style24/admin/biz/web/TsaBusinessController.java
  5. 35 3
      src/main/java/com/style24/admin/biz/web/TsaOcmController.java
  6. 1 0
      src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java
  7. 2 2
      src/main/java/com/style24/persistence/mybatis/shop/TsaBusiness.xml
  8. 1 0
      src/main/java/com/style24/persistence/mybatis/shop/TsaCustomer.xml
  9. 4 2
      src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml
  10. 15 15
      src/main/java/com/style24/persistence/mybatis/shop/TsaFreegiftPromotion.xml
  11. 45 2
      src/main/java/com/style24/persistence/mybatis/shop/TsaOcm.xml
  12. 6 6
      src/main/java/com/style24/persistence/mybatis/shop/TsaShoplinker.xml
  13. 1 1
      src/main/resources/config/application-tsit.yml
  14. BIN
      src/main/webapp/WEB-INF/lib/SimpleCryptLib-1.1.0.jar
  15. BIN
      src/main/webapp/WEB-INF/lib/axis.jar
  16. BIN
      src/main/webapp/WEB-INF/lib/bcprov-jdk16-138.jar
  17. BIN
      src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar
  18. BIN
      src/main/webapp/WEB-INF/lib/commons-logging-1.2.jar
  19. BIN
      src/main/webapp/WEB-INF/lib/jaxrpc.jar
  20. BIN
      src/main/webapp/WEB-INF/lib/jsr173_1.0_api.jar
  21. BIN
      src/main/webapp/WEB-INF/lib/saaj.jar
  22. BIN
      src/main/webapp/WEB-INF/lib/wsdl4j.jar
  23. BIN
      src/main/webapp/WEB-INF/lib/xalan.jar
  24. BIN
      src/main/webapp/WEB-INF/lib/xbean.jar
  25. 26 20
      src/main/webapp/WEB-INF/views/business/SupplyCompanyForm.html
  26. 14 13
      src/main/webapp/WEB-INF/views/customer/CustomerDetailForm.html
  27. 2 2
      src/main/webapp/WEB-INF/views/delivery/ExchangeDelvFailListForm.html
  28. 1 0
      src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html
  29. 159 0
      src/main/webapp/WEB-INF/views/ocm/ExtmallOrderRegisterForm.html
  30. 63 0
      src/main/webapp/WEB-INF/views/order/CnclReqForm.html
  31. 9 6
      src/main/webapp/WEB-INF/views/order/OrderSellerListForm.html
  32. 1 1
      src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerGoodsSendForm.html
  33. 3 3
      src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerOrderForm.html

+ 78 - 0
pom.xml

@@ -165,6 +165,84 @@
 		</dependency>
 		<!-- \\\ USAFE 보증보험 -->
 
+		<!-- 네이버페이 -->
+		<dependency>
+			<groupId>org.apache.axis</groupId>
+			<artifactId>axis</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/axis.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.bouncycastle</groupId>
+			<artifactId>bouncycastle</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/bcprov-jdk16-138.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>javax.xml</groupId>
+			<artifactId>rpc</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jaxrpc.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>com.nhncorp</groupId>
+			<artifactId>SimpleCryptLib</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/SimpleCryptLib-1.1.0.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons.discovery</groupId>
+			<artifactId>common-discovery</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons.logging</groupId>
+			<artifactId>common-logging</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/commons-logging-1.2.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>javax.xml.soap</groupId>
+			<artifactId>saaj</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/saaj.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>wsdl4j</groupId>
+			<artifactId>wsdl4j</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/wsdl4j.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>jsr173api</groupId>
+			<artifactId>jsr173api</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsr173_1.0_api.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>xalan</groupId>
+			<artifactId>xalan</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xalan.jar</systemPath>
+		</dependency>
+		<dependency>
+			<groupId>xbean</groupId>
+			<artifactId>xbean</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xbean.jar</systemPath>
+		</dependency>
 		<!-- \\\ WEB-INF lib -->
 	</dependencies>
 	

+ 1 - 1
src/main/java/com/style24/admin/biz/service/TsaGoodsService.java

@@ -3282,7 +3282,7 @@ public class TsaGoodsService {
 		}
 		goods.setTaxGb(goodsMass.getTaxGb().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goodsMass.getTaxGb().trim())) {
-			if (!"Y".equals(goods.getTaxGb()) && !"N".equals(goods.getTaxGb())) {
+			if (!"10".equals(goods.getTaxGb()) && !"20".equals(goods.getTaxGb()) && !"30".equals(goods.getTaxGb())) {
 				goods.setGoodsRegMsg("과세구분 오류");
 				goods.setGoodsStat("10");
 				return goods;

+ 9 - 6
src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java

@@ -1040,8 +1040,13 @@ public class TsaShoplinkerService {
 			sbRequest.append("	<OrderInfo>\n");
 			sbRequest.append("		<Order>\n");
 
+			/*
 			sbRequest.append("			<customer_id>").append(shoplinkerOrder.getCustomerId()).append("</customer_id>\n");
 			sbRequest.append("			<shoplinker_id><![CDATA[").append(shoplinkerOrder.getShoplinkerId()).append("]]></shoplinker_id>\n");
+			*/
+			sbRequest.append("			<customer_id>").append("a0021915").append("</customer_id>\n");
+			sbRequest.append("			<shoplinker_id><![CDATA[").append("yes2424").append("]]></shoplinker_id>\n");
+			sbRequest.append("			<order_flag>004</order_flag>\n");// 테스트용
 			sbRequest.append("			<st_date>").append(shoplinkerOrder.getApiStDate().replace("-", "")).append("</st_date>\n");
 			sbRequest.append("			<ed_date>").append(shoplinkerOrder.getApiStDate().replace("-", "")).append("</ed_date>\n");
 			sbRequest.append("			<page_no>").append(shoplinkerOrder.getOrderPageNo()).append("</page_no>\n");
@@ -1061,7 +1066,7 @@ public class TsaShoplinkerService {
 			shoplinkerUtil.makeRequestXmlFile(sbRequest.toString(), xmlPath);
 			String xmlUrl = GagaFileUtil.getConcatenationPath(shoplinkerOrder.getDomainUrl(), xmlFileName.toString());
 
-			if ("run".equals(shoplinkerOrder.getProfiles())) { // 운영서버이면
+			if (!"locd".equals(shoplinkerOrder.getProfiles())) { // 로컬이 아닐때
 				try {
 					// API 호출
 					responseXmlData = shoplinkerUtil.callShoplinkerApiByGet(GagaShoplinkerConstants.API_DOMAIN+regMap.getApiSubUrl()+URLEncoder.encode(xmlUrl), "");
@@ -1134,12 +1139,10 @@ public class TsaShoplinkerService {
 				// 테스트용
 				xmlUrl = "http://ts5000.ipdisk.co.kr:8999/shoplinker/order/order_real_0430_"+shoplinkerOrder.getOrderPageNo()+".xml";
 
-				// API 호출
-				//responseXmlData = shoplinkerUtil.callShoplinkerApiByGet(GagaShoplinkerConstants.API_DOMAIN+regMap.getApiSubUrl()+URLEncoder.encode(xmlUrl), "");
-								//testOrderStr();
 				try {
 					// API 호출
 					responseXmlData = shoplinkerUtil.callShoplinkerApiByGet(GagaShoplinkerConstants.API_DOMAIN+regMap.getApiSubUrl()+URLEncoder.encode(xmlUrl), "");
+									//testOrderStr();
 
 					// response 결과
 					shoplinkerResult = (com.gagaframework.shoplinker.domain.orderlist.Shoplinker)shoplinkerUtil.unmarshal(com.gagaframework.shoplinker.domain.orderlist.Shoplinker.class, responseXmlData);
@@ -1209,7 +1212,7 @@ public class TsaShoplinkerService {
 			returnMap.setString("RESULT_TYPE", "TRUE");
 
 			// 생성 파일삭제
-			GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(shoplinkerOrder.getXmlPath(), xmlFileName.toString()));
+			// GagaFileUtil.deleteFile(GagaFileUtil.getConcatenationPath(shoplinkerOrder.getXmlPath(), xmlFileName.toString()));
 
 		}catch(Exception e) {
 			log.error("xml 생성오류 ", e);
@@ -1682,7 +1685,7 @@ public class TsaShoplinkerService {
 				+ "<receive_tel><![CDATA[]]></receive_tel>\r\n"
 				+ "<receive_cel><![CDATA[]]></receive_cel>\r\n"
 				+ "<receive_zipcode><![CDATA[]]></receive_zipcode>\r\n"
-				+ "<receive_addr><![CDATA[주소소주소주주소소주소주주소소주소주주소13소주소주주소소주주소소주소주주소소주소주]]></receive_addr>\r\n"
+				+ "<receive_addr><![CDATA[]]></receive_addr>\r\n"
 				+ "<baesong_type><![CDATA[쇼핑몰확인요망]]></baesong_type>\r\n"
 				+ "<baesong_bi>0</baesong_bi>\r\n"
 				+ "<delivery_msg><![CDATA[]]></delivery_msg>\r\n"

+ 1 - 1
src/main/java/com/style24/admin/biz/web/TsaBusinessController.java

@@ -153,7 +153,7 @@ public class TsaBusinessController extends TsaBaseController {
 		mav.addObject("distributionGbList", rendererService.getAvailCommonCodeList("G065"));
 
 		// 은행
-		mav.addObject("bankList", rendererService.getAvailCommonCodeList("G940"));
+		mav.addObject("bankList", rendererService.getAvailCommonCodeList("G942"));
 
 		// 정산일
 		mav.addObject("settleDayList", rendererService.getAvailCommonCodeList("G075"));

+ 35 - 3
src/main/java/com/style24/admin/biz/web/TsaOcmController.java

@@ -2,7 +2,6 @@ package com.style24.admin.biz.web;
 
 import java.util.Collection;
 
-import com.style24.persistence.domain.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -12,16 +11,20 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.gagaframework.web.rest.server.GagaResponse;
 import com.style24.admin.biz.service.TsaOcmService;
 import com.style24.admin.biz.service.TsaRendererService;
 import com.style24.admin.support.controller.TsaBaseController;
+import com.style24.admin.support.env.TsaConstants;
 import com.style24.admin.support.security.session.TsaSession;
 import com.style24.core.support.message.TscMessageByLocale;
+import com.style24.persistence.domain.Extmall;
+import com.style24.persistence.domain.ExtmallNoti;
+import com.style24.persistence.domain.ExtmallOrigin;
+import com.style24.persistence.domain.ExtmallPriceSync;
 
 import lombok.extern.slf4j.Slf4j;
 
-import com.gagaframework.web.rest.server.GagaResponse;
-
 /**
  * 영업망관리 Controller
  *
@@ -223,4 +226,33 @@ public class TsaOcmController extends TsaBaseController {
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 
+	/**
+	 * 주문업로드 화면
+	 * @param
+	 * @return
+	 * @author jmh
+	 * @since 2021. 06. 15
+	 */
+	@GetMapping("/extmall/order/upload/form")
+	public ModelAndView extmallOrderUploadForm() {
+		ModelAndView mav = new ModelAndView();
+
+		// 제휴몰벤더
+		mav.addObject("vendorList", rendererService.getCommonCodeList("G003", "Y", TsaSession.getInfo().getSupplyCompCd()));
+
+		// 제휴몰
+		Extmall extmall = new Extmall();
+		extmall.setVendorId(TsaConstants.VendorId.SHOPLINKER.value()); // 샵링커
+		mav.addObject("extmallList", ocmService.getExtmallList(extmall));
+
+		// 업로드상태 콤보박스 목록
+		mav.addObject("uploadStatList", rendererService.getCommonCodeList("G021"));
+
+		// 업로드실패사유 콤보박스 목록
+		mav.addObject("uploadFailList", rendererService.getCommonCodeList("G022"));
+
+		mav.setViewName("ocm/ExtmallOrderRegisterForm");
+
+		return mav;
+	}
 }

+ 1 - 0
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -212,6 +212,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		map.set("payMeans"					, refundPreInfo.getString("payMeans"));		// 결제수단
 		map.set("pgGb"						, refundPreInfo.getString("pgGb"));			// PG구분
 		map.set("cashAuthNo"				, refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호'
+		map.set("chgStat"					, cnclReq.getChgStat());					// 변경상태
 
 		// 4. 부분취소 처리 2021.05.13
 		// 2021.06.09 취소접수

+ 2 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaBusiness.xml

@@ -229,7 +229,7 @@
 		     , (SELECT CASE WHEN MAX(PROVIDER_NO) IS NULL THEN
 		                        40000 /* AS-IS 최대 수보다 크게 수정해야함*/
 		                    ELSE
-		                        MAX(PROVIER_NO) + 1
+		                        MAX(PROVIDER_NO) + 1
 		               END
 		        FROM   TB_SUPPLY_COMPANY Z
 		        WHERE  PROVIDER_NO > 40000 /* AS-IS 최대 수보다 크게 크게 수정해야함*/
@@ -385,7 +385,7 @@
 		FROM   TB_DELIVERY_LOC
 		WHERE  1 = 1
 		<if test="supplyCompCd != null and supplyCompCd != ''">
-		AND    LOWER(SUPPLY_COMP_CD) LIKE CONCAT('%',LOWER(#{supplyCompCd}),'%')
+		AND    SUPPLY_COMP_CD = #{supplyCompCd})
 		</if>
 		<if test="delvLocNm != null and delvLocNm !=''">
 		AND    LOWER(DELV_LOC_NM) LIKE CONCAT('%',LOWER(#{delvLocNm}),'%')

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaCustomer.xml

@@ -412,6 +412,7 @@
 		      , CPH.OCCUR_GB
 		      , CPH.OCCUR_DTL_DESC
 		      , CPH.PNT_AMT
+		      , CPH.ORD_NO
 		      , CPH.ORD_DTL_NO
 		      , CPH.REVIEW_SQ
 		      , DATE_FORMAT(CPH.SWITCH_DUE_DT, '%Y%m%d%H%i%S')  AS SWITCH_DUE_DT

+ 4 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaDelivery.xml

@@ -73,7 +73,7 @@
 		    , (SELECT BD.BRAND_KNM FROM TB_BRAND BD WHERE BD.BRAND_CD = Z.BRAND_CD ) AS BRAND_NM
 		    , FN_GET_CODE_NM('G056', Z.GOODS_TYPE ) AS GOODS_TYPE_NM 
 		    , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY S WHERE S.SUPPLY_COMP_CD = Z.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM 
-		    , IFNULL((SELECT SWT_TRC_SEND_YN FROM TB_ORDER_DETAIL_INVOICE V WHERE V.ORD_NO = Z.ORD_NO AND V.ORD_DTL_NO = Z.ORD_DTL_NO AND V.INVOICE_NO = Z.INVOICE_NO  ),'N') AS INVC_TRACKING 
+		    , IFNULL((SELECT  MAX(SWT_TRC_SEND_YN) FROM TB_ORDER_DETAIL_INVOICE V WHERE V.ORD_NO = Z.ORD_NO AND V.ORD_DTL_NO = Z.ORD_DTL_NO AND V.INVOICE_NO = Z.INVOICE_NO  ),'N') AS INVC_TRACKING 
 		FROM (
 		    SELECT A.*, ROW_NUMBER() OVER(ORDER BY  A.ORD_NO DESC, A.ORD_DTL_NO) RNUM 
 		    FROM (
@@ -1203,7 +1203,6 @@
 		ON     EDF.ORD_NO = O.ORD_NO
 		WHERE  1=1
 		AND    EDF.DEL_YN = 'N'
-		AND    EDF.CNCL_RTN_QTY > 0
 		<if test='ordNm != null and ordNm != ""'>
 		AND    O.ORD_NM = #{ordNm}
 		</if>
@@ -1213,6 +1212,9 @@
 		<if test='delvCnclYn != null and delvCnclYn != ""'>
 		AND    EDF.DELV_CNCL_YN = #{delvCnclYn}
 		</if>
+		<if test="stDate != null and stDate != '' and edDate != null and edDate != ''">
+		AND    EDF.REG_DT BETWEEN STR_TO_DATE(CONCAT(#{stDate},' 000000'),'%Y-%m-%d %H%i%S') AND STR_TO_DATE(CONCAT(#{edDate},' 235959'), '%Y-%m-%d %H%i%S')
+		</if>
 		ORDER  BY EDF.REG_DT ASC
 	</select>
 		

+ 15 - 15
src/main/java/com/style24/persistence/mybatis/shop/TsaFreegiftPromotion.xml

@@ -469,28 +469,28 @@
 	<insert id="insertFreegiftGoodsApplyCompanyOrBrandList" parameterType="FreeGoodsPromotion">
 		/* TsaMarketing.insertFreegiftGoodsApplyList : 실사용 업체/브랜드 리스트 등록 */
 		INSERT INTO TB_FREEGIFT_GOODS_APPLY
-		SELECT FG.FREEGIFT_SQ
+		SELECT DISTINCT FG.FREEGIFT_SQ
 		<if test="targetGb == 'G260_13'">		<!-- 업체일 경우 업체에 등록된 브랜드 코드 입력 -->
-		     , 'G260_12'
-		     , BS.BRAND_CD
+		     , 'G260_12' AS TARGET_GB
+		     , BS.BRAND_CD AS TARGET_VAL
 		</if>
 		<if test="targetGb == 'G260_12'">		<!-- 브랜드일 경우 업체에 등록된 업체 코드 입력 -->
-			, 'G260_13'
-			 , BS.SUPPLY_COMP_CD
+			, 'G260_13' AS TARGET_GB
+			 , BS.SUPPLY_COMP_CD AS TARGET_VAL
 		</if>
-			 , #{regNo}
-			 , NOW()
-		  FROM TB_FREEGIFT_GOODS FG
-		 INNER JOIN TB_BRAND_SUPPLY BS
+			 , #{regNo} AS REG_NO
+			 , NOW() AS REG_DT
+		FROM   TB_FREEGIFT_GOODS FG
+		INNER  JOIN TB_BRAND_SUPPLY BS
 		<if test="targetGb == 'G260_13'">
-			ON FG.TARGET_VAL = BS.SUPPLY_COMP_CD
+		ON     FG.TARGET_VAL = BS.SUPPLY_COMP_CD
 		</if>
 		<if test="targetGb == 'G260_12'">
-			ON FG.TARGET_VAL = BS.BRAND_CD
+		ON     FG.TARGET_VAL = BS.BRAND_CD
 		</if>
-		 WHERE 1=1
-		   AND FG.FREEGIFT_SQ = #{freegiftSq}
-		   AND FG.TARGET_GB = #{targetGb}
-		   AND FG.DEL_YN = 'N'
+		WHERE  1=1
+		AND    FG.FREEGIFT_SQ = #{freegiftSq}
+		AND    FG.TARGET_GB = #{targetGb}
+		AND    FG.DEL_YN = 'N'
 	</insert>
 </mapper>

+ 45 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaOcm.xml

@@ -177,11 +177,18 @@
 	<select id="getExtmallMasterOrderList" parameterType="ExtmallOrder" resultType="ExtmallOrder">
 	/* TsaOcm.getExtmallMasterOrderList */
 		SELECT
-			A.VENDOR_ID, A.EXTMALL_ID, A.EXTMALL_ORDER_ID, A.ORD_NM, A.ORD_PHNNO, A.RECIP_NM, A.RECIP_PHNNO, A.RECIP_BASE_ADDR, A.RECIP_DTL_ADDR
+			A.VENDOR_ID, A.EXTMALL_ID, A.EXTMALL_ORDER_ID
+			, IFNULL(A.ORD_NM, '') AS ORD_NM
+			, IFNULL(A.ORD_PHNNO, '') AS ORD_PHNNO
+			, IFNULL(A.RECIP_NM, '') AS RECIP_NM
+			, IFNULL(A.RECIP_PHNNO, '') AS RECIP_PHNNO
+			, IFNULL(A.RECIP_BASE_ADDR, '') AS RECIP_BASE_ADDR
+			, IFNULL(A.RECIP_DTL_ADDR, '') AS RECIP_DTL_ADDR
 			, SUM(A.DELV_FEE) AS DELV_FEE
 			, SUM(A.ORD_AMT) AS TOTAL_ORD_AMT
 		FROM TB_EXTMALL_ORDER_UPLOAD A
 		WHERE A.UPLOAD_STAT = 'G021_00'
+		AND RECIP_BASE_ADDR IS NOT NULL AND RECIP_BASE_ADDR != ''
 		GROUP BY A.VENDOR_ID, A.EXTMALL_ID, A.EXTMALL_ORDER_ID, A.ORD_NM, A.ORD_PHNNO, A.RECIP_NM, A.RECIP_PHNNO, A.RECIP_BASE_ADDR, A.RECIP_DTL_ADDR
 		ORDER BY A.VENDOR_ID, A.EXTMALL_ID, A.EXTMALL_ORDER_ID
 	</select>
@@ -193,10 +200,46 @@
 			 B.GOODS_NM
 			, B.SUPPLY_COMP_CD -- 공급업체코드
 			, B.DELV_FEE_CD -- 배송비정책코드
-			, A.*
+			, A.VENDOR_ID
+			, A.EXTMALL_ID
+			, A.EXTMALL_NM
+			, A.AGENT_ORDER_ID
+			, A.EXTMALL_ORDER_ID
+			, A.EXTMALL_PROD_ID
+			, A.EXTMALL_PROD_NM
+			, A.GOODS_CD
+			, A.SKU
+			, A.CURR_PRICE
+			, A.ORD_QTY
+			, A.ORD_AMT
+			, A.CPN_DC_AMT
+			, A.PNT_DC_AMT
+			, A.DELV_FEE
+			, A.ORD_RECV_DT
+			, A.ORD_DT
+			, IFNULL(A.ORD_NM, '') AS ORD_NM
+			, IFNULL(A.ORD_PHNNO, '') AS ORD_PHNNO
+			, A.ORD_TELNO
+			, A.ORD_EMAIL
+			, IFNULL(A.RECIP_NM, '') AS RECIP_NM
+			, IFNULL(A.RECIP_PHNNO, '') AS RECIP_PHNNO
+			, A.RECIP_TELNO
+			, A.RECIP_ZIPCODE
+			, IFNULL(A.RECIP_BASE_ADDR, '') AS RECIP_BASE_ADDR
+			, IFNULL(A.RECIP_DTL_ADDR, '') AS RECIP_DTL_ADDR
+			, A.DELV_MEMO
+			, A.UPLOAD_STAT
+			, A.UPLOAD_FAIL_CD
+			, A.UPLOAD_FAIL_REASON
+			, A.ORD_NO
+			, A.DELV_ADDR_SQ
+			, A.REG_NO
+			, A.REG_DT
+			, A.OPT_CD
 		FROM TB_EXTMALL_ORDER_UPLOAD A
 			LEFT OUTER JOIN TB_GOODS B ON A.GOODS_CD = B.GOODS_CD
 		WHERE 1=1
+		AND RECIP_BASE_ADDR IS NOT NULL AND RECIP_BASE_ADDR != ''
 		<if test="uploadStat != null and uploadStat != ''">
 	      AND A.UPLOAD_STAT = #{uploadStat}
 	    </if>

+ 6 - 6
src/main/java/com/style24/persistence/mybatis/shop/TsaShoplinker.xml

@@ -515,7 +515,7 @@
 				, IFNULL(B.ORD_NO, '') AS ORD_NO
 				, B.DELV_ADDR_SQ
 			FROM SHOPLINKER_ORDER A
-				LEFT OUTER JOIN TB_EXTMALL_ORDER_UPLOAD B
+				INNER JOIN TB_EXTMALL_ORDER_UPLOAD B
 					ON A.SHOPLINKER_ORDER_ID = B.AGENT_ORDER_ID
 					AND A.MALL_ORDER_ID = B.EXTMALL_ORDER_ID
 			WHERE A.SKU_MATCH_CODE IS NOT NULL
@@ -543,7 +543,7 @@
 				, IFNULL(B.ORD_NO, '') AS ORD_NO
 				, B.DELV_ADDR_SQ
 			FROM SHOPLINKER_ORDER A
-				LEFT OUTER JOIN TB_EXTMALL_ORDER_UPLOAD B
+				INNER JOIN TB_EXTMALL_ORDER_UPLOAD B
 					ON A.SHOPLINKER_ORDER_ID = B.AGENT_ORDER_ID
 					AND A.MALL_ORDER_ID = B.EXTMALL_ORDER_ID
 			WHERE A.SKU_MATCH_CODE IS NOT NULL
@@ -551,7 +551,7 @@
 		) A
 		WHERE 1=1
 		<include refid="getSlkOrderListCondition_sql"/>
-
+		ORDER BY REG_DT DESC
 		LIMIT #{pageable.limitStartRow} ,  #{pageable.pageSize}
 
 	</select>
@@ -618,7 +618,7 @@
 	        AND MALL_ORDER_ID = #{mallOrderId}
 	        </if>
 	        <if test="ordNo != null and ordNo != ''">
-	        AND ORDER_NO = #{ordNo}
+	        AND ORD_NO = #{ordNo}
 	        </if>
 	</sql>
 
@@ -798,7 +798,7 @@
 
 	<!-- 재고전송-목록 건수 -->
 	<select id="getStockListCount" parameterType="ShoplinkerSearch" resultType="int">
-		/* ShoplinkerGoods.getShoplinkerOrderListCount */
+		/* ShoplinkerGoods.getStockListCount */
 		select count(1) from (
 			SELECT
 				A.GOODS_CD
@@ -821,7 +821,7 @@
 
 	<!-- 재고전송-목록 -->
 	<select id="getStockListList" parameterType="ShoplinkerSearch" resultType="ShoplinkerGoods">
-		/* ShoplinkerGoods.getShoplinkerOrderList */
+		/* ShoplinkerGoods.getStockListList */
 		SELECT * FROM
 		(
 			SELECT

+ 1 - 1
src/main/resources/config/application-tsit.yml

@@ -89,7 +89,7 @@ shoplinker:
     customer_id : a0024007
     shoplinker_id : istyle1
     xml:
-        path: //ts5000.ipdisk.co.kr:8999/shoplinker
+        path: /TSIT/servers/files/data/style24/shoplinker
         view: //ts5000.ipdisk.co.kr:8999/shoplinker
     url:
         option : /Product/attribute_insert.php?iteminfo_url=

BIN
src/main/webapp/WEB-INF/lib/SimpleCryptLib-1.1.0.jar


BIN
src/main/webapp/WEB-INF/lib/axis.jar


BIN
src/main/webapp/WEB-INF/lib/bcprov-jdk16-138.jar


BIN
src/main/webapp/WEB-INF/lib/commons-discovery-0.2.jar


BIN
src/main/webapp/WEB-INF/lib/commons-logging-1.2.jar


BIN
src/main/webapp/WEB-INF/lib/jaxrpc.jar


BIN
src/main/webapp/WEB-INF/lib/jsr173_1.0_api.jar


BIN
src/main/webapp/WEB-INF/lib/saaj.jar


BIN
src/main/webapp/WEB-INF/lib/wsdl4j.jar


BIN
src/main/webapp/WEB-INF/lib/xalan.jar


BIN
src/main/webapp/WEB-INF/lib/xbean.jar


+ 26 - 20
src/main/webapp/WEB-INF/views/business/SupplyCompanyForm.html

@@ -249,7 +249,7 @@
 						<th>예금주명</th>
 						<td>
 							<input type="text" class="w100" name="depositorNm" maxlength="50"/>
-<!--							<button type="button" id="btnAccountCheck" class="btn btn-info btn-sm">계좌인증</button>-->
+							<button type="button" id="btnAccountCheck" class="btn btn-info btn-sm">계좌인증</button>
 						</td>
 						<th>사용여부<i class="required" title="필수"></i></th>
 						<td>
@@ -512,7 +512,6 @@
 	// 신규버튼
 	$('#btnNew').on('click', function() {
 		$("#detailForm")[0].reset();
-		gagaSn.setContents('#note', '');
 		// 배송비 정책 초기화
 		$('#tbodyDelvFeePolicy').html('');
 		$('.delvFeePolicy').hide();
@@ -524,23 +523,26 @@
 		if (!gagajf.validation('#detailForm'))
 			return false;
 
-		// if (!fnValidationAccount()) {
-		// 	mcxDialog.alert('계좌 인증을 해주시길 바랍니다.');
-		// 	return false;
-		// }
+		if (!fnValidationAccount()) {
+			mcxDialog.alert('계좌 인증을 해주시길 바랍니다.');
+			return false;
+		}
 
 		mcxDialog.confirm("기본정보를 저장하시겠습니까?", {
 			cancelBtnText: "취소",
 			sureBtnText: "확인",
 			sureBtnClick: function() {
-				gagajf.ajaxFormSubmit($('#detailForm').prop('action'), '#detailForm', function() {
-					$('#btnNew').trigger('click');
-					$('#btnSearch').trigger('click');
-				});
+				gagajf.ajaxFormSubmit($('#detailForm').prop('action'), '#detailForm', fnSaveCallback);
 			}
 		});
 	});
 	
+	var fnSaveCallback = function () {
+		accountCheck = false;
+		$('#btnSearch').trigger('click');
+		$('#btnNew').trigger('click');
+	}
+	
 	// 엑셀다운로드
 	$('#btnExcel').on('click', function() {
 		gagaAgGrid.exportToExcel('공급업체 목록', gridOptions);
@@ -742,8 +744,8 @@
 
 		let custInfo = {};
 		custInfo.bankCd = $bankCd.val();
-		custInfo.accountNm = $accountNo.val();
-		custInfo.accountNo = $depositorNm.val();
+		custInfo.accountNm = $depositorNm.val();
+		custInfo.accountNo = $accountNo.val();
 		let jsonData = JSON.stringify(custInfo)
 		gagajf.ajaxJsonSubmit('/business/account/check', jsonData, fnAccountCheckCallback);
 	});
@@ -764,22 +766,26 @@
 	}
 
 	var fnValidationAccount = function () {
+		let result = false;
+		let orgBankCd = $('#detailForm input[name=orgBankCd]').val();
+		let orgAccountNo = $('#detailForm input[name=orgAccountNo]').val();
+		let orgDepositorNm = $('#detailForm input[name=orgDepositorNm]').val();
+
 		let bankCd = $('#detailForm select[name=bankCd]').val();
 		let accountNo = $('#detailForm input[name=accountNo]').val();
 		let depositorNm = $('#detailForm input[name=depositorNm]').val();
 
-		let orgBankCd = $('#detailForm select[name=orgBankCd]').val();
-		let orgAccountNo = $('#detailForm input[name=orgAccountNo]').val();
-		let orgDepositorNm = $('#detailForm input[name=orgDepositorNm]').val();
-		// 1. 수정사항이 있는지 확인
-		if (bankCd != orgBankCd && accountNo != orgAccountNo && depositorNm != orgDepositorNm) {
+		if (bankCd !== orgBankCd || accountNo !== orgAccountNo || depositorNm !== orgDepositorNm) {
 			if (!accountCheck) {
-				return false;
+				result = false;
+			} else {
+				result = true;
 			}
 		} else {
-			accountCheck = true;
-			return true;
+			result = true;
 		}
+
+		return result;
 	}
 	
 	$(document).ready(function() {

+ 14 - 13
src/main/webapp/WEB-INF/views/customer/CustomerDetailForm.html

@@ -572,14 +572,14 @@
 		{headerName: "주문자전화번호", field: "ordTelno", width: 120, cellClass: 'text-center'},
 		{headerName: "주문자휴대폰", field: "ordPhnno", width: 130, cellClass: 'text-center'},
 		{
-			headerName: "주문상세상태", field: "ordDtlStat", width: 100, cellClass: 'text-center',
+			headerName: "주문상세상태", field: "ordDtlStat", width: 130, cellClass: 'text-center',
 			valueFormatter: function (params) {
 				return gagaAgGrid.lookupValue(orderDtlStatList, params.value);
 			}
 		},
 		{headerName: "수령인", field: "recipNm", width: 100, cellClass: 'text-center'},
 		{
-			headerName: "상품코드", field: "goodsCd", width: 100, cellClass: 'text-center',
+			headerName: "상품코드", field: "goodsCd", width: 150, cellClass: 'text-center',
 			cellRenderer: function (params) {
 				return '<a href="javascript:void(0);">' + params.value + '</a>';
 			}
@@ -594,7 +594,7 @@
 	// 1:1문의 내역 그리드
 	const columnCounselDefs = [
 		{
-			headerName: "상담분류", field: "counselClsf", width: 100, cellClass: 'text-center',
+			headerName: "상담분류", field: "counselClsf", width: 150, cellClass: 'text-center',
 			valueFormatter: function (params) {
 				return gagaAgGrid.lookupValue(counselClsfList, params.value);
 			}
@@ -714,7 +714,7 @@
 			}
 		},
 		{
-			headerName: "포인트사유", field: "occurGb", width: 100, cellClass: 'text-center',
+			headerName: "포인트사유", field: "occurGb", width: 150, cellClass: 'text-center',
 			valueFormatter: function (params) {
 				return gagaAgGrid.lookupValue(pntOccurGbList, params.value);
 			}
@@ -751,7 +751,7 @@
 			}
 		},
 		{
-			headerName: "발생구분", field: "occurGb", width: 100, cellClass: 'text-center',
+			headerName: "발생구분", field: "occurGb", width: 150, cellClass: 'text-center',
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(giftCardOccurGbList, params.value); }
 		},
 		{
@@ -865,7 +865,7 @@
 	//회원접촉이력 그리드
 	const columnContactDefs = [
 		{
-			headerName: "접촉유형", field: "contactType", width: 150, cellClass: 'text-center',
+			headerName: "접촉유형", field: "contactType", width: 180, cellClass: 'text-center',
 			valueFormatter: function (params) {
 				return gagaAgGrid.lookupValue(contactTypeList, params.value);
 			}
@@ -1148,6 +1148,14 @@
 		}
 	};
 
+	// 상품평내역 셀 클릭 이벤트
+	gridReviewOptions.onCellClicked = function (event) {
+		if (event.colDef.field === 'reviewContent') {
+			let reviewSq = event.data.reviewSq;
+			cfnOpenReviewDetailPopup(reviewSq);
+		}
+	};
+
 	// 1:1문의 내역 셀 클릭 이벤트
 	gridCounselOptions.onCellClicked = function (event) {
 		if (event.colDef.field === 'questTitle') {
@@ -1164,13 +1172,6 @@
 		}
 	};
 
-	// 상품평내역 셀 클릭 이벤트
-	gridReviewOptions.onCellClicked = function (event) {
-		if (event.colDef.field === 'reviewTitle') {
-			let reviewSq = event.data.reviewSq;
-			cfnOpenReviewDetailPopup(reviewSq);
-		}
-	};
 
 	// 주소지 셀 클릭 이벤트
 	gridAddrOptions.onCellClicked = function (event) {

+ 2 - 2
src/main/webapp/WEB-INF/views/delivery/ExchangeDelvFailListForm.html

@@ -58,7 +58,7 @@
 								<input type="text" class="w40p" name="ordNo" placeholder="" maxlength="20" data-valid-type="numeric"/>
 							</td>
 							<th class="dashR">처리상태</th>
-							<td class="dashR">
+							<td class="dashR" colspan="2">
 								<select name="delvCnclYn" id="delvCnclYn">
 									<option value="">전체</option>
 									<option value="N" selected>대기</option>
@@ -68,7 +68,7 @@
 						</tr>
 						<tr>
 							<th class="dashR">등록일</th>
-							<td colspan="4" class="dashR">
+							<td colspan="6" class="dashR">
 								<span id="terms"></span>
 							</td>
 						</tr>

+ 1 - 0
src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -260,6 +260,7 @@
 												<option value="">[선택]</option>
 												<option value="10">과세</option>
 												<option value="20">비과세</option>
+												<option value="30">면세</option>
 											</select>
 										</td>
 									</tr>

+ 159 - 0
src/main/webapp/WEB-INF/views/ocm/ExtmallOrderRegisterForm.html

@@ -0,0 +1,159 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org">
+<!--
+ *******************************************************************************
+ * @source  : ExtmallOrderRegisterForm.html
+ * @desc    : 제휴몰 주문업로드 Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.05.20   jmh     	 최초 작성
+ *******************************************************************************
+ -->
+	<div id="main">
+		<!-- 메인타이틀 영역 -->
+		<div class="main-title">
+		</div>
+		<!-- //메인타이틀 영역 -->
+
+		<!-- 메뉴 설명 -->
+		<div class="infoBox menu-desc">
+		</div>
+		<!-- //메뉴 설명 -->
+
+
+		<form id="searchForm" name="searchForm" action="#" th:action="@{'/shoplinker/order/collection/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
+			<!-- 검색조건 영역 -->
+			<div class="panelStyle">
+				<ul class="lrStyle">
+					<li>
+						<p class="dot">주문등록샘플 엑셀파일을 다운로드 할 경우 <font color="red">[샘플다운로드]</font> 버튼을 클릭한다.</p>
+						<p class="dot"><font color="red">[엑셀업로드]</font> 버튼을 눌러 데이터를 업로드 한다. 업로드 된 데이터가 목록에 나타난다.</p>
+						<p class="dot"><font color="red">[주문등록]</font> 버튼을 눌러 주문등록을 완료한다.</p>
+						<p class="dot"><font color="red">주문등록 처리는 몇 분이 소요되기도 하며</font> 결과는 <font color="red">[결과확인]</font> 버튼을 눌러 확인할 수 있다.</p>
+					</li>
+				</ul>
+
+				<ul class="panelBar padT20">
+					<li class="center">
+						<input type="button" class="btn btn-default btn-lg" id="btnExcelDown" onclick="cfnDownloadSampleFile('SF003');" value="외부몰 주문등록양식 다운로드" />
+						<input type="button" class="btn btn-primary btn-lg" id="btnExcelUpload" value="엑셀업로드"/>
+						<input type="button" class="btn btn-success btn-lg" id="btnSaveExtmallOrderUpload" value="주문등록"/>
+						<input type="button" class="btn btn-danger btn-lg" id="btnSearchExtmallOrderUpload" value="결과확인"/>
+					</li>
+				</ul>
+			</div>
+			<!-- 검색조건 영역 -->
+
+			<!-- 리스트 영역 -->
+			<div class="panelStyle">
+
+				<div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
+			</div>
+			<!-- //리스트 영역 -->
+
+		</form>
+
+	</div>
+
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=20210114"></script>
+<script th:inline="javascript">
+/*<![CDATA[*/
+	var sessRoleCd 		= [[${sessionInfo.roleCd}]];
+
+	var statusValue = {"Y":"판매중", "N":"판매중지"};
+	var apiGbValue = {"10":"상품등록", "11":"상품수정"};
+	var procGbValue = {"1":"전송완료", "0":"전송실패"};
+
+	let vendorList = gagajf.convertToArray([[${vendorList}]]);
+	let extmallList = gagajf.convertToArray([[${extmallList}]]);
+	let uploadStatList = gagajf.convertToArray([[${uploadStatList}]]);
+	let uploadFailList = gagajf.convertToArray([[${uploadFailList}]]);
+
+	var columnDefs = [
+		{headerName: "업로드상태",			field: "uploadStat",			width: 150, cellClass: 'text-center'},
+		{headerName: "업로드실패사유",		field: "uploadFailCd",			width: 150, cellClass: 'text-center'},
+		{headerName: "업로드실패사유상세",	field: "uploadFailReason",		width: 200, cellClass: 'text-center'},
+		{headerName: "샵링커주문번호",		field: "agentOrderId", 			width: 150, cellClass: 'text-center'},
+		{headerName: "쇼핑몰주문번호",		field: "extmallOrderId",		width: 150, cellClass: 'text-center'},
+		{headerName: "쇼핑몰주문일련번호",	field: "extmallOrderDtlId",		width: 150, cellClass: 'text-center'},
+		{headerName: "수집일시",			field: "regDt",					width: 150, cellClass: 'text-center'},
+		{headerName: "주문일시",			field: "ordDt",					width: 150, cellClass: 'text-center'},
+		{headerName: "결제일시",			field: "payDt",					width: 150, cellClass: 'text-center'},
+		{headerName: "외부몰벤더ID",		field: "vendorId",				width: 100, cellClass: 'text-center'},
+		{headerName: "외부몰ID",			field: "extmallId",				width: 100, cellClass: 'text-center'},
+		{headerName: "외부몰사용자ID",		field: "extmallUserId",			width: 100, cellClass: 'text-center'},
+		{headerName: "외부몰명",			field: "extmallNm",				width: 130, cellClass: 'text-center'},
+		{headerName: "상품코드",			field: "goodsCd",				width: 150, cellClass: 'text-center'},
+		{headerName: "사이즈코드",			field: "sizeCd",				width: 150, cellClass: 'text-center'},
+		{headerName: "주문수량",			field: "ordQty",				width: 100, cellClass: 'text-center'},
+		{headerName: "판매금액",			field: "ordAmt",				width: 100, cellClass: 'text-center'},
+		{headerName: "실판매금액",			field: "realOrdAmt",			width: 100, cellClass: 'text-center'},
+		{headerName: "배송비",			field: "delvFee",				width: 200, cellClass: 'text-center'},
+		{headerName: "주문자명",			field: "orderNm",				width: 200, cellClass: 'text-center'},
+		{headerName: "주문자핸드폰번호",		field: "orderPhnno",			width: 200, cellClass: 'text-center'},
+		{headerName: "주문자전화번호",		field: "orderTelno",			width: 200, cellClass: 'text-center'},
+		{headerName: "주문자이메일",		field: "orderEmail",			width: 200, cellClass: 'text-center'},
+		{headerName: "수령자명",			field: "recipNm",				width: 200, cellClass: 'text-center'},
+		{headerName: "수령자핸드폰번호",		field: "recipPhnno",			width: 200, cellClass: 'text-center'},
+		{headerName: "수령자전화번호",		field: "recipTelno",			width: 200, cellClass: 'text-center'},
+		{headerName: "수령자이메일",		field: "recipEmail",			width: 200, cellClass: 'text-center'},
+		{headerName: "수령자우편번호",		field: "recipPostNo",			width: 200, cellClass: 'text-center'},
+		{headerName: "수령자기본주소",		field: "recipBaseAddr",			width: 300, cellClass: 'text-center'},
+		{headerName: "수령자상세주소",		field: "recipDtlAddr",			width: 200, cellClass: 'text-center'},
+		{headerName: "배송메모",			field: "delvMemo",				width: 200, cellClass: 'text-center'},
+		{headerName: "주문번호",			field: "ordNo",					width: 200, cellClass: 'text-center'}
+	];
+
+
+	let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+
+	// Cell click
+	gridOptions.onCellClicked = function(event) {
+		if (event.colDef.field != 'extmallId')
+			return;
+
+		$('#detailForm select[name=vendorId]').val(event.data.vendorId);
+		$('#detailForm input[name=extmallId]').val(event.data.extmallId);
+		$('#detailForm input[name=extmallUserId]').val(event.data.extmallUserId);
+		$('#detailForm input[name=extmallNm]').val(event.data.extmallNm);
+		$('#detailForm select[name=supplyCompCd]').val(event.data.supplyCompCd);
+		$('#detailForm input[name=sellStoreCd]').val(event.data.sellStoreCd);
+		$('#detailForm input[name=stockSellRate]').val(event.data.stockSellRate);
+		$('#detailForm input[name=priceAcceptRate]').val(event.data.priceAcceptRate);
+
+		if (event.data.dwdpYn == 'Y') {
+			$('#detailForm input:radio[name=dwdpYn]').eq(0).trigger('click');
+		} else {
+			$('#detailForm input:radio[name=dwdpYn]').eq(1).trigger('click');
+		}
+
+		if (event.data.cnclsmsSendYn == 'Y') {
+			$('#detailForm input:radio[name=cnclsmsSendYn]').eq(0).trigger('click');
+		} else {
+			$('#detailForm input:radio[name=cnclsmsSendYn]').eq(1).trigger('click');
+		}
+
+		if (event.data.useYn == 'Y') {
+			$('#detailForm input:radio[name=useYn]').eq(0).trigger('click');
+		} else {
+			$('#detailForm input:radio[name=useYn]').eq(1).trigger('click');
+		}
+	}
+
+	$(document).ready(function() {
+
+		// Create a agGrid
+		gagaAgGrid.createGrid('gridList', gridOptions);
+
+	});
+
+
+/*]]>*/
+</script>
+
+</html>

+ 63 - 0
src/main/webapp/WEB-INF/views/order/CnclReqForm.html

@@ -28,6 +28,63 @@
 				<input type="hidden" name="chgReason" 		value=""/>
 				<input type="hidden" name="chgReasonDesc" 	value=""/>
 				
+				<div id="orderInfoList" style="display:none;">
+					<h4>기본정보</h4>
+					<!-- TABLE -->
+					<table class="tableStyle">
+						<colgroup>
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+							<col width="">
+						</colgroup>
+						<thead>
+							<tr>
+								<th>사이트</th>
+								<th>몰구분</th>
+								<th>웹구분</th>
+								<th>외부몰</th>
+								<th>주문일시</th>
+								<th>주문자</th>
+								<th>고객번호</th>
+								<th>주문번호</th>
+								<th>이메일</th>
+								<th>핸드폰번호</th>
+								<th>회원구분</th>
+								<th>관리대상</th>
+								<th>등급</th>
+							</tr>
+						</thead>
+						<tbody>
+							<tr>
+								<td th:text="${orderInfoList[0].siteCdNm}"></td>
+								<td th:text="${orderInfoList[0].mallGbNm}"></td>
+								<td th:text="${orderInfoList[0].frontGbNm}"></td>
+								<td th:text="${orderInfoList[0].extmallNm}"></td>
+								<td th:text="${orderInfoList[0].ordDt}"></td>
+								<td th:text="${orderInfoList[0].ordNm}"></td>
+								<td th:text="${orderInfoList[0].custNo}"></td>
+								<td th:text="${orderInfoList[0].ordNo}"></td>
+								<td th:text="${orderInfoList[0].ordEmail}"></td>
+								<td th:text="${orderInfoList[0].ordPhnno}"></td>
+								<td th:text="${orderInfoList[0].custGbNm}"></td>
+								<td th:text="${orderInfoList[0].managedRsnNm}"></td>
+								<td th:text="${orderInfoList[0].custGradeNm}"></td>
+							</tr>
+						</tbody>
+					</table>
+					<!-- //TABLE -->
+				</div>
+				
 				<h4>주문정보</h4>
 				<div id="gridOrderCancelRequestList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
 
@@ -190,6 +247,11 @@ if (ordChgSq > 0 && chgStat != 'G685_40') {
 	chgMemo						= orderChangeDetailList[0].chgMemo;				// 변경사유메모
 }
 
+// 교환배송미출고대상
+if (ordChgSq > 0 && chgStat == 'G685_40') {
+	$("#orderInfoList").show();
+}
+
 var temp1 = true;
 var temp2 = false;
 var temp3 = true;
@@ -1058,6 +1120,7 @@ var fnCnclReq = function (reqGbn) {
 		,"ordNm"					: ordNm
 		,"ordPhnno"					: ordPhnno
 		,"delvFeeCd"				: delvFeeCd
+		,"chgStat"					: chgStat
 	}
 
 	// 주문번호, 취소사유, 취소메모, (취소, 반품, 교환 신청 정보 목록), 환불계좌

+ 9 - 6
src/main/webapp/WEB-INF/views/order/OrderSellerListForm.html

@@ -171,7 +171,8 @@ var columnDefs = [
 	{headerName: "업체상품코드",		field:"supplyGoodsCd",		width:100, cellClass: 'text-center'},
 	{headerName: "상품코드",			field:"goodsCd",			width:100, cellClass: 'text-center'},
 	{headerName: "상품명",			field:"goodsNm",			width:100, cellClass: 'text-center'},
-	{headerName: "사이즈",			field:"optCd2",				width:100, cellClass: 'text-center'},
+	{headerName: "옵션1",			field:"optCd1",				width:100, cellClass: 'text-center'},
+	{headerName: "옵션2",			field:"optCd2",				width:100, cellClass: 'text-center'},
 	{headerName: "주문수량",			field:"ordQty",				width:100, cellClass: 'text-center'},
 	{headerName: "취소수량",			field:"cnclRtnQty",			width:100, cellClass: 'text-center'},
 	{headerName: "주문금액",			field:"ordAmt",				width:100, cellClass: 'text-center'},
@@ -204,14 +205,16 @@ var fnSearch = function() {
 	var ordNo = $('#searchForm input[name=ordNo]').val();
 	var stDate = $('#stDate').val();
 	var edDate = $('#edDate').val();
-	
-	if (gagajf.isNull(ordNo)) {
-		if (gagajf.isNull(stDate)) {
-			mcxDialog.alert('시작 기간을 입력하세요.');
+
+	if (!gagajf.isNull(stDate)) {
+		if (gagajf.isNull(edDate)) {
+			mcxDialog.alert('종료 기간을 입력하세요.');
 			return;
 		}
+	}
 
-		if (gagajf.isNull(edDate)) {
+	if (!gagajf.isNull(edDate)) {
+		if (gagajf.isNull(stDate)) {
 			mcxDialog.alert('종료 기간을 입력하세요.');
 			return;
 		}

+ 1 - 1
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerGoodsSendForm.html

@@ -91,7 +91,7 @@
 						<button type="button" class="btn btn-primary btn-lg" id="btnGoodsUpload">엑셀업로드</button>
 						<!-- <button type="button" class="btn btn-default btn-lg" onclick="fnGoodsExcelDownLoad('');">샵링커상품 엑셀다운로드</button> -->
 						<!-- <button type="button" class="btn btn-default btn-lg" onclick="fnGoodsExcelDownLoad('');">테스트</button> -->
-						<button type="button" class="btn btn-default btn-lg" onclick="fnTest();">테스트</button>
+						<button th:if="${sessionInfo.userId == 'jmh'}" type="button" class="btn btn-default btn-lg" onclick="fnTest();">테스트</button>
 					</li>
 				</ul>
 

+ 3 - 3
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerOrderForm.html

@@ -39,7 +39,7 @@
 						<td colspan="7">
 							<input name="apiStDate" id="apiStDate" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="주문수집일" />
 							&nbsp;&nbsp;&nbsp;&nbsp;
-							<button type="button" class="btn btn-primary btn-lg" id="btnCollection">주문수집</button>
+							<button th:if="${sessionInfo.userId == 'jmh'}" type="button" class="btn btn-primary btn-lg" id="btnCollection">주문수집</button>
 							&nbsp;<span class="runable_info"></span>
 						</td>
 					</tr>
@@ -363,8 +363,8 @@
 		}
 
 		var testDate = Number($("#orderCollectionForm input[name=apiStDate]").val().replaceAll("-", ""));
-		if( 20210510 < testDate ){
-			mcxDialog.alert("※ 테스트 주문수집시 ※<br>실제운영 주문건을 가져오므로 5/10 이 날짜로 조회해주세요.");
+		if( testDate < 20210401 || 20210510 < testDate){
+			mcxDialog.alert("※ 테스트 주문수집시 ※<br>실제운영 주문건을 가져오므로 4월부터 ~ 5/10 이 날짜로 조회해주세요.");
 			return;
 		}