|
|
|
@ -3,9 +3,11 @@ package com.cjy.traceability.module.traceability.service.product; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
|
import com.cjy.traceability.module.traceability.dal.dataobject.materials.MaterialsDO; |
|
|
|
|
import com.cjy.traceability.module.traceability.dal.mysql.block.BlockMapper; |
|
|
|
|
import com.cjy.traceability.module.traceability.dal.mysql.husbandry.HusbandryMapper; |
|
|
|
|
import com.cjy.traceability.module.traceability.dal.mysql.materials.MaterialsMapper; |
|
|
|
|
import com.cjy.traceability.module.traceability.dal.mysql.processingworkshop.ProcessingWorkshopMapper; |
|
|
|
|
import com.cjy.traceability.module.traceability.service.husbandryrecord.HusbandryRecordService; |
|
|
|
|
import com.cjy.traceability.module.traceability.utils.TraceabilityCodeUtil; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
@ -31,6 +33,7 @@ import com.cjy.traceability.module.traceability.dal.mysql.scanrecord.ScanRecordM |
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
@ -69,7 +72,10 @@ public class ProductServiceImpl implements ProductService { |
|
|
|
|
@Resource |
|
|
|
|
private ProcessingWorkshopMapper processingWorkshopMapper; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
private BlockMapper blockMapper; |
|
|
|
|
@Resource |
|
|
|
|
private HusbandryRecordService husbandryRecordService; |
|
|
|
|
@Override |
|
|
|
|
@Transactional |
|
|
|
|
public Integer createProduct(ProductSaveReqVO createReqVO) { |
|
|
|
@ -204,19 +210,40 @@ public class ProductServiceImpl implements ProductService { |
|
|
|
|
//5. 产品农业
|
|
|
|
|
if ("1".equals(productMap.get("sourceType"))) { |
|
|
|
|
Map<String, Object> cropperAgriculture = new HashMap<>(1); |
|
|
|
|
List<Map<String, Object>> agriculture = husbandryRecordMapper.getHusbandryRecordListByBatch(Integer.parseInt(productMap.get("cropperId").toString()), Integer.parseInt(productMap.get("batch").toString())); |
|
|
|
|
List<Map<String, Object>> agriculture = husbandryRecordService.getHusbandryRecordListByBatch(Integer.parseInt(productMap.get("cropperId").toString()), Integer.parseInt(productMap.get("batch").toString())); |
|
|
|
|
cropperAgriculture.put("cropperName", productMap.get("processingName").toString()); |
|
|
|
|
cropperAgriculture.put("agriculture", agriculture); |
|
|
|
|
map.put("agricultureRecord", cropperAgriculture); |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
Map<String, Object> cropperAgriculture = new HashMap<>(rawMaterials.size()); |
|
|
|
|
List<Map<String,Object>> agricultureRecord = new ArrayList<>(); |
|
|
|
|
for (Map<String, Object> rawMaterial : rawMaterials) { |
|
|
|
|
List<Map<String, Object>> agriculture = husbandryRecordMapper.getHusbandryRecordListByBatch(Integer.parseInt(rawMaterial.get("cropperId").toString()), Integer.parseInt(rawMaterial.get("batch").toString())); |
|
|
|
|
List<Map<String, Object>> agriculture = husbandryRecordService.getHusbandryRecordListByBatch(Integer.parseInt(rawMaterial.get("cropperId").toString()), Integer.parseInt(rawMaterial.get("batch").toString())); |
|
|
|
|
Map<String, Object> cropperAgriculture = new HashMap<>(2); |
|
|
|
|
cropperAgriculture.put("cropperName", rawMaterial.get("productName").toString()); |
|
|
|
|
cropperAgriculture.put("agriculture", agriculture); |
|
|
|
|
map.put("agricultureRecord", cropperAgriculture); |
|
|
|
|
agricultureRecord.add(cropperAgriculture); |
|
|
|
|
} |
|
|
|
|
map.put("agricultureRecord", agricultureRecord); |
|
|
|
|
} |
|
|
|
|
List<Map<String,Object>> materialList = new ArrayList<>(); |
|
|
|
|
// 获取地块 基地信息
|
|
|
|
|
if(productMap.get("sourceType").equals("1")){ |
|
|
|
|
List<Map<String,Object>> baseBlockList = blockMapper.selectBaseBlock(productMap.get("cropperId").toString()); |
|
|
|
|
Map<String, Object> baseBlockMap = new HashMap<>(1); |
|
|
|
|
baseBlockMap.put("cropperName",productMap.get("processingName").toString()); |
|
|
|
|
baseBlockMap.put("baseBlockList",baseBlockList); |
|
|
|
|
materialList.add(baseBlockMap); |
|
|
|
|
}else{ |
|
|
|
|
for(Map<String,Object> materials : rawMaterials){ |
|
|
|
|
List<Map<String,Object>> baseBlockList = blockMapper.selectBaseBlock(productMap.get("cropperId").toString()); |
|
|
|
|
Map<String, Object> baseBlockMap = new HashMap<>(2); |
|
|
|
|
baseBlockMap.put("cropperName",productMap.get("processingName").toString()); |
|
|
|
|
baseBlockMap.put("baseBlockList",baseBlockList); |
|
|
|
|
materialList.add(baseBlockMap); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
map.put("baseBlock",materialList); |
|
|
|
|
ScanRecordDO scanRecordDO = new ScanRecordDO() |
|
|
|
|
.setProvince(province) |
|
|
|
|
.setCity(city) |
|
|
|
|