GeneralApi.java 3.73 KB
package com.huaheng.api.Common;

import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.general.material.domain.Material;
import com.huaheng.pc.general.material.service.IMaterialService;
import com.huaheng.pc.system.dict.domain.DictData;
import com.huaheng.pc.system.dict.domain.DictType;
import com.huaheng.pc.system.dict.service.IDictDataService;
import com.huaheng.pc.system.dict.service.IDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Date;
import java.util.List;

public class GeneralApi {

    @Autowired
    IDictTypeService dictTypeService;
    @Autowired
    IDictDataService dictDataService;
    @Autowired
    IMaterialService materialService;

    public AjaxResult dict(DictData dictData) {
        int result = 0;
        //检查字典表是否存在物料类别编码,如果没有就添加
        DictData condition = new DictData();
        condition.setDictType(dictData.getDictType());
        condition.setWarehouseCode(dictData.getWarehouseCode());
        condition.setDictValue(dictData.getDictValue());
        condition.setEnable(true);
        List<DictData> dictDatas = dictDataService.selectDictDataList(dictData);
        if (dictDatas.size() < 1)  {
            //找出字典头表的id
            DictType dictType = new DictType();
            dictType.setWarehouseCode(dictData.getWarehouseCode());
            dictType.setDictType("materialType");
            List<DictType> dictList = dictTypeService.selectDictTypeList(dictType);
            if (dictList.size() < 1 )    {
                dictType.setWarehouseId(dictData.getWarehouseId());
                dictType.setDeleted(false);
                dictType.setEnable(true);
                result = dictTypeService.insertDictType(dictType);
                if (result < 1) {
                    throw   new ServiceException("新增物料类型失败!");
                }
            }
            //增新一条字典明细表的记录
            dictData.setHeaderId(dictList.get(0).getId());
            result = dictDataService.insertDictData(dictData);
            if (result < 1) {
                throw   new ServiceException("新增物料类型失败!");
            }
        }
        else    {
            result = dictDataService.updateDictData(dictData);
            if (result < 1) {
                throw   new ServiceException("修改物料类型失败!");
            }
        }

        return AjaxResult.success("成功");
    }

    /**
     * 检查是否存在物料,如果存在就修改,不存在就新增
     * @param material
     * @return
     */
    public AjaxResult material(Material material)    {
        int result = 0;
        Material condition = new Material();
        condition.setCode(material.getCode());
        condition.setWarehouseCode(material.getWarehouseCode());
        Material entity = materialService.selectFirstEntity(condition);
        if (entity == null)   {
            material.setCreatedBy(ShiroUtils.getLoginName());
            material.setCreated(new Date());
            result = materialService.insert(material);
            if (result < 1) {
                throw   new ServiceException("新增物料类型失败!");
            }
        }
        else      {
            material.setId(entity.getId());
            entity.setCreatedBy(entity.getCreatedBy());
            entity.setCreated(entity.getCreated());
            result = materialService.updateByModel(material);
            if (result < 1) {
                throw   new ServiceException("修改物料类型失败!");
            }
        }
        return AjaxResult.success("成功");
    }





}