工单管理

This commit is contained in:
lyd
2022-10-18 20:13:41 +08:00
parent f666521c6b
commit 6b3c835d91
10 changed files with 201 additions and 239 deletions

View File

@@ -125,7 +125,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
String ext_order_id = orderJson.getString("ext_order_id"); String ext_order_id = orderJson.getString("ext_order_id");
// JSONArray array = JSONArray.parseArray(string); // JSONArray array = JSONArray.parseArray(string);
String now = DateUtil.now(); String now = DateUtil.now();
WQLObject wo = WQLObject.getWQLObject("MPS_BD_ProduceShiftOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER");
JSONObject map = new JSONObject(); JSONObject map = new JSONObject();
map.put("workorder_id", ext_order_id); map.put("workorder_id", ext_order_id);
map.put("order_status", "04"); map.put("order_status", "04");

View File

@@ -7,8 +7,8 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log; import org.nl.modules.logging.annotation.Log;
import org.nl.wms.pdm.service.ProduceshiftorderService; import org.nl.wms.pdm.service.WorkordeService;
import org.nl.wms.pdm.service.dto.ProduceshiftorderDto; import org.nl.wms.pdm.service.dto.WorkorderDto;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@@ -24,26 +24,26 @@ import java.util.Map;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "工单管理") @Api(tags = "工单管理")
@RequestMapping("/api/produceshiftorder") @RequestMapping("/api/workorder")
@Slf4j @Slf4j
public class ProduceshiftorderController { public class WorkorderController {
private final ProduceshiftorderService produceshiftorderService; private final WorkordeService workordeService;
@GetMapping @GetMapping
@Log("查询工单") @Log("查询工单")
@ApiOperation("查询工单") @ApiOperation("查询工单")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){ public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
return new ResponseEntity<>(produceshiftorderService.queryAll(whereJson,page),HttpStatus.OK); return new ResponseEntity<>(workordeService.queryAll(whereJson,page),HttpStatus.OK);
} }
@PostMapping @PostMapping
@Log("新增工单") @Log("新增工单")
@ApiOperation("新增工单") @ApiOperation("新增工单")
//@SaCheckPermission("produceshiftorder:add") //@SaCheckPermission("produceshiftorder:add")
public ResponseEntity<Object> create(@Validated @RequestBody ProduceshiftorderDto dto){ public ResponseEntity<Object> create(@Validated @RequestBody WorkorderDto dto){
produceshiftorderService.create(dto); workordeService.create(dto);
return new ResponseEntity<>(HttpStatus.CREATED); return new ResponseEntity<>(HttpStatus.CREATED);
} }
@@ -51,8 +51,8 @@ public class ProduceshiftorderController {
@Log("修改工单") @Log("修改工单")
@ApiOperation("修改工单") @ApiOperation("修改工单")
//@SaCheckPermission("produceshiftorder:edit") //@SaCheckPermission("produceshiftorder:edit")
public ResponseEntity<Object> update(@Validated @RequestBody ProduceshiftorderDto dto){ public ResponseEntity<Object> update(@Validated @RequestBody WorkorderDto dto){
produceshiftorderService.update(dto); workordeService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} }
@@ -61,7 +61,7 @@ public class ProduceshiftorderController {
//@SaCheckPermission("produceshiftorder:del") //@SaCheckPermission("produceshiftorder:del")
@DeleteMapping @DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) { public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
produceshiftorderService.deleteAll(ids); workordeService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@@ -70,7 +70,7 @@ public class ProduceshiftorderController {
@ApiOperation("工单下发") @ApiOperation("工单下发")
//@SaCheckPermission("produceshiftorder:edit") //@SaCheckPermission("produceshiftorder:edit")
public ResponseEntity<Object> submits(@RequestBody JSONObject param){ public ResponseEntity<Object> submits(@RequestBody JSONObject param){
produceshiftorderService.submits(param); workordeService.submits(param);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} }
@@ -79,7 +79,7 @@ public class ProduceshiftorderController {
@ApiOperation("根据登录用户设备下拉") @ApiOperation("根据登录用户设备下拉")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> getDevice(@RequestBody JSONObject param){ public ResponseEntity<Object> getDevice(@RequestBody JSONObject param){
return new ResponseEntity<>(produceshiftorderService.getDevice(param),HttpStatus.OK); return new ResponseEntity<>(workordeService.getDevice(param),HttpStatus.OK);
} }
@PostMapping("/getTable") @PostMapping("/getTable")
@@ -87,7 +87,7 @@ public class ProduceshiftorderController {
@ApiOperation("获取工单生产记录") @ApiOperation("获取工单生产记录")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> getTable(@RequestBody JSONObject param){ public ResponseEntity<Object> getTable(@RequestBody JSONObject param){
return new ResponseEntity<>(produceshiftorderService.getTable(param),HttpStatus.OK); return new ResponseEntity<>(workordeService.getTable(param),HttpStatus.OK);
} }
@PostMapping("/openStart") @PostMapping("/openStart")
@@ -95,7 +95,7 @@ public class ProduceshiftorderController {
@ApiOperation("看板开工") @ApiOperation("看板开工")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> openStart(@RequestBody JSONObject param){ public ResponseEntity<Object> openStart(@RequestBody JSONObject param){
produceshiftorderService.openStart(param); workordeService.openStart(param);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@@ -104,7 +104,7 @@ public class ProduceshiftorderController {
@ApiOperation("看板报工") @ApiOperation("看板报工")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> saveReport(@RequestBody JSONObject param){ public ResponseEntity<Object> saveReport(@RequestBody JSONObject param){
produceshiftorderService.saveReport(param); workordeService.saveReport(param);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@@ -113,7 +113,7 @@ public class ProduceshiftorderController {
@ApiOperation("看板强制完成") @ApiOperation("看板强制完成")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> finish(@RequestBody JSONObject param){ public ResponseEntity<Object> finish(@RequestBody JSONObject param){
produceshiftorderService.finish(param); workordeService.finish(param);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@@ -122,7 +122,7 @@ public class ProduceshiftorderController {
@ApiOperation("获取当前报工记录") @ApiOperation("获取当前报工记录")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> getReportWork(@RequestBody JSONObject param){ public ResponseEntity<Object> getReportWork(@RequestBody JSONObject param){
return new ResponseEntity<>(produceshiftorderService.getReportWork(param),HttpStatus.OK); return new ResponseEntity<>(workordeService.getReportWork(param),HttpStatus.OK);
} }
@PostMapping("/forceFinish") @PostMapping("/forceFinish")
@@ -130,7 +130,7 @@ public class ProduceshiftorderController {
@ApiOperation("工单强制完成") @ApiOperation("工单强制完成")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> forceFinish(@RequestBody JSONObject param){ public ResponseEntity<Object> forceFinish(@RequestBody JSONObject param){
produceshiftorderService.forceFinish(param); workordeService.forceFinish(param);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@@ -139,7 +139,7 @@ public class ProduceshiftorderController {
@ApiOperation("获取当前工单下的工单生产记录") @ApiOperation("获取当前工单下的工单生产记录")
//@SaCheckPermission("produceshiftorder:list") //@SaCheckPermission("produceshiftorder:list")
public ResponseEntity<Object> getDtl(@RequestBody JSONObject param){ public ResponseEntity<Object> getDtl(@RequestBody JSONObject param){
return new ResponseEntity<>(produceshiftorderService.getDtl(param),HttpStatus.OK); return new ResponseEntity<>(workordeService.getDtl(param),HttpStatus.OK);
} }
} }

View File

@@ -2,7 +2,7 @@ package org.nl.wms.pdm.service;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.nl.wms.pdm.service.dto.ProduceshiftorderDto; import org.nl.wms.pdm.service.dto.WorkorderDto;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import java.util.List; import java.util.List;
@@ -13,7 +13,7 @@ import java.util.Map;
* @author qinx * @author qinx
* @date 2022-05-24 * @date 2022-05-24
**/ **/
public interface ProduceshiftorderService { public interface WorkordeService {
/** /**
* 查询数据分页 * 查询数据分页
@@ -26,36 +26,36 @@ public interface ProduceshiftorderService {
/** /**
* 查询所有数据不分页 * 查询所有数据不分页
* @param whereJson 条件参数 * @param whereJson 条件参数
* @return List<ProduceshiftorderDto> * @return List<WorkorderDto>
*/ */
List<ProduceshiftorderDto> queryAll(Map whereJson); List<WorkorderDto> queryAll(Map whereJson);
/** /**
* 根据ID查询 * 根据ID查询
* @param workorder_id ID * @param workorder_id ID
* @return Produceshiftorder * @return Produceshiftorder
*/ */
ProduceshiftorderDto findById(Long workorder_id); WorkorderDto findById(Long workorder_id);
/** /**
* 根据编码查询 * 根据编码查询
* @param code code * @param code code
* @return Produceshiftorder * @return Produceshiftorder
*/ */
ProduceshiftorderDto findByCode(String code); WorkorderDto findByCode(String code);
/** /**
* 创建 * 创建
* @param dto / * @param dto /
*/ */
void create(ProduceshiftorderDto dto); void create(WorkorderDto dto);
/** /**
* 编辑 * 编辑
* @param dto / * @param dto /
*/ */
void update(ProduceshiftorderDto dto); void update(WorkorderDto dto);
/** /**
* 多选删除 * 多选删除

View File

@@ -1,158 +0,0 @@
package org.nl.wms.pdm.service.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author qinx
* @description /
* @date 2022-05-24
**/
@Data
public class ProduceshiftorderDto implements Serializable {
/** 生产班次工单标识 */
/**
* 防止精度丢失
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long workorder_id;
/**
* 生产班次工单编号
*/
private String produceorder_code;
/**
* 机台工单号
*/
private String producedeviceorder_code;
/**
* 班次类型
*/
private String shift_type_scode;
/**
* 生产日期
*/
private String produce_date;
/**
* 计划数量
*/
private BigDecimal plan_qty;
/**
* 实际数量
*/
private BigDecimal real_qty;
/**
* 报工数量
*/
private BigDecimal report_qty;
/**
* 物料标识
*/
private Long material_id;
/**
* 物料单重
*/
private BigDecimal material_weight;
/**
* 托盘类型
*/
private String vehicle_type;
/**
* 计划生产开始时间
*/
private String planproducestart_date;
/**
* 计划生产结束时间
*/
private String planproduceend_date;
/**
* 实际生产开始时间
*/
private String realproducestart_date;
/**
* 实际生产结束时间
*/
private String realproduceend_date;
/**
* 工单状态
*/
private String order_status;
/**
* 是否搬运
*/
private String is_needmove;
/**
* 工单类型
*/
private String order_type_scode;
/**
* 创建人
*/
private Long create_id;
/**
* 创建人姓名
*/
private String create_name;
/**
* 创建时间
*/
private String create_time;
/**
* 修改人
*/
private Long update_optid;
/**
* 修改人姓名
*/
private String update_optname;
/**
* 修改时间
*/
private String update_time;
/**
* 部门ID
*/
private Long sysdeptid;
/**
* 公司ID
*/
private Long syscompanyid;
/**
* 是否删除
*/
private String is_delete;
private String is_canupdate_update;
private Long device_id;
}

View File

@@ -0,0 +1,90 @@
package org.nl.wms.pdm.service.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.io.Serializable;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
/**
* @description /
* @author 1
* @date 2022-10-18
**/
@Data
public class WorkorderDto implements Serializable {
/** 工单标识 */
/** 防止精度丢失 */
@JsonSerialize(using= ToStringSerializer.class)
private Long workorder_id;
/** 生产日期 */
private String produce_date;
/** 计划数量 */
private BigDecimal plan_qty;
/** 实际数量 */
private BigDecimal real_qty;
/** 物料标识 */
private Long material_id;
/** 载具类型 */
private String vehicle_type;
/** 计划生产开始时间 */
private String planproducestart_date;
/** 计划生产结束时间 */
private String planproduceend_date;
/** 实际生产开始时间 */
private String realproducestart_date;
/** 实际生产结束时间 */
private String realproduceend_date;
/** 设备标识 */
private Long device_id;
/** 所属工序 */
private String workorder_procedure;
/** 工单状态 */
private String order_status;
/** 是否搬运 */
private String is_needmove;
/** 回传MES状态 */
private String passback_status;
/** 外部标识 */
private String ext_id;
/** 是否删除 */
private String is_delete;
/** 创建人 */
private Long create_id;
/** 创建人 */
private String create_name;
/** 创建时间 */
private String create_time;
/** 修改人 */
private Long update_optid;
/** 修改人 */
private String update_optname;
/** 工单编号 */
private String workorder_code;
/** 修改时间 */
private String update_time;
}

View File

@@ -23,8 +23,8 @@ import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.WqlUtil; import org.nl.modules.wql.util.WqlUtil;
import org.nl.wms.basedata.service.ClassstandardService; import org.nl.wms.basedata.service.ClassstandardService;
import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.pdm.service.ProduceshiftorderService; import org.nl.wms.pdm.service.WorkordeService;
import org.nl.wms.pdm.service.dto.ProduceshiftorderDto; import org.nl.wms.pdm.service.dto.WorkorderDto;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -41,9 +41,8 @@ import java.util.Map;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { public class WorkorderServiceImpl implements WorkordeService {
private final ClassstandardService classstandardService;
private final WmsToAcsService wmsToAcsService; private final WmsToAcsService wmsToAcsService;
@Override @Override
@@ -77,41 +76,43 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
if (StrUtil.isNotEmpty(material)) { if (StrUtil.isNotEmpty(material)) {
map.put("material", "%" + material + "%"); map.put("material", "%" + material + "%");
} }
// 工序名称
map.put("workorder_procedure", whereJson.get("workorder_procedure"));
JSONObject jsonObject = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ShiftOrder.update_time desc"); JSONObject jsonObject = WQL.getWO("MPS_PRODUCEDURE001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ShiftOrder.update_time desc");
return jsonObject; return jsonObject;
} }
@Override @Override
public List<ProduceshiftorderDto> queryAll(Map whereJson) { public List<WorkorderDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder");
JSONArray arr = wo.query().getResultJSONArray(0); JSONArray arr = wo.query().getResultJSONArray(0);
if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(ProduceshiftorderDto.class); if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(WorkorderDto.class);
return null; return null;
} }
@Override @Override
public ProduceshiftorderDto findById(Long workorder_id) { public WorkorderDto findById(Long workorder_id) {
WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder");
JSONObject json = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); JSONObject json = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(json)) { if (ObjectUtil.isNotEmpty(json)) {
return json.toJavaObject(ProduceshiftorderDto.class); return json.toJavaObject(WorkorderDto.class);
} }
return null; return null;
} }
@Override @Override
public ProduceshiftorderDto findByCode(String code) { public WorkorderDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder");
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(json)) { if (ObjectUtil.isNotEmpty(json)) {
return json.toJavaObject(ProduceshiftorderDto.class); return json.toJavaObject(WorkorderDto.class);
} }
return null; return null;
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void create(ProduceshiftorderDto dto) { public void create(WorkorderDto dto) {
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName(); String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now(); String now = DateUtil.now();
@@ -119,15 +120,14 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
Long deptId = currentUser.getUser().getDeptId(); Long deptId = currentUser.getUser().getDeptId();
String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER"); String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER");
dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId()); dto.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId());
dto.setProduceorder_code(newCode); dto.setWorkorder_code(newCode);
dto.setProducedeviceorder_code(newCode);
dto.setOrder_status("00"); dto.setOrder_status("00");
dto.setCreate_id(currentUserId); dto.setCreate_id(currentUserId);
dto.setCreate_time(now);
dto.setCreate_name(nickName); dto.setCreate_name(nickName);
dto.setUpdate_optid(currentUserId); dto.setUpdate_optid(currentUserId);
dto.setUpdate_optname(nickName); dto.setUpdate_optname(nickName);
dto.setUpdate_time(now); dto.setUpdate_time(now);
dto.setCreate_time(now);
WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WorkOrder");
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
json.put("sysdeptid", deptId); json.put("sysdeptid", deptId);
@@ -137,8 +137,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(ProduceshiftorderDto dto) { public void update(WorkorderDto dto) {
ProduceshiftorderDto entity = this.findById(dto.getWorkorder_id()); WorkorderDto entity = this.findById(dto.getWorkorder_id());
if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!");
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
@@ -261,7 +261,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
String plan_qty = row.getString("plan_qty"); String plan_qty = row.getString("plan_qty");
String order_status = row.getString("order_status"); String order_status = row.getString("order_status");
//开工时修改生产班次工单表 生产设备以及工单状态 //开工时修改生产班次工单表 生产设备以及工单状态
WQLObject wo = WQLObject.getWQLObject("MPS_BD_ProduceShiftOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER");
JSONObject jsonObject1 = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); JSONObject jsonObject1 = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0);
JSONObject produceorderMap = new JSONObject(); JSONObject produceorderMap = new JSONObject();
produceorderMap.put("workorder_id", workorder_id); produceorderMap.put("workorder_id", workorder_id);
@@ -339,7 +339,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
final JSONObject row = param.getJSONObject("row"); final JSONObject row = param.getJSONObject("row");
final String workorder_id = row.getString("workorder_id"); final String workorder_id = row.getString("workorder_id");
//报工时工单的工单状态为暂停报工数量为这条工单上次加这次报工数量的和也就是这条工单每次记录的和 //报工时工单的工单状态为暂停报工数量为这条工单上次加这次报工数量的和也就是这条工单每次记录的和
WQLObject wo = WQLObject.getWQLObject("MPS_BD_ProduceShiftOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER");
JSONObject jsonObject = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); JSONObject jsonObject = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0);
JSONObject produceorderMap = new JSONObject(); JSONObject produceorderMap = new JSONObject();
produceorderMap.put("workorder_id",workorder_id); produceorderMap.put("workorder_id",workorder_id);
@@ -383,7 +383,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
String now = DateUtil.now(); String now = DateUtil.now();
JSONObject row = param.getJSONObject("row"); JSONObject row = param.getJSONObject("row");
String workorder_id = row.getString("workorder_id"); String workorder_id = row.getString("workorder_id");
WQLObject wo = WQLObject.getWQLObject("MPS_BD_ProduceShiftOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER");
JSONObject produceorderMap = new JSONObject(); JSONObject produceorderMap = new JSONObject();
produceorderMap.put("workorder_id",workorder_id); produceorderMap.put("workorder_id",workorder_id);
produceorderMap.put("order_status","04"); produceorderMap.put("order_status","04");
@@ -406,7 +406,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService {
@Override @Override
public JSONObject getReportWork(JSONObject param) { public JSONObject getReportWork(JSONObject param) {
String workorder_id = param.getString("workorder_id"); String workorder_id = param.getString("workorder_id");
WQLObject wo = WQLObject.getWQLObject("MPS_BD_ProduceShiftOrder"); WQLObject wo = WQLObject.getWQLObject("PDM_BD_WORKORDER");
JSONObject jsonProduceShiftOrder = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); JSONObject jsonProduceShiftOrder = wo.query("workorder_id = '" + workorder_id + "'").uniqueResult(0);
WQLObject wo_record = WQLObject.getWQLObject("MPS_BD_MacOperateRecord"); WQLObject wo_record = WQLObject.getWQLObject("MPS_BD_MacOperateRecord");
//获取最新的工单的对应记录信息 //获取最新的工单的对应记录信息

View File

@@ -19,6 +19,7 @@
输入.workprocedure_id TYPEAS s_string 输入.workprocedure_id TYPEAS s_string
输入.order_type_scode TYPEAS s_string 输入.order_type_scode TYPEAS s_string
输入.order_status TYPEAS s_string 输入.order_status TYPEAS s_string
输入.workorder_procedure TYPEAS s_string
输入.shift_type_scode TYPEAS s_string 输入.shift_type_scode TYPEAS s_string
输入.begin_time TYPEAS s_string 输入.begin_time TYPEAS s_string
输入.end_time TYPEAS s_string 输入.end_time TYPEAS s_string
@@ -63,7 +64,7 @@
classstandard.class_name, classstandard.class_name,
device.device_name device.device_name
FROM FROM
MPS_BD_ProduceShiftOrder ShiftOrder PDM_BD_WORKORDER ShiftOrder
LEFT JOIN md_me_materialbase material ON material.material_id = ShiftOrder.material_id LEFT JOIN md_me_materialbase material ON material.material_id = ShiftOrder.material_id
LEFT JOIN pdm_bi_device device ON ShiftOrder.device_id = device.device_id LEFT JOIN pdm_bi_device device ON ShiftOrder.device_id = device.device_id
LEFT JOIN md_pb_classstandard classstandard ON classstandard.class_id = material.product_series LEFT JOIN md_pb_classstandard classstandard ON classstandard.class_id = material.product_series
@@ -80,6 +81,9 @@
ENDOPTION ENDOPTION
OPTION 输入.shift_type_scode <> "" OPTION 输入.shift_type_scode <> ""
ShiftOrder.shift_type_scode = 输入.shift_type_scode ShiftOrder.shift_type_scode = 输入.shift_type_scode
ENDOPTION
OPTION 输入.workorder_procedure <> ""
ShiftOrder.workorder_procedure = 输入.workorder_procedure
ENDOPTION ENDOPTION
OPTION 输入.begin_time <> "" OPTION 输入.begin_time <> ""
ShiftOrder.produce_date >= 输入.begin_time ShiftOrder.produce_date >= 输入.begin_time
@@ -126,7 +130,7 @@
material.material_name, material.material_name,
material.material_spec material.material_spec
FROM FROM
MPS_BD_ProduceShiftOrder shiftOrder PDM_BD_WORKORDER shiftOrder
left join PDM_BI_WorkProcedure workprocedure on workprocedure.workprocedure_id = shiftOrder.workprocedure_id left join PDM_BI_WorkProcedure workprocedure on workprocedure.workprocedure_id = shiftOrder.workprocedure_id
left join md_me_materialbase material on material.material_id = shiftOrder.material_id left join md_me_materialbase material on material.material_id = shiftOrder.material_id
WHERE WHERE

View File

@@ -2,7 +2,7 @@ import request from '@/utils/request'
export function add(data) { export function add(data) {
return request({ return request({
url: 'api/produceshiftorder', url: 'api/workorder',
method: 'post', method: 'post',
data data
}) })
@@ -10,7 +10,7 @@ export function add(data) {
export function del(ids) { export function del(ids) {
return request({ return request({
url: 'api/produceshiftorder/', url: 'api/workorder',
method: 'delete', method: 'delete',
data: ids data: ids
}) })
@@ -18,7 +18,7 @@ export function del(ids) {
export function edit(data) { export function edit(data) {
return request({ return request({
url: 'api/produceshiftorder', url: 'api/workorder',
method: 'put', method: 'put',
data data
}) })
@@ -26,7 +26,7 @@ export function edit(data) {
export function submits(data) { export function submits(data) {
return request({ return request({
url: 'api/produceshiftorder/submits', url: 'api/workorder/submits',
method: 'put', method: 'put',
data data
}) })
@@ -34,7 +34,7 @@ export function submits(data) {
export function getDevice(data) { export function getDevice(data) {
return request({ return request({
url: 'api/produceshiftorder/getDevice', url: 'api/workorder/getDevice',
method: 'post', method: 'post',
data data
}) })
@@ -42,7 +42,7 @@ export function getDevice(data) {
export function getTable(data) { export function getTable(data) {
return request({ return request({
url: 'api/produceshiftorder/getTable', url: 'api/workorder/getTable',
method: 'post', method: 'post',
data data
}) })
@@ -50,7 +50,7 @@ export function getTable(data) {
export function openStart(data) { export function openStart(data) {
return request({ return request({
url: 'api/produceshiftorder/openStart', url: 'api/workorder/openStart',
method: 'post', method: 'post',
data data
}) })
@@ -58,7 +58,7 @@ export function openStart(data) {
export function saveReport(data) { export function saveReport(data) {
return request({ return request({
url: 'api/produceshiftorder/saveReport', url: 'api/workorder/saveReport',
method: 'post', method: 'post',
data data
}) })
@@ -66,7 +66,7 @@ export function saveReport(data) {
export function finish(data) { export function finish(data) {
return request({ return request({
url: 'api/produceshiftorder/finish', url: 'api/workorder/finish',
method: 'post', method: 'post',
data data
}) })
@@ -74,7 +74,7 @@ export function finish(data) {
export function forceFinish(data) { export function forceFinish(data) {
return request({ return request({
url: 'api/produceshiftorder/forceFinish', url: 'api/workorder/forceFinish',
method: 'post', method: 'post',
data data
}) })
@@ -82,7 +82,7 @@ export function forceFinish(data) {
export function getReportWork(data) { export function getReportWork(data) {
return request({ return request({
url: 'api/produceshiftorder/getReportWork', url: 'api/workorder/getReportWork',
method: 'post', method: 'post',
data data
}) })
@@ -90,7 +90,7 @@ export function getReportWork(data) {
export function getDtl(data) { export function getDtl(data) {
return request({ return request({
url: 'api/produceshiftorder/getDtl', url: 'api/workorder/getDtl',
method: 'post', method: 'post',
data data
}) })

View File

@@ -182,7 +182,7 @@
<script> <script>
import { crud } from '@crud/crud' import { crud } from '@crud/crud'
import crudProduceshiftorder from '@/api/wms/pdm/produceshiftorder' import crudProduceshiftorder from '@/api/wms/pdm/workorder'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudClassstandard from '@/api/wms/basedata/classstandard' import crudClassstandard from '@/api/wms/basedata/classstandard'

View File

@@ -81,6 +81,23 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工序名称">
<el-select
v-model="query.workorder_procedure"
clearable
filterable
size="mini"
class="filter-item"
style="width: 185px;"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.workorder_procedure"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<rrOperation :crud="crud" /> <rrOperation :crud="crud" />
</el-form> </el-form>
</div> </div>
@@ -166,9 +183,6 @@
disabled disabled
/> />
</el-form-item> </el-form-item>
<el-form-item label="物料单重" prop="material_weight">
<el-input v-model="form.material_weight" style="width: 200px;" />
</el-form-item>
<el-form-item label="计划数量" prop="plan_qty"> <el-form-item label="计划数量" prop="plan_qty">
<el-input v-model="form.plan_qty" style="width: 200px;" /> <el-input v-model="form.plan_qty" style="width: 200px;" />
</el-form-item> </el-form-item>
@@ -181,6 +195,22 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属工序">
<el-select
v-model="form.workorder_procedure"
clearable
filterable
size="mini"
class="filter-item"
style="width: 200px"
>
<el-option
v-for="item in dict.workorder_procedure"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="计划开始时间" prop="planproducestart_date"> <el-form-item label="计划开始时间" prop="planproducestart_date">
<el-date-picker <el-date-picker
v-model="form.planproducestart_date" v-model="form.planproducestart_date"
@@ -227,12 +257,11 @@
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="workorder_id" label="生产班次工单标识" /> <el-table-column v-if="false" prop="workorder_id" label="生产班次工单标识" />
<el-table-column prop="produceorder_code" label="工单编号" width="120px"> <el-table-column prop="workorder_code" label="工单编号" width="120px">
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.produceorder_code }}</el-link> <!-- <el-link type="warning" @click="toView(scope.row)">{{ scope.row.produceorder_code }}</el-link>-->
</template> <!-- </template>-->
</el-table-column> </el-table-column>
<el-table-column prop="producedeviceorder_code" label="机台工单号" width="100px" />
<el-table-column prop="order_status" label="工单状态"> <el-table-column prop="order_status" label="工单状态">
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.MPS_BD_ORDERSTATUS[scope.row.order_status] }} {{ dict.label.MPS_BD_ORDERSTATUS[scope.row.order_status] }}
@@ -289,7 +318,7 @@
</template> </template>
<script> <script>
import crudProduceshiftorder from '@/api/wms/pdm/produceshiftorder' import crudWorkorder from '@/api/wms/pdm/workorder'
import CRUD, { presenter, header, form, crud } from '@crud/crud' import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
@@ -340,10 +369,10 @@ export default {
name: 'Produceshiftorder', name: 'Produceshiftorder',
components: { pagination, crudOperation, rrOperation, udOperation, MaterDtl, ViewDialog, DeviceDialog }, components: { pagination, crudOperation, rrOperation, udOperation, MaterDtl, ViewDialog, DeviceDialog },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT', 'vehicle_type'], dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT', 'vehicle_type', 'workorder_procedure'],
cruds() { cruds() {
return CRUD({ return CRUD({
title: '工单', url: 'api/produceshiftorder', idField: 'workorder_id', sort: 'workorder_id,desc', title: '工单', url: 'api/workorder', idField: 'workorder_id', sort: 'workorder_id,desc',
optShow: { optShow: {
add: true, add: true,
edit: false, edit: false,
@@ -354,7 +383,7 @@ export default {
query: { query: {
order_status: '-1' order_status: '-1'
}, },
crudMethod: { ...crudProduceshiftorder } crudMethod: { ...crudWorkorder }
}) })
}, },
data() { data() {
@@ -382,9 +411,6 @@ export default {
material_code: [ material_code: [
{ required: true, message: '物料编码不能为空', trigger: 'change' } { required: true, message: '物料编码不能为空', trigger: 'change' }
], ],
material_weight: [
{ required: true, message: '物料单重不能为空', trigger: 'blur' }
],
planproducestart_date: [ planproducestart_date: [
{ required: true, message: '计划生产开始时间不能为空', trigger: 'blur' } { required: true, message: '计划生产开始时间不能为空', trigger: 'blur' }
], ],
@@ -427,7 +453,7 @@ export default {
}, },
// 强制完成 // 强制完成
forceFinish(data) { forceFinish(data) {
crudProduceshiftorder.forceFinish({ row: data }).then(res => { crudWorkorder.forceFinish({ row: data }).then(res => {
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery() this.crud.toQuery()
}) })
@@ -457,7 +483,7 @@ export default {
}, },
// 下发 // 下发
submits(row) { submits(row) {
crudProduceshiftorder.submits({ workorder_id: row.workorder_id }).then(res => { crudWorkorder.submits({ workorder_id: row.workorder_id }).then(res => {
this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery() this.crud.toQuery()
}) })