Commit 8340b540 by wangweidong

计量修改

parent 96e8d445
...@@ -100,6 +100,7 @@ dependencies { ...@@ -100,6 +100,7 @@ dependencies {
compile("com.patzn.cloud:patzn-entity-project:2.0") compile("com.patzn.cloud:patzn-entity-project:2.0")
compile("com.patzn.cloud:patzn-feign-base:2.0") compile("com.patzn.cloud:patzn-feign-base:2.0")
compile("com.patzn.cloud:patzn-feign-lims:2.0") compile("com.patzn.cloud:patzn-feign-lims:2.0")
compile("com.patzn.cloud:patzn-feign-project:2.0")
compile("com.patzn.cloud:patzn-feign-standard:2.0") compile("com.patzn.cloud:patzn-feign-standard:2.0")
compile("com.patzn.cloud:patzn-service-parent:2.0") compile("com.patzn.cloud:patzn-service-parent:2.0")
compile("com.patzn.cloud:patzn-oss-starter:2.0") compile("com.patzn.cloud:patzn-oss-starter:2.0")
......
package com.patzn.cloud.service.lims.common;
import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.service.lims.env.vo.EnvSampleDetailVO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.poi.xwpf.usermodel.*;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class ExportPlanSample {
public static void setPlanSample(XWPFDocument doc, String tablePlanSampleTitlt, Map<String,String> tablePlanSampleMap, List<EnvSampleDetailVO> sampleList){
//创建表格1 标题
XWPFParagraph paragraphTableOneTitle= doc.createParagraph();
XWPFRun runTableOneTitle= paragraphTableOneTitle.createRun();
paragraphTableOneTitle.setAlignment(ParagraphAlignment.CENTER);
runTableOneTitle.setBold(true);
runTableOneTitle.setTextPosition(50);
runTableOneTitle.setFontSize(12);
runTableOneTitle.setText(tablePlanSampleTitlt);
//处理表格
int count=1;
if (CollectionUtils.isNotEmpty(sampleList)){
count= sampleList.size();
}
//创建表格1
XWPFTable tableOne = doc.createTable(count+1,tablePlanSampleMap.size());
XWPFTableRow rowOne0=getRow(tableOne,0);
rowOne0.setHeight(120);
int tableOneTitleIndex=0;
for (Map.Entry<String,String> map :tablePlanSampleMap.entrySet()) {
rowOne0.getCell(tableOneTitleIndex).setText(map.getValue());
tableOneTitleIndex++;
}
Map<Integer ,Integer> merger=new LinkedHashMap<>();
String point="";
Integer mergeStart=1;
Integer mergeSum=0;
for (int i=0;i<count;i++) {
int tableOneContentIndex=0;
EnvSampleDetailVO sampleDetailVO= sampleList.get(i);
if ("".equalsIgnoreCase(point)){
point =sampleDetailVO.getPoint();
}else{
if (sampleDetailVO.getPoint().equalsIgnoreCase(sampleList.get(i-1).getPoint())){
mergeSum++;
}else{
merger.put(mergeStart,mergeStart+mergeSum);
mergeStart=mergeStart+mergeStart+mergeSum;
}
if (i==count-1){
merger.put(mergeStart,count);
}
}
for (Map.Entry<String,String> map :tablePlanSampleMap.entrySet()) {
if ("samplingDate".equalsIgnoreCase(map.getKey())){
String date=DateUtils.toYearMonthDay(sampleDetailVO.getSamplingDate());
StringHandleUtils.setText(tableOne,i+1,tableOneContentIndex,date);
}else{
StringHandleUtils.setText(tableOne,i+1,tableOneContentIndex,StringHandleUtils.getFieldValueByFieldName(map.getKey(),sampleDetailVO));
}
tableOneContentIndex++;
}
}
for (Map.Entry<Integer,Integer> mapMerger :merger.entrySet()) {
PoiUtil2007.mergeCellsVertically(tableOne, 0, mapMerger.getKey(), mapMerger.getValue());
PoiUtil2007.mergeCellsVertically(tableOne, 3, mapMerger.getKey(), mapMerger.getValue());
}
}
public static XWPFTableRow getRow(XWPFTable table, int rowIndex){
return table.getRow(rowIndex);
}
public static boolean isNotEmpty(Object object){
return null!=object;
}
}
package com.patzn.cloud.service.lims.common;
import com.patzn.cloud.service.lims.env.vo.EnvPlanVO;
import org.apache.poi.xwpf.usermodel.*;
import java.lang.reflect.Method;
import java.util.Map;
public class ExportPlanUtil {
public static void setPlanInfo(XWPFDocument doc, String titlePlan,
String titleTableOne, Map<String,String> tableOneMap,
EnvPlanVO plan){
//创建方案标题
XWPFParagraph paragraphPlanTitle= doc.createParagraph();
XWPFRun runPlanTitle= paragraphPlanTitle.createRun();
runPlanTitle.setText(titlePlan);
runPlanTitle.setBold(true);
//创建表格1 标题
XWPFParagraph paragraphTableOneTitle= doc.createParagraph();
XWPFRun runTableOneTitle= paragraphTableOneTitle.createRun();
paragraphTableOneTitle.setAlignment(ParagraphAlignment.CENTER);
runTableOneTitle.setBold(true);
runTableOneTitle.setTextPosition(50);
runTableOneTitle.setFontSize(12);
runTableOneTitle.setText(titleTableOne);
int count=1;
if (isNotEmpty(plan)){
count= plan.getPointNum();
}
//创建表格1
XWPFTable tableOne = doc.createTable(count+1,tableOneMap.size());
/* tableOne.setCellMargins(30, 0, 0, 1200);// top, left, bottom, right
*/ XWPFTableRow rowOne0=getRow(tableOne,0);
rowOne0.setHeight(120);
int tableOneTitleIndex=0;
for (Map.Entry<String,String> map :tableOneMap.entrySet()) {
rowOne0.getCell(tableOneTitleIndex).setText(map.getValue());
tableOneTitleIndex++;
}
for (int i=0;i<count;i++) {
int tableOneContentIndex=0;
for (Map.Entry<String,String> map :tableOneMap.entrySet()) {
if (map.getKey().equalsIgnoreCase("points")){
String points= StringHandleUtils.getFieldValueByFieldName(map.getKey(),plan);
StringHandleUtils.setText(tableOne,i+1,tableOneContentIndex,points.split("、")[i]);
}else{
StringHandleUtils.setText(tableOne,i+1,tableOneContentIndex,StringHandleUtils.getFieldValueByFieldName(map.getKey(),plan));
}
tableOneContentIndex++;
}
}
PoiUtil2007.mergeCellsVertically(tableOne, 1, 1, count);
PoiUtil2007.mergeCellsVertically(tableOne, 2, 1, count);
PoiUtil2007.mergeCellsVertically(tableOne, 3, 1, count);
PoiUtil2007.mergeCellsVertically(tableOne, 4, 1, count);
}
public static XWPFTableRow getRow(XWPFTable table, int rowIndex){
return table.getRow(rowIndex);
}
public static boolean isNotEmpty(Object object){
return null!=object;
}
public static String getChineseNormalNum(int num) {
switch (num){
case 1:
return "一";
case 2:
return "二";
case 3:
return "三";
case 4:
return "四";
case 5:
return "五";
case 6:
return "六";
case 7:
return "七";
case 8:
return "八";
case 9:
return "九";
case 10:
return "十";
default:
return "";
}
}
public static String getChineseNum(int num) {
switch (num){
case 1:
return "一";
case 2:
return "三";
case 3:
return "五";
case 4:
return "七";
case 5:
return "九";
case 6:
return "十一";
case 7:
return "十三";
case 8:
return "十五";
case 9:
return "十七";
case 10:
return "十九";
default:
return "";
}
}
public static String getChineseTwoNum(int num) {
switch (num){
case 1:
return "二";
case 2:
return "四";
case 3:
return "六";
case 4:
return "八";
case 5:
return "十";
case 6:
return "十二";
case 7:
return "十四";
case 8:
return "十六";
case 9:
return "十八";
case 10:
return "二十";
default:
return "";
}
}
}
package com.patzn.cloud.service.lims.common;
import com.google.common.collect.Lists;
import java.util.List;
/**
* @author zhaokai
* @since 2019-11-19
*/
public interface FoodConstants {
/**
* 食品生成原始记录的绑定的数据源的key
*
* @see com.patzn.cloud.service.lims.food.service.impl.FoodItemServiceImpl#originalRecordDataBind(Long[], Long, com.patzn.cloud.commons.controller.Account)
*/
String DATASOURCE_COMMON = "common";
String CTIME = "ctime";
String CTIME_CN = "ctimeCn";
String CTIME_POINT = "ctimePoint";
String SAMPLE = "sample";
String SAMPLING = "sampling";
String CONTRACT = "contract";
String CUSTOMER = "customer";
String ENGLISH_COMMA = ",";
String CHINESE_COMMA = ",";
String PRE_RECORD = "preRecord";
String EMPTY_STR = "";
/**
* 这个表示在回调结果时,项目的行和列定位的是样品编号
*/
String ONE_ITEM_MANY_SAMPLE = "callback_sample";
String CONTENT = "content";
String DATA_SCALA = "dataQuantityScala";
String APTITUDE_ITEM_ATTACHMENT = "aptitudeItemAttachment";
String DATA_REQUEST = "revisionRequest";
String DATA_SIGNATURE = "dataQuantitySignatures";
String DATA_FORMULA = "dataQuantityFormula";
/**
* 食品的特殊的汉字检测值
*/
List<String> TEST_VALUE_LIST = Lists.newArrayList("ND", "不得检出", "未检出", "商业无菌");
/**
* 检测步骤处 JSON 字符串的 key 值
*/
String STEP_INFO = "stepInfo";
String PARAM_INFO = "paramInfo";
String DATA = "data";
String STEP_INFO_TEMP_LIST = "stepInfoTempList";
String COMMON_LIST = "commonList";
String LIST = "list";
String NAME = "name";
String FIELD_NAME = "fieldName";
String TITLE = "title";
String VALUE = "value";
String COMPLEX = "COMPLEX";
String SAMPLE_STEP = "SAMPLE_STEP";
String ITEM_STEP = "ITEM_STEP";
String STEP_OPTIONS_LIST = "optionsList";
String COMPLEX_LIST = "complexList";
String ITEM_LIST = "itemList";
String SAMPLE_LIST = "sampleList";
String INFO_LIST = "infoList";
String COMPLEX_INFO_LIST = "complexInfoList";
String SINGLE = "single";
String NUM = "num";
String SAMPLE_NUM = "sampleNum";
String TEST_VALUE = "testValue";
String TEST_VALUE_5 = "testValue5";
String TEST_VALUE_STR = "testValueStr";
String STEP_ID = "stepId";
String EQUIP = "equip";
String NAMES = "names";
String NUMS = "nums";
String DEFAULT_VALUE = "defaultValue";
String ID = "id";
String EQUIP_INFO_SAVE = "equipInfoSave";
String TEXT = "text";
String OBJECT = "object";
String ARRAY = "array";
String DATA_FIELD_TYPE = "dataFieldType";
String PROPERTIES = "properties";
String STRING = "string";
String TYPE = "type";
String TABLE = "table";
String DATA_SOURCE_BASE = "{\"$schema\":\"http://json-schema.org/draft-04/schema#\",\"properties\":{\"sample\":{\"dataFieldType\":\"text\",\"type\":\"string\",\"properties\":{\"num\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"name\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"boothNum\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"testBasis\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"standard\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"judgeBasis\":{\"dataFieldType\":\"text\",\"type\":\"string\"}}},\"common\":{\"dataFieldType\":\"text\",\"type\":\"string\",\"properties\":{\"ctime\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"ctimeCn\":{\"dataFieldType\":\"text\",\"type\":\"string\"},\"ctimePoint\":{\"dataFieldType\":\"text\",\"type\":\"string\"}}},\"sampling\":{\"dataFieldType\":\"text\",\"type\":\"string\",\"properties\":{\"samplingNum\":{\"dataFieldType\":\"text\",\"type\":\"string\"}}}},\"type\":\"object\"}";
}
package com.patzn.cloud.service.lims.common;
/**
* 食品导出检测任务单的常量
*
* @author zhaokai
* @since 2019-12-25
*/
public interface FoodExportTestTaskConstants {
/**
* 是, 否
*/
String YES_NO = "%s是 %s否";
/**
* 任务类别
*/
String TASK_TYPE_DJK_CONFIG = "taskTypeDjk";
String TASK_TYPE_DJK = "%s日常监督抽检 %s专项监督抽检 %s风险监测";
String TASK_TYPE_DAILY = "日常监督抽检";
String TASK_TYPE_SPECIAL = "专项监督抽检";
String TASK_TYPE_RISK = "风险监测";
/**
* 抽样地点
*/
String SAMPLING_PLACE_DJK_CONFIG = "samplingPlaceDjk";
String SAMPLING_PLACE_DJK = "生产环节:%s原辅料库 %s生产线/生产现场 %s半成品库 成品库(%s待检区 %s已检区) \n" +
"流通环节:%s农贸市场 %s菜市场 %s批发市场 %s商场 %s超市 %s小食杂店 %s网购 其他( %s ) \n" +
"餐饮环节:餐馆(%s特大型餐馆 %s大型餐馆 %s中型餐馆 %s小型餐馆) \n" +
" 食堂(%s机关食堂 %s学校/托幼食堂 %s企事业单位食堂 %s建筑工地食堂) \n" +
" %s小吃店 %s快餐店 %s饮品店 %s集体用餐配送单位 %s中央厨房 %s其他( %s )\n";
String SAMPLING_PLACE_YFLK = "原辅料库";
String SAMPLING_PLACE_SCXC = "生产线";
String SAMPLING_PLACE_BCPK = "半成品库";
String SAMPLING_PLACE_CPKDJQ = "成品库(待检区)";
String SAMPLING_PLACE_CPKYJQ = "成品库(已检区)";
String SAMPLING_PLACE_NMSC = "农贸市场";
String SAMPLING_PLACE_CSC = "菜市场";
String SAMPLING_PLACE_PFSC = "批发市场";
String SAMPLING_PLACE_SC = "商场";
String SAMPLING_PLACE_SUPERMARKET = "超市";
String SAMPLING_PLACE_XSZD = "小食杂店";
String SAMPLING_PLACE_WG = "网购";
String SAMPLING_PLACE_TDXCG = "餐馆(特大型餐馆)";
String SAMPLING_PLACE_DXCG = "餐馆(大型餐馆)";
String SAMPLING_PLACE_ZXCG = "餐馆(中型餐馆)";
String SAMPLING_PLACE_XXCG = "餐馆(小型餐馆)";
String SAMPLING_PLACE_JGST = "食堂(机关食堂)";
String SAMPLING_PLACE_XXTYST = "食堂(学校/托幼食堂)";
String SAMPLING_PLACE_QSYDW = "食堂(企事业单位食堂)";
String SAMPLING_PLACE_JZGDST = "食堂(建筑工地食堂)";
String SAMPLING_PLACE_XCD = "小吃店";
String SAMPLING_PLACE_KCD = "快餐店";
String SAMPLING_PLACE_YPD = "饮品店";
String SAMPLING_PLACE_JTYCPS = "集体用餐配送单位";
String SAMPLING_PLACE_ZYCF = "中央厨房";
String SAMPLING_PLACE_ELSE = "其他";
String SAMPLING_PLACE_FLOW = "食品流通";
String SAMPLING_PLACE_FOOD = "餐饮服务";
/**
* 样品来源
*/
String SOURCE_DJK_CONFIG = "sourceDjk";
String SOURCE_DJK = "%s加工/自制 %s委托生产 %s外购 %s其他";
String SOURCE_DJK_PRODUCE = "加工/自制";
String SOURCE_DJK_CONTRACT = "委托生产";
String SOURCE_DJK_BUY_OUT = "外购";
String SOURCE_DJK_ELSE = "其他";
/**
* 样品属性
*/
String PROPERTIES_DJK_CONFIG = "propertiesDjk";
String PROPERTIES_DJK = "%s普通食品 %s特殊膳食食品 %s节令食品 %s重大活动保障食品";
String PROPERTIES_DJK_COMMON = "普通食品";
String PROPERTIES_DJK_SPECIAL = "特殊膳食食品";
String PROPERTIES_DJK_SEASON = "节令食品";
String PROPERTIES_DJK_ACTIVITY_FOOD = "重大活动保障食品";
/**
* 日期类型
*/
String DATE_TYPE_DJK_CONFIG = "dateTypeDjk";
String DATE_TYPE_DJK = "%s生产/%s加工/%s购进日期";
String DATE_TYPE_DJK_PRODUCE = "生产";
String DATE_TYPE_DJK_MACHINING = "加工";
String DATE_TYPE_DJK_BUY = "购进";
/**
* 生产许可证编号
*/
String LICENSE_NO_ARRAY_DJK_CONFIG = "licenseNoArrDjk";
String LICENSE_NO_DJK_CONFIG = "licenseNoDjk";
String LICENSE_NO_DJK = "%s食品生产许可证号\n%s生产加工小作坊许可证号";
/**
* 是否出口
*/
String EXPORT_CONFIG = "exportDjk";
/**
* 抽样数量带单位
*/
String QUANTITY_UNIT_CONFIG = "quantityUnit";
/**
* 抽样方式
*/
String SAMPLING_METHOD_DJK_CONFIG = "samplingMethodDjk";
String SAMPLING_METHOD_DJK = "%s无菌抽样\n%s非无菌抽样";
String SAMPLING_METHOD_DJK_NO_GERM = "无菌抽样";
String SAMPLING_METHOD_DJK_GERM = "非无菌抽样";
/**
* 抽样样品包装
*/
String SAMPLING_PACKING_DJK_CONFIG = "samplingPackingDjk";
String SAMPLING_PACKING_DJK = "%s玻璃瓶 %s塑料瓶 %s塑料袋 %s无菌袋 %s其他(%s)";
String SAMPLING_PACKING_DJK_GLASS_BOTTLE = "玻璃瓶";
String SAMPLING_PACKING_DJK_PLASTIC_BOTTLE = "塑料瓶";
String SAMPLING_PACKING_DJK_PLASTIC_BAG = "塑料袋";
String SAMPLING_PACKING_DJK_NO_GERM = "无菌袋";
String SAMPLING_PACKING_DJK_ELSE = "其他";
/**
* 样品保存条件
*/
String KEEP_STATE_DJK_CONFIG = "keepStateDjk";
String KEEP_STATE_DJK = "%s常温 %s冷藏 %s冷冻 %s避光 %s密闭 %s其他(%s)";
String KEEP_STATE_DJK_CHANG_WEN = "常温";
String KEEP_STATE_DJK_LENG_CANG = "冷藏";
String KEEP_STATE_DJK_LENG_DONG = "冷冻";
String KEEP_STATE_DJK_BI_GUANG = "避光";
String KEEP_STATE_DJK_MI_BI = "密闭";
/**
* 许可证类型
*/
String LICENSE_TYPE_DJK_CONFIG = "licenseTypeDjk";
String LICENSE_TYPE_DJK = "%s食品经营许可证号 %s小餐饮经营许可证号";
String LICENSE_TYPE_DJK_FOOD_MANAGE = "食品经营许可证";
String LICENSE_TYPE_DJK_FOOD = "餐饮经营许可证";
/**
* 包装分类
*/
String PACK_CLASS_DJK_CONFIG = "packClassDjk";
String PACK_CLASS_DJK = "%s散装 %s预包装";
String PACK_CLASS_DJK_SAN_ZHUANG = "散装";
String PACK_CLASS_DJK_YU_BAO_ZHUANG = "预包装";
/**
* 区域类型
*/
String AREA_TYPE_CONFIG = "areaType";
String AREA_TYPE = "%s城市 %s乡村 %s景点";
String AREA_TYPE_CITY = "城市";
String AREA_TYPE_COUNTRY = "乡村";
String AREA_TYPE_ATTRACTIONS = "景点";
String FOOD_SAMPLE_TESTED_CONFIG = "tested";
String FOOD_SAMPLE_TESTER_CONFIG = "tester";
String FOOD_SAMPLE_PRODUCER_CONFIG = "producer";
/**
* 生产/加工/购进日期
*/
String DATE_TIME_CHINESE = "dateTypeCn";
String DATE_TIME_POINT = "dateTypePoint";
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment