Blame view

src/main/java/com/huaheng/pc/shipment/kuaidiDetail/controller/KuaidiDetailController.java 5.99 KB
1
2
3
4
5
6
package com.huaheng.pc.shipment.kuaidiDetail.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.huaheng.common.utils.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
周鸿 authored
7
import com.huaheng.common.utils.security.ShiroUtils;
8
9
10
11
import com.huaheng.framework.web.page.PageDomain;
import com.huaheng.framework.web.page.TableDataInfo;
import com.huaheng.framework.web.page.TableSupport;
import com.huaheng.common.utils.StringUtils;
周鸿 authored
12
13
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import com.huaheng.pc.shipment.kuaidiDetail.domain.KuaidiDetail;
import com.huaheng.pc.shipment.kuaidiDetail.service.KuaidiDetailService;
import com.huaheng.pc.shipment.kuaidiHeader.domain.KuaidiHeader;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.common.support.Convert;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
 * 【请填写功能名称】 信息操作处理
 *
 * @author huaheng
 * @date 2022-09-07
 */
@Controller
@RequestMapping("/shipment/kuaidiDetail")
public class KuaidiDetailController extends BaseController {
    private String prefix = "shipment/kuaidiDetail";

	@Resource
	private KuaidiDetailService kuaidiDetailService;
周鸿 authored
48
49
	@Resource
	private MaterialService materialService;
50
51
52

	@RequiresPermissions("shipment:kuaidiDetail:view")
	@GetMapping()
周鸿 authored
53
54
55
	public String kuaidiDetail(@PathVariable("shipmentId") String shipmentId, ModelMap mmap) {
		mmap.put("receiptId", shipmentId);
		return prefix + "/list";
56
57
58
59
60
	}

	/**
	 * 查询【请填写功能名称】列表
	 */
周鸿 authored
61
	/*@RequiresPermissions("shipment:kuaidiDetail:list")*/
62
63
64
65
66
	@PostMapping("/list")
	@ResponseBody
	public TableDataInfo list(KuaidiDetail kuaidiDetail) {
		LambdaQueryWrapper<KuaidiDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
		lambdaQueryWrapper.eq(KuaidiDetail::getDeleted,false);
周鸿 authored
67
		lambdaQueryWrapper.eq(KuaidiDetail::getShipmentId,kuaidiDetail.getShipmentId());
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
		PageDomain pageDomain = TableSupport.buildPageRequest();
		Integer pageNum = pageDomain.getPageNum();
		Integer pageSize = pageDomain.getPageSize();
		if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
			/*使用分页查询*/
			Page<KuaidiDetail> page = new Page<>(pageNum, pageSize);
			IPage<KuaidiDetail> iPage = kuaidiDetailService.page(page, lambdaQueryWrapper);
			return getMpDataTable(iPage.getRecords(), iPage.getTotal());
		} else {
			List<KuaidiDetail> list = kuaidiDetailService.list(lambdaQueryWrapper);
			return getDataTable(list);
		}
	}

	/**
	 * 新增【请填写功能名称】
	 */
	@GetMapping("/add")
周鸿 authored
86
87
88
89
90
91
92
	public String add(String shipmentId, String shipmentCode,String companyId, String companyCode, String sourceCode, ModelMap mmap){
		mmap.put("shipmentId", shipmentId);
		mmap.put("shipmentCode", shipmentCode);
		mmap.put("companyId", companyId);
		mmap.put("companyCode", companyCode);
		mmap.put("sourceCode", sourceCode);
		return prefix + "/add";
93
94
95
96
97
	}

	/**
	 * 新增保存【请填写功能名称】
	 */
周鸿 authored
98
	/*@RequiresPermissions("shipment:kuaidiDetail:add")*/
99
100
101
102
	@Log(title = "【请填写功能名称】", action = BusinessType.INSERT)
	@PostMapping("/add")
	@ResponseBody
	public AjaxResult addSave(KuaidiDetail kuaidiDetail) {
周鸿 authored
103
		return kuaidiDetailService.insertDetail(kuaidiDetail);
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
	}

	/**
	 * 修改【请填写功能名称】
	 */
	@GetMapping("/edit/{id}")
	public String edit(@PathVariable("id") Long id, ModelMap mmap) {
		KuaidiDetail kuaidiDetail = kuaidiDetailService.getById(id);
		mmap.put("kuaidiDetail", kuaidiDetail);
	    return prefix + "/edit";
	}

	/**
	 * 修改保存【请填写功能名称】
	 */
周鸿 authored
119
	/*@RequiresPermissions("shipment:kuaidiDetail:edit")*/
120
121
122
123
124
125
126
127
128
129
	@Log(title = "【请填写功能名称】", action = BusinessType.UPDATE)
	@PostMapping("/edit")
	@ResponseBody
	public AjaxResult editSave(KuaidiDetail kuaidiDetail) {
		return toAjax(kuaidiDetailService.updateById(kuaidiDetail));
	}

	/**
	 * 删除【请填写功能名称】
	 */
周鸿 authored
130
	/*@RequiresPermissions("shipment:kuaidiDetail:remove")*/
131
132
133
134
135
136
137
138
139
	@Log(title = "【请填写功能名称】", action = BusinessType.DELETE)
	@PostMapping( "/remove")
	@ResponseBody
	public AjaxResult remove(String ids) {
		if (StringUtils.isEmpty(ids)){
			return AjaxResult.error("id不能为空");
		}
		return toAjax(kuaidiDetailService.removeByIds(Arrays.asList(Convert.toIntArray(ids))));
	}
周鸿 authored
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
	/**
	 * 新增快递单明细根据物料显示信息
	 */
	/*@RequiresPermissions("shipment:kuaidi:add")*/
	@Log(title = "出库-快递单", operating= "新增快递单明细", action = BusinessType.INSERT)
	@PostMapping("/getMaterial")
	@ResponseBody
	public AjaxResult getMaterial(String materialCode, String companyCode)
	{
		KuaidiDetail kuaidiDetail =new KuaidiDetail();
		LambdaQueryWrapper<Material> lambdaQueryWrapper = Wrappers.lambdaQuery();
		lambdaQueryWrapper.eq(Material::getWarehouseCode,ShiroUtils.getWarehouseCode());
		lambdaQueryWrapper.eq(Material::getCode,materialCode);
		lambdaQueryWrapper.last("limit 1");
		Material material = materialService.getOne(lambdaQueryWrapper);
		if(material == null){
			return AjaxResult.error("物料编码错误");
		}
		kuaidiDetail.setMaterialName(material.getName());
		kuaidiDetail.setBarCode(material.getBarcode());
		kuaidiDetail.setSpecification(material.getSpec());
		return AjaxResult.success(kuaidiDetail);
	}
163
}