Merge remote-tracking branch 'origin/master'

master
Yangwl 1 year ago
commit ddfb519fbf

@ -92,7 +92,17 @@ public interface RemoteSapService {
@PostMapping("/sap/sapPOrderGoodsReceipt")
public R sapPOrderGoodsReceipt(@RequestBody(required = false) List<Map<String, Object>> mapList);
/**101类型订单收货*/
/**
* 101
*
* * AUFNR CHAR12
* * WERKS
* * LGORT CHAR4
* * QUANTITY
* * ERFME UNIT
* * BATCH
* * HSDAT DATS8
*/
@PostMapping("/sap/sapOrderReceipt")
public R sapOrderReceipt(@RequestBody(required = false) List<Map<String, Object>> mapList);
}

@ -12,6 +12,24 @@ public class ChartSeriesDTO {
private List<String> yAxisData;
private List<ChartDTO> series;
private List<String> legendData;
private List<String> xAxisData;
public List<String> getxAxisData() {
return xAxisData;
}
public void setxAxisData(List<String> xAxisData) {
this.xAxisData = xAxisData;
}
public List<String> getLegendData() {
return legendData;
}
public void setLegendData(List<String> legendData) {
this.legendData = legendData;
}
public List<String> getyAxisData() {
return yAxisData;

@ -124,9 +124,9 @@ public class DevicePDAController extends BaseController {
/**
*
*/
@GetMapping(value = "/queryEquipment/{equipmentId}")
public AjaxResult queryEquipment(@PathVariable("equipmentId") Long equipmentId) {
return devicePDAService.selectEquEquipmentByEquEquipmentId(equipmentId);
@GetMapping(value = "/queryEquipment/{equipmentCode}")
public AjaxResult queryEquipment(@PathVariable("equipmentCode") String equipmentCode) {
return devicePDAService.selectEquEquipmentByEquEquipmentCode(equipmentCode);
}
/**
@ -198,4 +198,6 @@ public class DevicePDAController extends BaseController {
public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) {
return devicePDAService.selectEquFaultReasonList(equFaultReason);
}
}

@ -114,6 +114,28 @@ public class EquSpareApply extends BaseEntity {
@Excel(name = "物料描述")
private String materialDesc;
/** 单价 */
@Excel(name = "单价")
private BigDecimal unitPrice;
/** 总价 */
@Excel(name = "总价")
private BigDecimal totalPrice;
public void setUnitPrice(BigDecimal unitPrice) {
this.unitPrice = unitPrice;
}
public BigDecimal getUnitPrice() {
return unitPrice;
}
public void setTotalPrice(BigDecimal totalPrice) {
this.totalPrice = totalPrice;
}
public BigDecimal getTotalPrice() {
return totalPrice;
}
public void setMaterialCode(String materialCode) {
this.materialCode = materialCode;
}

@ -32,6 +32,8 @@ public interface EquCheckItemMapper {
*/
public List<EquCheckItem> selectEquCheckItemList(EquCheckItem equCheckItem);
public List<EquCheckItem> selectPrecisionEquCheckItemList(EquCheckItem equCheckItem);
/**
*
*

@ -17,10 +17,10 @@ public interface EquEquipmentMapper {
/**
*
*
* @param equipmentId
* @param equipmentCode
* @return
*/
public EquEquipment selectEquEquipmentByEquEquipmentId(Long equipmentId);
public EquEquipment selectEquEquipmentByEquEquipmentCode(String equipmentCode);
/**
*

@ -86,4 +86,10 @@ public interface EquOperationMapper {
// 分批次删除
int deleteOperation(@Param("delSize") int delSize);
/**
*
* @return
*/
public EquOperation selectEquipmentIntegrityRate(@Param("time")String time, @Param("equipmentCode")String equipmentCode);
}

@ -86,10 +86,10 @@ public interface IDevicePDAService {
/**
*
*
* @param equipmentId
* @param equipmentCode
* @return
*/
public AjaxResult selectEquEquipmentByEquEquipmentId(Long equipmentId);
public AjaxResult selectEquEquipmentByEquEquipmentCode(String equipmentCode);
/**
*

@ -22,8 +22,13 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
import static com.op.common.core.web.domain.AjaxResult.error;
@ -81,6 +86,9 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@Autowired
private EquFaultReasonMapper equFaultReasonMapper;
@Autowired
private EquOperationMapper equOperationMapper;
/**
* list-
@ -91,7 +99,40 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@DS("#header.poolName")
public AjaxResult getTodayTask(PDADTO pdadto) {
List<EquOrder> orderList = equOrderMapper.selectTodayTask(pdadto);
return success(orderList);
List<EquOrder> handleList = new ArrayList<>();
long nowTime = DateUtils.getNowDate().getTime();
long dayMs = 86400000l;
if (orderList!=null) {
for (EquOrder order : orderList) {
long diff = nowTime - order.getCreateTime().getTime();
if (order.getPlanLoopType().equals("day")){
if (diff < (dayMs * Long.valueOf(order.getPlanLoop()))) {
handleList.add(order);
}
}
if (order.getPlanLoopType().equals("week")){
if (diff < (dayMs*7 * Long.valueOf(order.getPlanLoop()))) {
handleList.add(order);
}
}
if (order.getPlanLoopType().equals("month")){
if (diff < (dayMs*30 * Long.valueOf(order.getPlanLoop()))) {
handleList.add(order);
}
}
if (order.getPlanLoopType().equals("season")){
if (diff < (dayMs*30*3 * Long.valueOf(order.getPlanLoop()))) {
handleList.add(order);
}
}
if (order.getPlanLoopType().equals("year")){
if (diff < (dayMs*365 * Long.valueOf(order.getPlanLoop()))) {
handleList.add(order);
}
}
}
}
return success(handleList);
}
/**
@ -366,7 +407,13 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
// 费用
BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equOrder.getOrderCode());
BigDecimal orderCost = equOrder.getOrderCost();
equOrder.setOrderCost(sparePartsCost.add(orderCost));
if (orderCost!=null) {
if (sparePartsCost==null) {
equOrder.setOrderCost(orderCost);
}else {
equOrder.setOrderCost(sparePartsCost.add(orderCost));
}
}
// 更新设备状态为正常运行
equ.setStatus("1");
@ -621,14 +668,14 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
/**
*
* @param equipmentId
* @param equipmentCode
* @return
*/
@Override
@DS("#header.poolName")
public AjaxResult selectEquEquipmentByEquEquipmentId(Long equipmentId) {
public AjaxResult selectEquEquipmentByEquEquipmentCode(String equipmentCode) {
try {
EquEquipment list = equEquipmentMapper.selectEquEquipmentByEquEquipmentId(equipmentId);
EquEquipment list = equEquipmentMapper.selectEquEquipmentByEquEquipmentCode(equipmentCode);
return success(list);
} catch (Exception e) {
return error();
@ -699,7 +746,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
@DS("#header.poolName")
public AjaxResult updateMaintenanceRecords(EquRepairWorkOrder equRepairWorkOrder) {
try {
//判断是否停机
//1.判断是否停机
EquRepairWorkOrder list = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(equRepairWorkOrder.getWorkId());
if (list.getWorkDownMachine().equals("1")) {
//维修真正停机时间
@ -708,10 +755,55 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
//维修工单结束时间
equRepairWorkOrder.setWorkEndTime(DateUtils.getNowDate());
//计算维修工单用时
//获取工单的开始时间
//2.计算维修工单用时
if(list.getWorkStartTime()!= null && equRepairWorkOrder.getWorkEndTime()!= null){
////更新每一项点检/巡检检查项信息
//2.1计算日期差值
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime start = LocalDateTime.ofInstant(list.getWorkStartTime().toInstant(), zoneId);
LocalDateTime end = LocalDateTime.ofInstant(equRepairWorkOrder.getWorkEndTime().toInstant(), zoneId);
LocalDateTime tempDateTime = LocalDateTime.from(start);
// long years = tempDateTime.until(end, ChronoUnit.YEARS);
// tempDateTime = tempDateTime.plusYears(years);
// long months = tempDateTime.until(end, ChronoUnit.MONTHS);
// tempDateTime = tempDateTime.plusMonths(months);
// long days = tempDateTime.until(end, ChronoUnit.DAYS);
// tempDateTime = tempDateTime.plusDays(days);
double hours = tempDateTime.until(end, ChronoUnit.HOURS);
// tempDateTime = tempDateTime.plusHours(hours);
double minutes = ((tempDateTime.until(end, ChronoUnit.MINUTES)*1.0)%60)/60;
// tempDateTime = tempDateTime.plusMinutes(minutes);
double seconds = ((tempDateTime.until(end, ChronoUnit.SECONDS)*1.0)%3600)/3600;
double hour = BigDecimal.valueOf(hours + minutes + seconds).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
//2.2查询完好率报表
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(equRepairWorkOrder.getWorkEndTime());
EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time,equRepairWorkOrder.getEquipmentCode());
//2.3修改完好率报表
if(equOperation != null){
DecimalFormat df = new DecimalFormat("#.##");
//实际运行时间 = 实际运行时间 - 故障时间
double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour;
//故障时间 = 原来的故障时间 + 这次的故障时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour;
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());
equOperationMapper.updateEquOperation(equOperation);
}
}
////3.更新每一项点检/巡检检查项信息
//判空
if(StringUtils.isNotEmpty(equRepairWorkOrder.getDetailList())){
List<EquOrder> checkLists = equRepairWorkOrder.getDetailList();
@ -752,7 +844,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
}
}
////新建申领单
////4.新建申领单
//判空
if(StringUtils.isNotEmpty(equRepairWorkOrder.getApplyList())){
List<EquSpareApply> equSpareApplies = equRepairWorkOrder.getApplyList();
@ -782,6 +874,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
//工厂号
//备件费用?????
equSpareApply.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_", ""));
equSpareApplyMapper.insertEquSpareApply(equSpareApply);
@ -796,7 +889,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
}
}
////增加多个维修后照片
////5.增加多个维修后照片
//先删除每个维修工单对应图片
equRepairWorkOrderMapper.deleteBaseFileBySourceId(equRepairWorkOrder.getWorkId());
if (StringUtils.isNotEmpty(equRepairWorkOrder.getFileList())) {
@ -818,7 +911,7 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
equRepairWorkOrderMapper.insertBaseFileBatch(files);
}
////更新维修工单
////6.更新维修工单
//维修状态
equRepairWorkOrder.setWorkStatus("1");
//维修人
@ -832,11 +925,11 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
EquRepairWorkOrder example = equRepairWorkOrderMapper.selectEquRepairWorkOrderByWorkId(equRepairWorkOrder.getWorkId());
// 费用
BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
// BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
// BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
// equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
//修改设备状态 由维修中改为正常运行
//7.修改设备状态 由维修中改为正常运行
EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(example.getEquipmentCode());
equEquipment.setEquipmentStatus("1");

@ -112,7 +112,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService {
EquCheckItem checkItem = new EquCheckItem();
checkItem.setItemType(equCheckItemDTO.getItemType());
checkItem.setItemName(equCheckItemDTO.getItemName());
List<EquCheckItem> check = equCheckItemMapper.selectEquCheckItemList(checkItem);
List<EquCheckItem> check = equCheckItemMapper.selectPrecisionEquCheckItemList(checkItem);
if (check.size() > 0) {
return error(500, "检查项已存在!新增失败!");
}
@ -165,7 +165,7 @@ public class EquCheckItemServiceImpl implements IEquCheckItemService {
EquCheckItem checkQuery = new EquCheckItem();
checkQuery.setItemType(equCheckItemDTO.getItemType());
checkQuery.setItemName(equCheckItemDTO.getItemName());
List<EquCheckItem> check = equCheckItemMapper.selectEquCheckItemList(checkQuery);
List<EquCheckItem> check = equCheckItemMapper.selectPrecisionEquCheckItemList(checkQuery);
if (check.size()>0) {
if (!check.get(0).getItemCode().equals(equCheckItemDTO.getItemCode())) {
return error(500,"检查项已存在!不可修改!");

@ -1,6 +1,8 @@
package com.op.device.service.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@ -47,6 +49,9 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
@Autowired
private EquSpareApplyMapper equSpareApplyMapper;
@Autowired
private EquOperationMapper equOperationMapper;
/**
*
*
@ -152,18 +157,19 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
*
*
* @param equRepairWorkOrder
* @return outSourcePerson
* @return
*/
@Override
@DS("#header.poolName")
public int updateEquRepairWorkOrder(EquRepairWorkOrder equRepairWorkOrder) {
//1.是否停机
if(equRepairWorkOrder.getWorkDownMachine().equals("0")){
equRepairWorkOrder.setWorkPlanDownTime(null);
}
equRepairWorkOrder.setUpdateBy(SecurityUtils.getUsername());
equRepairWorkOrder.setUpdateTime(DateUtils.getNowDate());
//先删除每个维修工单对应图片
//2.先删除每个维修工单对应图片,再新增照
equRepairWorkOrderMapper.deleteBaseFileBySourceId(equRepairWorkOrder.getWorkId());
if (StringUtils.isNotEmpty(equRepairWorkOrder.getAfterRepairFile())) {
String[] ids = equRepairWorkOrder.getAfterRepairFile().split(",");
@ -184,7 +190,7 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
equRepairWorkOrderMapper.insertBaseFileBatch(files);
}
//更新标准表
//3.更新标准表
for(EquOrderStandard equOrderStandard:equRepairWorkOrder.getStandardList()){
//先删除每个检查项标准图片
String imageType = "4";
@ -214,18 +220,44 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
equOrderStandardMapper.updateStandardAfterRepair(equOrderStandard);
}
//5.更新设备状态
if(equRepairWorkOrder.getWorkStatus().equals("1")){
//修改设备状态 由维修中改为正常运行
//5.1修改设备状态 由维修中改为正常运行
EquEquipment equEquipment = new EquEquipment();
equEquipment.setEquipmentCode(equRepairWorkOrder.getEquipmentCode());
equEquipment.setEquipmentStatus("1");
equRepairWorkOrderMapper.updateEquipmentStatus(equEquipment);
//5.2维修完成后 相应的设备完好率重新计算 小时计算 保留一位小数 实际故障时间 换算成小时
String hours = equRepairWorkOrder.getWorkCostTime().substring(0,equRepairWorkOrder.getWorkCostTime().length()-2); //截掉后两位
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(equRepairWorkOrder.getWorkEndTime());
EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time,equRepairWorkOrder.getEquipmentCode());
if(equOperation != null){
DecimalFormat df = new DecimalFormat("#.##");
//实际运行时间 = 实际运行时间 - 故障时间
double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours);
//故障时间 = 原来的故障时间 + 这次的故障时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours);
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
// 故障率计算(故障时间/运行时间)
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());
equOperationMapper.updateEquOperation(equOperation);
}
}
// 费用
BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
// 备件费用
// BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
// BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
// equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
return equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder);
}

@ -95,6 +95,8 @@ public class EquSpareApplyServiceImpl implements IEquSpareApplyService {
String code = applyList.getWorkCode();
applyList.setApplyCode("AW" + code.substring(2) + serialNum);
}
//总价
// applyList.setTotalPrice(applyList.getAmount().multiply(applyList.getUnitPrice()));
//领用时间
applyList.setApplyTime(DateUtils.getNowDate());
//申领人

@ -57,6 +57,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY create_time DESC
</where>
</select>
<select id="selectPrecisionEquCheckItemList" parameterType="EquCheckItem" resultMap="EquCheckItemResult">
<include refid="selectEquCheckItemVo"/>
where item_name = #{itemName} and item_type = #{itemType} and del_flag = '0'
</select>
<select id="selectEquCheckItemByItemId" parameterType="String" resultMap="EquCheckItemResult">
<include refid="selectEquCheckItemVo"/>

@ -92,9 +92,9 @@
</where>
</select>
<select id="selectEquEquipmentByEquEquipmentId" parameterType="Long" resultMap="EquEquipmentResult">
<select id="selectEquEquipmentByEquEquipmentCode" parameterType="String" resultMap="EquEquipmentResult">
<include refid="selectEquEquipmentVo"/>
where equipment_id = #{equipmentId}
where equipment_code = #{equipmentCode}
</select>
<insert id="insertEquEquipment" parameterType="EquEquipment">

@ -45,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''"> and update_by like concat('%', #{updateBy}, '%')</if>
and del_flag = '0'
</where>
ORDER BY CAST(RIGHT(fault_code, 4) AS INTEGER)
</select>
<select id="selectEquFaultDescriptionByFaultId" parameterType="String" resultMap="EquFaultDescriptionResult">
@ -122,6 +123,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSerialNumber" resultType="java.lang.Integer">
SELECT COUNT(fault_id)+1 AS serialNum
FROM equ_fault_description
WHERE CONVERT(date, GETDATE()) = CONVERT(date,create_time)
WHERE del_flag = '0'
</select>
</mapper>

@ -45,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''"> and update_by like concat('%', #{updateBy}, '%')</if>
and del_flag = '0'
</where>
ORDER BY CAST(RIGHT(fault_code, 4) AS INTEGER)
</select>
<select id="selectEquFaultMeasuresByFaultId" parameterType="String" resultMap="EquFaultMeasuresResult">
@ -122,6 +123,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSerialNumber" resultType="java.lang.Integer">
SELECT COUNT(fault_id)+1 AS serialNum
FROM equ_fault_measures
WHERE CONVERT(date, GETDATE()) = CONVERT(date,create_time)
WHERE del_flag = '0'
</select>
</mapper>

@ -45,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null and updateBy != ''"> and update_by like concat('%', #{updateBy}, '%')</if>
and del_flag = '0'
</where>
ORDER BY CAST(RIGHT(fault_code, 4) AS INTEGER)
</select>
<select id="selectEquFaultReasonByFaultId" parameterType="String" resultMap="EquFaultReasonResult">
@ -122,6 +123,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSerialNumber" resultType="java.lang.Integer">
SELECT COUNT(fault_id)+1 AS serialNum
FROM equ_fault_reason
WHERE CONVERT(date, GETDATE()) = CONVERT(date,create_time)
WHERE del_flag = '0'
</select>
</mapper>

@ -50,7 +50,7 @@
<if test="updateBy != null and updateBy != ''"> and update_by like concat('%', #{updateBy}, '%')</if>
and del_flag = '0'
</where>
ORDER BY create_time DESC
ORDER BY CAST(RIGHT(fault_code, 4) AS INTEGER)
</select>
<select id="selectEquFaultTypeByFaultId" parameterType="String" resultMap="EquFaultTypeResult">
@ -61,7 +61,7 @@
<select id="selectSerialNumber" resultType="java.lang.Integer">
SELECT COUNT(fault_id)+1 AS serialNum
FROM equ_fault_type
WHERE CONVERT(date, GETDATE()) = CONVERT(date,create_time)
WHERE del_flag = '0'
</select>
<insert id="insertEquFaultType" parameterType="EquFaultType">

@ -105,13 +105,17 @@
</select>
<select id="selectEquipments" resultType="com.op.device.domain.EquOperation">
select be.equipment_code AS 'equipmentCode',be.equipment_name AS 'equipmentName',zx.equipment_name AS 'groupLine',be.workshop_name AS 'workshop'
select be.equipment_code AS 'equipmentCode',
be.equipment_name AS 'equipmentName',
zx.equipment_name AS 'groupLine',
be.workshop_name AS 'workshop'
from base_equipment be
left join equ_bind_auxiliary_equipment bae
on bae.auxiliary_equipment_code = be.equipment_code
left join base_equipment zx
on bae.equipment_code = zx.equipment_code
where be.del_flag = '0' and be.equipment_category = '0'
where be.del_flag = '0'
and be.equipment_category = '0'
</select>
<select id="checkInsertOperation" resultType="java.lang.Integer">
@ -256,4 +260,12 @@
ORDER BY id
OFFSET 0 ROWS FETCH NEXT #{delSize} ROWS ONLY)
</delete>
<select id="selectEquipmentIntegrityRate" parameterType = "String" resultMap="EquOperationResult">
<include refid="selectEquOperationVo"/>
where CONVERT(varchar,create_time,21) like concat('%',#{time}, '%')
and equipment_code = #{equipmentCode}
and del_flag = '0'
</select>
</mapper>

@ -48,6 +48,7 @@
<result property="itemTools" column="item_tools" />
<result property="outsourceCode" column="outsource_code" />
<result property="equipmentName" column="equipment_name" />
</resultMap>
<sql id="selectEquOrderVo">
@ -138,17 +139,103 @@
</select>
<select id="selectTodayTask" parameterType="String" resultMap="EquOrderResult">
<include refid="selectEquOrderVo"/>
where plan_type = #{planType} and del_flag = '0' and order_status != '1' and order_code in (
select order_code from equ_order_person where del_flag = '0' and user_name = #{userId} GROUP BY order_code
)
select eo.order_id,
eo.plan_id,
eo.plan_code,
eo.plan_type,
eo.order_code,
eo.plan_workshop,
eo.plan_prod_line,
eo.plan_loop,
eo.plan_loop_type,
eo.plan_loop_start,
eo.plan_loop_end,
eo.order_start,
eo.order_end,
eo.equipment_code,
eo.order_status,
eo.order_cost,
eo.plan_person,
eo.order_cost_time,
eo.order_sign_person,
eo.factory_code,
eo.attr1,
eo.attr2,
eo.attr3,
eo.del_flag,
eo.create_by,
eo.create_time,
eo.update_by,
eo.update_time,
eo.upkeep,
eo.calculation_rule,
eo.shut_down,
eo.order_inspect,
eo.repair_code,
eo.work_code,
eo.outsource_code,
be.equipment_name
from equ_order eo
left join base_equipment be on eo.equipment_code = be.equipment_code
where eo.plan_type = #{planType}
and eo.del_flag = '0'
and eo.order_status != '1'
and eo.order_code in (select order_code
from equ_order_person
where del_flag = '0'
and user_name = #{userId}
GROUP BY order_code)
order by eo.plan_loop_type, eo.plan_loop, eo.create_time desc, eo.equipment_code
</select>
<select id="selectTaskRecord" parameterType="String" resultMap="EquOrderResult">
<include refid="selectEquOrderVo"/>
where del_flag = '0' and order_status = '1' and plan_type = #{planType} and plan_person = #{userId} and order_code in (
select order_code from equ_order_person where del_flag = '0' and user_name = #{userId} GROUP BY order_code
)
select eo.order_id,
eo.plan_id,
eo.plan_code,
eo.plan_type,
eo.order_code,
eo.plan_workshop,
eo.plan_prod_line,
eo.plan_loop,
eo.plan_loop_type,
eo.plan_loop_start,
eo.plan_loop_end,
eo.order_start,
eo.order_end,
eo.equipment_code,
eo.order_status,
eo.order_cost,
eo.plan_person,
eo.order_cost_time,
eo.order_sign_person,
eo.factory_code,
eo.attr1,
eo.attr2,
eo.attr3,
eo.del_flag,
eo.create_by,
eo.create_time,
eo.update_by,
eo.update_time,
eo.upkeep,
eo.calculation_rule,
eo.shut_down,
eo.order_inspect,
eo.repair_code,
eo.work_code,
eo.outsource_code,
be.equipment_name
from equ_order eo
left join base_equipment be on eo.equipment_code = be.equipment_code
where eo.del_flag = '0'
and eo.order_status = '1'
and eo.plan_type = #{planType}
and eo.plan_person = #{userId}
and eo.order_code in (select order_code
from equ_order_person
where del_flag = '0' and user_name = #{userId}
GROUP BY order_code)
order by eo.update_time desc
</select>
<select id="selectEquipmentNameByEquCode" resultType="java.lang.String">

@ -28,10 +28,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="unitPrice" column="unit_price" />
<result property="totalPrice" column="total_price" />
</resultMap>
<sql id="selectEquSpareApplyVo">
select apply_id, apply_code, work_code,parent_code,apply_type,spare_code, spare_name, spare_model, spare_quantity, spare_group_line, spare_use_equipment, apply_time, apply_people, apply_approve_people, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time, factory_code from equ_spare_apply
select apply_id, apply_code, work_code,parent_code,apply_type,spare_code, spare_name, spare_model, spare_quantity, spare_group_line, spare_use_equipment, apply_time, apply_people, apply_approve_people, attr1, attr2, attr3, del_flag, create_by, create_time, update_by, update_time, factory_code , unit_price , total_price from equ_spare_apply
</sql>
<select id="selectEquSpareApplyList" parameterType="EquSpareApply" resultMap="EquSpareApplyResult">
@ -55,6 +57,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
<if test="attr3 != null and attr3 != ''"> and attr3 = #{attr3}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="unitPrice != null and unitPrice != ''"> and unit_price = #{unitPrice}</if>
<if test="totalPrice != null and totalPrice != ''"> and total_price = #{totalPrice}</if>
and del_flag = '0'
ORDER BY apply_time DESC
</where>
@ -92,6 +96,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null">factory_code,</if>
<if test="unitPrice != null">unit_price,</if>
<if test="totalPrice != null">total_price,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="applyId != null">#{applyId},</if>
@ -117,6 +123,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null">#{factoryCode},</if>
<if test="unitPrice != null">#{unitPrice},</if>
<if test="totalPrice != null">#{totalPrice},</if>
</trim>
</insert>
@ -145,6 +153,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null">factory_code = #{factoryCode},</if>
<if test="unitPrice != null">unit_price = #{unitPrice},</if>
<if test="totalPrice != null">total_price = #{totalPrice},</if>
</trim>
where apply_id = #{applyId}
</update>
@ -210,7 +220,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getSparePartsCost" resultType="java.math.BigDecimal">
select SUM(a.spare_quantity * w.unit_price)
from equ_spare_apply a
left join wms_ods_mate_storage_news_attached w on a.spare_code = w.primary_code
left join wms_ods_mate_storage_news_attached w on a.spare_code = w.primary_code
where a.work_code = #{orderCode}
</select>

@ -118,9 +118,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
equ.equipment_type_code
</select>
<select id="getBoardFactory" resultType="com.op.system.api.domain.SysDept">
select dept_id parentName,
dept_name deptName
from sys_dept where parent_id = '1' and del_flag = '0'
select SUBSTRING(pool_name, 4, 6) parentName,
park_name deptName
from sys_datasource where del_flag = '0' and status = '0'
</select>
<select id="getTotalNumL" resultType="com.op.system.api.domain.dto.BoardDTO">
select count(0) totalNum,

@ -85,9 +85,7 @@ public class OpenController extends BaseController {
/**创建生产过程(烘房 首检)检验*/
@PostMapping(value = "/createCheckProduceTask")
public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) {
if(StringUtils.isBlank(qcCheckTaskProduce.getIncomeBatchNo())){
return error("[IncomeBatchNo]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())){
return error("[orderNo]不能为空");
@ -102,7 +100,7 @@ public class OpenController extends BaseController {
}
if(StringUtils.isBlank(qcCheckTaskProduce.getCheckType())){
return error("[checkType:produce]不能为空");
return error("[checkType]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskProduce.getFactoryCode())){
@ -113,7 +111,6 @@ public class OpenController extends BaseController {
return success(openService.insertQcCheckTaskProduce(qcCheckTaskProduce));
}
/**
* ZL0010- :"workflowId": 26235
*

@ -176,7 +176,6 @@ public class QcCheckReportIncomeController extends BaseController {
*/
@GetMapping("/getCkeckProjectList")
public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
startPage();
List<QcCheckTaskDetail> list = qcCheckReportIncomeService.getCkeckProjectList(qcCheckTaskDetail);
return getDataTable(list);
}

@ -9,10 +9,7 @@ import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.QcBomComponent;
import com.op.quality.domain.QcCheckReportIncome;
import com.op.quality.domain.QcCheckTaskDetail;
import com.op.quality.domain.QcSupplier;
import com.op.quality.domain.*;
import com.op.quality.service.IQcCheckReportProduceService;
import com.op.system.api.domain.SysUser;
import org.apache.commons.lang.StringUtils;
@ -174,8 +171,14 @@ public class QcCheckReportProduceController extends BaseController {
*/
@GetMapping("/getCkeckProjectList")
public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
startPage();
List<QcCheckTaskDetail> list = qcCheckReportProduceService.getCkeckProjectList(qcCheckTaskDetail);
return getDataTable(list);
}
/**巡检报表数据**/
@PostMapping("/getProduceReportXJ")
public QcCheckTaskProduce getProduceReportXJ(@RequestBody QcCheckTaskProduce qcCheckTaskProduce) {
QcCheckTaskProduce dto = qcCheckReportProduceService.getProduceReportXJ(qcCheckTaskProduce);
return dto;
}
}

@ -179,7 +179,6 @@ public class QcCheckReportProductController extends BaseController {
*/
@GetMapping("/getCkeckProjectList")
public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
startPage();
List<QcCheckTaskDetail> list = qcCheckReportProductService.getCkeckProjectList(qcCheckTaskDetail);
return getDataTable(list);
}

@ -2,6 +2,8 @@ package com.op.quality.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.quality.domain.QcCheckType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -94,4 +96,13 @@ public class QcSampleRuleController extends BaseController {
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcSampleRuleService.deleteQcSampleRuleByIds(ids));
}
/**
*
*/
@GetMapping(value = "/getCheckType/{typeCode}")
public TableDataInfo getCheckType(@PathVariable("typeCode") String typeCode) {
List<QcCheckType> list = qcSampleRuleService.selectCheckType(typeCode);
return getDataTable(list);
}
}

@ -11,7 +11,10 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.utils.DateUtils;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.domain.QcCheckType;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import com.op.system.api.domain.quality.FactoryDto;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -227,6 +230,16 @@ public class QcStaticTableController extends BaseController {
return qcStaticTableService.getWorkcenterList(factoryDto);
}
@GetMapping("/getCheckTypeList/{typeCode}")
public List<QcCheckType> getCheckTypeList(@PathVariable("typeCode") String typeCode) {
return qcStaticTableService.getCheckTypeList(typeCode);
}
@GetMapping("/getSupplierList/{typeCode}")
public List<QcStaticTable> getSupplierList(@PathVariable("typeCode") String typeCode) {
return qcStaticTableService.getSupplierList(typeCode);
}
/**
*
*/
@ -251,4 +264,53 @@ public class QcStaticTableController extends BaseController {
List<QcStaticTable> list = qcStaticTableService.getXJCheckTableDetail(qcStaticTable);
return list;
}
/**巡检小时不良**/
@RequiresPermissions("quality:qcTableXJAnalysis:list")
@GetMapping("/getXJChartData")
public ChartSeriesDTO getXJChartData(QcStaticTable qcStaticTable) {
if(StringUtils.isEmpty(qcStaticTable.getYmdms())){
LocalDate date = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String ymStr = dtf.format(date);
qcStaticTable.setYmdms(ymStr);//end
}
ChartSeriesDTO dto = qcStaticTableService.getXJChartData(qcStaticTable);
return dto;
}
/**质检不良率统计**/
@RequiresPermissions("quality:qcProduceAnalysis:list")
@GetMapping("/getQmsRateTable")
public TableDataInfo getQmsRateTable(QcStaticTable qcStaticTable) {
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcStaticTable.getYmArrayStart())){
LocalDate date = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String ymStr = dtf.format(date);
qcStaticTable.setYmArrayStart(ymStr);
qcStaticTable.setYmArrayEnd(ymStr);
}
startPage();
List<QcStaticTable> list = qcStaticTableService.getQmsRateTable(qcStaticTable);
return getDataTable(list);
}
@PostMapping("/exportProduceAnalysis")
public void exportProduceAnalysis(HttpServletResponse response, QcStaticTable qcStaticTable) {
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcStaticTable.getYmArrayStart())){
LocalDate date = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String ymStr = dtf.format(date);
qcStaticTable.setYmArrayStart(ymStr);
qcStaticTable.setYmArrayEnd(ymStr);
}
List<QcStaticTable> list = qcStaticTableService.getQmsRateTable(qcStaticTable);
ExcelUtil<QcStaticTable> util = new ExcelUtil<QcStaticTable>(QcStaticTable.class);
util.exportExcel(response, list, "质检不良统计");
}
}

@ -247,7 +247,7 @@ public class QuaController extends BaseController {
return getDataTable(list);
}
@PutMapping("/getBatchList")
@PostMapping("/getBatchList")
public List<QcCheckTaskIncome> getBatchList(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
return qcCheckTaskIncomeService.getBatchList(qcCheckTaskIncome);

@ -124,6 +124,24 @@ public class QcCheckReportIncome extends BaseEntity {
private String checkTimeEnd;
private String typeCode;//大类
private String checkType;//小类
private String checkName;
private String createTimeStr;
public String getCreateTimeStr() {
return createTimeStr;
}
public void setCreateTimeStr(String createTimeStr) {
this.createTimeStr = createTimeStr;
}
public String getCheckName() {
return checkName;
}
public void setCheckName(String checkName) {
this.checkName = checkName;
}
public BigDecimal getSampleQuality() {
return sampleQuality;

@ -2,6 +2,8 @@ package com.op.quality.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -129,6 +131,7 @@ public class QcCheckTaskProduce extends BaseEntity {
private String checkType;
private String workorderCode;
private String orderType;
private String lineName;
@Excel(name = "抽样数量")
private BigDecimal sampleQuality;
@ -144,6 +147,32 @@ public class QcCheckTaskProduce extends BaseEntity {
@Excel(name = "C类不合格数量")
private BigDecimal cNoOkquality;
private String checkName;
private List<QcStaticTable> checkInfos;
public List<QcStaticTable> getCheckInfos() {
return checkInfos;
}
public void setCheckInfos(List<QcStaticTable> checkInfos) {
this.checkInfos = checkInfos;
}
public String getLineName() {
return lineName;
}
public void setLineName(String lineName) {
this.lineName = lineName;
}
public String getCheckName() {
return checkName;
}
public void setCheckName(String checkName) {
this.checkName = checkName;
}
public String getOrderType() {
return orderType;

@ -36,6 +36,12 @@ public class QcProjectType extends BaseEntity {
/** 删除标识1删除0正常 */
private String delFlag;
@Excel(name = "检验标准")
private String standardNo;
@Excel(name = "版本")
private String version;
public void setId(String id) {
this.id = id;
}
@ -79,6 +85,22 @@ public class QcProjectType extends BaseEntity {
return delFlag;
}
public String getStandardNo() {
return standardNo;
}
public void setStandardNo(String standardNo) {
this.standardNo = standardNo;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -92,6 +114,8 @@ public class QcProjectType extends BaseEntity {
.append("updateTime", getUpdateTime())
.append("factoryCode", getFactoryCode())
.append("delFlag", getDelFlag())
.append("standard", getStandardNo())
.append("version", getVersion())
.toString();
}
}

@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import java.math.BigDecimal;
import java.util.Date;
@ -20,10 +21,10 @@ public class QcStaticTable extends BaseEntity {
private String supplierId;
@Excel(name = "供应商编号")
@Excel(name = "单位编码")
private String supplierCode;
@Excel(name = "供应商名称")
@Excel(name = "单位名称")
private String supplierName;
private List<String> supplierCodes;
@ -35,19 +36,34 @@ public class QcStaticTable extends BaseEntity {
private int noOkBatchs;
private int nums;
private int okNums;
private int noOkNums;
private String typeCode;
private String checkResult;
private String noOkBatchRate;
private String noOkNumRate;
private String ymArrayStart;
private String ymArrayEnd;
private List<String> legendData;
private List<String> xAxis;
private List<ChartDTO> series;
@Excel(name = "订单编码")
private String orderNo;
@Excel(name = "批次")
private String incomeBatchNo;
@Excel(name = "产品编码")
private String materialCode;
@Excel(name = "产品名称")
private String materialName;
@Excel(name = "数量")
private String quality;
@Excel(name = "单位")
private String unit;
@Excel(name = "抽样数量")
private String sampleQuality;
@Excel(name = "不良数量")
private int noOkNums;
@Excel(name = "不良比例")
private String noOkNumRate;
private BigDecimal aNoOkquality;
private BigDecimal bNoOkquality;
private BigDecimal cNoOkquality;
@ -58,10 +74,7 @@ public class QcStaticTable extends BaseEntity {
private String recordId;
private String checkNo;
private String orderNo;
private String incomeBatchNo;
private String quality;
private String unit;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date incomeTime;
private String checkManCode;
@ -83,6 +96,33 @@ public class QcStaticTable extends BaseEntity {
private String column180190;
private String column190200;
private String column200210;
private String startDateStr;
private String endDateStr;
private String checkType;
public String getCheckType() {
return checkType;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public String getStartDateStr() {
return startDateStr;
}
public void setStartDateStr(String startDateStr) {
this.startDateStr = startDateStr;
}
public String getEndDateStr() {
return endDateStr;
}
public void setEndDateStr(String endDateStr) {
this.endDateStr = endDateStr;
}
public String getColumn080090() {
return column080090;
@ -531,4 +571,5 @@ public class QcStaticTable extends BaseEntity {
public void setSupplierName(String supplierName) {
this.supplierName = supplierName;
}
}

@ -71,4 +71,6 @@ public interface QcCheckReportIncomeMapper {
int getTodayMaxNum(QcCheckReportIncome qcCheckReportIncome);
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskProduce getTopInfo(QcCheckTaskProduce qcCheckTaskProduce);
}

@ -2,6 +2,7 @@ package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcCheckReportIncome;
import com.op.quality.domain.QcCheckTaskProduce;
import com.op.quality.domain.QcCheckType;
import com.op.system.api.domain.mes.ProOrderWorkorderDTO;
@ -73,4 +74,12 @@ public interface QcCheckTaskProduceMapper {
List<QcCheckTaskProduce> getOrderWorks(ProOrderWorkorderDTO qoWork);
List<String> selectQcCheckTaskCheckNoByRecordIds(String[] recordIds);
/**
*
*
* @param qcCheckReportIncome
* @return
*/
public List<QcCheckReportIncome> selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome);
}

@ -3,6 +3,7 @@ package com.op.quality.mapper;
import java.util.List;
import java.util.Map;
import com.op.quality.domain.QcCheckType;
import com.op.quality.domain.QcStaticTable;
import com.op.system.api.domain.quality.FactoryDto;
import org.apache.ibatis.annotations.MapKey;
@ -45,4 +46,20 @@ public interface QcStaticTableMapper {
List<QcStaticTable> getXJProjects(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String,QcStaticTable> getProjectDetail(QcStaticTable qcStaticTable);
List<String> getBatchnos(String orderNo);
List<QcStaticTable> getLegendData(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getXJMapData(QcStaticTable qcStaticTable);
List<QcStaticTable> getQmsRateTable(QcStaticTable qcStaticTable);
List<QcCheckType> getCheckTypeList(String typeCode);
List<QcStaticTable> getSupplier();
List<QcStaticTable> getLocList();
List<QcStaticTable> getWorkcenter();
}

@ -1,9 +1,6 @@
package com.op.quality.service;
import com.op.quality.domain.QcBomComponent;
import com.op.quality.domain.QcCheckReportIncome;
import com.op.quality.domain.QcCheckTaskDetail;
import com.op.quality.domain.QcSupplier;
import com.op.quality.domain.*;
import com.op.system.api.domain.SysUser;
import java.util.List;
@ -73,5 +70,5 @@ public interface IQcCheckReportProduceService {
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
public List<QcCheckReportIncome> getPrintData(QcCheckReportIncome qcCheckReportIncome);
QcCheckTaskProduce getProduceReportXJ(QcCheckTaskProduce qcCheckTaskProduce);
}

@ -1,6 +1,8 @@
package com.op.quality.service;
import java.util.List;
import com.op.quality.domain.QcCheckType;
import com.op.quality.domain.QcSampleRule;
/**
@ -57,4 +59,6 @@ public interface IQcSampleRuleService {
* @return
*/
public int deleteQcSampleRuleById(String id);
public List<QcCheckType> selectCheckType(String typeCode);
}

@ -3,7 +3,9 @@ package com.op.quality.service;
import java.util.List;
import java.util.Map;
import com.op.quality.domain.QcCheckType;
import com.op.quality.domain.QcStaticTable;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import com.op.system.api.domain.quality.FactoryDto;
/**
@ -33,4 +35,12 @@ public interface IQcStaticTableService {
List<QcStaticTable> getXJCheckTableList(QcStaticTable qcStaticTable);
List<QcStaticTable> getXJCheckTableDetail(QcStaticTable qcStaticTable);
ChartSeriesDTO getXJChartData(QcStaticTable qcStaticTable);
List<QcStaticTable> getQmsRateTable(QcStaticTable qcStaticTable);
List<QcCheckType> getCheckTypeList(String typeCode);
List<QcStaticTable> getSupplierList(String typeCode);
}

@ -5,11 +5,9 @@ import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*;
import com.op.quality.mapper.QcCheckReportIncomeMapper;
import com.op.quality.mapper.QcCheckTaskDetailMapper;
import com.op.quality.mapper.QcCheckTypeProjectMapper;
import com.op.quality.mapper.QcMaterialGroupDetailMapper;
import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckReportProduceService;
import com.op.quality.service.IQcStaticTableService;
import com.op.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -31,6 +29,8 @@ import java.util.List;
public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceService {
@Autowired
private QcCheckReportIncomeMapper qcCheckReportIncomeMapper;
@Autowired
private QcCheckTaskProduceMapper qcCheckTaskProduceMapper;
@Autowired
private QcCheckTypeProjectMapper qcCheckTypeProjectMapper;
@ -40,7 +40,8 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer
@Autowired
private QcCheckTaskDetailMapper qcCheckTaskDetailMapper;
@Autowired
private IQcStaticTableService qcStaticTableService;
/**
*
*
@ -64,7 +65,7 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer
public List<QcCheckReportIncome> selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) {
qcCheckReportIncome.setDelFlag("0");
qcCheckReportIncome.setTypeCode("produce");
return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome);
return qcCheckTaskProduceMapper.selectQcCheckReportIncomeList(qcCheckReportIncome);
}
/**
@ -197,8 +198,14 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer
}
@Override
public List<QcCheckReportIncome> getPrintData(QcCheckReportIncome qcCheckReportIncome) {
return null;
@DS("#header.poolName")
public QcCheckTaskProduce getProduceReportXJ(QcCheckTaskProduce qcCheckTaskProduce) {
QcCheckTaskProduce produce = qcCheckReportIncomeMapper.getTopInfo(qcCheckTaskProduce);
QcStaticTable qcStaticTable = new QcStaticTable();
qcStaticTable.setOrderNo(qcCheckTaskProduce.getOrderNo());
List<QcStaticTable> checkInfos = qcStaticTableService.getXJCheckTableDetail(qcStaticTable);
produce.setCheckInfos(checkInfos);
return produce;
}
}

@ -108,9 +108,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
String createBy = SecurityUtils.getUsername();
Date nowDate= DateUtils.getNowDate();
//获取当前所选工厂
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
String factoryCode = request.getHeader(key.substring(8)).replace("ds_","");
String factoryCode = qcCheckTaskIncome.getFactoryCode();
qcCheckTaskIncome.setCheckNo(bpDD+liushuiStr);
@ -389,7 +387,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",qcCheckTaskIncome.getUpdateBy());//提交人工号
paramMap.put("user","019047");//提交人工号qcCheckTaskIncome.getUpdateBy()
paramMap.put("requestLevel",0);//流程紧急度
paramMap.put("requestName","ZL0010-来料检验不合格审批流程(定单:"+qcCheckTaskIncome.getOrderNo()+")");//流程名称
paramMap.put("workflowld","26258");//该流程对应的唯- workFlowld
@ -397,10 +395,10 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"CQ\":"+1);//厂区
mainObject.append("\"LLLB\":"+0);//来料类别【0、1】
mainObject.append("\"MATNR\""+"\"000000010101003200\"");//物料编码
mainObject.append(",\"LLLB\":"+0);//来料类别【0、1】
mainObject.append(",\"MATNR\":"+"\"000000010101003200\"");//物料编码
//mainObject.append("\"MAKTX\""+MATNR);//物料名称
mainObject.append("{");
mainObject.append("}");
paramMap.put("mainObject",mainObject.toString());
logger.info("流程Id 26258:"+ JSONObject.toJSONString(paramMap));
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
@ -549,24 +547,24 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified);
logger.info("qc_check_unqualified:"+n);
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",updateBy);//提交人工号
paramMap.put("requestLevel",0);//流程紧急度
paramMap.put("requestName","ZL0010-来料检验不合格审批流程(定单:"+qcCheckTaskIncome.getOrderNo()+")");//流程名称
paramMap.put("workflowld","26258");//该流程对应的唯- workFlowld
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"CQ\":"+1);//厂区
mainObject.append("\"LLLB\":"+0);//来料类别【0、1】
mainObject.append("\"MATNR\""+"\"000000010101003200\"");//物料编码
//mainObject.append("\"MAKTX\""+MATNR);//物料名称
mainObject.append("{");
paramMap.put("mainObject",mainObject.toString());
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
logger.info("流程Id 26258:"+ JSONObject.toJSONString(oaR));
// //发起来料检验OA流程
// Map<String, Object> paramMap = new HashMap<>();
// paramMap.put("user",updateBy);//提交人工号
// paramMap.put("requestLevel",0);//流程紧急度
// paramMap.put("requestName","ZL0010-来料检验不合格审批流程(定单:"+qcCheckTaskIncome.getOrderNo()+")");//流程名称
// paramMap.put("workflowld","26258");//该流程对应的唯- workFlowld
//
// StringBuffer mainObject = new StringBuffer();
// mainObject.append("{");
// mainObject.append("\"CQ\":"+1);//厂区
// mainObject.append("\"LLLB\":"+0);//来料类别【0、1】
// mainObject.append("\"MATNR\""+"\"000000010101003200\"");//物料编码
// //mainObject.append("\"MAKTX\""+MATNR);//物料名称
// mainObject.append("{");
// paramMap.put("mainObject",mainObject.toString());
//
// AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
// logger.info("流程Id 26258:"+ JSONObject.toJSONString(oaR));
}
return n ;

@ -215,7 +215,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
int m=qcCheckTaskIncomeMapper.addCheckUsers(users);
logger.info("检查人新增"+m+"成功");
}
/**qc_check_task**/
qcCheckTaskProduceMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);
/**qc_check_task_detail**/
@ -343,6 +343,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
List<QcCheckTaskProduce> works = qcCheckTaskProduceMapper.getOrderWorks(qoWork);
for(QcCheckTaskProduce productTask:works){
productTask.setCheckType("checkTypeSCXJ");//过程检验-巡检
productTask.setOrderNo(productTask.getWorkorderCode());
Date nowTime = DateUtils.getNowDate();
Date startTime = productTask.getCreateTime();

@ -6,6 +6,9 @@ import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.QcCheckType;
import com.op.quality.mapper.QcCheckTypeMapper;
import com.op.quality.service.IQcCheckTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcSampleRuleMapper;
@ -27,6 +30,9 @@ public class QcSampleRuleServiceImpl implements IQcSampleRuleService {
@Autowired
private QcSampleRuleMapper qcSampleRuleMapper;
@Autowired
private QcCheckTypeMapper qcCheckTypeMapper;
/**
*
*
@ -106,4 +112,12 @@ public class QcSampleRuleServiceImpl implements IQcSampleRuleService {
public int deleteQcSampleRuleById(String id) {
return qcSampleRuleMapper.deleteQcSampleRuleById(id);
}
@Override
@DS("#header.poolName")
public List<QcCheckType> selectCheckType(String typeCode) {
QcCheckType qcCheckType = new QcCheckType();
qcCheckType.setTypeCode(typeCode);
return qcCheckTypeMapper.selectQcCheckTypeList(qcCheckType);
}
}

@ -1,11 +1,16 @@
package com.op.quality.service.impl;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.StringUtils;
import com.op.quality.domain.QcCheckType;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import com.op.system.api.domain.quality.FactoryDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -141,6 +146,14 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
@DS("#header.poolName")
public List<QcStaticTable> getXJCheckTableList(QcStaticTable qcStaticTable) {
List<QcStaticTable> tabledtos = qcStaticTableMapper.getXJCheckTableList(qcStaticTable);
for(QcStaticTable tabledto:tabledtos){
List<String> batchnos = qcStaticTableMapper.getBatchnos(tabledto.getOrderNo());
String ordernoStr = "";
for(String batchno:batchnos){
ordernoStr += batchno+";";
};
tabledto.setIncomeBatchNo(ordernoStr);
}
return tabledtos;
}
@ -253,5 +266,141 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
project.setColumn200210("-");
}
}
/**巡检小时不良**/
@Override
@DS("#header.poolName")
public ChartSeriesDTO getXJChartData(QcStaticTable qcStaticTable) {
ChartSeriesDTO seriesDTO = new ChartSeriesDTO();
//获取当天参与生产的车间
List<QcStaticTable> legends = qcStaticTableMapper.getLegendData(qcStaticTable);
List<String> legendData = new ArrayList<>();
if(!CollectionUtils.isEmpty(legends)){
legendData=legends.stream().map(QcStaticTable::getSupplierName).collect(Collectors.toList());
}else{
return null;
}
seriesDTO.setLegendData(legendData);
//横轴时间
qcStaticTable.setStartDateStr(qcStaticTable.getYmdms()+" 08:00:00");
qcStaticTable.setEndDateStr(qcStaticTable.getYmdms()+" 08:00:00");
List<String> xAxisData = this.getHourProductionTitle(qcStaticTable);
seriesDTO.setxAxisData(xAxisData);
//数据
Map<String,QcStaticTable> dataMap = qcStaticTableMapper.getXJMapData(qcStaticTable);
List<ChartDTO> series = new ArrayList<>();
ChartDTO serie = null;
for(QcStaticTable legend:legends){
serie= new ChartDTO();
serie.setName(legend.getSupplierName());
List<Double> data = new ArrayList<>();
for(String houreName:xAxisData){
String key = legend.getSupplierCode()+houreName.replace("时","");
QcStaticTable qt = dataMap.get(key);
if(qt!=null&&StringUtils.isNotBlank(qt.getSampleQuality())){
BigDecimal noOkRate = new BigDecimal(qt.getNoOkNums())
.multiply(new BigDecimal(100))
.divide(new BigDecimal(qt.getSampleQuality()),2,BigDecimal.ROUND_HALF_UP);
data.add(noOkRate.doubleValue());
}else{
data.add(0.00);
}
serie.setData(data);
}
serie.setData(data);
series.add(serie);
}
seriesDTO.setSeries(series);
return seriesDTO;
}
@Override
@DS("#header.poolName")
public List<QcStaticTable> getQmsRateTable(QcStaticTable qcStaticTable) {
List<QcStaticTable> dtos = qcStaticTableMapper.getQmsRateTable(qcStaticTable);
for(QcStaticTable dto:dtos){
if(StringUtils.isEmpty(dto.getOrderNo())){
dto.setOrderNo("-");
}
if(StringUtils.isEmpty(dto.getIncomeBatchNo())){
dto.setIncomeBatchNo("-");
}
if(StringUtils.isEmpty(dto.getMaterialCode())){
dto.setMaterialCode("-");
}
if(StringUtils.isEmpty(dto.getMaterialCode())){
dto.setMaterialCode("-");
}
if(StringUtils.isEmpty(dto.getMaterialName())){
dto.setMaterialName("-");
}
if(StringUtils.isNotBlank(dto.getSampleQuality())&&!"0.00".equals(dto.getSampleQuality())){
BigDecimal noOkRate = new BigDecimal(dto.getNoOkNums())
.multiply(new BigDecimal(100))
.divide(new BigDecimal(dto.getSampleQuality()),2,BigDecimal.ROUND_HALF_UP);
dto.setNoOkNumRate(noOkRate.toString()+"%");
}else{
dto.setNoOkNumRate("-");
}
}
return dtos;
}
@Override
@DS("#header.poolName")
public List<QcCheckType> getCheckTypeList(String typeCode) {
return qcStaticTableMapper.getCheckTypeList(typeCode);
}
@Override
@DS("#header.poolName")
public List<QcStaticTable> getSupplierList(String typeCode) {
List<QcStaticTable> dtos = null;
if("produce".equals(typeCode)){
//工作中心
dtos = qcStaticTableMapper.getWorkcenter();
}else if("product".equals(typeCode)){
//仓库
dtos = qcStaticTableMapper.getLocList();
}else if("material".equals(typeCode)){
//供应商
dtos = qcStaticTableMapper.getSupplier();
}
return dtos;
}
private List<String> getHourProductionTitle(QcStaticTable qcStaticTable) {
// 返回的日期集合
List<String> dayHours = new ArrayList<String>();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH");
try {
Date start = dateFormat.parse(qcStaticTable.getStartDateStr());//开始
Date end = dateFormat.parse(qcStaticTable.getEndDateStr());//结束
Calendar calendar = Calendar.getInstance();
calendar.setTime(end);
calendar.add(Calendar.HOUR_OF_DAY, 14);
end = calendar.getTime();
Calendar tempStart = Calendar.getInstance();
tempStart.setTime(start);
Calendar tempEnd = Calendar.getInstance();
tempEnd.setTime(end);
while (tempStart.before(tempEnd)) {
dayHours.add(dateFormat.format(tempStart.getTime()).split(" ")[1]+"时");
tempStart.add(Calendar.HOUR_OF_DAY, 1);
}
} catch (ParseException e) {
e.printStackTrace();
}
return dayHours;
}
}

@ -34,22 +34,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="sampleQuality" column="sample_quality" />
<result property="checkName" column="check_name" />
<result property="checkType" column="check_type"/>
</resultMap>
<sql id="selectQcCheckReportIncomeVo">
select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit,
supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name,sample_quality,
check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time,
check_time, check_result, status, check_type, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time,
factory_code, del_flag from qc_check_task
</sql>
<select id="selectQcCheckReportIncomeList" parameterType="QcCheckReportIncome" resultMap="QcCheckReportIncomeResult">
select qct.record_id, qct.check_no, qct.income_batch_no,
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,
qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,qct.sample_quality,
qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,
q.type_code
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,
qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,qct.sample_quality,
qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,
q.type_code,q.check_name
from qc_check_task qct
left join qc_check_type q on q.id = qct.check_type
<where>
@ -72,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="checkTimeStart != null "> and CONVERT(varchar(30),qct.check_time, 120) >= #{checkTimeStart}</if>
<if test="checkTimeEnd != null "> and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120)</if>
<if test="typeCode != null "> and q.type_code = #{typeCode} </if>
<if test="checkType != null "> and qct.check_type = #{checkType} </if>
</where>
</select>
@ -139,8 +143,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join qc_check_type_project qctp on td.type_project_id = qctp.id
where td.belong_to = #{recordId}
</select>
<select id="getTopInfo" resultType="com.op.quality.domain.QcCheckTaskProduce">
select t.*,be.equipment_name lineName from(
SELECT
c.order_no orderNo,
c.supplier_name supplierName,
c.supplier_code supplierCode,
c.material_name materialName,
c.material_code materialCode,
CONVERT(varchar(10),c.income_time, 120) checkTimeStart,
stuff( ( SELECT ';' + income_batch_no FROM qc_check_task WHERE c.order_no= order_no FOR xml path ( '' ) ), 1, 1, '' ) as incomeBatchNo
FROM
qc_check_task c
where c.check_type='checkTypeSCXJ' and c.order_no = #{orderNo}
GROUP BY
c.order_no,c.supplier_name,c.supplier_code,c.material_name,c.material_code,CONVERT(varchar(10),c.income_time, 120)
) t
left join pro_order_workorder pow on pow.workorder_code = t.orderNo
left join base_equipment be on be.equipment_code = pow.workorder_name
</select>
<insert id="insertQcCheckReportIncome" parameterType="QcCheckReportIncome">
<insert id="insertQcCheckReportIncome" parameterType="QcCheckReportIncome">
insert into qc_check_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="recordId != null">record_id,</if>

@ -11,9 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="orderNo" column="order_no" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="quality" column="quality" />
<result property="sampleQuality" column="sample_quality" />
<result property="noOkQuality" column="noOk_quality" />
<result property="quality" column="quality" />
<result property="unit" column="unit" />
<result property="supplierCode" column="supplier_code" />
<result property="supplierName" column="supplier_name" />
@ -35,7 +33,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="checkType" column="check_type" />
<result property="sampleQuality" column="sample_quality" />
<result property="checkName" column="check_name" />
<result property="checkType" column="check_type"/>
</resultMap>
<resultMap type="QcCheckReportIncome" id="QcCheckReportIncomeResult">
<result property="recordId" column="record_id" />
<result property="checkNo" column="check_no" />
<result property="incomeBatchNo" column="income_batch_no" />
<result property="orderNo" column="order_no" />
<result property="materialCode" column="material_code" />
<result property="materialName" column="material_name" />
<result property="quality" column="quality" />
<result property="unit" column="unit" />
<result property="supplierCode" column="supplier_code" />
<result property="supplierName" column="supplier_name" />
<result property="incomeTime" column="income_time" />
<result property="checkLoc" column="check_loc" />
<result property="checkStatus" column="check_status" />
<result property="checkManCode" column="check_man_code" />
<result property="checkManName" column="check_man_name" />
<result property="checkTime" column="check_time" />
<result property="checkResult" column="check_result" />
<result property="status" column="status" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="sampleQuality" column="sample_quality" />
<result property="checkName" column="check_name" />
<result property="checkType" column="check_type"/>
<result property="createTimeStr" column="createTimeStr" />
</resultMap>
<sql id="selectQcCheckTaskProduceVo">
@ -56,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
qct.create_by,qct.create_time, qct.update_by, qct.update_time,
qct.check_type,qct.sample_quality,qct.noOk_quality,
qct.aNoOkquality,qct.bNoOkquality,qct.cNoOkquality,
q.type_code
q.type_code,q.check_name
from qc_check_task qct
left join qc_check_type q on q.id = qct.check_type
<where>
@ -108,33 +143,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where type_code = #{typeCode} and del_flag='0'
</select>
<select id="getOrderWorks" resultType="com.op.quality.domain.QcCheckTaskProduce">
select pow.factory_code factoryCode,
powb.batch_code incomeBatchNo,
powb.qc_status,
pow.workorder_code workorderCode,
pow.product_code materialCode,
pow.product_name materialName,
pow.quantity_split quality,
pow.unit,
e.workshop_code supplierCode,
e.workshop_name supplierName,
pow.product_date incomeTime,
task.createTime,
task.order_no orderNo,
task.check_loc checkLoc
from pro_order_workorder pow
left join pro_order_workorder_batch powb on powb.workorder_id = pow.workorder_id
left join base_equipment e on e.equipment_code = pow.workorder_name
left join (
select max(create_time) createTime,income_batch_no,order_no,check_loc
from qc_check_task
where type_code = 'produce'
and CONVERT(varchar(10),income_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
GROUP BY income_batch_no,order_no,check_loc
) task on task.income_batch_no = powb.batch_code
where pow.status = 'w2' and pow.parent_order = '0' and pow.del_flag ='0'
and powb.del_flag = '0' and pow.product_date >= '2023-12-22'
and task.createTime is not null
select qct.factory_code factoryCode,
qct.order_no workorderCode,
qct.material_code materialCode,
qct.material_name materialName,
qct.quality,
qct.unit,
qct.supplier_code supplierCode,
qct.supplier_name supplierName,
qct.income_time incomeTime,
max(qct.create_time) createTime,
qct.check_loc checkLoc
from qc_check_task qct
left join pro_order_workorder pow on qct.order_no = pow.workorder_code
where check_type = 'checkTypeSCXJ'
and CONVERT(varchar(10),income_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
and pow.status = 'w2'
group by qct.factory_code,
qct.order_no,qct.material_code,qct.material_name,
qct.quality,qct.unit,qct.supplier_code,qct.supplier_name,
qct.income_time,qct.check_loc
</select>
<insert id="insertQcCheckTaskProduce" parameterType="QcCheckTaskProduce">
@ -271,4 +299,61 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{recordId}
</foreach>
</select>
<select id="selectQcCheckReportIncomeList" parameterType="QcCheckReportIncome" resultMap="QcCheckReportIncomeResult">
select * from (
select qct.record_id, qct.check_no, qct.income_batch_no,
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,
qct.check_time, qct.check_result, qct.check_type,'首件检验' check_name,
CONVERT(varchar(10),qct.create_time, 120) createTimeStr
from qc_check_task qct
<where>
<if test="checkNo != null and checkNo != ''"> and qct.check_no = #{checkNo}</if>
<if test="incomeBatchNo != null and incomeBatchNo != ''"> and qct.income_batch_no = #{incomeBatchNo}</if>
<if test="orderNo != null and orderNo != ''"> and qct.order_no = #{orderNo}</if>
<if test="materialCode != null and materialCode != ''"> and qct.material_code = #{materialCode}</if>
<if test="materialName != null and materialName != ''"> and qct.material_name like concat('%', #{materialName}, '%')</if>
<if test="supplierCode != null and supplierCode != ''"> and qct.supplier_code = #{supplierCode}</if>
<if test="supplierName != null and supplierName != ''"> and qct.supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="checkLoc != null and checkLoc != ''"> and qct.check_loc = #{checkLoc}</if>
<if test="checkStatus != null and checkStatus != ''"> and qct.check_status = #{checkStatus}</if>
<if test="checkManCode != null and checkManCode != ''"> and qct.check_man_code = #{checkManCode}</if>
<if test="checkManName != null and checkManName != ''"> and qct.check_man_name like concat('%', #{checkManName}, '%')</if>
<if test="checkResult != null and checkResult != ''"> and qct.check_result = #{checkResult}</if>
<if test="incomeTimeStart != null "> and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart}</if>
<if test="incomeTimeEnd != null "> and #{incomeTimeEnd} > CONVERT(varchar(30),qct.income_time, 120)</if>
<if test="checkTimeStart != null "> and CONVERT(varchar(30),qct.create_time, 120) >= #{checkTimeStart}</if>
<if test="checkTimeEnd != null "> and #{checkTimeEnd} > CONVERT(varchar(30),qct.create_time, 120)</if>
and qct.check_type = 'checkTypeSC'
</where>
union ALL
select
'','','',
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time,'','',
'','', qct.check_type,'巡检检验' check_name,CONVERT(varchar(10),qct.create_time, 120) createTimeStr
from qc_check_task qct
<where>
<if test="checkNo != null and checkNo != ''"> and qct.check_no = #{checkNo}</if>
<if test="incomeBatchNo != null and incomeBatchNo != ''"> and qct.income_batch_no = #{incomeBatchNo}</if>
<if test="orderNo != null and orderNo != ''"> and qct.order_no = #{orderNo}</if>
<if test="materialCode != null and materialCode != ''"> and qct.material_code = #{materialCode}</if>
<if test="materialName != null and materialName != ''"> and qct.material_name like concat('%', #{materialName}, '%')</if>
<if test="supplierCode != null and supplierCode != ''"> and qct.supplier_code = #{supplierCode}</if>
<if test="supplierName != null and supplierName != ''"> and qct.supplier_name like concat('%', #{supplierName}, '%')</if>
<if test="checkLoc != null and checkLoc != ''"> and qct.check_loc = #{checkLoc}</if>
<if test="checkStatus != null and checkStatus != ''"> and qct.check_status = #{checkStatus}</if>
<if test="checkManCode != null and checkManCode != ''"> and qct.check_man_code = #{checkManCode}</if>
<if test="checkManName != null and checkManName != ''"> and qct.check_man_name like concat('%', #{checkManName}, '%')</if>
<if test="checkResult != null and checkResult != ''"> and qct.check_result = #{checkResult}</if>
<if test="incomeTimeStart != null "> and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart}</if>
<if test="incomeTimeEnd != null "> and #{incomeTimeEnd} > CONVERT(varchar(30),qct.income_time, 120)</if>
<if test="checkTimeStart != null "> and CONVERT(varchar(30),qct.create_time, 120) >= #{checkTimeStart}</if>
<if test="checkTimeEnd != null "> and #{checkTimeEnd} > CONVERT(varchar(30),qct.create_time, 120)</if>
and qct.check_type = 'checkTypeSCXJ'
</where>
GROUP BY qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_type,CONVERT(varchar(10),qct.create_time, 120)
) t order by t.order_no,t.createTimeStr desc
</select>
</mapper>

@ -63,9 +63,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ctp.sample_num,
ctp.sort
FROM qc_check_type_project ctp
LEFT JOIN qc_check_project cp ON ctp.project_id = cp.id AND cp.del_flag = '0'
LEFT JOIN qc_check_project cp ON ctp.project_id = cp.id
<where>
AND ctp.del_flag = '0'
AND ctp.del_flag = '0' AND cp.del_flag = '0'
<if test="projectId != null and projectId != ''"> and ctp.project_id = #{projectId}</if>
<if test="typeId != null and typeId != ''"> and ctp.type_id = #{typeId}</if>
<if test="standardValue != null and standardValue != ''"> and ctp.standard_value like concat('%', #{standardValue}, '%')</if>

@ -15,10 +15,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="standardNo" column="standard_no" />
<result property="version" column="version" />
</resultMap>
<sql id="selectQcProjectTypeVo">
select id, project_type_code, project_type_name, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_project_type
select id, project_type_code, project_type_name, attr1, create_by, create_time, update_by, update_time,
factory_code, del_flag, standard_no, version from qc_project_type
</sql>
<select id="selectQcProjectTypeList" parameterType="QcProjectType" resultMap="QcProjectTypeResult">
@ -28,6 +31,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="projectTypeName != null and projectTypeName != ''"> and project_type_name like concat('%', #{projectTypeName}, '%')</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="standardNo != null and standardNo != ''"> and standard_no = #{standardNo}</if>
<if test="version != null and version != ''"> and version = #{version}</if>
</where>
</select>
@ -49,6 +54,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
<if test="standardNo != null">standard_no,</if>
<if test="version != null">version = #{version}</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@ -61,6 +68,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="standardNo != null">#{standardNo}</if>
<if test="version != null">#{version}</if>
</trim>
</insert>
@ -76,6 +85,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="standardNo != null">standard_no = #{standardNo},</if>
<if test="version != null">version = #{version},</if>
</trim>
where id = #{id}
</update>

@ -106,8 +106,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from sys_factory where f_type = 'c'
</select>
<select id="getXJCheckTableList" resultType="com.op.quality.domain.QcStaticTable">
select distinct check_no checkNo,
order_no orderNo,income_batch_no incomeBatchNo,
select distinct
order_no orderNo,
material_code materialCode, material_name materialName,
quality,unit,
supplier_code supplierCode,supplier_name supplierName,
@ -132,26 +132,100 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getProjectDetail" resultType="com.op.quality.domain.QcStaticTable">
select qctd.project_id projectId,
qctd.status,
SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5),
CONVERT(VARCHAR(5),qctd.create_time, 108),
concat(qctd.project_id,
case when '09:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '08:00' then '08'
when '10:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '09:00' then '09'
when '11:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '10:00' then '10'
when '12:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '11:00' then '11'
when '13:30'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '12:30' then '12'
when '14:30'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '13:30' then '13'
when '15:30'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '14:30' then '14'
when '16:30'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '15:30' then '15'
when '17:30'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '16:30' then '16'
when '19:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '18:00' then '18'
when '20:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '19:00' then '19'
when '21:00'>= SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5) and SUBSTRING(CONVERT(varchar(18),qctd.create_time, 120), 12, 5)> '20:00' then '20'
case when '09:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '08:00' then '08'
when '10:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '09:00' then '09'
when '11:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '10:00' then '10'
when '12:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '11:00' then '11'
when '13:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '12:30' then '12'
when '14:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '13:30' then '13'
when '15:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '14:30' then '14'
when '16:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '15:30' then '15'
when '17:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '16:30' then '16'
when '19:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '18:00' then '18'
when '20:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '19:00' then '19'
when '21:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '20:00' then '20'
else '-' end
)ymdms
from qc_check_task qct
left join qc_check_task_detail qctd on qct.record_id = qctd.belong_to
where qct.income_batch_no = #{incomeBatchNo} and qct.check_type = 'checkTypeSCXJ'
left join qc_check_task_detail qctd on qct.record_id = qctd.belong_to
where qct.order_no = #{orderNo} and qct.check_type = 'checkTypeSCXJ'
order by qctd.create_time
</select>
<select id="getBatchnos" resultType="java.lang.String">
select powb.batch_code batchCode
from pro_order_workorder_batch powb
left join pro_order_workorder pow on powb.workorder_id = pow.workorder_id
where powb.del_flag = '0' and pow.del_flag = '0'
and pow.workorder_code = #{orderNo}
</select>
<select id="getLegendData" resultType="com.op.quality.domain.QcStaticTable">
select DISTINCT supplier_code supplierCode,
supplier_name supplierName
from qc_check_task
where check_type = 'checkTypeSCXJ' and del_flag = '0'
and CONVERT(varchar(10),income_time, 120) = #{ymdms}
</select>
<select id="getXJMapData" resultType="com.op.quality.domain.QcStaticTable">
select qct.supplier_code supplierCode,
qct.supplier_name supplierName,
sum(qct.sample_quality) sampleQuality,
sum(qct.noOk_quality) noOkNums,
concat(qct.supplier_code,CONVERT(VARCHAR(2), qct.check_time, 108)) ymdms
from qc_check_task qct
where qct.check_type = 'checkTypeSCXJ' and qct.del_flag = '0'
and CONVERT(varchar(10),qct.income_time, 120) = #{ymdms}
<if test="orderNo != null "> and qct.check_no like concat('%',#{orderNo},'%')</if>
<if test="materialCode != null "> and qct.material_code like concat('%',#{materialCode},'%')</if>
group by qct.supplier_code,qct.supplier_name,CONVERT(VARCHAR(2), qct.check_time, 108)
</select>
<select id="getQmsRateTable" resultType="com.op.quality.domain.QcStaticTable">
select qct.supplier_code supplierCode,
qct.supplier_name supplierName,
<if test="orderNo != null ">qct.order_no orderNo, qct.unit,</if>
<if test="incomeBatchNo != null ">qct.income_batch_no,</if>
<if test="materialCode != null ">qct.material_code,qct.material_name,</if>
sum(quality) quality,
sum(qct.sample_quality) sampleQuality,
sum(qct.noOk_quality) noOkNums
from qc_check_task qct
where qct.del_flag = '0'
<if test="orderNo != null ">and qct.order_no = #{orderNo}</if>
<if test="incomeBatchNo != null ">and qct.income_batch_no like concat('%',#{incomeBatchNo},'%')</if>
<if test="materialCode != null ">and qct.material_code like concat('%',#{materialCode},'%')</if>
<if test="supplierCode != null ">and qct.supplier_code = #{supplierCode}</if>
<if test="typeCode != null ">and qct.type_code = #{typeCode}</if>
<if test="checkType != null ">and qct.check_type = #{checkType}</if>
<if test="ymArrayStart != null "> and CONVERT(varchar(10),qct.income_time, 120) >= CONVERT(varchar(10),#{ymArrayStart}, 120)</if>
<if test="ymArrayEnd != null "> and CONVERT(varchar(10),#{ymArrayEnd}, 120)>=CONVERT(varchar(10),qct.income_time, 120)</if>
group by qct.supplier_code,qct.supplier_name
<if test="orderNo != null ">,qct.order_no,qct.unit</if>
<if test="incomeBatchNo != null ">,qct.income_batch_no</if>
<if test="materialCode != null ">,qct.material_code,qct.material_name</if>
</select>
<select id="getCheckTypeList" resultType="com.op.quality.domain.QcCheckType">
select order_code checkType,
check_name checkName
from qc_check_type
where del_flag = '0' and type_code= #{typeCode}
</select>
<select id="getSupplier" resultType="com.op.quality.domain.QcStaticTable">
select supplier_code supplierCode,
zh_desc supplierName
from base_supplier where del_flag = '0'
</select>
<select id="getLocList" resultType="com.op.quality.domain.QcStaticTable">
select warehouse_code supplierCode,
warehouse_name supplierName
from base_warehouse
where del_flag = '0' and active_flag = '1'
</select>
<select id="getWorkcenter" resultType="com.op.quality.domain.QcStaticTable">
select factory_name supplierName,
factory_code supplierCode
from sys_factory where f_type = 'c'
</select>
</mapper>

@ -66,8 +66,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join sys_user_datasource sud on sd.id = sud.datasource_id
left join sys_user su on su.user_id = sud.user_id
where sud.user_id is not null
<if test="nickName != null and nickName != ''">
AND su.nick_name like concat('%', #{nickName}, '%')
<if test="userName != null and userName != ''">
AND su.nick_name like concat('%', #{userName}, '%')
</if>
<if test="datasourceId != null and datasourceId != ''">
AND sd.id = #{datasourceId}

@ -248,4 +248,24 @@ public class BaseEquipmentController extends BaseController {
return getDataTable(list);
}
/**
*
*/
@GetMapping("/getWXRecordsList")
public TableDataInfo getWXRecordsList(BaseEquipment baseEquipment) {
startPage();
List<BaseEquipment> list = baseEquipmentService.selectWXRecordsList(baseEquipment);
return getDataTable(list);
}
/**
*
*/
@GetMapping("/getBYRecordsList")
public TableDataInfo getBYRecordsList(BaseEquipment baseEquipment) {
startPage();
List<BaseEquipment> list = baseEquipmentService.selectBYRecordsList(baseEquipment);
return getDataTable(list);
}
}

@ -88,6 +88,17 @@ public class WmsProductPutController extends BaseController {
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(wmsProductPutService.deleteWmsProductPutByIds(ids));
}
/**
*
*
*/
@PostMapping("/WmsProductPutByWorkOrderConfirmSAPPosting")
public AjaxResult WmsProductPutByWorkOrderConfirmSAPPosting(@RequestBody List<WmsProductPut> wmsProductPut){
return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderConfirmSAPPosting(wmsProductPut));
}
/**
*
@ -96,12 +107,5 @@ public class WmsProductPutController extends BaseController {
public AjaxResult selectWmsProductPutByWorkOrder(@PathVariable("workOrder") String workOrder){
return AjaxResult.success(wmsProductPutService.selectWmsProductPutByWorkOrder(workOrder));
}
/**
*
*/
@PostMapping("/s/WmsProductPutByWorkOrderquery")
public AjaxResult WmsProductPutByWorkOrderquery(@RequestBody WmsProductPut wmsProductPut){
return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderquery(wmsProductPut));
}
}

@ -11,6 +11,7 @@ import com.op.common.log.enums.BusinessType;
import com.op.wms.domain.*;
import com.op.wms.service.IBaseWarehouseService;
import com.op.wms.service.IOdsProcureOrderService;
import com.op.wms.service.IWmsProductPutService;
import com.op.wms.service.IWmsToWCSmissionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -22,7 +23,8 @@ import static com.op.common.core.web.domain.AjaxResult.success;
@RestController
@RequestMapping("/WmsToWCSmission")
public class WmsToWCSmissionController {
@Autowired
private IWmsProductPutService wmsProductPutService;
@Autowired
private IWmsToWCSmissionService iWmsToWCSmissionService;
@Autowired
@ -95,6 +97,8 @@ public WmsToWCSDTO packingMaterialsOutBoundCompleted(@RequestBody WmsToWCSDTO wc
@PostMapping("/PurchaseOrderdeliPda")
public AjaxResult PurchaseOrderdeliPda(@RequestBody OdsProcureOrder odsProcureOrder) {
// odsProcureOrderService.PurchaseOrderdeliPdas(odsProcureOrder);
// return success();
int tem =odsProcureOrderService.PurchaseOrderdeliPda(odsProcureOrder);
return success(tem);
}
@ -196,4 +200,23 @@ public WmsToWCSDTO packingMaterialsOutBoundCompleted(@RequestBody WmsToWCSDTO wc
AjaxResult result= odsProcureOrderService.sapPurchaseOrderSync(odsProcureOrder);
return result;
}
/**
*
*
*/
@PostMapping("/WmsProductPutByWorkOrderquery")
public AjaxResult WmsProductPutByWorkOrderquery(@RequestBody WmsProductPut wmsProductPut){
return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderquery(wmsProductPut));
}
/**
*
*
*/
@PostMapping("/WmsProductPutByWorkOrderConfirm")
public AjaxResult WmsProductPutByWorkOrderConfirm(@RequestBody WmsProductPut wmsProductPut){
return AjaxResult.success(wmsProductPutService.WmsProductPutByWorkOrderConfirm(wmsProductPut));
}
}

@ -1,11 +1,14 @@
package com.op.wms.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.op.common.core.domain.BaseFileData;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@ -259,6 +262,190 @@ public class BaseEquipment extends BaseEntity {
//返回已经绑定辅助设备列表
private List<EquBindAuxiliaryEquipment> selectedEquipmentData;
/////////////////////////维修记录
/** 维修单号 */
private String workCode;
/** 维修人员 */
private String workPerson;
/** 维修组 */
private String workTeam;
/** 原因分析 */
private String workReason;
/** 故障描述 */
private String workFaultDesc;
/** 设备维修措施 */
private String repairMeasures;
/** 维修开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date workStartTime;
/** 维修结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date workEndTime;
/** 维修状态 */
private String workStatus;
/////////////////////////保养记录
/** 单号 */
private String orderCode;
/** 循环周期 */
private String planLoop;
/** 实际开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date orderStart;
/** 实际结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date orderEnd;
/** 工单状态 */
private String orderStatus;
/** 工单费用 */
private BigDecimal orderCost;
/** 责任人 */
private String planPerson;
/** 工单用时 */
private String orderCostTime;
/** 签字 */
private String orderSignPerson;
///////////////////////////////////
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
public String getOrderCode() {
return orderCode;
}
public void setPlanLoop(String planLoop) {
this.planLoop = planLoop;
}
public String getPlanLoop() {
return planLoop;
}
public void setOrderStart(Date orderStart) {
this.orderStart = orderStart;
}
public Date getOrderStart() {
return orderStart;
}
public void setOrderEnd(Date orderEnd) {
this.orderEnd = orderEnd;
}
public Date getOrderEnd() {
return orderEnd;
}
public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus;
}
public String getOrderStatus() {
return orderStatus;
}
public void setOrderCost(BigDecimal orderCost) {
this.orderCost = orderCost;
}
public BigDecimal getOrderCost() {
return orderCost;
}
public void setPlanPerson(String planPerson) {
this.planPerson = planPerson;
}
public String getPlanPerson() {
return planPerson;
}
public void setOrderCostTime(String orderCostTime) {
this.orderCostTime = orderCostTime;
}
public String getOrderCostTime() {
return orderCostTime;
}
public void setOrderSignPerson(String orderSignPerson) {
this.orderSignPerson = orderSignPerson;
}
public String getOrderSignPerson() {
return orderSignPerson;
}
///////////////////////////////
public String getRepairMeasures() {
return repairMeasures;
}
public void setRepairMeasures(String repairMeasures) { this.repairMeasures = repairMeasures; }
public void setWorkFaultDesc(String workFaultDesc) {
this.workFaultDesc = workFaultDesc;
}
public String getWorkFaultDesc() {
return workFaultDesc;
}
public void setWorkReason(String workReason) {
this.workReason = workReason;
}
public String getWorkReason() {
return workReason;
}
public void setWorkStatus(String workStatus) {
this.workStatus = workStatus;
}
public String getWorkStatus() {
return workStatus;
}
public void setWorkPerson(String workPerson) {
this.workPerson = workPerson;
}
public String getWorkPerson() {
return workPerson;
}
public void setWorkTeam(String workTeam) {
this.workTeam = workTeam;
}
public String getWorkTeam() {
return workTeam;
}
public void setWorkCode(String workCode) {
this.workCode = workCode;
}
public String getWorkCode() {
return workCode;
}
public void setWorkStartTime(Date workStartTime) {
this.workStartTime = workStartTime;
}
public Date getWorkStartTime() {
return workStartTime;
}
public void setWorkEndTime(Date workEndTime) {
this.workEndTime = workEndTime;
}
public Date getWorkEndTime() {
return workEndTime;
}
public void setSelectedEquipmentData(List<EquBindAuxiliaryEquipment> selectedEquipmentData) {
this.selectedEquipmentData = selectedEquipmentData;
}

@ -47,6 +47,10 @@ public class SysFactory extends TreeEntity {
@Excel(name = "工厂编码")
private String factoryCode;
/** 工厂建模类型 */
@Excel(name = "工厂建模类型")
private String fType;
//虚拟字段
private List<Map<String,String>> workCenter;
private String value;
@ -111,6 +115,13 @@ public class SysFactory extends TreeEntity {
this.factoryCode = factoryCode;
}
public String getFType() {
return fType;
}
public void setFType(String fType) {
this.fType = fType;
}
public String getValue() {
return value;
}

@ -1,6 +1,9 @@
package com.op.wms.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -9,7 +12,7 @@ import com.op.common.core.web.domain.BaseEntity;
/**
* wms_product_put
*
*
* @author Open Platform
* @date 2023-08-31
*/
@ -65,15 +68,26 @@ public class WmsProductPut extends BaseEntity {
/** 计划入库数量 */
@Excel(name = "计划入库数量")
private Long planQuantity;
private BigDecimal planQuantity;
/** 入库数量 */
@Excel(name = "入库数量")
private Long putQuantity;
private BigDecimal putQuantity;
/** 入库状态 */
@Excel(name = "入库状态")
private String status;
/** 箱数 */
@Excel(name = "箱数")
private String number;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
/** 过账SAP状态 */
@Excel(name = "过账SAP状态")
@ -131,6 +145,24 @@ public class WmsProductPut extends BaseEntity {
/** 预留字段10 */
@Excel(name = "预留字段10")
private String attr10;
List<WmsProductPut> wmsProductPut;
private String sn;
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public List<WmsProductPut> getWmsProductPut() {
return wmsProductPut;
}
public void setWmsProductPut(List<WmsProductPut> wmsProductPut) {
this.wmsProductPut = wmsProductPut;
}
public void setId(String id) {
this.id = id;
@ -216,20 +248,23 @@ public class WmsProductPut extends BaseEntity {
public String getUnitOfMeasure() {
return unitOfMeasure;
}
public void setPlanQuantity(Long planQuantity) {
public BigDecimal getPlanQuantity() {
return planQuantity;
}
public void setPlanQuantity(BigDecimal planQuantity) {
this.planQuantity = planQuantity;
}
public Long getPlanQuantity() {
return planQuantity;
public BigDecimal getPutQuantity() {
return putQuantity;
}
public void setPutQuantity(Long putQuantity) {
public void setPutQuantity(BigDecimal putQuantity) {
this.putQuantity = putQuantity;
}
public Long getPutQuantity() {
return putQuantity;
}
public void setStatus(String status) {
this.status = status;
}
@ -265,14 +300,14 @@ public class WmsProductPut extends BaseEntity {
public Date getPutDate() {
return putDate;
}
public void setBatchNumber(String batchNumber) {
this.batchNumber = batchNumber;
}
public String getBatchNumber() {
return batchNumber;
}
public void setBatchNumber(String batchNumber) {
this.batchNumber = batchNumber;
}
public String getProductDate() {
return productDate;

@ -120,4 +120,10 @@ public interface BaseEquipmentMapper {
//查询组线/辅助设备
List<BaseEquipment> selectAuxiliaryEquipmentList(EquBindAuxiliaryEquipment equBindAuxiliaryEquipment);
//查询维修记录
List<BaseEquipment> selectWXRecordsList(BaseEquipment baseEquipment);
//查询保养记录
List<BaseEquipment> selectBYRecordsList(BaseEquipment baseEquipment);
}

@ -64,5 +64,7 @@ public interface WmsProductPutMapper {
*/
public WmsProductPut selectWmsProductPutByWorkOrder(String workOrder);
WmsProductPut selectMesReportWork(WmsProductPut wmsProductPut);
public WmsProductPut selectMesReportWork(WmsProductPut wmsProductPut);
public WmsProductPut selectWmsProductPutSAPById(String id);
}

@ -83,4 +83,10 @@ public interface IBaseEquipmentService {
//查询组线下的辅助设备
List<BaseEquipment> selectAuxiliaryEquipmentList(EquBindAuxiliaryEquipment equBindAuxiliaryEquipment);
//查询维修记录
List<BaseEquipment> selectWXRecordsList(BaseEquipment baseEquipment);
//查看保养记录
List<BaseEquipment> selectBYRecordsList(BaseEquipment baseEquipment);
}

@ -64,4 +64,8 @@ public interface IWmsProductPutService {
public WmsProductPut selectWmsProductPutByWorkOrder(String workOrder);
public WmsProductPut WmsProductPutByWorkOrderquery(WmsProductPut wmsProductPut);
String WmsProductPutByWorkOrderConfirm(WmsProductPut wmsProductPut);
String WmsProductPutByWorkOrderConfirmSAPPosting(List<WmsProductPut> wmsProductPut);
}

@ -569,4 +569,27 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
return baseEquipmentMapper.selectAuxiliaryEquipmentList(equBindAuxiliaryEquipment);
}
/**
*
*
* @param baseEquipment
* @return
*/
@Override
@DS("#header.poolName")
public List<BaseEquipment> selectWXRecordsList(BaseEquipment baseEquipment) {
return baseEquipmentMapper.selectWXRecordsList(baseEquipment);
}
/**
*
*
* @param baseEquipment
* @return
*/
@Override
@DS("#header.poolName")
public List<BaseEquipment> selectBYRecordsList(BaseEquipment baseEquipment) {
return baseEquipmentMapper.selectBYRecordsList(baseEquipment);
}
}

@ -593,7 +593,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOutOrder.setUserDefined9(userDefined9);
odsProcureOutOrder.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}else {//
odsProcureOutOrder.setUserDefined9("");
odsProcureOutOrder.setUserDefined10("3");//失败
@ -693,7 +692,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
qcCheckTaskIncomeDTO.setOrderType("bc");
qcCheckTaskIncomeDTO.setUnit("ST");
qcCheckTaskIncomeDTO.setQuality(new BigDecimal("10"));
qcCheckTaskIncomeDTO.setMaterialCode("000000040000015968");
qcCheckTaskIncomeDTO.setMaterialCode("000000010900001055");
qcCheckTaskIncomeDTO.setMaterialName("榄菊植物力量蚊液33mL+送12mL*2瓶装纸盒(2201)");
qcCheckTaskIncomeDTO.setIncomeBatchNo("202312250001");
qcCheckTaskIncomeDTO.setOrderNo("4500297568");

@ -1,20 +1,22 @@
package com.op.wms.service.impl;
import java.util.List;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.wms.domain.WmsProductPutTray;
import com.op.wms.domain.WmsProductPutTrayCode;
import com.op.wms.mapper.WmsProductPutTrayMapper;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.system.api.RemoteSapService;
import com.op.wms.domain.*;
import com.op.wms.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
import com.op.wms.mapper.WmsProductPutMapper;
import com.op.wms.domain.WmsProductPut;
import com.op.wms.service.IWmsProductPutService;
/**
@ -29,7 +31,14 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
private WmsProductPutMapper wmsProductPutMapper;
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Autowired
private WmsProductPutRecordsMapper wmsProductPutRecordsMapper;
@Autowired
private WmsFpStorageNewsSnMapper wmsFpStorageNewsSnMapper;
@Autowired
private WmsFpStorageNewsMapper wmsFpStorageNewsMapper;
@Autowired
private RemoteSapService remoteSapService;
/**
*
*
@ -131,4 +140,135 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
WmsProductPut wmsProductPut1= wmsProductPutMapper.selectMesReportWork(wmsProductPut);
return wmsProductPut1;
}
/**
* wms_product_put_records
* wms_fp_storage_news_sn
* wms_fp_storage_news
* wms_product_put
*
* @param wmsProductPut
* @return
*/
@Override
public String WmsProductPutByWorkOrderConfirm(WmsProductPut wmsProductPut) {
DynamicDataSourceContextHolder.push("ds_" +wmsProductPut.getFactoryCode());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String formattedDate = dateFormat.format(date);//批次
List<WmsProductPut> wmsProductPutList= wmsProductPut.getWmsProductPut();
WmsProductPut wmsProductPutk=new WmsProductPut();
//wms_product_put
wmsProductPutk.setId(IdUtils.fastSimpleUUID());
wmsProductPutk.setWorkOrder(wmsProductPut.getWorkOrder());
wmsProductPutk.setFactoryCode(wmsProductPut.getFactoryCode());
wmsProductPutk.setWhCode(wmsProductPut.getWhCode());//仓库编码
wmsProductPutk.setProductName(wmsProductPut.getProductName());
wmsProductPutk.setProductCode(wmsProductPut.getProductCode());
wmsProductPutk.setProductOrder(wmsProductPut.getProductOrder());
wmsProductPutk.setPlanQuantity(wmsProductPut.getPlanQuantity());
wmsProductPutk.setPutQuantity(wmsProductPut.getPutQuantity());
wmsProductPutk.setStatus("1");
wmsProductPutk.setSapStatus("0");
wmsProductPutk.setBatchNumber(wmsProductPut.getBatchNumber());//
wmsProductPutk.setAttr3(formattedDate);//
wmsProductPutk.setCreateBy(wmsProductPut.getCreateBy());
wmsProductPutk.setCreateTime(new Date());
wmsProductPutk.setUnitOfMeasure(wmsProductPut.getUnitOfMeasure());
wmsProductPutMapper.insertWmsProductPut(wmsProductPutk);
String SUCCESS="操作成功";
for (WmsProductPut wmsProductPut1:
wmsProductPutList) {
WmsProductPutRecords wmsProductPutRecords=new WmsProductPutRecords();
wmsProductPutRecords.setWorkOrder(wmsProductPut.getWorkOrder());
wmsProductPutRecords.setProductOrder(wmsProductPut.getProductOrder());
wmsProductPutRecords.setProductName(wmsProductPut.getProductName());
wmsProductPutRecords.setProductCode(wmsProductPut.getProductCode());
wmsProductPutRecords.setWhCode(wmsProductPut.getWhCode());//仓库编码
wmsProductPutRecords.setId(IdUtils.fastSimpleUUID());
wmsProductPutRecords.setWlCode(wmsProductPut1.getWlCode());
wmsProductPutRecords.setSn(wmsProductPut1.getSn());
wmsProductPutRecords.setNumber(wmsProductPut1.getNumber());
wmsProductPutRecords.setCreateBy(wmsProductPut.getCreateBy());
wmsProductPutRecords.setCreateTime(new Date());
wmsProductPutRecordsMapper.insertWmsProductPutRecords(wmsProductPutRecords);
//wms_fp_storage_news_sn
WmsFpStorageNewsSn wmsFpStorageNewsSn=new WmsFpStorageNewsSn();
wmsFpStorageNewsSn.setStorageId(IdUtils.fastSimpleUUID());
wmsFpStorageNewsSn.setFactoryCode(wmsProductPut.getFactoryCode());
wmsFpStorageNewsSn.setWhCode(wmsProductPut.getWhCode());//仓库编码
wmsFpStorageNewsSn.setWlCode(wmsProductPut1.getWlCode());
wmsFpStorageNewsSn.setOrderNo(wmsProductPutk.getId());
wmsFpStorageNewsSn.setProductCode(wmsProductPut.getProductCode());
wmsFpStorageNewsSn.setProductName(wmsProductPut.getProductName());
wmsFpStorageNewsSn.setSn(wmsProductPut1.getSn());
wmsFpStorageNewsSn.setAmount(new BigDecimal(wmsProductPut1.getNumber()));
wmsFpStorageNewsSn.setBatchNumber(wmsProductPut.getBatchNumber());
wmsFpStorageNewsSn.setUserDefined2(formattedDate);
wmsFpStorageNewsSn.setCreateBy(wmsProductPut.getCreateBy());
wmsFpStorageNewsSn.setCreateTime(new Date());
wmsFpStorageNewsSn.setActiveFlag("1");
wmsFpStorageNewsSnMapper.insertWmsFpStorageNewsSn(wmsFpStorageNewsSn);
// wms_fp_storage_news
WmsFpStorageNews wmsFpStorageNews=new WmsFpStorageNews();
wmsFpStorageNews.setWhCode(wmsProductPut.getWhCode());//仓库编码
wmsFpStorageNews.setWlCode(wmsProductPut1.getWlCode());
wmsFpStorageNews.setStorageType("成品");
wmsFpStorageNews.setProductCode(wmsProductPut.getProductCode());
wmsFpStorageNews.setProductName(wmsProductPut.getProductName());
wmsFpStorageNews.setFactoryCode(wmsProductPut.getFactoryCode());
wmsFpStorageNews.setActiveFlag("1");
wmsFpStorageNews.setUserDefined1(wmsProductPut.getUnitOfMeasure());
List<WmsFpStorageNews> wmsFpStorageNewsList= wmsFpStorageNewsMapper.selectWmsFpStorageNewsList(wmsFpStorageNews);
wmsFpStorageNews.setStorageId(IdUtils.fastSimpleUUID());
wmsFpStorageNews.setAmount(new BigDecimal(wmsProductPut1.getNumber()));
wmsFpStorageNews.setCreateBy(wmsProductPut.getCreateBy());
wmsFpStorageNews.setCreateTime(new Date());
if (wmsFpStorageNewsList.size()>0){
WmsFpStorageNews wmsFpStorageNews1= wmsFpStorageNewsList.get(0);
BigDecimal amount= wmsFpStorageNews1.getAmount();
BigDecimal amountAdd= amount.add(wmsFpStorageNews.getAmount());
wmsFpStorageNews1.setAmount(amountAdd);
wmsFpStorageNewsMapper.updateWmsFpStorageNews(wmsFpStorageNews1);
}else {
wmsFpStorageNewsMapper.insertWmsFpStorageNews(wmsFpStorageNews);
}
}
return SUCCESS;
}
@Override
@DS("#header.poolName")
public String WmsProductPutByWorkOrderConfirmSAPPosting(List<WmsProductPut> wmsProductPut) {
String msgs="操作完成";
for (WmsProductPut wmsProductPut1:
wmsProductPut) {
WmsProductPut wmsProductPut2= wmsProductPutMapper.selectWmsProductPutSAPById(wmsProductPut1.getId());
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("AUFNR",wmsProductPut2.getProductOrder());
map.put("WERKS",wmsProductPut2.getFactoryCode());
map.put("LGORT",wmsProductPut2.getWhCode());
map.put("QUANTITY",wmsProductPut2.getPutQuantity());
map.put("ERFME",wmsProductPut2.getUnitOfMeasure());
map.put("BATCH",wmsProductPut2.getAttr3());
map.put("HSDAT",wmsProductPut2.getProductDate());
mapList.add(map);
R result= remoteSapService.sapOrderReceipt(mapList);
int code= result.getCode();
String msg= result.getMsg();
wmsProductPut2.setSapMessage(msg);
if (code==200) {//过账成功
String date= (String) result.getData();
wmsProductPut2.setSapProof(date);
wmsProductPut2.setSapStatus("1");
}else {
wmsProductPut2.setSapStatus("2");
}
wmsProductPutMapper.updateWmsProductPut(wmsProductPut2);
}
return msgs;
}
}

@ -622,4 +622,38 @@
where ebac.equipment_code = #{equipmentCode}
</select>
<select id="selectWXRecordsList" parameterType="com.op.wms.domain.BaseEquipment" resultType="com.op.wms.domain.BaseEquipment">
select
work_code AS workCode,
work_person AS workPerson,
work_team AS workTeam,
work_reason AS workReason,
work_fault_desc AS workFaultDesc,
repair_measures AS repairMeasures,
work_status AS workStatus,
work_start_time AS workStartTime,
work_end_time AS workEndTime
from equ_repair_work_order
where equipment_code = #{equipmentCode}
and del_flag = '0'
</select>
<select id="selectBYRecordsList" parameterType="com.op.wms.domain.BaseEquipment" resultType="com.op.wms.domain.BaseEquipment">
select
order_code AS orderCode,
CONCAT(plan_loop, plan_loop_type) AS planLoop,
order_start AS orderStart,
order_end AS orderEnd,
order_status AS orderStatus,
order_cost AS orderCost,
plan_person AS planPerson,
order_cost_time AS orderCostTime,
order_sign_person AS orderSignPerson
from equ_order
where equipment_code = #{equipmentCode}
and del_flag = '0'
and plan_type = 'maintenance'
</select>
</mapper>

@ -21,10 +21,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="fType" column="f_type" />
</resultMap>
<sql id="selectSysFactoryVo">
select factory_id, parent_id, ancestors, factory_name, order_num, leader, phone, email, status, del_flag, create_by, create_time, update_by, update_time, factory_code,del_flag from sys_factory
select factory_id, parent_id, ancestors, factory_name, order_num, leader, phone, email, status, del_flag, create_by, create_time, update_by, update_time, factory_code,del_flag , f_type from sys_factory
</sql>
<select id="selectSysFactoryList" parameterType="SysFactory" resultMap="SysFactoryResult">
@ -39,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="phone != null and phone != ''"> and phone = #{phone}</if>
<if test="email != null and email != ''"> and email = #{email}</if>
<if test="status != null and status != ''"> and status = #{status}</if>
<if test="fType != null and fType != ''"> and f_type = #{fType}</if>
and del_flag = '0'
</where>
</select>
@ -66,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null">factory_code,</if>
<if test="fType != null">f_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="parentId != null">#{parentId},</if>
@ -82,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null">#{factoryCode},</if>
<if test="fType != null">#{fType},</if>
</trim>
</insert>
@ -102,6 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null">factory_code = #{factoryCode},</if>
<if test="fType != null">f_type = #{fType},</if>
</trim>
where factory_id = #{factoryId}
</update>

@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="WmsProductPut" id="WmsProductPutResult">
<result property="id" column="id" />
<result property="workOrder" column="work_order" />
<result property="batchNumber" column="batch_number" />
<result property="factoryCode" column="factory_code" />
<result property="productOrder" column="product_order" />
<result property="whCode" column="wh_code" />
@ -152,8 +153,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="sapProof != null">#{sapProof},</if>
<if test="sapMessage != null">#{sapMessage},</if>
<if test="putDate != null">#{putDate},</if>
<if test="batchNumber != null">#{batch_number},</if>
<if test="productDate != null">#{product_date},</if>
<if test="batchNumber != null">#{batchNumber},</if>
<if test="productDate != null">#{productDate},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="attr5 != null">#{attr5},</if>
@ -220,17 +221,71 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<select id="selectMesReportWork" resultMap="WmsProductPutResult">
SELECT
report_code work_order,
product_code,
product_name,
unit unit_of_measure,
quantity plan_quantity
mes_report_work.report_code work_order,
pro_order_workorder.order_code product_order,
mes_report_work.product_code,
mes_report_work.product_name,
mes_report_work.unit unit_of_measure,
mes_report_work.batch batch_number,
mes_report_work.quantity plan_quantity,
(mes_report_work.quantity-put.put_quantity) attr3
FROM
mes_report_work
LEFT JOIN (
SELECT SUM
( wms_product_put.put_quantity ) AS put_quantity,
wms_product_put.work_order AS work_order,
wms_product_put.product_code AS product_code FROM wms_product_put
GROUP BY
wms_product_put.work_order,
wms_product_put.product_code
) put ON put.work_order=mes_report_work.report_code AND put.product_code=mes_report_work.product_code
LEFT JOIN pro_order_workorder ON pro_order_workorder.workorder_code=mes_report_work.workorder_code
WHERE
report_code=#{workOrder}
mes_report_work.report_code=#{workOrder}
and
parent_order = '0'
mes_report_work.parent_order = '0'
</select>
<select id="selectWmsProductPutSAPById" parameterType="String" resultMap="WmsProductPutResult">
SELECT DISTINCT
wms_product_put.id,
wms_product_put.work_order,
wms_product_put.factory_code,
wms_product_put.product_order,
wms_product_put.wh_code,
wms_product_put.wa_code,
wms_product_put.wl_code,
wms_product_put.product_name,
wms_product_put.product_code,
wms_product_put.product_sort,
wms_product_put.specification,
wms_product_put.unit_of_measure,
wms_product_put.plan_quantity,
wms_product_put.put_quantity,
wms_product_put.status,
wms_product_put.SAP_status,
wms_product_put.SAP_proof,
wms_product_put.SAP_message,
wms_product_put.put_date,
wms_product_put.batch_number,
wms_product_put.attr3,
wms_product_put.attr4,
wms_product_put.attr5,
wms_product_put.attr6,
wms_product_put.attr7,
wms_product_put.attr8,
wms_product_put.attr9,
wms_product_put.attr10,
wms_product_put.create_by,
wms_product_put.create_time,
wms_product_put.update_by,
wms_product_put.update_time ,
pro_order_workorder.product_date
FROM
wms_product_put
LEFT JOIN pro_order_workorder ON pro_order_workorder.order_code=wms_product_put.product_order
WHERE wms_product_put.id = #{id}
AND wms_product_put.status= '1'
AND wms_product_put.SAP_status IN ( 0, 2 )
</select>
</mapper>

Loading…
Cancel
Save