package com.hxhq.business.utils.lang;

import com.hxhq.business.utils.JctUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * @author tanfei
 */
public class GyzjJcnrUtil {
    private static final Logger logger = LoggerFactory.getLogger(GyzjJcnrUtil.class.getName());
    private static HashMap<String,String> mapLang=new HashMap<>();
    static {
        mapLang.put("入库","In Storage");
        mapLang.put("未入库","Not in Storage");
        mapLang.put("已发放","In Use");
        mapLang.put("已锁定","Locked");
        mapLang.put("待归档","Pending Archiving");
        mapLang.put("归档","Archived");
        mapLang.put("待解档","Pending De-archiving");
        mapLang.put("借阅开始时间","Checkout Start Date");
        mapLang.put("借阅结束时间","Checkout End Date");
        mapLang.put("处置方式","Dispose Method");
        mapLang.put("处置原因","Reason");
        mapLang.put("处置","Dispose");
        mapLang.put("处置量","Amount");
        mapLang.put("使用","Usage");
        mapLang.put("配制完成","Configuration completed");
        mapLang.put("处置人","Operator");
        mapLang.put("复核人","Reviewer");
        mapLang.put("监督人","Supervisor");
        mapLang.put("钥匙1领取人","Key 1 User");
        mapLang.put("钥匙2领取人","Key 2 User");
        mapLang.put("出库量","Out Amount");
        mapLang.put("转移条件","Transfer Condition");
        mapLang.put("出库毛重","Check-out Gross Weight");
        mapLang.put("入库毛重","Check-in Gross Weight");
        mapLang.put("使用量","Usage Amount");
        mapLang.put("归还人1","Returner 1");
        mapLang.put("归还人2","Returner 2");
        mapLang.put("库管员1","Warehouse Keeper 1");
        mapLang.put("库管员2","Warehouse Keeper 2");
        mapLang.put("签名人1","Signed By 1");
        mapLang.put("签名人2","Signed By 2");
        mapLang.put("入库位置","Check-in Location");
        mapLang.put("入库条件","Check-in Condition");
        mapLang.put("入库净重","Check-in Net Weight");
        mapLang.put("入库量","Total Amount");
        mapLang.put("申请备注","Apply Comment");
        mapLang.put("审核备注","Approve Comment");
        mapLang.put("领取人","Recipient");
        mapLang.put("领取人2","Recipient 2");
        mapLang.put("发放人","Issuer");
        mapLang.put("发放人2","Issuer 2");
        mapLang.put("存储条件","Storage Condition");
        mapLang.put("存储位置","Storage Location");
        mapLang.put("使用人","User");
        mapLang.put("领取/归还人/入库申请人","Recipient/Returner/Check-in Applicant");
        mapLang.put("发放/接收人","Issuer/Receiver");
        mapLang.put("操作类型","Action");
        mapLang.put("操作量","Amount");
        mapLang.put("备注/原因","Comment/Reason");
        mapLang.put("操作时间","Datetime");
        mapLang.put("名称","Name");
        mapLang.put("编号","ID");
        mapLang.put("浓度","Concentration");
        mapLang.put("库存量","Amount");
        mapLang.put("失效日期","Expiration");
        mapLang.put("制剂状态","Status");
        mapLang.put("所属表单","In Record");
        mapLang.put("表单所属试验","From Study");
        mapLang.put("表单所属人","By User");
        mapLang.put("基本信息","Information");
        mapLang.put("表单信息","Record Information");
        mapLang.put("稽查轨迹","Track Record");
        mapLang.put("给药制剂台账","Formulation Table");
        mapLang.put("备注","Comment");
        mapLang.put("签名人","Signed By");

        mapLang.put("申请解档","Apply for De-archiving");
        mapLang.put("申请借阅","Apply for Check-out");
        mapLang.put("申请归档","Apply for Archiving");
        mapLang.put("锁定给药制剂","Lock Drug");
        mapLang.put("解锁给药制剂","Unlock Drug");
        mapLang.put("处置药剂","Dispose Substance");
        mapLang.put("处置容器","Dispose Container");
        mapLang.put("钥匙发放","Issue Key");
        mapLang.put("申请编辑","Apply Edit");
        mapLang.put("同意编辑","Approve Edit");
        mapLang.put("拒绝编辑","Reject Edit");
        mapLang.put("修改库存申请","Apply Edit Inventory");
        mapLang.put("同意修改库存","Approve Edit Inventory");
        mapLang.put("拒绝修改库存","Reject Edit Inventory");
        mapLang.put("归还","Return");
        mapLang.put("确认归还","Confirm Check-in");
        mapLang.put("领取发放","Distribution");
        mapLang.put("存储","Storage");
        mapLang.put("取出","Take Out");
        mapLang.put("给药制剂详情","Formulation Information");

        mapLang.put("表单名称","Preset Name");
        mapLang.put("锁定发放记录","Lock Record");
        mapLang.put("解锁发放记录","Unlock Record");
        mapLang.put("给药制剂入库","Formulation Check-in");
        mapLang.put("同意入库","Approve Check-in");
        mapLang.put("拒绝入库","Reject Check-in");
        mapLang.put("目的","Purpose");

        mapLang.put("同意归档","Approve Archiving");
        mapLang.put("拒绝归档","Reject Archiving");
        mapLang.put("同意解档","Approve De-archiving");
        mapLang.put("拒绝解档","Reject De-archiving");
        mapLang.put("同意借阅","Approve Check-out");
        mapLang.put("拒绝借阅","Reject Check-out");
    }

    public static void main(String[] args) {
        Map<String, String> formData = new LinkedHashMap<>();
        formData.put("申请备注", "1111");
        formData.put("审核备注", "22");
        logger.info(getJcnrEn(formData));
    }
    /**
     * 获取英文
     * @param name
     * @return
     */
    public static String getEn(String name) {
        return   mapLang.get(name);
    }


    /**
     * 稽查名称英文
     * @param map
     * @return
     */
    public static String getJcnrEn(Map<String, String> map) {
        Map<String, String> result =new LinkedHashMap<>();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            result.put(mapLang.get(entry.getKey()),entry.getValue());
        }
        return JctUtil.formatStr(result);
    }

    /**
     * 稽查名称英文
     * @param map
     * @return
     */
    public static Map<String, String> getMapEn(Map<String, String> map) {
        Map<String, String> result =new LinkedHashMap<>();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            result.put(mapLang.get(entry.getKey()),entry.getValue());
        }
        return result;
    }

}
