123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- package com.steerinfo.dil.service.impl;
- import com.steerinfo.dil.controller.AmsSaleTrucknoMaterialController;
- import com.steerinfo.dil.mapper.AmsSaleOrderMaterialMapper;
- import com.steerinfo.dil.mapper.AmsSaleTrucknoMaterialMapper;
- import com.steerinfo.dil.model.AmsSaleOrderMaterial;
- import com.steerinfo.dil.model.AmsSaleTrucknoMaterial;
- import com.steerinfo.dil.service.IAmsSaleOrderMaterialService;
- import com.steerinfo.dil.util.DataChange;
- 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;
- /**
- * AmsSaleOrderMaterial服务实现:
- * @author generator
- * @version 1.0-SNAPSHORT 2021-09-06 07:10
- * 类描述
- * 修订历史:
- * 日期:2021-09-06
- * 作者:generator
- * 参考:
- * 描述:AmsSaleOrderMaterial服务实现
- * @see null
- * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
- */
- @Service(value = "amsSaleOrderMaterialService")
- public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialService {
- @Autowired
- private AmsSaleOrderMaterialMapper amsSaleOrderMaterialMapper;
- @Autowired
- AmsSaleTrucknoMaterialMapper amsSaleTrucknoMaterialMapper;
- @Override
- public int addAmsSaleOrderMaterial(AmsSaleOrderMaterial amsSaleOrderMaterial) {
- long id;
- if(amsSaleOrderMaterialMapper.selectMaxId()==null){
- id = 1;
- }else {
- id = amsSaleOrderMaterialMapper.selectMaxId().longValue()+1;
- }
- //生成主键id
- amsSaleOrderMaterial.setSaleOrderMaterialId(new BigDecimal(id));
- //生成车序号
- amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(new BigDecimal(id));
- //常规字段
- amsSaleOrderMaterial.setInsertUsername("admin");
- amsSaleOrderMaterial.setInsertTime(new Date());
- amsSaleOrderMaterial.setUpdateUsername("admin");
- amsSaleOrderMaterial.setUpdateTime(new Date());
- amsSaleOrderMaterial.setInsertUpdateRemark("无");
- amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
- amsSaleOrderMaterial.setUpdated(new BigDecimal(0));
- return amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial);
- }
- @Override
- public List<Map<String, Object>> selectBySaleOrderMaterialId(BigDecimal saleOrderMaterialId) {
- return amsSaleOrderMaterialMapper.selectBySaleOrderMaterialId(saleOrderMaterialId);
- }
- @Override
- public int updateAmsSaleOrderMaterial(AmsSaleOrderMaterial amsSaleOrderMaterial) {
- amsSaleOrderMaterial.setUpdateTime(new Date());
- return amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
- }
- @Override
- public int deleteAmsSaleOrderMaterialBySaleOrderMaterialId(BigDecimal saleOrderMaterialId) {
- AmsSaleOrderMaterial amsSaleOrderMaterial = amsSaleOrderMaterialMapper.selectByPrimaryKey(saleOrderMaterialId);
- amsSaleOrderMaterial.setDeleted(new BigDecimal(1));
- return amsSaleOrderMaterialMapper.updateByPrimaryKey(amsSaleOrderMaterial);
- }
- @Override
- public String getAddress(BigDecimal saleOrderMaterialId) {
- return amsSaleOrderMaterialMapper.getAddress(saleOrderMaterialId);
- }
- @Override
- public int updateAddress(Map<String, Object> map) {
- String saleOrderMaterialId = map.get("saleOrderMaterialId").toString();
- //查询收货地址表中是否有该地址,无则新增,有则取收货地址Id
- String saleShippingAddress = (String) map.get("saleShippingAddress");
- BigDecimal addressId = amsSaleOrderMaterialMapper.getReceiveAddressId(saleShippingAddress);
- //获得原车次表信息
- AmsSaleOrderMaterial amsSaleOrderMaterial1 = amsSaleOrderMaterialMapper.selectByPrimaryKey(new BigDecimal(saleOrderMaterialId));
- if(addressId!=null){
- long id;
- if(amsSaleOrderMaterialMapper.selectMaxId()==null){
- id = 1;
- }else {
- id = amsSaleOrderMaterialMapper.selectMaxId().longValue()+1;
- }
- //生成主键id
- amsSaleOrderMaterial1.setSaleOrderMaterialId(new BigDecimal(id));
- amsSaleOrderMaterial1.setSaleShippingAddressId(addressId);
- //新增修改了地址的数据
- amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial1);
- }else {
- //新增收货地址,取得收货地址的Id
- Map<String,Object> mapReceive = new HashMap<>();
- long id;
- if(amsSaleOrderMaterialMapper.selectMaxIdReceive()==null){
- id = 1;
- }else {
- id = amsSaleOrderMaterialMapper.selectMaxIdReceive().longValue()+1;
- }
- mapReceive.put("addressId",new BigDecimal(id));
- mapReceive.put("addressDeliveryAddress",saleShippingAddress);
- amsSaleOrderMaterialMapper.insertReceiveAddress(mapReceive);
- //新增修改了地址的数据
- long id1;
- if(amsSaleOrderMaterialMapper.selectMaxId()==null){
- id1 = 1;
- }else {
- id1 = amsSaleOrderMaterialMapper.selectMaxId().longValue()+1;
- }
- //生成主键id
- amsSaleOrderMaterial1.setSaleOrderMaterialId(new BigDecimal(id1));
- amsSaleOrderMaterial1.setSaleShippingAddressId(new BigDecimal(id));
- //新增修改了地址的数据
- amsSaleOrderMaterialMapper.insert(amsSaleOrderMaterial1);
- }
- //修改原地址记录状态
- AmsSaleOrderMaterial amsSaleOrderMaterial2 = amsSaleOrderMaterialMapper.selectByPrimaryKey(new BigDecimal(saleOrderMaterialId));
- amsSaleOrderMaterial2.setUpdated(new BigDecimal(1));
- return amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial2);
- }
- @Override
- public List<Map<String, Object>> getAddressDeliveryAddress() {
- return amsSaleOrderMaterialMapper.getAddressDeliveryAddress();
- }
- public List<Map<String, Object>> getSaleMaterial(Map<String, Object> mapValue) {
- return amsSaleOrderMaterialMapper.getSaleMaterial(mapValue);
- }
- public Integer selectById(BigDecimal saleOrderMaterialId) {
- return amsSaleOrderMaterialMapper.selectById(saleOrderMaterialId);
- }
- public Integer selectByCxh(Map<String, Object> m) {
- return amsSaleOrderMaterialMapper.selectByCxh(m);
- }
- /**
- * 展示车序号信息
- * @param mapValue
- * @return
- */
- @Override
- public List<Map<String, Object>> getTruckNoList(Map<String, Object> mapValue) {
- List<Map<String,Object>> mapList = amsSaleOrderMaterialMapper.getTruckNoList(mapValue);
- return mapList;
- }
- /**
- * 添加车序号与物资
- * @param mapList
- * @return
- */
- @Transactional
- @Override
- public int addTruckNo(List<Map<String, Object>> mapList) {
- int result = 0;
- for (Map<String, Object> map : mapList) {
- // 销售订单id
- BigDecimal saleOrderId = DataChange.dataToBigDecimal(map.get("saleOrderId"));
- // 车序号
- BigDecimal truckNo = DataChange.dataToBigDecimal(map.get("truckNo"));
- AmsSaleOrderMaterial amsSaleOrderMaterial;
- Map<String,Object> saleMap = new HashMap<>();
- saleMap.put("saleOrderId",saleOrderId);
- saleMap.put("saleOrderMaterialTruckNo",truckNo);
- // 检测销售订单下的车序号是否已存在
- List<AmsSaleOrderMaterial> amsSaleOrderMaterials = amsSaleOrderMaterialMapper.selectByParameters(saleMap);
- // 如果已存在则不处理
- if (amsSaleOrderMaterials != null && amsSaleOrderMaterials.size() != 0) {
- amsSaleOrderMaterial = amsSaleOrderMaterials.get(0);
- }
- // 如果不存在则新增车序号
- else {
- // 收货地址id
- BigDecimal shippingAddressId = DataChange.dataToBigDecimal(map.get("shippingAddressId"));
- // 收货日期
- String dateOfReceiptStr = (String) map.get("dateOfReceipt");
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- Date dateOfReceipt = null;
- try {
- dateOfReceipt = sdf.parse(dateOfReceiptStr);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- // 收货方姓名
- String orderConsignee = (String) map.get("orderConsignee");
- // 收货方联系方式
- Object orderConsigneeTel = map.get("orderConsigneeTel");
- amsSaleOrderMaterial = new AmsSaleOrderMaterial();
- BigDecimal saleOrderMaterialId = amsSaleOrderMaterialMapper.selectMaxId();
- amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
- amsSaleOrderMaterial.setSaleOrderId(saleOrderId);
- amsSaleOrderMaterial.setSaleOrderMaterialTruckNo(truckNo);
- amsSaleOrderMaterial.setSaleShippingAddressId(shippingAddressId);
- amsSaleOrderMaterial.setSaleDateOfReceipt(dateOfReceipt);
- amsSaleOrderMaterial.setSaleOrderConsignee(orderConsignee);
- if (orderConsignee != null) {
- amsSaleOrderMaterial.setSaleOrderConsigneeTel(orderConsigneeTel.toString());
- }
- amsSaleOrderMaterial.setInsertTime(new Date());
- amsSaleOrderMaterial.setInsertUsername("admin");
- amsSaleOrderMaterial.setDeleted(new BigDecimal(0));
- amsSaleOrderMaterial.setInsertUpdateRemark("无");
- amsSaleOrderMaterial.setUpdated(new BigDecimal(0));
- amsSaleOrderMaterial.setIssueStatus(new BigDecimal(0));
- result += amsSaleOrderMaterialMapper.insertSelective(amsSaleOrderMaterial);
- }
- // 新增车序号与物资中间表
- AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
- // 物资id
- BigDecimal materialId = DataChange.dataToBigDecimal(map.get("saleMaterialId"));
- // 物资数量
- BigDecimal materialNumber = DataChange.dataToBigDecimal(map.get("materialNumber"));
- BigDecimal saleTrucknoMaterialId = amsSaleTrucknoMaterialMapper.selectMaxId();
- amsSaleTrucknoMaterial.setTrucknoMaterialId(saleTrucknoMaterialId);
- amsSaleTrucknoMaterial.setMaterialId(materialId);
- amsSaleTrucknoMaterial.setSaleOrderMaterialId(amsSaleOrderMaterial.getSaleOrderMaterialId());
- amsSaleTrucknoMaterial.setSaleOrderMaterialNumber(materialNumber);
- amsSaleTrucknoMaterial.setInsertTime(new Date());
- amsSaleTrucknoMaterial.setInsertUsername("admin");
- amsSaleTrucknoMaterial.setInsertUpdateRemark("无");
- result += amsSaleTrucknoMaterialMapper.insertSelective(amsSaleTrucknoMaterial);
- }
- return result;
- }
- /**
- * 下发车序号
- * @param mapList
- * @return
- */
- @Override
- public int issueTruckNo(List<Map<String, Object>> mapList) {
- int result = 0;
- for (Map<String, Object> map : mapList) {
- BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(map.get("saleOrderMaterialId"));
- AmsSaleOrderMaterial amsSaleOrderMaterial = new AmsSaleOrderMaterial();
- amsSaleOrderMaterial.setSaleOrderMaterialId(saleOrderMaterialId);
- amsSaleOrderMaterial.setIssueStatus(new BigDecimal(1));
- result += amsSaleOrderMaterialMapper.updateByPrimaryKeySelective(amsSaleOrderMaterial);
- }
- return result;
- }
- }
|