[ 물류 용어집 ]

 

ASAP  - As soon as possible (가능한 빨리, 가급적 빨리)

P-Unit - 수요예측 단위

 

 

 

 

 

 Ch Inv-Sellable - Chnnel Inventory Sellable

                              - 유통업체 판매가능재고

 Ch Inv-Totol      - 유통업체 총 제고

 

 

 

 DIO - 재고회전일 (Days Inventory Outstanding)

        - 재고일수

        - 생산한 후에 판매되기까지 재고를 보유하고 있는 시간을 의미한다.
           즉, 제품이 현금화되지 못하고 제품 상태로 존재하는 시간이다.

 

 

 LTI - 장기재고 (Long Term Inventory)

       - 물류창고에 판매되지 못하고 장기간(기간을 회사마다 다름)보유하고 있는 재고.

 

 

NPI - 신제품 기획도입(New Product Introduction, NPI)

       - 신제품 출시에 대한 정보관리. Plan반영

       -제품도입 프로세스는 신제품에 대한 고객의 욕구(Needs)를 확인하여 마케팅부분과 연계하는 상품기획 단계에서부터 출발하여 제품연구 및 개발을 하는 개념설계, 상세설계, SP(Sample Product), MP(Mass Product)로 이관 및 출시 준비단계까지의 활동을 관장하는 프로세스이다.

 

 

 

 Shipment - 출하

                    . 생산된 제품이 판매등의 목적으로 사업체에서 출고되는 것으로 내수용과 수출용으로 나뉜다.

                  - 선적

                    . 육/해/공 모두에서 공히 공통으로 사용할 수 있는 용어이다.

                      신용장에서 선적일자와 관련되어 사용된 'shipment'라는 용어는 운송 형태에 따라 다음의 의미를 포함하고 있다.

                      > 해상운송 : 본선적재(loading on board)

                      > 항공운송 : 발송 (dispatch)

                      > 항공운송 : 인수 (accepted for carriage)

                      > 우편운송 : 우편수취일자 (date of post receipt)

                      > 택배운송 : 수령일자 (date of pick up)

                      > 복합운송 : 수탁 (taking in charge)

                      --> 이와 같이 운송형태에 따라서 'shipment'의 의미가 각각 다른 용어로 사용되지만 모두다 선적을 의미한다.

 

 

 

 Sell-in    - 제조업체(또는 제조업체의 물류창고)로부터 유통업체(채널)로 판매되는 것을 말한다.

                 - 흔히 기업의 매출을 이야기할 때는 기업이 유통업체에 판매하는 Sell-in을 뜻한다.

 Sell-out  - 유통업체로부터 최종 소비자로 판매되는 것으로 '실판매'라고도 한다.

 Sell-thru - Sell-out과 동일한 개념으로 쓰이는 경우도 있으나

                    유통거래처를 통해 판매매장으로 뿌려지거나 소비자에게 판매되기 전 단계의 유통거래처 사이의 거래를 뜻한다.

 Sell-in프로모션 - 매입금액에 따라 유통업체에 지급하는 인센티브이다.

                            - 물량규모에 따라 할인해 주는 물량할인(Volumn Discount), 실판매 수량과 상관없이

                               매입물량고 함께 제공하는 사은품 등이 있다.

 Sell-out프로모션 - 매장에서 판매되는 수량에 따라 판매 사원에게 지급하는 판매사원 인센티브.

                              - 고객에게 직접 제공되는 사은품 및 가격할인 등이 있다.

 

 

 Shipment Result - 생산법인 판매(AR) 실적

 

 Sales Result      - 판매법인 판매(AR)  Sell-in 실적

 WH_IN Result     - 판매법인 입고실적

 EOH Result        - 판매법인 주말 재고 실적

 

 BOH - Begin Of History : 주초, 월초 기초 재고수량

 EOH - Eod Of History    : 조말, 월말 이월재고수량

 

Posted by 농부지기
,

[ Retrofit2. 3. 참고 URL ]

 

 

 

1. 예제 : http://blog.naver.com/12341995/220936006667 : Retrofit2를 이용하여 JSON Object 서버에 전송

 

Posted by 농부지기
,

[ JSON 데이터를 자바로 파싱방법 종류 ]

 

REST API는 JSON 스트링 형태로 결과 데이터를 출력해주는데, 이를 파싱하여 자바 객체로 받아들여 활용할 수 있다. 현재 굉장히 많은 JAVA JSON 라이브러리가 존재하는데(json.org 에서 관련 자료를 확인할 수 있다), 어떤 것을 사용해야 할까?

오픈 소스에 보다 많은 커뮤니티와 업계에서 사용하여 접근하기 용이하고, 패키지 무게가 가벼우며, 성능이 뛰어난 라이브러리일 수록 좋을 것이다. 2014년 4월 기고된 developer.com 기사에서는 최근 가장 핫한 오픈 소스 JSON 처리 라이브러리 7가지를 소개하고 있는데, 자체 벤치마크 결과 그래프를 함께 제공하여 어떤 라이브러리가 자신의 프로젝트에 가장 적합할지를 선택하는데 도움을 주고 있다.

벤치마크 대상이 된 라이브러리 목록은 다음과 같다.

  • Jackson
  • Google-gson
  • JSON-lib
  • Flexjson
  • Json-io
  • Genson
  • JSONij

각 라이브러리의 특징을 기사 내용을 바탕으로 리스트 형식으로 간략하게 요약한다.

1. Jackson
  • 상당히 잘 알려진 JSON 라이브러리
  • 컨셉: “다목적 자바-JSON 처리 라이브러리. 빠르고 정확하고 가벼우며 개발자에게 친숙하다. (multi-purpose Java library for processing JSON who aims to be the best possible combination of fast, correct, lightweight and ergonomic for developers)”
  • 코드가 심플한 편
  • 특히 고용량(100MB 이상)의 JSON 데이터 처리 성능이 탁월
  • 메이븐(Maven) 저장소 지원
  • 패키지는 무거운 편
2. Google-gson
  • 오우(Oh), 구글!
  • 소스코드 구하기, 레퍼런스 찾기 용이
  • 하나의 jar 파일로 구성, 메이븐 저장소 지원
  • 가벼운 JSON 데이터 처리 성능 탁월, 전반적으로 고성능
  • 상대적으로 가벼운 패키지 무게
3. JSON-lib
4. Flexjson
  • 자바 객체를 JSON으로 직렬화하거나 비직렬화할 수 있는 경량 라이브러리
  • 다운로드 사이트
  • 다른 외부 라이브러리와 의존성 없음
  • 성능은 무난하나 아주 적은 패키지 사이즈가 장점
5. Json-io
  • 초경량 라이브러리
  • JsonReader, JsonWriter 두 클래스로 구성 -> 직렬화 담당하는 stream 객체가 필요 없음
  • 메이븐 저장소 지원
  • 대부분의 경우 JDK의 ObjectInputStream, ObjectOutputStream보다 빠른 직렬화 성능을 제공
6. Genson
7. JSONiJ

성능 측정(benchmark) 결과

다음은 위 7종의 라이브러리를 사용한 테스트 결과를 그래프로 나타낸 것이다.

 

위내용 발취 : http://djkeh.github.io/articles/The-fastest-way-to-parse-json-data-to-java-kor/

'Web. 기타 언어 > json' 카테고리의 다른 글

json-nexacro에서 사용하기  (0) 2019.07.15
Posted by 농부지기
,

 

 OkHttpClient okHttpClient = new OkHttpClient.Builder()
                //  SSL 인증 과정 진행
                .hostnameVerifier (hostnameVerifier)
                //  헤더에 AUTHORIZATION 정보를 추가
                .addInterceptor (new Interceptor ()
                {
                    @Override
                    public okhttp3.Response intercept (Chain chain) throws IOException
                    {
                        Request request = chain.request ().newBuilder ().addHeader ("AUTHORIZATION", headerToken).build ();
                        return chain.proceed (request);
                    }
                })

 

 

//  통신 시 json 사용과 해당 객체로의 파싱을 위해 생성,
//  이 부분이 없을 시 IllegalArgumentException 발생 함
Gson gson = new GsonBuilder ().setLenient ().create ();

 

 

 // 사용할 Retrofit과, API를 작성해둔 인터페이스를 선언 함
Retrofit retrofit;
ApiService apiService;

retrofit = new Retrofit.Builder ()
                //  서버 주소를 추가
                .baseUrl (GlobalApplication.getGlobalApplicationContext ().getString (R.string.server_address_root))
                //  Json 사용을 위해 ConvertFactory 추가
                .addConverterFactory (GsonConverterFactory.create (gson))
                //  https 통신을 위한 SSL 인증과정과, 헤더에 인증정보를 추가한 httpClient설정
                .client (okHttpClient)
                .build ();

//  API를 사용하기 위한 서비스 생성
apiService= retrofit.create (ApiService .class);

 

 

/**
 *  ApiService 인터페이스
 *  Rest API 의 메서드들을 선언 해두는 곳 
 */
public interface ApiService
{
    /**
     *  POST 형식을 사용하며, base URL 이후 상세 URL을 작성
     *  Body 에는 UserData 를 json 형식으로 추가함
     *
     *  결과는 서버에서 클라이언트로 부터 전달받은 UserData를 가공하여
     *  다시 클라이언트로 UserData로 전달해 줌
     */
    @POST ("/SpringServer/user")
    Call<UserData> hello(@Body UserData userData);
}

 

 

 

Call<UserData> userDataCall = apiService.hello (user);

        //  비동기식 호출 사용
        userDataCall.enqueue (new Callback<UserData> ()
        {
            @Override
            public void onResponse (Call<UserData> call, Response<UserData> response)
            {
                if(response.isSuccessful ())
                {
                    //  Response 가 성공한 상태
                    userData = response.body ();
                }
                else
                {
                    //  Response 가 실패한 상태
                    //  서버와의 통신에 성공하였지만, 서버 내부 동작 중에서 잘못된 점이 확인되어,
                    //  통신에는 성공한 상태로 설정하고, Body 에 실패한 정보를 추가
                    //  ex) 서버에서 잘못된 params 를 체크하여 잘못된 정보가 있다고 return
                    try
                    {
                        String result = response.errorBody ().string ();
                        Gson gson = new Gson ();

                         /**
                         ErrorCode.Class                       
                         public class ErrorCode
                         {
                            public String code;
                            public String message;
                         }
                         */
                        ErrorCode errorCode = gson.fromJson (result, ErrorCode.class);
                    }
                    catch(Exception e)
                    {
                        e.printStackTrace ();
                    }
                }
            }

            @Override
            public void onFailure (Call<UserData> call, Throwable t)
            {
                //  Request 가 실패한 상태 ( 통신 자체, 서버의 구현 이외의 에러 발생 )
                //  ex) 통신이 불가, 서버와의 연결 실패 등               
            }
        });

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'[Android] - 개념 > Retrofit2' 카테고리의 다른 글

Retrofit2. 3. 참고 URL  (0) 2017.03.13
Retrofit2. 2.사용방법 (Retrofit 2로 HTTP 호출하기)  (0) 2017.03.12
Retrofit2. 1.기본 개념  (0) 2017.03.12
Posted by 농부지기
,

[ Retrofit2. 2.사용방법  (Retrofit 2로 HTTP 호출하기) ]

 

1. 정의

    - Retrofit은 안드로이드와 Java 애플리케이션을 위한 라이브러리로, 안전한 타입(type-safe) 방식의 HTTP 클라이언트 이다. 이번 글에서는 Retrofit 2 HTTP 클라이언트의 사용 복잡성과 앱 적용 시의 유용성을 살펴볼 예정이다.

 

 

1. 네트워크 사용을 위해서 AndroidManifest.xml 에서 Internet Permission 을 허용해야 됨

 

 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

 

 

2. Retrofit을 사용하기 위해서 build.gradle 파일에 라이브러리 추가

   - Retrofit2만 적용시

 

 dependencies {
    compile 'com.squareup.retrofit2:retrofit:2.1.0'

}

 

  - Retrofit2 + gson 적용시

 

 dependencies {
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0' 
}

 

 

 

3. 모델 클래스 만들기(데이터 그릇)

 

 public class Contributor {
 
  String login;
  String html_url;
 
  int contributions;
 
  @Override
  public String toString() {
    return login + "(" + contributions + ")";
  }
}

 

4. HTTP 통신을 하기 위한 서비스 인터페이스를 생성

 

 public interface GitHubService {
 
  @GET("repos/{owner}/{repo}/contributors")
  Call<List<Contributor>> repoContributors(
      @Path("owner") String owner
      , @Path("repo") String repo);
}

 

5. Retrofit 객체를 GitHubService 에 생성

   기본적인 Retrofit 객체 생성 형태는 아래와 같지만,

 

 public static final Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https://api.github.com/")
            .build();

.addConverterFactory(GsonConverterFactory.create());

는 받아오는 Json 형식의 데이터를 Java 객체 형태로 변환 또는 반대 형식으로 변환시켜주는 Gson 라이브러리를 사용해야하기 때문에 수정해야 됨.

 

 

 public interface GitHubService {
 
  @GET("repos/{owner}/{repo}/contributors")
  Call<List<Contributor>> repoContributors(
      @Path("owner") String owner
      , @Path("repo") String repo);
 
  public static final Retrofit retrofit = new Retrofit.Builder()
      .baseUrl("https://api.github.com/")
      .addConverterFactory(GsonConverterFactory.create())
      .build(); 
}

 

6. HTTP 호출

   동기적으로 HTTP 를 호출하기 위해서 인터페이스를 구현하고

   Call 호출하기 위한 형태는 아래와 같다.

 

 GitHubService gitHubService = GitHubService.retrofit.create(GitHubService.class);
 Call<List<Contributor>> call = gitHubService.repoContributors(“square”, “retrofit”);
 List<Contributor> result = call.execute().body();

 

 그러나 Android 에서는 MainThread(UI Thread) 에서 네트워크 통신을 할 수 없도록 되어 있다.
위의 형태로 돌릴 경우 아래와 같은 에러 메세지가 떨어지게 된다.

 

 02-04 19:32:55.190 1678-1678/com.example.jihoonryu.retrofit2_test E/AndroidRuntime:
 FATAL EXCEPTION: main
 Process: com.example.jihoonryu.retrofit2_test, PID: 1678
 android.os.NetworkOnMainThreadException

 

그렇기 때문에 AsyncTask 를 통해서 백그라운드 스레드에서 작동을 시켜야 한다.

 

- 동기(Synchronous)

 

new AsyncTask<Void, Void, String>() {
 
    @Override
    protected String doInBackground(Void... params) {
      GitHubService gitHubService = GitHubService.retrofit.create(GitHubService.class);
      Call<List<Contributor>> call = gitHubService.repoContributors("square", "retrofit");
     
    try {
        return call.execute().body().toString();
      } catch (IOException e) {
        e.printStackTrace();
      }
 
      return null;
    }
 
    @Override
    protected void onPostExecute(String s) {
      super.onPostExecute(s);
      TextView textView = (TextView) findViewById(R.id.textView);
      textView.setText(s);
    }
}.execute();

 

 Retrofit2 의 장점은 동기적이던 비동기적이던 구현하기 쉬움에 있다.
비동기적(Asynchronously) 으로 구현할 경우는 자체적으로 백그라운드 스레드를 타기 때문에 그냥 구현해주면 된다.

 

 -비동기(Asynchronous)

 

 

 GitHubService gitHubService = GitHubService.retrofit.create(GitHubService.class);
    Call<List<Contributor>> call = gitHubService.repoContributors("square", "retrofit");
    call.enqueue(new Callback<List<Contributor>>() {
      @Override
      public void onResponse(Call<List<Contributor>> call,
          Response<List<Contributor>> response) {
 
        TextView textView = (TextView) findViewById(R.id.textView);
        textView.setText(response.body().toString());
      }
 
      @Override
      public void onFailure(Call<List<Contributor>> call, Throwable t) {
 
      }
});

 

 

 

 

참고] http://devuryu.tistory.com/44


1. Realm / Retorift2로 HTTP 호출하기
2. Retrofit 한글 소개
3. Getting started with Retrofit 2
4. Retrofit 2.0: The biggest update yet on the best HTTP Client Library for Android

'[Android] - 개념 > Retrofit2' 카테고리의 다른 글

Retrofit2. 3. 참고 URL  (0) 2017.03.13
hanjul에 추가할 주석문장  (0) 2017.03.13
Retrofit2. 1.기본 개념  (0) 2017.03.12
Posted by 농부지기
,

[ Retrofit2. 1.기본 개념 ]

 

1. 사용이유

    - 안드로이드에서 HTTP 통신을 쉽게 할 수 있도록 해주는 라이브러리이다.

 

2. 이전 HTTP 통신 라이브러리

    - 이전 프로젝트에서는 Android Volley를 적용하여 개발하였음.

    - Volley 처음 적용시 설정과 구현을 통해 서버와의 통신을 하는데까지 복잡하고 손이 많이 간다는 느낌과  생각보다 조금 무겁다는 느낌  그리고 필요로 하는 기능보다 사용하지 않는 기능이 더 많다.

    - 그렇다고 Volley 가 안좋다는 것은 아니며 RequestQueue, NetworkImageView, DiskBasedCache를 이용하여 안정적이고 유용하게 쓸 수 있다.

 

 

Posted by 농부지기
,

[ Java. Annotation ]

 

 

 


어노테이션

설명

@SuppressWarnings

컴파일러가 일반적으로 경고하는 내용   내용은 제외시킬  사용

@Entity

퍼시스턴스화  클래스를 선언

@Table

DB 있는 테이블과 맵핑 시킨다.

@Data

 필드의 setter, getter 자동 생성

@EqualsAndHashCode

Equals  hashCode 함수를 만들어 

@JsonIgnoreProperties

클래스 내에 없는 필드가 json 존재할  에러 방지 설정 

@GeneratedValue

primary 컬럼에 고유값을 자동으로 생성 부여

@Id

 클래스의 어느 속성이 유일한 식별자 인지를 가리킴

@Enumerated

Java Enum class를 표현

@Column

컬럼 길이 제약과 같은 세부사항을 지정할  있게 

@Repository

해당 클래스에서 발생하는 DB 관련 예외를 spring DAOException으로 전환

@Service

비즈니스 로직이 들어가는 Service 등록이 

@Autowired

Spring 의존관계(DI) 자동으로 설정타입(by type)으로 연결

@Qualifier

동일한 타입의  객체들 중에서 특정 빈을 사용하도록 설정

@PostConstruct

의존하는 객체를 설정한 이후에 초기화 작업을 수행할 메서드에 수행

@PreDestory

컨테이너에서 객체를 제거하기 전에 호출  메서드에 적용

@Target

어디에 어노테이션을 넣을  있는지를 서술

@Retention

지속성을 설정어떻게 저장할 것인지

@Documented

어노테이션이 기본으로 javadoc  유사한 툴에 의해 문서화 되는 것을 나타냄

@AllArgsConstructor

모든 인자의 생성자를 자동으로 생성

@NoArgsConstructor

인자 없는 생성자를 생성

@MappedSuperclass

해당 어노테이션이 정의된 class 상속받은 entity에는 해당 컬럼이 자동으로 생성/매핑

@JsonSerialize

Annotation use for configuring serialization aspects, by attaching to "getter" methods or fields, or to value classes

@Value

프로퍼티값을 파라미터에 적용

@Configuration

스프링 IoC 컨테이너가 해당 클래스를  정의의 소스로 사용

@EnableAsync

스프링 XML 설정의 <task:annotation-driven> 대신해서 자바에 설정

@EnableScheduling

스프링 스케줄 task 실행을   있게 

@EnableTransactionManagement

스프링 XML 설정의 <tx:annotation-driven/> 대신해서 자바에 설정

@PropertySource

Property 파일을 Environment로 로딩

@EnableJpaRepositories

JPA repositories   있게 

@EnableAspectJAutoProxy

스프링 XML 설정의 <aop:aspectj-autoproxy/> 대신해서 자바에 설정

@ComponentScan

스프링 XML 설정의 <context:component-scan> 대신해서 자바에 설정

@Resource

어플리케이션에서 필요로 하는 자원을 자동 연결할  사용이름(by name)으로 연결

@Bean

스프링 XML 설정의 <bean /> 동일한 기능을 제공

@EnableTransactionManagement

스프링의 annotaion-driven 트랜잭션 관리기능을   있게 

@MapperScan

Mybatis mapper 등록을 자바에 설정

@ControllerAdvice

예외 발생시 작업을 처리할  있게 스프링 프레임워크 3.2에서 추가

@Controller

Spring MVC Controller 클래스 선언을 단순화 시켜줌

@RequestMapping

Url class 또는 method 맵핑 시켜주는 역할

@ResponseBody

HTTP body 부분만 전달 XML, JSON으로 출력   사용

@Api

Api 어떤 역할을 하는  표시

@ApiOperation

Api 기능을 표시

@ApiParam

Api에서 사용할 파라미터를 표시

@Aspect Spring은 자동적으로 @Aspect 어노테이션을 포함한 클래스를 검색하여 Spring AOP 설정에 반영
@Pointcut pointcut은 결합점(Join points)을 지정하여 충고(Advice)가 언제 실행될지를 지정하는데 사용 @Pointcut 어노테이션을 사용
@Before 메소드가 수행 전에 수행 된다.Before advice는 @Before 어노테이션을 사용
@After 메소드 수행 후 무조건 수행된다. After (finally) advice는 @After 어노테이션을 사용
@AfterThrowing 메소드가 수행 중 예외사항을 반환하고 종료하는 경우 수행된다. After throwing advice는 @AfterThrowing 어노테이션을 사용
@RestController @Controller + @ResponseBody *http://spring.io/guides/gs/rest-service/
@JsonInclude @JsonInclude(JsonInclude.Include.NON_EMPTY) 필드가 empty이거나 null 일 때 json으로 변환되지 않도록 함 *http://fasterxml.github.io/jackson-annotations/javadoc/2.0.5/com/fasterxml/jackson/annotation/JsonInclude.Include.html
@Transactional DB 트랜잭션관리를 위해 사용

 

@Transactional 을 붙였는 데 사용하지 못하는 경우,

1. innoDB 가 아닌 경우,

2. interface 가 없는 경우,

3. method 에 사용하였는 데, 해당 method를 같은 class 내부에서 호출하는 경우,

2, 3번 -> @Transactional을 사용하면 해당 class를 spring에서 다시 proxy 형태로 실행/관리 하기 때문.

 



출처: http://toma0912.tistory.com/9 [토마's 개발노트]

'자바(java) > 기본문법' 카테고리의 다른 글

C#-기술집 URL  (0) 2018.02.02
Servlet - Session관리  (0) 2017.02.02
Posted by 농부지기
,

[ 1. 수요예측-10. 발주방식(정량,정기) ]

 

1. 발주방식 2가지

    -. 정량 발주점 방식

    -. 정기 발주점 방식

 

2. 차이점

 항목

정량 발주점방식 

정기 발주점방식 

 방식

 일정량을 발주

 일정기간 마다 발주

 발주한 시기

 발주한 간격은 정해져 있지 않음

 발주한 간격이 정해져 있는 경우

 발주한량

 일정

 매회 계산하므로 변동하는

 무멋을 위해서 사용하는지

 발주경비의 삭각

결함이 있는 물건의 방지

 운용자금의 절약

 장점

 사무 처리가 간단하게 됨

 재고량이 줄어드는

 발주 회수가 줄어 드는

 단점

재고량 증가

 사무 처리가 많이짐

 적용의 대상

 단가가 싼것

수요가 안정되어 있는 것

공통의 부품

준비 기간이 짧은 것

안정되어 손에 들어 오는 것

 고가의 것

 수요 변동의 큰 것

 준비 기간이 긴 것

 관리하는 경우의 주의점

 정기적으로 재고량을 체크할 필요가 있음

발주점의 정기적인 재검토가 필요 

 수요예측의 제도의 향상

 품목마다 관리

 발주한 계산식

 하단에 존재

 하단에 존재 

 

정량 발주점 방식 계산식

   - 발주점 = 조달 기간중 평균 사용량 + 안전재고 = 1양지의 평균 사용량 X 조달기간 + 안전재고

   - 발주점 : 재고가 일정개수가 되면 발주하는 지점(수량)

   - 안전재고 : 안전을 예측해 여분으로 재고를 가지는 수량

   - 예를 들면, 어느 A부품은, 발주하고 나서 3일에 납품된다고 하자. 이것을 [조달 기간]인데

      매일, 부품은 2개 사용할 경우 이것을 [1양지의 평균 사용량]이 된다

      이때 안전 재고는 2개가 된다.

   - 발주점 : 1양지의 평균 사용량(2개) X 조단 기간(3일) + 안전재고(2개) = 8개

      재고가 8개가 되면 발주한다.

 

정기 발주점 방식 계산식

   - 발주량 = (발주 간격 + 조달 기간) X 사용 예정량 + 안전 재고 - 현재의 재고량 - 현재의 발주잔량

   - 현재의 재고량 = 발주 시점에서 사용 가능한 재고량

   - 현재의 발주잔량 = 지난 달 발주한 것으로 또 납입하고 있지 않는 것

   - 예) [발주간격]은 1주간(7일)로 한다. 주에 1회 발주한다.

           [조달기간]은 발주하고나서 납품될 때 까지의 기간이다. 3일로 한다.

           [사용 예정량]은 매일 사용하는 양이다. 2개로 한다.

             ((참고, 정기 발주점에서는 앞의 사용 예정량이 변동해도 계산 할 수 있다.))

           [안전재고]는 2개로 한다.

           [현재 재고]는 1개로 한다.

           [현재 발주잔량]은 2개로 한다.

           이때 발주량은 = (발주 간격(7일) + 조달기간(3일)) X 사용 예정량(2개) + 안전재고(2개) - 현재 재고량(1개) - 현재 발주잔량(2개) = 19개

           즉, 19개가 매주 계산된 발주량이 된다.

 

 

'업무 > 수요예측' 카테고리의 다른 글

1. 수요예측-1. 기본개념  (0) 2017.03.06
Posted by 농부지기
,

[ 1. 수요예측-1. 기본개념 ]

 

 

1. 정의

   - 수요분석을 위하여 시장조사나 각종의 예측조사의 결과를 기초로 하여 장래의 수요를 예측하는 것이다. 예측기간에 의하여 장기예측, 연차예측, 단기예측 등 여러 가지 예측방법으로 분석된다. 수요예측은 산업이나 회사가 구입, 생산, 자금, 판매 등의 계획을 세우는 데에 불가결한 것이다.

 

2. 발주량 계산방식

    발주량 = (발주 간격 + 조달기간) x 사용 예정량 + 안전재고 - 현 재고량 - 현 발주잔량

 

3. 사용 예정량

    - 장래에 어느 정도 수요가 있을지 파악해서 산출

 

4.수요 예측 방법

   1. 첫번째 : 고객으로부터 데이터를 받는 고객이 기업이면 장래의 수요 데이터를 받을 수 있다.

                 하지만 소매업에서는 고객이 소비자 이므로 이 수요 데이터를 받을 수 없다.

   2. 두번째 : 영업의  사람의 수요의 데이터를 작성

   3. 통계적 수요 예측

        - 정의 : 과거의 데이터를 기초로 장래의 수요를 예측

        - 종류 : 시계열 분석, 이동평균법, 지수 평활법, 가중이동 평균법

        - 시계열 분석 : 통계적 기법

                               과거의 실적을 평균하는 방법

                               평균은 1년간, 6개월간, 3개월간을 적용(각 기간에 가중을 하는 경우도 있음)

        - 이동평균법 : 작년의 설적등에서 당월의 전후의 실적 데이터를 평균해 금년의 예측을 행함

        - 지수평활법 : 중요를 지수적으로 행하는 방식

                              데이터들이 시간의 지수 함수에 따라 최근 것은 가중치를 두는 방법 입니다.

        - 가중이동편균법 : 이동 편균법으로 실적값의 가중을 행하는 방식

                               

5. 예전 사용했던 방식

    1. 이동편균법이나 지수 평할법으로 계절 변동 지수를 넣어 수요예측을 시뮬레이션 했었다.

        하지만 통계를 사용한 수요예측의 데이터는 경기동향이 들어가 있지 않아 요즘은 사용하지 않고 있다.

        과거에도 최종적으로는 영업의 사람이 고객으로부터의 데이터를 기초로 작성한 수요예측 데이터를 사용했다.

 

6. 발주점 , 안전재고

   -. 발주점 : 재고가 일정개수가 되면 발주하는 지점(수량)

   -. 안전재고 : 안전을 예측해 여분으로 재고를 가지는 수량

   -. 예를 들면, 어느 A부품은, 발주하고 나서 3일에 납품된다고 하자. 이것을 [조달 기간]인데

       매일, 부품은 2개 사용할 경우 이것을 [1양지의 평균 사용량]이 된다

       이때 안전 재고는 2개가 된다.

'업무 > 수요예측' 카테고리의 다른 글

1. 수요예측-10. 발주방식(정량,정기)  (0) 2017.03.06
Posted by 농부지기
,