| | |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @RestController |
| | | @Slf4j |
| | |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | |
| | | @GetMapping(value = "/pla/dropdownValues/list") |
| | | @ManagerAuth(memo = "获取下拉选择框值列表") |
| | | public R list() { |
| | | List<DropdownValuesDto> list = plaService.getDropdownValues(); |
| | | Map<String, List<String>> map = new HashMap<>(); |
| | | |
| | | // owner 去重并加入 map |
| | | List<String> owners = list.stream() |
| | | .filter(dropdownValuesDto -> dropdownValuesDto.getType().equals("owner")) |
| | | .map(DropdownValuesDto::getValue) |
| | | .collect(Collectors.toList()); |
| | | map.put("owner", owners); |
| | | |
| | | // workshop 去重并加入 map |
| | | List<String> workshops = list.stream() |
| | | .filter(dropdownValuesDto -> dropdownValuesDto.getType().equals("workshop")) |
| | | .map(DropdownValuesDto::getValue) |
| | | .collect(Collectors.toList()); |
| | | map.put("workshop", workshops); |
| | | return R.ok(map); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/pla/list/auth") |
| | | @ManagerAuth |
| New file |
| | |
| | | package com.zy.asrs.entity; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author pang.jiabao |
| | | * @description 下拉选择框值通用视图 |
| | | * @createDate 2025/10/23 13:36 |
| | | */ |
| | | @Data |
| | | public class DropdownValuesDto { |
| | | |
| | | private String type; |
| | | |
| | | private String value; |
| | | } |
| | |
| | | package com.zy.asrs.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import com.zy.asrs.entity.DropdownValuesDto; |
| | | import com.zy.asrs.entity.Pla; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | Integer getStockStatisCountAll(Map<String, Object> map); |
| | | |
| | | /** |
| | | * 获取下拉列表值 |
| | | */ |
| | | List<DropdownValuesDto> getDropdownValues(); |
| | | |
| | | /** |
| | | * 自动解冻冻结时间超过90天的库存 |
| | | * @return 更新数量 |
| | | */ |
| | |
| | | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.asrs.entity.DropdownValuesDto; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.Pla; |
| | | import com.zy.asrs.entity.PlaQty; |
| | |
| | | |
| | | public interface PlaService extends IService<Pla> { |
| | | |
| | | List<DropdownValuesDto> getDropdownValues(); |
| | | |
| | | Pla selectByBatchAndPackageNo(String batch, Integer packageNo, String brand); |
| | | |
| | | void queryStock(OrderDetl orderDetl, List<PlaQty> plaQties); |
| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.DropdownValuesDto; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.Pla; |
| | | import com.zy.asrs.entity.PlaQty; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | @Autowired |
| | | private PlaQtyService plaQtyService; |
| | | |
| | | @Resource |
| | | private PlaMapper plaMapper; |
| | | |
| | | @Override |
| | | public List<DropdownValuesDto> getDropdownValues() { |
| | | return plaMapper.getDropdownValues(); |
| | | } |
| | | |
| | | public Pla selectByBatchAndPackageNo(String batch, Integer packageNo, String brand) { |
| | | return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo).eq("brand",brand)); |
| | | } |
| | |
| | | </where> |
| | | GROUP BY brand,matnr,workshop HAVING SUM(weight_anfme) > 0 ORDER BY matnr,workshop |
| | | </select> |
| | | <select id="getDropdownValues" resultType="com.zy.asrs.entity.DropdownValuesDto"> |
| | | SELECT type, value |
| | | FROM dropdown_values_view |
| | | </select> |
| | | </mapper> |
| | |
| | | var form = layui.form; |
| | | admin = layui.admin; |
| | | |
| | | // 模拟从后端接口获取数据 |
| | | $.ajax({ |
| | | url: baseUrl + "/pla/dropdownValues/list", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | var data = res.data |
| | | |
| | | if (data.owner && Array.isArray(data.owner)) { |
| | | data.owner.forEach(function(item) { |
| | | $('#ownerSelect').append(new Option(item, item)); |
| | | }); |
| | | } |
| | | |
| | | if (data.workshop && Array.isArray(data.workshop)) { |
| | | data.workshop.forEach(function(item) { |
| | | $('#workshopSelect').append(new Option(item, item)); |
| | | }); |
| | | } |
| | | |
| | | // 重新渲染 LayUI 表单 |
| | | form.render('select'); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 日期时间范围 |
| | | laydate.render({ |
| | | elem: '#ID-laydate-range-datetime', |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="owner" placeholder="主体" autocomplete="off"> |
| | | <select id="ownerSelect" name="owner" lay-search> |
| | | <option value="">主体</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select id="workshopSelect" name="workshop" lay-search> |
| | | <option value="">车间</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select id="ownerSelect" name="owner" lay-search> |
| | | <option value="">主体</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select id="workshopSelect" name="workshop" lay-search> |
| | | <option value="">车间</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <script type="text/html" id="toolbar"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select id="ownerSelect" name="owner" lay-search> |
| | | <option value="">主体</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select id="workshopSelect" name="workshop" lay-search> |
| | | <option value="">车间</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <script type="text/html" id="toolbar"> |