生产报工修改
This commit is contained in:
parent
042e8af180
commit
73a96ef841
@ -288,6 +288,9 @@ create table pro_feedback (
|
||||
workorder_id bigint(20) not null comment '生产工单ID',
|
||||
workorder_code varchar(64) comment '生产工单编号',
|
||||
workorder_name varchar(255) comment '生产工单名称',
|
||||
process_id bigint(20) not null comment '工序ID',
|
||||
process_code varchar(64) comment '工序编码',
|
||||
process_name varchar(255) comment '工序名称',
|
||||
task_id bigint(20) comment '生产任务ID',
|
||||
task_code varchar(64) comment '生产任务编号',
|
||||
item_id bigint(20) not null comment '产品物料ID',
|
||||
|
@ -6,6 +6,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.ktg.common.constant.UserConstants;
|
||||
import com.ktg.common.utils.StringUtils;
|
||||
import com.ktg.mes.md.domain.MdWorkstation;
|
||||
import com.ktg.mes.md.service.IMdWorkstationService;
|
||||
import com.ktg.mes.pro.domain.*;
|
||||
import com.ktg.mes.pro.service.IProRouteProcessService;
|
||||
import com.ktg.mes.pro.service.IProTaskService;
|
||||
@ -58,6 +60,9 @@ public class ProFeedbackController extends BaseController
|
||||
@Autowired
|
||||
private IProWorkorderService proWorkorderService;
|
||||
|
||||
@Autowired
|
||||
private IMdWorkstationService mdWorkstationService;
|
||||
|
||||
@Autowired
|
||||
private IWmItemConsumeService wmItemConsumeService;
|
||||
|
||||
@ -110,6 +115,13 @@ public class ProFeedbackController extends BaseController
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody ProFeedback proFeedback)
|
||||
{
|
||||
MdWorkstation workstation = mdWorkstationService.selectMdWorkstationByWorkstationId(proFeedback.getWorkstationId());
|
||||
proFeedback.setProcessId(workstation.getProcessId());
|
||||
proFeedback.setProcessCode(workstation.getProcessCode());
|
||||
proFeedback.setProcessName(workstation.getProcessName());
|
||||
|
||||
//根据生产工单,工作站,工序 查找对应的生产任务
|
||||
|
||||
return toAjax(proFeedbackService.insertProFeedback(proFeedback));
|
||||
}
|
||||
|
||||
@ -165,7 +177,9 @@ public class ProFeedbackController extends BaseController
|
||||
//如果是关键工序,则更新当前工单的已生产数量,进行产品产出动作
|
||||
if(proRouteProcessService.checkKeyProcess(feedback)){
|
||||
//更新生产工单的生产数量
|
||||
workorder.setQuantityProduced(workorder.getQuantityProduced().add(feedback.getQuantityFeedback()));
|
||||
BigDecimal produced = workorder.getQuantityProduced() == null?new BigDecimal(0):workorder.getQuantityProduced();
|
||||
BigDecimal feedBackQuantity = feedback.getQuantityFeedback() ==null?new BigDecimal(0):feedback.getQuantityFeedback();
|
||||
workorder.setQuantityProduced( produced.add(feedBackQuantity));
|
||||
proWorkorderService.updateProWorkorder(workorder);
|
||||
|
||||
//生成产品产出记录单
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.ktg.mes.pro.controller;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@ -117,7 +118,9 @@ public class ProTaskController extends BaseController
|
||||
if(workorder.getParentId().longValue()!=0L){
|
||||
wdata.setParent("MO"+workorder.getParentId().toString());
|
||||
}
|
||||
wdata.setProgress(0f);
|
||||
BigDecimal produced = workorder.getQuantityProduced();
|
||||
BigDecimal quantitiy = workorder.getQuantity();
|
||||
wdata.setProgress( produced.divide(quantitiy).floatValue());
|
||||
wdata.setDuration(0L);
|
||||
wdata.setType(UserConstants.GANTT_TASK_TYPE_PROJECT);
|
||||
ganttData.add(wdata);
|
||||
@ -139,7 +142,9 @@ public class ProTaskController extends BaseController
|
||||
data.setQuantity(task.getQuantity());
|
||||
data.setProcess(task.getProcessName());
|
||||
data.setWorkstation(task.getWorkstationName());
|
||||
data.setProgress(0f);
|
||||
BigDecimal taskproduced = task.getQuantityProduced();
|
||||
BigDecimal taskquantitiy = task.getQuantity();
|
||||
data.setProgress(taskproduced.divide(taskquantitiy).floatValue());
|
||||
data.setType(UserConstants.GANTT_TASK_TYPE_TASK);
|
||||
ganttData.add(data);
|
||||
}
|
||||
|
@ -36,6 +36,17 @@ public class ProFeedback extends BaseEntity
|
||||
@Excel(name = "工作站名称")
|
||||
private String workstationName;
|
||||
|
||||
/** 工序ID */
|
||||
private Long processId;
|
||||
|
||||
/** 工序编码 */
|
||||
@Excel(name = "工序编码")
|
||||
private String processCode;
|
||||
|
||||
/** 工序名称 */
|
||||
@Excel(name = "工序名称")
|
||||
private String processName;
|
||||
|
||||
/** 生产工单ID */
|
||||
@Excel(name = "生产工单ID")
|
||||
private Long workorderId;
|
||||
@ -175,7 +186,31 @@ public class ProFeedback extends BaseEntity
|
||||
this.workorderId = workorderId;
|
||||
}
|
||||
|
||||
public Long getWorkorderId()
|
||||
public Long getProcessId() {
|
||||
return processId;
|
||||
}
|
||||
|
||||
public void setProcessId(Long processId) {
|
||||
this.processId = processId;
|
||||
}
|
||||
|
||||
public String getProcessCode() {
|
||||
return processCode;
|
||||
}
|
||||
|
||||
public void setProcessCode(String processCode) {
|
||||
this.processCode = processCode;
|
||||
}
|
||||
|
||||
public String getProcessName() {
|
||||
return processName;
|
||||
}
|
||||
|
||||
public void setProcessName(String processName) {
|
||||
this.processName = processName;
|
||||
}
|
||||
|
||||
public Long getWorkorderId()
|
||||
{
|
||||
return workorderId;
|
||||
}
|
||||
@ -404,6 +439,9 @@ public class ProFeedback extends BaseEntity
|
||||
", workstationId=" + workstationId +
|
||||
", workstationCode='" + workstationCode + '\'' +
|
||||
", workstationName='" + workstationName + '\'' +
|
||||
", processId=" + processId +
|
||||
", processCode='" + processCode + '\'' +
|
||||
", processName='" + processName + '\'' +
|
||||
", workorderId=" + workorderId +
|
||||
", workorderCode='" + workorderCode + '\'' +
|
||||
", workorderName='" + workorderName + '\'' +
|
||||
|
@ -101,8 +101,8 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
||||
ProRouteProduct param = new ProRouteProduct();
|
||||
param.setItemId(feedback.getItemId());
|
||||
List<ProRouteProduct> products = proRouteProductMapper.selectProRouteProductList(param);
|
||||
if(!CollectionUtil.isNotEmpty(products)){
|
||||
products = products.stream().filter(item -> proRouteMapper.selectProRouteByRouteId(item.getRouteId()).getEnableFlag()==UserConstants.YES).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(products)){
|
||||
products = products.stream().filter(item -> proRouteMapper.selectProRouteByRouteId(item.getRouteId()).getEnableFlag().equals(UserConstants.YES)).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(products)){
|
||||
routeId = products.get(0).getRouteId();
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ public class WmItemConsumeServiceImpl implements IWmItemConsumeService
|
||||
line.setItemName(bom.getItemName());
|
||||
line.setSpecification(bom.getSpecification());
|
||||
line.setUnitOfMeasure(bom.getUnitOfMeasure());
|
||||
line.setQuantityConsume(bom.getQuantity().multiply(feedback.getQuantity()));
|
||||
line.setQuantityConsume(bom.getQuantity().multiply(feedback.getQuantityFeedback()));
|
||||
line.setBatchCode(workorder.getBatchCode());
|
||||
wmItemConsumeLineMapper.insertWmItemConsumeLine(line);
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ public class WmProductProduceServiceImpl implements IWmProductProduceService
|
||||
line.setItemName(feedback.getItemName());
|
||||
line.setSpecification(feedback.getSpecification());
|
||||
line.setUnitOfMeasure(feedback.getUnitOfMeasure());
|
||||
line.setQuantityProduce(feedback.getQuantity());
|
||||
line.setQuantityProduce(feedback.getQuantityFeedback());
|
||||
line.setBatchCode(workorder.getBatchCode());
|
||||
wmProductProduceLineMapper.insertWmProductProduceLine(line);
|
||||
return productProduce;
|
||||
|
@ -13,6 +13,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="workorderId" column="workorder_id" />
|
||||
<result property="workorderCode" column="workorder_code" />
|
||||
<result property="workorderName" column="workorder_name" />
|
||||
<result property="processId" column="process_id" />
|
||||
<result property="processCode" column="process_code" />
|
||||
<result property="processName" column="process_name" />
|
||||
<result property="taskId" column="task_id" />
|
||||
<result property="taskCode" column="task_code" />
|
||||
<result property="itemId" column="item_id" />
|
||||
@ -42,7 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectProFeedbackVo">
|
||||
select record_id,feedback_type, workstation_id, workstation_code, workstation_name, workorder_id, workorder_code, workorder_name, task_id, task_code,item_id,item_code,item_name,specification,unit_of_measure, quantity, quantity_feedback, quantity_qualified, quantity_unquanlified, user_name, nick_name, feedback_channel, feedback_time,record_user,record_nick,status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_feedback
|
||||
select record_id,feedback_type, workstation_id, workstation_code, workstation_name,process_id, process_code, process_name, workorder_id, workorder_code, workorder_name, task_id, task_code,item_id,item_code,item_name,specification,unit_of_measure, quantity, quantity_feedback, quantity_qualified, quantity_unquanlified, user_name, nick_name, feedback_channel, feedback_time,record_user,record_nick,status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_feedback
|
||||
</sql>
|
||||
|
||||
<select id="selectProFeedbackList" parameterType="ProFeedback" resultMap="ProFeedbackResult">
|
||||
@ -52,6 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="feedbackType !=null "> and feedback_type = #{feedbackType}</if>
|
||||
<if test="workstationCode != null and workstationCode != ''"> and workstation_code = #{workstationCode}</if>
|
||||
<if test="workstationName != null and workstationName != ''"> and workstation_name like concat('%', #{workstationName}, '%')</if>
|
||||
<if test="processId != null "> and process_id = #{processId}</if>
|
||||
<if test="processCode != null and processCode != ''"> and process_code = #{processCode}</if>
|
||||
<if test="processName != null and processName != ''"> and process_name like concat('%', #{processName}, '%')</if>
|
||||
<if test="workorderId != null "> and workorder_id = #{workorderId}</if>
|
||||
<if test="workorderCode != null and workorderCode != ''"> and workorder_code = #{workorderCode}</if>
|
||||
<if test="workorderName != null and workorderName != ''"> and workorder_name like concat('%', #{workorderName}, '%')</if>
|
||||
@ -88,6 +94,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="workstationId != null">workstation_id,</if>
|
||||
<if test="workstationCode != null">workstation_code,</if>
|
||||
<if test="workstationName != null">workstation_name,</if>
|
||||
<if test="processId != null">process_id,</if>
|
||||
<if test="processCode != null">process_code,</if>
|
||||
<if test="processName != null">process_name,</if>
|
||||
<if test="workorderId != null">workorder_id,</if>
|
||||
<if test="workorderCode != null">workorder_code,</if>
|
||||
<if test="workorderName != null">workorder_name,</if>
|
||||
@ -124,6 +133,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="workstationId != null">#{workstationId},</if>
|
||||
<if test="workstationCode != null">#{workstationCode},</if>
|
||||
<if test="workstationName != null">#{workstationName},</if>
|
||||
<if test="processId != null">#{processId},</if>
|
||||
<if test="processCode != null">#{processCode},</if>
|
||||
<if test="processName != null">#{processName},</if>
|
||||
<if test="workorderId != null">#{workorderId},</if>
|
||||
<if test="workorderCode != null">#{workorderCode},</if>
|
||||
<if test="workorderName != null">#{workorderName},</if>
|
||||
@ -164,6 +176,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="workstationId != null">workstation_id = #{workstationId},</if>
|
||||
<if test="workstationCode != null">workstation_code = #{workstationCode},</if>
|
||||
<if test="workstationName != null">workstation_name = #{workstationName},</if>
|
||||
<if test="processId != null">process_id = #{processId},</if>
|
||||
<if test="processCode != null">process_code = #{processCode},</if>
|
||||
<if test="processName != null">process_name = #{processName},</if>
|
||||
<if test="workorderId != null">workorder_id = #{workorderId},</if>
|
||||
<if test="workorderCode != null">workorder_code = #{workorderCode},</if>
|
||||
<if test="workorderName != null">workorder_name = #{workorderName},</if>
|
||||
|
@ -3,7 +3,7 @@
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ktg.mes.pro.mapper.ProTaskMapper">
|
||||
|
||||
|
||||
<resultMap type="ProTask" id="ProTaskResult">
|
||||
<result property="taskId" column="task_id" />
|
||||
<result property="taskCode" column="task_code" />
|
||||
@ -24,9 +24,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="unitOfMeasure" column="unit_of_measure" />
|
||||
<result property="quantity" column="quantity" />
|
||||
<result property="quantityProduced" column="quantity_produced" />
|
||||
<result property="quantityChanged" column="quantity_changed" />
|
||||
<result property="status" column="status" />
|
||||
<result property="quantityQuanlify" column="quantity_quanlify" />
|
||||
<result property="quantityUnquanlify" column="quantity_unquanlify" />
|
||||
<result property="quantityChanged" column="quantity_changed" />
|
||||
<result property="clientId" column="client_id" />
|
||||
<result property="clientCode" column="client_code" />
|
||||
<result property="clientName" column="client_name" />
|
||||
@ -36,7 +37,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="endTime" column="end_time" />
|
||||
<result property="colorCode" column="color_code" />
|
||||
<result property="requestDate" column="request_date" />
|
||||
<result property="status" column="status" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="attr1" column="attr1" />
|
||||
<result property="attr2" column="attr2" />
|
||||
@ -46,15 +46,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<sql id="selectProTaskVo">
|
||||
select task_id, task_code, task_name, workorder_id, workorder_code, workorder_name, workstation_id, workstation_code, workstation_name,process_id,process_code,process_name, item_id, item_code, item_name, specification, unit_of_measure, quantity, quantity_produced,quantity_quanlify,quantity_unquanlify, quantity_changed, client_id, client_code, client_name, client_nick, start_time, duration, end_time, color_code, request_date, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_task
|
||||
select task_id, task_code, task_name, workorder_id, workorder_code, workorder_name, workstation_id, workstation_code, workstation_name, process_id, process_code, process_name, item_id, item_code, item_name, specification, unit_of_measure, quantity, quantity_produced, quantity_changed, client_id, client_code, client_name, client_nick, start_time, duration, end_time, color_code, request_date, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, status, quantity_quanlify, quantity_unquanlify from pro_task
|
||||
</sql>
|
||||
|
||||
<select id="selectProTaskList" parameterType="ProTask" resultMap="ProTaskResult">
|
||||
<include refid="selectProTaskVo"/>
|
||||
<where>
|
||||
<where>
|
||||
<if test="taskCode != null and taskCode != ''"> and task_code = #{taskCode}</if>
|
||||
<if test="taskName != null and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
|
||||
<if test="workorderId != null "> and workorder_id = #{workorderId}</if>
|
||||
@ -73,8 +75,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="unitOfMeasure != null and unitOfMeasure != ''"> and unit_of_measure = #{unitOfMeasure}</if>
|
||||
<if test="quantity != null "> and quantity = #{quantity}</if>
|
||||
<if test="quantityProduced != null "> and quantity_produced = #{quantityProduced}</if>
|
||||
<if test="quantityQuanlify != null "> and quantity_quanlify = #{quantityQuanlify}</if>
|
||||
<if test="quantityUnquanlify != null "> and quantity_unquanlify = #{quantityUnquanlify}</if>
|
||||
<if test="quantityChanged != null "> and quantity_changed = #{quantityChanged}</if>
|
||||
<if test="clientId != null "> and client_id = #{clientId}</if>
|
||||
<if test="clientCode != null and clientCode != ''"> and client_code = #{clientCode}</if>
|
||||
@ -85,8 +85,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="endTime != null "> and end_time = #{endTime}</if>
|
||||
<if test="colorCode != null and colorCode != ''"> and color_code = #{colorCode}</if>
|
||||
<if test="requestDate != null "> and request_date = #{requestDate}</if>
|
||||
<if test="status != null "> and status = #{status}</if>
|
||||
order by request_date asc
|
||||
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
|
||||
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
|
||||
<if test="attr3 != null "> and attr3 = #{attr3}</if>
|
||||
<if test="attr4 != null "> and attr4 = #{attr4}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
<if test="quantityQuanlify != null "> and quantity_quanlify = #{quantityQuanlify}</if>
|
||||
<if test="quantityUnquanlify != null "> and quantity_unquanlify = #{quantityUnquanlify}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectProWorkorderVo">
|
||||
select workorder_id, workorder_code, workorder_name, order_source, source_code, product_id, product_code, product_name, product_spc, unit_of_measure,batch_code, quantity, client_id, client_code, client_name, request_date, parent_id, ancestors, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_workorder
|
||||
select workorder_id, workorder_code, workorder_name, order_source, source_code, product_id, product_code, product_name, product_spc, unit_of_measure,batch_code, quantity,quantity_produced, client_id, client_code, client_name, request_date, parent_id, ancestors, status, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_workorder
|
||||
</sql>
|
||||
|
||||
<select id="selectProWorkorderList" parameterType="ProWorkorder" resultMap="ProWorkorderResult">
|
||||
|
Loading…
Reference in New Issue
Block a user