add:添加深坑设备物料修改
This commit is contained in:
@@ -45,15 +45,15 @@ public class PageQuery implements Serializable {
|
||||
/**
|
||||
* 当前记录起始索引 默认值
|
||||
*/
|
||||
public static final int DEFAULT_PAGE_NUM = 1;
|
||||
public static final int DEFAULT_PAGE_NUM = 0;
|
||||
|
||||
/**
|
||||
* 每页显示记录数 默认值 默认查全部
|
||||
*/
|
||||
public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
|
||||
public static final int DEFAULT_PAGE_SIZE = 10;
|
||||
|
||||
public <T> Page<T> build() {
|
||||
Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM) + 1;
|
||||
Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM);
|
||||
Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE);
|
||||
if (pageNum <= 0) {
|
||||
pageNum = DEFAULT_PAGE_NUM;
|
||||
@@ -75,10 +75,7 @@ public class PageQuery implements Serializable {
|
||||
public <R,T> Page<T> build(Class<R> r) {
|
||||
Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM);
|
||||
Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE);
|
||||
if (pageNum <= 0) {
|
||||
pageNum = DEFAULT_PAGE_NUM;
|
||||
}
|
||||
Page<T> page = new Page<>(pageNum, pageSize);
|
||||
Page<T> page = new Page<>(pageNum+1, pageSize);
|
||||
if (StringUtils.isNotBlank(sort)){
|
||||
String[] split = sort.split(",");
|
||||
for (int i = 0; i < (split.length & ~1); i=i+2) {
|
||||
|
||||
@@ -58,7 +58,9 @@ public enum AcsTaskEnum {
|
||||
ACS_TASK_TYPE_NOBLE_SINGLE_TASK("2","诺宝单工任务"),
|
||||
ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK("3","诺宝单入-单任务"),
|
||||
ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK("4","诺宝双入-双任务"),
|
||||
|
||||
ACS_TASK_TYPE_NOBLE_POINT_POINT_TASK("5","诺宝点对点任务"),
|
||||
|
||||
ACS_TASK_TYPE_WEIGHING_TASK_OF_PS20("6","PS20称重任务(刻字-包装)"),
|
||||
ACS_TASK_TYPE_NON_WEIGHING_TASK_OF_PS20("7","PS20不称重任务(刻字-包装)"),
|
||||
|
||||
|
||||
@@ -57,10 +57,10 @@ public class CodeGenerator {
|
||||
mpg.setGlobalConfig(gc);
|
||||
// 数据源配置
|
||||
DataSourceConfig dsc = new DataSourceConfig();
|
||||
dsc.setUrl("jdbc:mysql://192.168.81.252:3306/hl_one_mes_xc?serverTimezone=GMT&setUnicode=true&characterEncoding=utf8");
|
||||
dsc.setUrl("jdbc:mysql://192.168.46.5:3306/hl_one_mes_test?serverTimezone=GMT&setUnicode=true&characterEncoding=utf8");
|
||||
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
|
||||
dsc.setUsername("root");
|
||||
dsc.setPassword("Root.123456");
|
||||
dsc.setPassword("123456");
|
||||
mpg.setDataSource(dsc);
|
||||
// 包配置
|
||||
PackageConfig pc = new PackageConfig();
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.wms.device_manage.controller.userdevice;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人员设备关系表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pdmBiPersoncorrdevice")
|
||||
public class PdmBiPersoncorrdeviceController {
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.device_manage.service.userdevice;
|
||||
|
||||
import org.nl.wms.device_manage.service.userdevice.dao.PdmBiPersoncorrdevice;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人员设备关系表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
public interface IPdmBiPersoncorrdeviceService extends IService<PdmBiPersoncorrdevice> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package org.nl.wms.device_manage.service.userdevice.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人员设备关系表
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("pdm_bi_personcorrdevice")
|
||||
public class PdmBiPersoncorrdevice implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String user_id;
|
||||
|
||||
/**
|
||||
* 设备标识
|
||||
*/
|
||||
private String device_code;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.device_manage.service.userdevice.dao.mapper;
|
||||
|
||||
import org.nl.wms.device_manage.service.userdevice.dao.PdmBiPersoncorrdevice;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人员设备关系表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
public interface PdmBiPersoncorrdeviceMapper extends BaseMapper<PdmBiPersoncorrdevice> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.device_manage.service.userdevice.dao.mapper.PdmBiPersoncorrdeviceMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.nl.wms.device_manage.service.userdevice.impl;
|
||||
|
||||
import org.nl.wms.device_manage.service.userdevice.dao.PdmBiPersoncorrdevice;
|
||||
import org.nl.wms.device_manage.service.userdevice.dao.mapper.PdmBiPersoncorrdeviceMapper;
|
||||
import org.nl.wms.device_manage.service.userdevice.IPdmBiPersoncorrdeviceService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 人员设备关系表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-06-06
|
||||
*/
|
||||
@Service
|
||||
public class PdmBiPersoncorrdeviceServiceImpl extends ServiceImpl<PdmBiPersoncorrdeviceMapper, PdmBiPersoncorrdevice> implements IPdmBiPersoncorrdeviceService {
|
||||
|
||||
}
|
||||
@@ -23,6 +23,7 @@ import org.nl.wms.product_manage.备份pdm.service.DeviceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -43,26 +44,21 @@ public class SpecialDeviceController {
|
||||
@Autowired
|
||||
private IPdmBiDeviceService iDeviceService;
|
||||
|
||||
@PostMapping("/query")
|
||||
@GetMapping("/query")
|
||||
@ApiOperation("查询生产设备")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> query(@RequestBody DeviceQuery query) {
|
||||
List<PdmBiDevice> list = iDeviceService.list(query.build());
|
||||
Set<String> materials = list.stream().map(PdmBiDevice::getMaterial_id).collect(Collectors.toSet());
|
||||
Map<String, MdMeMaterialbase> materialMap = materialbaseService.list(new QueryWrapper<MdMeMaterialbase>().in("material_id", materials)).stream().collect(HashMap::new, (k, v) -> k.put(v.getMaterial_id(), v), HashMap::putAll);
|
||||
List<Map> result = new ArrayList<>();
|
||||
for (PdmBiDevice pdmBiDevice : list) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("device_code",pdmBiDevice.getDevice_code());
|
||||
map.put("product_area",pdmBiDevice.getProduct_area());
|
||||
map.put("material_id",pdmBiDevice.getMaterial_id());
|
||||
MdMeMaterialbase materialbase = materialMap.get("pdmBiDevice.getMaterial_id()");
|
||||
map.put("material_name",materialbase!=null?materialbase.getMaterial_name():"");
|
||||
map.put("material_spec",materialbase!=null?materialbase.getMaterial_spec():"");
|
||||
map.put("deviceinstor_qty",pdmBiDevice.getDeviceinstor_qty());
|
||||
result.add(map);
|
||||
public ResponseEntity<Object> query(DeviceQuery query,PageQuery page) {
|
||||
Page<Map<String, Object>> list = iDeviceService.pageMaps(page.build(PdmBiDevice.class), query.build());
|
||||
if (!CollectionUtils.isEmpty(list.getRecords())){
|
||||
Set materials = list.getRecords().stream().map(a->a.get("material_id")).collect(Collectors.toSet());
|
||||
Map<String, MdMeMaterialbase> materialMap = materialbaseService.list(new QueryWrapper<MdMeMaterialbase>().in("material_id", materials)).stream().collect(HashMap::new, (k, v) -> k.put(v.getMaterial_id(), v), HashMap::putAll);
|
||||
for (Map pdmBiDevice : list.getRecords()) {
|
||||
MdMeMaterialbase materialbase = materialMap.get(pdmBiDevice.get("material_id"));
|
||||
pdmBiDevice.put("material_name",materialbase!=null?materialbase.getMaterial_name():"");
|
||||
pdmBiDevice.put("material_spec",materialbase!=null?materialbase.getMaterial_spec():"");
|
||||
}
|
||||
}
|
||||
return new ResponseEntity<>(TableDataInfo.build(result), HttpStatus.OK);
|
||||
return new ResponseEntity<>(TableDataInfo.build(list), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
|
||||
@@ -108,6 +108,14 @@ public class ProduceshiftorderController{
|
||||
public ResponseEntity<Object> saveReport(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(iPdmProduceWorkorderService.report(param), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/unqualReport")
|
||||
@Log("工单不合格报工")
|
||||
@ApiOperation("工单不合格报工")
|
||||
public ResponseEntity<Object> unqualReport(@RequestBody JSONObject param) {
|
||||
iPdmProduceWorkorderService.unqualReport(param);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/finish")
|
||||
@Log("看板强制完成")
|
||||
|
||||
@@ -108,12 +108,13 @@ public interface IPdmProduceWorkorderService extends IService<PdmProduceWorkorde
|
||||
Object openStart(JSONObject param);
|
||||
|
||||
/**
|
||||
* 开工操作
|
||||
* 报工操作
|
||||
*包含3个字段
|
||||
* @param param 请求参数
|
||||
* @return
|
||||
*/
|
||||
Object report(JSONObject param);
|
||||
void unqualReport(JSONObject param);
|
||||
|
||||
void reportApprove(JSONArray param);
|
||||
void updateReport(JSONObject param);
|
||||
|
||||
@@ -56,6 +56,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.io.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -232,7 +233,6 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
}
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
// 1.获取上传文件输入流
|
||||
InputStream inputStream = null;
|
||||
try {
|
||||
@@ -240,7 +240,7 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
ExcelReader reader = ExcelUtil.getReader(inputStream);
|
||||
// 调用用 hutool 方法读取数据 调用第一个sheet白班数据
|
||||
ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0);
|
||||
// 从第1行开始获取数据 excelReader.read的结果是一个2纬的list,外层是行,内层是行对应的所有列
|
||||
@@ -588,20 +588,17 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
@Override
|
||||
@Transactional
|
||||
public Object report(JSONObject param) {
|
||||
Assert.notNull(new Object[]{param, param.get("report_qty"), param.get("nok_qty"), param.getBigDecimal("repare_qty")}, "请求参数不能为空");
|
||||
Assert.notNull(new Object[]{param, param.get("report_qty"),param.getString("workorder_id")}, "请求参数不能为空");
|
||||
|
||||
PdmProduceWorkorder workorder = this.getOne(new QueryWrapper<PdmProduceWorkorder>().eq("workorder_id", param.getString("workorder_id")));
|
||||
// if (workorder.getWorkorder_status().equals(WorkerOrderEnum.COMPLETE.getCode()) || workorder.getWorkorder_status().equals(WorkerOrderEnum.FORCE_COMPLETE.getCode())) {
|
||||
// throw new BadRequestException(param.getString("workorder_id") + "当前工单已经完工不允许报工");
|
||||
// }
|
||||
Assert.notNull(workorder,"当前工单不存在");
|
||||
PdmProduceWorkorderrecord one = reportRecordService.getOne(new QueryWrapper<PdmProduceWorkorderrecord>()
|
||||
.eq("workorder_id", param.getString("workorder_id")).eq("report_status", ReportEnum.REPORT_STATUS.code("生成")));
|
||||
if (one == null) {
|
||||
throw new BadRequestException(param.getString("workorder_id") + "当前工单没有生成状态的报工记录");
|
||||
}
|
||||
Assert.notNull(one,param.getString("workorder_id") + "当前工单没有生成状态的报工记录");
|
||||
workorder.setReport_qty(workorder.getReport_qty().add(param.getBigDecimal("report_qty")));
|
||||
workorder.setNok_qty(workorder.getReport_qty().add(param.getBigDecimal("nok_qty")));
|
||||
workorder.setRepare_qty(workorder.getReport_qty().add(param.getBigDecimal("repare_qty")));
|
||||
if (workorder.getPlan_qty().doubleValue() <= workorder.getReport_qty().doubleValue()) {
|
||||
workorder.setWorkorder_status(WorkerOrderEnum.COMPLETE.getCode());
|
||||
}
|
||||
@@ -609,14 +606,22 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
this.updateById(workorder);
|
||||
reportRecordService.update(new UpdateWrapper<PdmProduceWorkorderrecord>()
|
||||
.set("report_qty", param.getBigDecimal("report_qty"))
|
||||
.set("nok_qty", param.getBigDecimal("nok_qty"))
|
||||
.set("repare_qty", param.getBigDecimal("repare_qty"))
|
||||
.set("report_status", ReportEnum.REPORT_STATUS.code("报工"))
|
||||
.set("needproduct_qty", Math.max(0,workorder.getPlan_qty().intValue() - workorder.getReport_qty().intValue()))
|
||||
.eq("macoperate_id", one.getMacoperate_id()));
|
||||
return one.getMacoperate_id();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unqualReport(JSONObject param) {
|
||||
Assert.notNull(new Object[]{param, param.get("report_qty"),param.getString("workorder_id")}, "请求参数不能为空");
|
||||
PdmProduceWorkorder workorder = this.getOne(new QueryWrapper<PdmProduceWorkorder>().eq("workorder_id", param.getString("workorder_id")));
|
||||
Assert.notNull(workorder,"当前工单不存在");
|
||||
workorder.setRepare_qty(param.getBigDecimal("nok_qty"));
|
||||
workorder.setRepare_qty(param.getBigDecimal("repare_qty"));
|
||||
workorder.setReal_qty(null);
|
||||
this.updateById(workorder);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -647,23 +652,9 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
private List<Map> packageWorkorderQty(List<PdmProduceWorkorderrecord> record, List<PdmProduceWorkorderrecord> itemRecord) {
|
||||
List<String> ids = itemRecord.stream().map(PdmProduceWorkorderrecord::getMacoperate_id).collect(Collectors.toList());
|
||||
List<PdmProduceWorkorderrecord> oldRecord = record.stream().filter(item -> ids.contains(item.getMacoperate_id())).collect(Collectors.toList());
|
||||
long old_nok_qty = oldRecord.stream().mapToLong(a->a.getNok_qty().longValue()).sum();
|
||||
long new_nok_qty = itemRecord.stream().mapToLong(a->a.getNok_qty().longValue()).sum();
|
||||
long old_repare_qty = oldRecord.stream().mapToLong(a->a.getRepare_qty().longValue()).sum();
|
||||
long new_repare_qty = itemRecord.stream().mapToLong(a->a.getRepare_qty().longValue()).sum();
|
||||
long old_report_qty = oldRecord.stream().mapToLong(a->a.getReport_qty().longValue()).sum();
|
||||
long new_report_qty = itemRecord.stream().mapToLong(a->a.getReport_qty().longValue()).sum();
|
||||
List<Map> list = new ArrayList<>();
|
||||
Map<String, Object> nok_qty = new HashMap<>();
|
||||
nok_qty.put("field", "nok_qty");
|
||||
nok_qty.put("value", Math.abs(new_nok_qty - old_nok_qty));
|
||||
nok_qty.put("add", new_nok_qty > old_nok_qty);
|
||||
list.add(nok_qty);
|
||||
Map<String, Object> repare_qty = new HashMap<>();
|
||||
repare_qty.put("field", "repare_qty");
|
||||
repare_qty.put("value", Math.abs(new_repare_qty - old_repare_qty));
|
||||
repare_qty.put("add", new_repare_qty > old_repare_qty);
|
||||
list.add(repare_qty);
|
||||
List<Map> list = new ArrayList<>();
|
||||
Map<String, Object> report_qty = new HashMap<>();
|
||||
report_qty.put("field", "report_qty");
|
||||
report_qty.put("value", Math.abs(new_report_qty - old_report_qty));
|
||||
|
||||
@@ -23,10 +23,11 @@ spring:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_mes_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_mes_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
username: ${DB_USER:root}
|
||||
# password: ${DB_PWD:123456}
|
||||
password: ${DB_PWD:942464Yy}
|
||||
password: ${DB_PWD:123456}
|
||||
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudProduceshiftorder from '@/views/wms/product_manage/workorder'
|
||||
import crudProduceshiftorder from '@/views/wms/product_manage/workorder/produceshiftorder'
|
||||
import CRUD, { crud } from '@crud/crud'
|
||||
|
||||
export default {
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column show-overflow-tooltip prop="material_spec" label="物料系列" />
|
||||
<el-table-column show-overflow-tooltip prop="rule_code" label="物料系列" />
|
||||
<el-table-column show-overflow-tooltip prop="process_id" label="工序调度编号" />
|
||||
<el-table-column show-overflow-tooltip prop="process_name" label="工序调度名称" />
|
||||
<el-table-column
|
||||
|
||||
Reference in New Issue
Block a user