package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.AmsPurchaseOrderMapper; import com.steerinfo.dil.mapper.DilBatchMapper; import com.steerinfo.dil.model.AmsPurchaseOrder; import com.steerinfo.dil.model.DilBatch; import com.steerinfo.dil.service.IAmsPurchaseOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * AmsPurchaseOrder服务实现: * * @author generator * @version 1.0-SNAPSHORT 2021-10-23 02:50 * 类描述 * 修订历史: * 日期:2021-10-23 * 作者:generator * 参考: * 描述:AmsPurchaseOrder服务实现 * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. * @see null */ @Service(value = "amsPurchaseOrderService") public class AmsPurchaseOrderServiceImpl implements IAmsPurchaseOrderService { @Autowired private AmsPurchaseOrderMapper amsPurchaseOrderMapper; @Autowired DilBatchMapper dilBatchMapper; /** * 采购订单管理 * * @param mapVal * @return */ @Transactional @Override public int operationPurchaseOrder(Map mapVal) { int result = 0; // 得到金蝶采购主键id String EASPurchaseId = (String) mapVal.get("EASPurchaseId"); // 得到金蝶分录id String EASEntryId = (String) mapVal.get("EASEntryId"); // 得到采购订单号 String purchaseOrderNo = (String) mapVal.get("purchaseOrderNo"); // 得到物资唯一编号 String materialCode = (String) mapVal.get("materialCode"); // 得到外轮船名 String resultForeignShipName = (String) mapVal.get("resultForeignShipName"); Map map = new HashMap<>(); map.put("materialCode", materialCode); BigDecimal materialId = amsPurchaseOrderMapper.getMaterialId(materialCode); map.put("resultForeignShipName", resultForeignShipName); // 得到批次 BigDecimal batchId; // if (amsPurchaseOrderMapper.getBatchId(map) == null) { DilBatch dilBatch = new DilBatch(); batchId = dilBatchMapper.selectBatchId(); dilBatch.setBatchId(batchId); dilBatch.setResultForeignShipName(resultForeignShipName); dilBatch.setMaterialId(materialId); dilBatch.setInsertTime(new Date()); dilBatch.setUpdateTime(new Date()); dilBatch.setInsertUsername("admin"); dilBatch.setUpdateUsername("admin"); dilBatch.setInsertUpdateRemark("无"); dilBatchMapper.insertSelective(dilBatch); // } // else { // batchId = amsPurchaseOrderMapper.getBatchId(map); // } // 得到采购员 String purchaseOrderBuyer = (String) mapVal.get("purchaseOrderBuyer"); // // 得到发货单位 // String sendUnit = (String) mapVal.get("sendUnit"); // 得到采购组织 String purchaseOrganization = (String) mapVal.get("purchaseOrganization"); BigDecimal purchasingOrganizationId = amsPurchaseOrderMapper.getOrganizationId(purchaseOrganization); // 得到收货单位 String receiveUnit = (String) mapVal.get("receiveUnit"); BigDecimal shipperId = amsPurchaseOrderMapper.getShipperId(receiveUnit); // 得到订货数量 String purchaseOrderMaterialNumber = (String) mapVal.get("purchaseOrderMaterialNumber"); // 得到订单日期 String purchaseOrderDateStr = (String) mapVal.get("purchaseOrderDate"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); AmsPurchaseOrder amsPurchaseOrder = new AmsPurchaseOrder(); try { Date purchaseOrderDate = sdf.parse(purchaseOrderDateStr); amsPurchaseOrder.setPurchaseOrderDate(purchaseOrderDate); } catch (ParseException e) { e.printStackTrace(); } // 得到供应商代码 String supplierDutyParagraph = (String) mapVal.get("supplierDutyParagraph"); BigDecimal supplierId = amsPurchaseOrderMapper.getSupplierId(supplierDutyParagraph); // 得到数据状态 Integer dataStatus = (Integer) mapVal.get("dataStatus"); amsPurchaseOrder.setPurchaseOrderNo(purchaseOrderNo); amsPurchaseOrder.setPurchaseOrderBuyer(purchaseOrderBuyer); amsPurchaseOrder.setPuchaseOrderMaterialNumber(new BigDecimal(purchaseOrderMaterialNumber)); amsPurchaseOrder.setBatchId(batchId); amsPurchaseOrder.setSupplierUnitId(supplierId); amsPurchaseOrder.setReceiveUnitId(purchasingOrganizationId); amsPurchaseOrder.setPurchasingOrganizationId(purchasingOrganizationId); amsPurchaseOrder.setEasPurchaseOrderId(EASPurchaseId); amsPurchaseOrder.setInsertTime(new Date()); amsPurchaseOrder.setInsertUsername("admin"); amsPurchaseOrder.setUpdateTime(new Date()); amsPurchaseOrder.setUpdateUsername("admin"); amsPurchaseOrder.setInsertUpdateRemark("无"); amsPurchaseOrder.setEasEntryId(EASEntryId); Map map1 = new HashMap<>(); BigDecimal deleted = new BigDecimal(0); map1.put("purchaseOrderNo", purchaseOrderNo); map1.put("deleted", deleted); List amsPurchaseOrders = amsPurchaseOrderMapper.selectByParameters(map1); // 新增 if (amsPurchaseOrders.size() == 0) { BigDecimal purchaseId = amsPurchaseOrderMapper.getPurchaseId(); amsPurchaseOrder.setPurchaseOrderId(purchaseId); amsPurchaseOrder.setDeleted(new BigDecimal(0)); result = amsPurchaseOrderMapper.insertSelective(amsPurchaseOrder); } if (amsPurchaseOrders.size() != 0 && dataStatus == 1) { AmsPurchaseOrder amsPurchaseOrder1 = amsPurchaseOrders.get(0); amsPurchaseOrder.setPurchaseOrderId(amsPurchaseOrder1.getPurchaseOrderId()); result = amsPurchaseOrderMapper.updateByPrimaryKeySelective(amsPurchaseOrder); } if (amsPurchaseOrders.size() != 0 && dataStatus == 2) { AmsPurchaseOrder amsPurchaseOrder1 = amsPurchaseOrders.get(0); amsPurchaseOrder.setPurchaseOrderId(amsPurchaseOrder1.getPurchaseOrderId()); amsPurchaseOrder.setDeleted(new BigDecimal(1)); result = amsPurchaseOrderMapper.updateByPrimaryKeySelective(amsPurchaseOrder); } return result; } }