GoodsController.java 6.3 KB
package com.teplot.air.controller;

import java.util.HashMap;
import java.util.Map;

import com.air.model.Goods;
import com.air.model.GoodsStatus;
import com.jfinal.aop.Before;
import com.teplot.air.common.AbsController;
import com.teplot.air.validator.GoodsValidator;
import com.teplot.common.BaseController;
import com.teplot.common.Response;

/**
 * 
 * Depiction:
 * <p>
 * Modify:
 * <p>
 * Author: Kevin Lynn
 * <p>
 * Create Date:2017年5月25日 上午10:36:55
 *
 */
@Before(GoodsValidator.class)
public class GoodsController extends AbsController {

	public void add() {
		Response ret = new Response(CODE_FAILURE);
		Goods model = getModel(Goods.class, "");
		if (model != null) {
			model.set("orderUid", 0);
			if (model.save()) {
				ret = new Response(CODE_SUCCESS);
			}
		}
		renderJson(ret);
	}

	public void delete() {
		Response ret = new Response(CODE_FAILURE);
		Integer id = getParaToInt("id");
		Integer uid = getParaToInt("uid");
		Map<String, Object> maps = new HashMap<String, Object>();
		maps.put("id", id);
		maps.put("uid", uid);
		Goods model = Goods.dao.searchFirst(maps);
		if (model != null && model.delete()) {
			ret = new Response(CODE_SUCCESS);
			ret.setMsg(BaseController.MSG_SUCCESS);
		} else {
			ret.setMsg("货物不存在");
		}
		renderJson(ret);
	}

	public void edit() {
		Response ret = new Response(CODE_FAILURE);
		Goods model = getModel(Goods.class, "");
		if (model != null) {
			Integer id = model.getInt("id");
			Integer uid = model.getInt("uid");
			Map<String, Object> maps = new HashMap<String, Object>();
			maps.put("id", id);
			maps.put("uid", uid);
			Goods temp = Goods.dao.searchFirst(maps);
			if (temp != null) {
				if (model.update()) {
					ret = new Response(CODE_SUCCESS);
					ret.setMsg(BaseController.MSG_SUCCESS);
				}
			} else {
				ret.setMsg("货物不存在");
			}
		}
		renderJson(ret);
	}

	public void my() {
		Response ret = new Response(CODE_SUCCESS);
		ret.setMsg(BaseController.MSG_SUCCESS);
		Integer status = getParaToInt("status", -1);
		Integer ownerId = getParaToInt("uid", 0);
		Integer page = getParaToInt("page", 1);
		page = page < 1 ? 1 : page;
		Integer pageNum = getParaToInt("pageNum", 20);
		pageNum = page < 1 ? 20 : pageNum;
		String key = getPara("key");
		ret = Goods.dao.search(ownerId, true, page, pageNum, key, GoodsStatus.valueOf(status));
		renderJson(ret);
	}

	public void list() {
		Response ret = new Response(CODE_SUCCESS);
		ret.setMsg(BaseController.MSG_SUCCESS);
		Integer status = getParaToInt("status", -1);
		Integer agentId = getParaToInt("uid", 0);
		Integer page = getParaToInt("page", 1);
		page = page < 1 ? 1 : page;
		Integer pageNum = getParaToInt("pageNum", 20);
		pageNum = page < 1 ? 20 : pageNum;
		String key = getPara("key");
		ret = Goods.dao.search(agentId, false, page, pageNum, key, GoodsStatus.valueOf(status));
		renderJson(ret);
	}

	// 货代接单
	public void taken() {
		Response ret = new Response(CODE_FAILURE);

		Integer goodsId = getParaToInt("goodsId", 0);
		Goods model = Goods.dao.findById(goodsId);
		if (model != null) {
			GoodsStatus status = GoodsStatus.valueOf(model.getInt("status"));
			if (status == GoodsStatus.ENTRUSTING) {
				model.set("status", GoodsStatus.TAKEN.ordinal());

				Integer uid = getParaToInt("uid", 0);
				model.set("orderUid", uid);
				if (model.update()) {
					ret = new Response(CODE_SUCCESS);
					ret.setMsg(BaseController.MSG_SUCCESS);
				}
			} else {
				ret.setMsg("货物已被接单");
			}
		} else {
			ret.setMsg("货物不存在");
		}

		renderJson(ret);
	}

	// 提交机场系统的货运单号
	public void orderNo() {
		Response ret = new Response(CODE_FAILURE);
		String orderNo = getPara("orderNo");
		Integer uid = getParaToInt("uid", 0);
		Integer goodsId = getParaToInt("goodsId", 0);
		Map<String, Object> maps = new HashMap<String,Object>();
		maps.put("orderUid", uid);
		maps.put("id", goodsId);
		Goods model = Goods.dao.searchFirst(maps);
		if (model != null) {
			GoodsStatus status = GoodsStatus.valueOf(model.getInt("status"));
			if (status == GoodsStatus.TAKEN) {
				model.set("status", GoodsStatus.TRANSPORT.ordinal());
				model.set("orderNo", orderNo);
				if (model.update()) {
					ret = new Response(CODE_SUCCESS);
					ret.setMsg(BaseController.MSG_SUCCESS);
				}
			} else {
				ret.setMsg("货物状态异常");
			}
		} else {
			ret.setMsg("货物状态异常");
		}

		renderJson(ret);
	}

	// 货物已接单
	public void receipt() {
		Response ret = new Response(CODE_FAILURE);
		Integer uid = getParaToInt("uid", 0);
		Integer goodsId = getParaToInt("goodsId", 0);
		Map<String, Object> maps = new HashMap<String,Object>();
		maps.put("orderUid", uid);
		maps.put("id", goodsId);
		Goods model = Goods.dao.searchFirst(maps);
		if (model != null) {
			GoodsStatus status = GoodsStatus.valueOf(model.getInt("status"));
			if (status == GoodsStatus.TRANSPORT) {
				model.set("status", GoodsStatus.FINISH.ordinal());
				if (model.update()) {
					ret = new Response(CODE_SUCCESS);
					ret.setMsg(BaseController.MSG_SUCCESS);
				}
			} else {
				ret.setMsg("货物状态异常");
			}
		} else {
			ret.setMsg("货物状态异常");
		}

		renderJson(ret);
	}

	public void query() {
		// 进港下面显示:
		// 运抵时间: shipTime
		// 理货时间: dealTime
		// 报关时间: 默认为空先 applyTime
		// 提货时间: pickTime
		//
		// 离港业务:
		// 接单时间:receiptTime
		// 收运时间:shipTime
		// 交单时间:submitTime
		// 正式舱单:默认为空先 formalTime
		// 机坪交接:默认为空先 aerodromeTime
		// 离境时间:leaveTime

		Response ret = new Response(CODE_SUCCESS);
		ret.setMsg(BaseController.MSG_SUCCESS);
		renderJson(ret);
	}

	// 代理企业代码 companyNum
	// 航次编号 airNum
	// 运输工具名称 trafficName
	// 运输方式代码 shipTypeNum
	// 承运人代码 shiperNum
	// 总提运单号 totalSingleNum
	// 分提运单号 singleNum
	// 运输条款代码 itemNum

	// 货物信息
	// 货物体积 volume;
	// 货物价值 price;
	// 货币类型 currencyType;
	// 货物托运地 startPlace;
	// 包装种类 packType;
	// 货物件数 piece;
	// 货物中毛重 grossWeight;
	// 收货地址
	// 收货地代码 desNum;
	// 收货地名称 desName;
	public void preplan() {
		Response ret = new Response(CODE_SUCCESS);
		ret.setMsg(BaseController.MSG_SUCCESS);
		renderJson(ret);
	}
}