rev:库存预警、预警消息
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
<select id="getStor" resultType="com.alibaba.fastjson.JSONObject">
|
||||
SELECT
|
||||
CONVERT(stor_id , CHAR ) AS stor_id,
|
||||
stor_code,
|
||||
stor_name
|
||||
FROM
|
||||
st_ivt_bsrealstorattr
|
||||
|
||||
@@ -14,13 +14,11 @@ import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
|
||||
public class MaterialQuery extends BaseQuery<MdMeMaterialbase> {
|
||||
|
||||
|
||||
private String local_table_name;
|
||||
private String search;
|
||||
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
super.doP.put("local_table_name", QParam.builder().k(new String[]{"local_table_name"}).type(QueryTEnum.EQ).build());
|
||||
super.doP.put("search", QParam.builder().k(new String[]{"local_field_name", "external_field_name"}).type(QueryTEnum.EQ).build());
|
||||
super.doP.put("search", QParam.builder().k(new String[]{"material_code","material_name"}).type(QueryTEnum.EQ).build());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +1,19 @@
|
||||
package org.nl.wms.early_manage.controller.early_msg;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv;
|
||||
import org.nl.wms.early_manage.service.early_msg.IAlmEarlyMsgService;
|
||||
import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg;
|
||||
import org.nl.wms.early_manage.service.early_msg.dto.AlmMsgQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -18,7 +28,23 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
>>>>>>> 4d92078988aaae9ca50b029b3d3f00ded39a2bfc:wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/early_manage/controller/early_msg/AlmEarlyMsgController.java
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/almEarlyMsg")
|
||||
@RequestMapping("/api/almEarlyMsg")
|
||||
public class AlmEarlyMsgController {
|
||||
|
||||
@Autowired
|
||||
private IAlmEarlyMsgService almEarlyMsgService;
|
||||
|
||||
@GetMapping
|
||||
public ResponseEntity<Object> getAll(AlmMsgQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(almEarlyMsgService.getAll(page,query), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
|
||||
if (ids.length > 0) {
|
||||
almEarlyMsgService.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,13 +2,21 @@ package org.nl.wms.early_manage.controller.inv_early;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.base_manage.material.service.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.base_manage.material.service.dto.MaterialQuery;
|
||||
import org.nl.wms.early_manage.service.early_dtl.IAlmEarlyDtlService;
|
||||
import org.nl.wms.early_manage.service.early_dtl.dao.AlmEarlyDtl;
|
||||
import org.nl.wms.early_manage.service.early_dtl.dto.AlmDtlQuery;
|
||||
import org.nl.wms.early_manage.service.early_inv.IAlmEarlyInvService;
|
||||
import org.nl.wms.early_manage.service.early_inv.dao.AlmEarlyInv;
|
||||
@@ -19,16 +27,19 @@ import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
订单:1000
|
||||
生产订单:1000
|
||||
150--------------------------
|
||||
| |
|
||||
|---300 150 150 150 第一天
|
||||
400 第二天
|
||||
300 第三天
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 订单:1000
|
||||
* 生产订单:1000
|
||||
* 150--------------------------
|
||||
* | |
|
||||
* |---300 150 150 150 第一天
|
||||
* 400 第二天
|
||||
* 300 第三天
|
||||
**/
|
||||
|
||||
**/
|
||||
/**
|
||||
* <p>
|
||||
* 安全库存报警配置表 前端控制器
|
||||
@@ -45,17 +56,37 @@ public class AlmEarlyInvController {
|
||||
private IAlmEarlyInvService iAlmEarlyInvService;
|
||||
@Autowired
|
||||
private IAlmEarlyDtlService iAlmEarlyDtlService;
|
||||
@Autowired
|
||||
private IMdMeMaterialbaseService materialbaseService;
|
||||
|
||||
@GetMapping
|
||||
public ResponseEntity<Object> getAll(AlmInvQuery query, PageQuery page) {
|
||||
Page<AlmEarlyInv> page1 = iAlmEarlyInvService.page(page.build(), query.build());
|
||||
return new ResponseEntity<>(TableDataInfo.build(iAlmEarlyInvService.page(page.build(), query.build())), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/dtl")
|
||||
public ResponseEntity<Object> getDtl(AlmDtlQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(TableDataInfo.build(iAlmEarlyDtlService.page(page.build(),query.build())), HttpStatus.OK);
|
||||
return new ResponseEntity<>(TableDataInfo.build(iAlmEarlyDtlService.page(page.build(), query.build())), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/dtl/{id}")
|
||||
public ResponseEntity<Object> getDtl(@PathVariable String id) {
|
||||
List<AlmEarlyDtl> list = iAlmEarlyDtlService.list(new LambdaQueryWrapper<AlmEarlyDtl>().eq(AlmEarlyDtl::getAlm_id, id));
|
||||
JSONArray array = new JSONArray();
|
||||
for (AlmEarlyDtl almEarlyDtl : list) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("alm_id", almEarlyDtl.getAlm_id());
|
||||
jsonObject.put("material_id", almEarlyDtl.getMaterial_id());
|
||||
MdMeMaterialbase materialbase = materialbaseService.getById(almEarlyDtl.getMaterial_id());
|
||||
jsonObject.put("material_code", materialbase.getMaterial_code());
|
||||
jsonObject.put("material_name", materialbase.getMaterial_name());
|
||||
jsonObject.put("material_spec", materialbase.getMaterial_spec());
|
||||
jsonObject.put("material_model", materialbase.getMaterial_model());
|
||||
array.add(jsonObject);
|
||||
}
|
||||
return new ResponseEntity<>(array, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody JSONObject dto) {
|
||||
@@ -66,5 +97,39 @@ public class AlmEarlyInvController {
|
||||
iAlmEarlyInvService.save(inv);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody JSONObject dto) {
|
||||
AlmEarlyInv inv = dto.toJavaObject(AlmEarlyInv.class);
|
||||
inv.setCreate_time(DateUtil.now());
|
||||
iAlmEarlyInvService.updateById(inv);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PostMapping("/saveDtl")
|
||||
public ResponseEntity<Object> saveDtl(@Validated @RequestBody JSONObject dto) {
|
||||
String id = dto.getString("id");
|
||||
LambdaUpdateWrapper<AlmEarlyDtl> luw = new LambdaUpdateWrapper<>();
|
||||
luw.eq(AlmEarlyDtl::getAlm_id, id);
|
||||
iAlmEarlyDtlService.remove(luw);
|
||||
JSONArray jsonArray = dto.getJSONArray("tableData");
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
String material_id = jsonObject.getString("material_id");
|
||||
AlmEarlyDtl almEarlyDtl = new AlmEarlyDtl();
|
||||
almEarlyDtl.setAlm_id(id);
|
||||
almEarlyDtl.setMaterial_id(material_id);
|
||||
iAlmEarlyDtlService.save(almEarlyDtl);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
|
||||
if (ids.length > 0) {
|
||||
iAlmEarlyInvService.removeByIds(Arrays.asList(ids));
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ public class AlmInvQuery extends BaseQuery<AlmEarlyInv> {
|
||||
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
super.doP.put("search", QParam.builder().k(new String[]{"local_field_name", "external_field_name"}).type(QueryTEnum.EQ).build());
|
||||
super.doP.put("search", QParam.builder().k(new String[]{"alm_name"}).type(QueryTEnum.EQ).build());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.early_manage.service.early_msg;
|
||||
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.early_manage.service.early_msg.dto.AlmMsgQuery;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface IAlmEarlyMsgService extends IService<AlmEarlyMsg> {
|
||||
|
||||
Object getAll(PageQuery page, AlmMsgQuery query);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package org.nl.wms.early_manage.service.early_msg.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.entity.BaseQuery;
|
||||
import org.nl.common.domain.entity.QParam;
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2023/5/4 19:49
|
||||
*/
|
||||
@Data
|
||||
public class AlmMsgQuery extends BaseQuery<AlmEarlyMsg> {
|
||||
|
||||
private String early_type;
|
||||
private String stor_code;
|
||||
private String vehicle_code;
|
||||
private String material_code;
|
||||
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
super.doP.put("early_type", QParam.builder().k(new String[]{"early_type"}).type(QueryTEnum.EQ).build());
|
||||
super.doP.put("stor_code", QParam.builder().k(new String[]{"stor_code"}).type(QueryTEnum.EQ).build());
|
||||
super.doP.put("vehicle_code", QParam.builder().k(new String[]{"vehicle_code"}).type(QueryTEnum.LK).build());
|
||||
super.doP.put("material_code", QParam.builder().k(new String[]{"material_code"}).type(QueryTEnum.LK).build());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +1,25 @@
|
||||
package org.nl.wms.early_manage.service.early_msg.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.wms.base_manage.material.service.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.early_manage.service.early_msg.dao.AlmEarlyMsg;
|
||||
import org.nl.wms.early_manage.service.early_msg.dao.mapper.AlmEarlyMsgMapper;
|
||||
import org.nl.wms.early_manage.service.early_msg.IAlmEarlyMsgService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.wms.early_manage.service.early_msg.dto.AlmMsgQuery;
|
||||
import org.nl.wms.flow_manage.flow.service.execution.dao.ActRuExecution;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 仓库报警消息表 服务实现类
|
||||
@@ -17,4 +31,29 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class AlmEarlyMsgServiceImpl extends ServiceImpl<AlmEarlyMsgMapper, AlmEarlyMsg> implements IAlmEarlyMsgService {
|
||||
|
||||
@Autowired
|
||||
private IMdMeMaterialbaseService materialbaseService;
|
||||
|
||||
@Override
|
||||
public Object getAll(PageQuery page, AlmMsgQuery query) {
|
||||
// totalElements
|
||||
// content
|
||||
//判断是否存在子实例
|
||||
Page<AlmEarlyMsg> almMsgQueryPage = this.page(page.build(), query.build());
|
||||
long total = almMsgQueryPage.getTotal();
|
||||
List<AlmEarlyMsg> records = almMsgQueryPage.getRecords();
|
||||
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(records));
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
MdMeMaterialbase material = materialbaseService.getById(jsonObject.getString("material_id"));
|
||||
if (ObjectUtil.isNotEmpty(material)){
|
||||
jsonObject.put("material_code",material.getMaterial_code());
|
||||
jsonObject.put("material_name",material.getMaterial_name());
|
||||
}
|
||||
}
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("totalElements",total);
|
||||
json.put("content",jsonArray);
|
||||
return json;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user