Merge remote-tracking branch 'origin/master'

master
Yangwl 2 years ago
commit ed23db844a

@ -5,6 +5,9 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.system.api.factory.RemoteOpenFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
/**
* Open
@ -15,6 +18,6 @@ import org.springframework.web.bind.annotation.PostMapping;
public interface RemoteOpenService {
/**提交ZL0010-来料检验不合格控制流程**/
@PostMapping("/openInterface/OAInspection")
public AjaxResult OAInspection();
public AjaxResult OAInspection(@RequestBody(required = false) Map<String, Object> paramMap);
}

@ -100,6 +100,17 @@ public class SysUser extends BaseEntity {
}
//新增 微信账号
private String wxId;
public String getWxId() {
return wxId;
}
public void setWxId(String wxId) {
this.wxId = wxId;
}
public String getUserCode() {
return userCode;
}

@ -0,0 +1,31 @@
package com.op.system.api.domain.quality;
import java.util.List;
/**
*
*echart
* @author zxl
* @date 2023-07-18
*/
public class ChartSeriesDTO {
private List<String> yAxisData;
private List<ChartDTO> series;
public List<String> getyAxisData() {
return yAxisData;
}
public void setyAxisData(List<String> yAxisData) {
this.yAxisData = yAxisData;
}
public List<ChartDTO> getSeries() {
return series;
}
public void setSeries(List<ChartDTO> series) {
this.series = series;
}
}

@ -7,6 +7,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
@Component
public class RemoteOpenFallbackFactory implements FallbackFactory<RemoteOpenService> {
@ -16,7 +19,7 @@ public class RemoteOpenFallbackFactory implements FallbackFactory<RemoteOpenServ
log.error("Open服务调用失败:{}", throwable.getMessage());
return new RemoteOpenService() {
@Override
public AjaxResult OAInspection() {
public AjaxResult OAInspection(@RequestBody(required = false) Map<String, Object> paramMap) {
return AjaxResult.error("提交ZL0010-来料检验不合格控制流程失败"+throwable.getMessage());
}
};

@ -352,7 +352,13 @@ public class EquOrderServiceImpl implements IEquOrderService {
// 费用
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));
}
}
// 保养图片
if (StringUtils.isNotEmpty(equOrder.getPicturePath())) {

@ -146,7 +146,7 @@
<select id="selectTaskRecord" parameterType="String" resultMap="EquOrderResult">
<include refid="selectEquOrderVo"/>
where del_flag = '0' and order_status = '1' and plan_type = #{planType} and order_code in (
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>

@ -1,7 +1,11 @@
package com.op.quality.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -20,6 +24,7 @@ import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* Controller
@ -62,6 +67,28 @@ public class QcCheckProjectController extends BaseController {
util.exportExcel(response, list, "检验项目维护数据");
}
/**
*
*/
@RequiresPermissions("quality:project:import")
@Log(title = "检验项目维护", businessType = BusinessType.EXPORT)
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<QcCheckProject> util = new ExcelUtil<QcCheckProject>(QcCheckProject.class);
List<QcCheckProject> projectList = util.importExcel(file.getInputStream());
String operName = SecurityUtils.getUsername();
String message = qcCheckProjectService.importCheckProject(projectList, updateSupport, operName);
return success(message);
}
/**
*
*/
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) throws IOException {
ExcelUtil<QcCheckProject> util = new ExcelUtil<QcCheckProject>(QcCheckProject.class);
util.importTemplateExcel(response, "检测项目");
}
/**
*
*/

@ -2,13 +2,19 @@ package com.op.quality.controller;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSONObject;
import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.bean.BeanUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysRole;
import com.op.system.api.domain.SysUser;
import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO;
@ -30,6 +36,8 @@ import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* Controller
@ -114,6 +122,9 @@ public class QcCheckTaskIncomeController extends BaseController {
@Log(title = "来料检验", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcCheckTaskIncome.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(qcCheckTaskIncome);
if(r>0){
return toAjax(r);
@ -123,7 +134,7 @@ public class QcCheckTaskIncomeController extends BaseController {
@PostMapping("/createIncomeTask")
public AjaxResult createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome0) {
QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome();
BeanUtils.copyProperties(qcCheckTaskIncome,qcCheckTaskIncome0);
BeanUtils.copyProperties(qcCheckTaskIncome0,qcCheckTaskIncome);
int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(qcCheckTaskIncome);
if(r>0){
return toAjax(r);

@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.domain.QcMaterialGroup;
import com.op.quality.domain.QcProjectType;
import com.op.quality.service.IQcMaterialGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -116,5 +117,11 @@ public class QcCheckTypeProjectController extends BaseController {
public AjaxResult submitProjects(@RequestBody List<QcCheckTypeProject> typeProjects) {
return toAjax(qcCheckTypeProjectService.submitProjects(typeProjects));
}
//获取方案下拉
@GetMapping("/getProjectOptions")
public List<QcProjectType> getProjectOptions(QcCheckProject qcCheckProject) {
startPage();
List<QcProjectType> list = qcCheckTypeProjectService.getProjectOptions(qcCheckProject);
return list;
}
}

@ -9,6 +9,8 @@ import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.quality.domain.QcProCheck;
import com.op.quality.service.QcProCheckService;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -30,7 +32,13 @@ public class QcProCheckController extends BaseController {
@GetMapping("/list")
public List<QcProCheck> list(QcProCheck qcProCheck) {
List<QcProCheck> qcProChecks = qcProCheckService.selectQcCheckList(qcProCheck);
return qcProCheckService.selectQcCheckList(qcProCheck);
return qcProChecks;
}
@GetMapping("/getHfChartData")
public ChartSeriesDTO getHfChartData(QcProCheck qcProCheck) {
ChartSeriesDTO dto = qcProCheckService.getHfChartData(qcProCheck);
return dto;
}
@Log(title = "白坯合格统计", businessType = BusinessType.EXPORT)

@ -0,0 +1,97 @@
package com.op.quality.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.quality.domain.QcProjectType;
import com.op.quality.service.IQcProjectTypeService;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author Open Platform
* @date 2023-12-27
*/
@RestController
@RequestMapping("/qcProjectType")
public class QcProjectTypeController extends BaseController {
@Autowired
private IQcProjectTypeService qcProjectTypeService;
/**
*
*/
@RequiresPermissions("quality:qcProjectType:list")
@GetMapping("/list")
public TableDataInfo list(QcProjectType qcProjectType) {
startPage();
List<QcProjectType> list = qcProjectTypeService.selectQcProjectTypeList(qcProjectType);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:export")
@Log(title = "检验方案维护", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcProjectType qcProjectType) {
List<QcProjectType> list = qcProjectTypeService.selectQcProjectTypeList(qcProjectType);
ExcelUtil<QcProjectType> util = new ExcelUtil<QcProjectType>(QcProjectType.class);
util.exportExcel(response, list, "检验方案维护数据");
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcProjectTypeService.selectQcProjectTypeById(id));
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:add")
@Log(title = "检验方案维护", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcProjectType qcProjectType) {
return toAjax(qcProjectTypeService.insertQcProjectType(qcProjectType));
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:edit")
@Log(title = "检验方案维护", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcProjectType qcProjectType) {
return toAjax(qcProjectTypeService.updateQcProjectType(qcProjectType));
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:remove")
@Log(title = "检验方案维护", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcProjectTypeService.deleteQcProjectTypeByIds(ids));
}
}

@ -0,0 +1,97 @@
package com.op.quality.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.quality.domain.QcSampleRule;
import com.op.quality.service.IQcSampleRuleService;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author Open Platform
* @date 2023-12-28
*/
@RestController
@RequestMapping("/qcSampleRule")
public class QcSampleRuleController extends BaseController {
@Autowired
private IQcSampleRuleService qcSampleRuleService;
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:list")
@GetMapping("/list")
public TableDataInfo list(QcSampleRule qcSampleRule) {
startPage();
List<QcSampleRule> list = qcSampleRuleService.selectQcSampleRuleList(qcSampleRule);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:export")
@Log(title = "来料抽样规则", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcSampleRule qcSampleRule) {
List<QcSampleRule> list = qcSampleRuleService.selectQcSampleRuleList(qcSampleRule);
ExcelUtil<QcSampleRule> util = new ExcelUtil<QcSampleRule>(QcSampleRule.class);
util.exportExcel(response, list, "来料抽样规则数据");
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcSampleRuleService.selectQcSampleRuleById(id));
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:add")
@Log(title = "来料抽样规则", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcSampleRule qcSampleRule) {
return toAjax(qcSampleRuleService.insertQcSampleRule(qcSampleRule));
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:edit")
@Log(title = "来料抽样规则", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcSampleRule qcSampleRule) {
return toAjax(qcSampleRuleService.updateQcSampleRule(qcSampleRule));
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:remove")
@Log(title = "来料抽样规则", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcSampleRuleService.deleteQcSampleRuleByIds(ids));
}
}

@ -226,4 +226,29 @@ public class QcStaticTableController extends BaseController {
public List<FactoryDto> getWorkcenterList(FactoryDto factoryDto) {
return qcStaticTableService.getWorkcenterList(factoryDto);
}
/**
*
*/
@RequiresPermissions("quality:qcTableXJ:list")
@GetMapping("/getXJCheckTableList")
public TableDataInfo getXJCheckTableList(QcStaticTable qcStaticTable) {
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcStaticTable.getYearMonth())){
LocalDate date = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM");
String ymStr = dtf.format(date);
qcStaticTable.setYearMonth(ymStr);//end
}
startPage();
List<QcStaticTable> list = qcStaticTableService.getXJCheckTableList(qcStaticTable);
return getDataTable(list);
}
@GetMapping("/getXJCheckTableDetail")
public List<QcStaticTable> getXJCheckTableDetail(QcStaticTable qcStaticTable) {
List<QcStaticTable> list = qcStaticTableService.getXJCheckTableDetail(qcStaticTable);
return list;
}
}

@ -52,16 +52,26 @@ public class QcCheckProject extends BaseEntity {
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
@Excel(name = "抽样方案")
private String samplePlan;
@Excel(name = "合格判定")
private String judge;
@Excel(name = "缺陷等级")
private String defectLevel;
@Excel(name = "检验方案类型")
private String projectType;
private String materialCode;
private String typeCode;
private String groupId;
public String getProjectType() {
return projectType;
}
public void setProjectType(String projectType) {
this.projectType = projectType;
}
public String getMaterialCode() {
return materialCode;
}

@ -115,6 +115,9 @@ public class QcCheckReportIncome extends BaseEntity {
/** 删除标识1删除0正常 */
private String delFlag;
@Excel(name = "抽样数量")
private BigDecimal sampleQuality;
private String incomeTimeStart;
private String incomeTimeEnd;
private String checkTimeStart;
@ -122,6 +125,13 @@ public class QcCheckReportIncome extends BaseEntity {
private String typeCode;//大类
private String checkType;//小类
public BigDecimal getSampleQuality() {
return sampleQuality;
}
public void setSampleQuality(BigDecimal sampleQuality) {
this.sampleQuality = sampleQuality;
}
public String getCheckType() {
return checkType;

@ -83,6 +83,43 @@ public class QcProCheck extends BaseEntity {
@Excel(name = "合格率")
private String passRate;
private String chartType;
private String quality;
private String okQuality;
private String shiftId;
public String getShiftId() {
return shiftId;
}
public void setShiftId(String shiftId) {
this.shiftId = shiftId;
}
public String getOkQuality() {
return okQuality;
}
public void setOkQuality(String okQuality) {
this.okQuality = okQuality;
}
public String getQuality() {
return quality;
}
public void setQuality(String quality) {
this.quality = quality;
}
public String getChartType() {
return chartType;
}
public void setChartType(String chartType) {
this.chartType = chartType;
}
public String getAcceptanceNumber() {
return acceptanceNumber;
}

@ -0,0 +1,97 @@
package com.op.quality.domain;
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;
/**
* qc_project_type
*
* @author Open Platform
* @date 2023-12-27
*/
public class QcProjectType extends BaseEntity {
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 检测项方案编号 */
@Excel(name = "检测项方案编号")
private String projectTypeCode;
/** 检测项方案名称 */
@Excel(name = "检测项方案名称")
private String projectTypeName;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 删除标识1删除0正常 */
private String delFlag;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setProjectTypeCode(String projectTypeCode) {
this.projectTypeCode = projectTypeCode;
}
public String getProjectTypeCode() {
return projectTypeCode;
}
public void setProjectTypeName(String projectTypeName) {
this.projectTypeName = projectTypeName;
}
public String getProjectTypeName() {
return projectTypeName;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public String getFactoryCode() {
return factoryCode;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectTypeCode", getProjectTypeCode())
.append("projectTypeName", getProjectTypeName())
.append("attr1", getAttr1())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("factoryCode", getFactoryCode())
.append("delFlag", getDelFlag())
.toString();
}
}

@ -0,0 +1,137 @@
package com.op.quality.domain;
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;
/**
* qc_sample_rule
*
* @author Open Platform
* @date 2023-12-28
*/
public class QcSampleRule extends BaseEntity {
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 开始值 */
@Excel(name = "开始值")
private Long startValue;
/** 检测项方案名称 */
@Excel(name = "结束值")
private Long endValue;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 删除标识1删除0正常 */
private String delFlag;
/** 抽样数量 */
@Excel(name = "抽样数量")
private Long sampleQuality;
/** 小节点 */
@Excel(name = "小节点")
private String checkType;
/** 大节点 */
@Excel(name = "大节点")
private String typeCode;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public Long getStartValue() {
return startValue;
}
public void setStartValue(Long startValue) {
this.startValue = startValue;
}
public Long getEndValue() {
return endValue;
}
public void setEndValue(Long endValue) {
this.endValue = endValue;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public String getFactoryCode() {
return factoryCode;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
public void setSampleQuality(Long sampleQuality) {
this.sampleQuality = sampleQuality;
}
public Long getSampleQuality() {
return sampleQuality;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public String getCheckType() {
return checkType;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public String getTypeCode() {
return typeCode;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("start", getStartValue())
.append("end", getEndValue())
.append("attr1", getAttr1())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("factoryCode", getFactoryCode())
.append("delFlag", getDelFlag())
.append("sampleQuality", getSampleQuality())
.append("checkType", getCheckType())
.append("typeCode", getTypeCode())
.toString();
}
}

@ -1,10 +1,12 @@
package com.op.quality.domain;
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 java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@ -54,6 +56,242 @@ public class QcStaticTable extends BaseEntity {
private String dataType;
private String workCenter;
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;
private String checkManName;
private String ruleName;
private String projectId;
private String projectNo;
private String status;
private String ymdms;
private String column080090;
private String column090100;
private String column100110;
private String column110120;
private String column123133;
private String column133143;
private String column143153;
private String column153163;
private String column163173;
private String column180190;
private String column190200;
private String column200210;
public String getColumn080090() {
return column080090;
}
public void setColumn080090(String column080090) {
this.column080090 = column080090;
}
public String getColumn090100() {
return column090100;
}
public void setColumn090100(String column090100) {
this.column090100 = column090100;
}
public String getColumn100110() {
return column100110;
}
public void setColumn100110(String column100110) {
this.column100110 = column100110;
}
public String getColumn110120() {
return column110120;
}
public void setColumn110120(String column110120) {
this.column110120 = column110120;
}
public String getColumn123133() {
return column123133;
}
public void setColumn123133(String column123133) {
this.column123133 = column123133;
}
public String getColumn133143() {
return column133143;
}
public void setColumn133143(String column133143) {
this.column133143 = column133143;
}
public String getColumn143153() {
return column143153;
}
public void setColumn143153(String column143153) {
this.column143153 = column143153;
}
public String getColumn153163() {
return column153163;
}
public void setColumn153163(String column153163) {
this.column153163 = column153163;
}
public String getColumn163173() {
return column163173;
}
public void setColumn163173(String column163173) {
this.column163173 = column163173;
}
public String getColumn180190() {
return column180190;
}
public void setColumn180190(String column180190) {
this.column180190 = column180190;
}
public String getColumn190200() {
return column190200;
}
public void setColumn190200(String column190200) {
this.column190200 = column190200;
}
public String getColumn200210() {
return column200210;
}
public void setColumn200210(String column200210) {
this.column200210 = column200210;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getYmdms() {
return ymdms;
}
public void setYmdms(String ymdms) {
this.ymdms = ymdms;
}
public String getRuleName() {
return ruleName;
}
public void setRuleName(String ruleName) {
this.ruleName = ruleName;
}
public String getProjectId() {
return projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public String getProjectNo() {
return projectNo;
}
public void setProjectNo(String projectNo) {
this.projectNo = projectNo;
}
public String getRecordId() {
return recordId;
}
public void setRecordId(String recordId) {
this.recordId = recordId;
}
public String getCheckNo() {
return checkNo;
}
public void setCheckNo(String checkNo) {
this.checkNo = checkNo;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public String getIncomeBatchNo() {
return incomeBatchNo;
}
public void setIncomeBatchNo(String incomeBatchNo) {
this.incomeBatchNo = incomeBatchNo;
}
public String getQuality() {
return quality;
}
public void setQuality(String quality) {
this.quality = quality;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public Date getIncomeTime() {
return incomeTime;
}
public void setIncomeTime(Date incomeTime) {
this.incomeTime = incomeTime;
}
public String getCheckManCode() {
return checkManCode;
}
public void setCheckManCode(String checkManCode) {
this.checkManCode = checkManCode;
}
public String getCheckManName() {
return checkManName;
}
public void setCheckManName(String checkManName) {
this.checkManName = checkManName;
}
public String getWorkCenter() {
return workCenter;
}

@ -4,6 +4,7 @@ import java.util.List;
import com.op.quality.domain.QcCheckProject;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -63,4 +64,7 @@ public interface QcCheckProjectMapper {
public QcCheckProject selectSerialNumber();
public QcCheckProject selectCheckProjectByRuleName(@Param("ruleName") String ruleName,
@Param("projectType") String projectType);
}

@ -6,6 +6,7 @@ import java.util.Map;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.domain.QcCheckTaskDetail;
import com.op.quality.domain.QcCheckTypeProject;
import com.op.quality.domain.QcProjectType;
import com.op.system.api.domain.SysDictData;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
@ -77,4 +78,6 @@ public interface QcCheckTypeProjectMapper {
List<QcCheckProject> getProjectInfoList(QcCheckProject qcCheckProject);
int insertQcCheckTypeProjects(@Param("list") List<QcCheckTypeProject> typeProjects);
List<QcProjectType> getProjectOptions(QcCheckProject qcCheckProject);
}

@ -39,4 +39,7 @@ public interface QcProCheckMapper {
List<QcCheckTaskIncome> getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome);
List<QcProCheck> getQcProCheckList(QcProCheck qcProCheck);
List<QcProCheck> getHFnames(QcProCheck qcProCheck);
}

@ -0,0 +1,63 @@
package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcProjectType;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author Open Platform
* @date 2023-12-27
*/
@Mapper
public interface QcProjectTypeMapper {
/**
*
*
* @param id
* @return
*/
public QcProjectType selectQcProjectTypeById(String id);
/**
*
*
* @param qcProjectType
* @return
*/
public List<QcProjectType> selectQcProjectTypeList(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int insertQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int updateQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param id
* @return
*/
public int deleteQcProjectTypeById(String id);
/**
*
*
* @param ids
* @return
*/
public int deleteQcProjectTypeByIds(String[] ids);
}

@ -0,0 +1,63 @@
package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcSampleRule;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author Open Platform
* @date 2023-12-28
*/
@Mapper
public interface QcSampleRuleMapper {
/**
*
*
* @param id
* @return
*/
public QcSampleRule selectQcSampleRuleById(String id);
/**
*
*
* @param qcSampleRule
* @return
*/
public List<QcSampleRule> selectQcSampleRuleList(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int insertQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int updateQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param id
* @return
*/
public int deleteQcSampleRuleById(String id);
/**
*
*
* @param ids
* @return
*/
public int deleteQcSampleRuleByIds(String[] ids);
}

@ -39,4 +39,10 @@ public interface QcStaticTableMapper {
Map<String, QcStaticTable> getProduceChartDataYM(QcStaticTable qcStaticTable);
List<FactoryDto> getWorkcenterList(FactoryDto factoryDto);
List<QcStaticTable> getXJCheckTableList(QcStaticTable qcStaticTable);
List<QcStaticTable> getXJProjects(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String,QcStaticTable> getProjectDetail(QcStaticTable qcStaticTable);
}

@ -57,4 +57,10 @@ public interface IQcCheckProjectService {
* @return
*/
public int deleteQcCheckProjectById(String id);
/**
*
*
* @return
*/
public String importCheckProject(List<QcCheckProject> projectList, Boolean isUpdateSupport, String operName);
}

@ -4,6 +4,7 @@ import java.util.List;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.domain.QcCheckTypeProject;
import com.op.quality.domain.QcProjectType;
/**
* Service
@ -66,4 +67,6 @@ public interface IQcCheckTypeProjectService {
List<QcCheckProject> getProjectInfoList(QcCheckProject qcCheckProject);
int submitProjects(List<QcCheckTypeProject> typeProjects);
List<QcProjectType> getProjectOptions(QcCheckProject qcCheckProject);
}

@ -0,0 +1,60 @@
package com.op.quality.service;
import java.util.List;
import com.op.quality.domain.QcProjectType;
/**
* Service
*
* @author Open Platform
* @date 2023-12-27
*/
public interface IQcProjectTypeService {
/**
*
*
* @param id
* @return
*/
public QcProjectType selectQcProjectTypeById(String id);
/**
*
*
* @param qcProjectType
* @return
*/
public List<QcProjectType> selectQcProjectTypeList(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int insertQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int updateQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param ids
* @return
*/
public int deleteQcProjectTypeByIds(String[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteQcProjectTypeById(String id);
}

@ -0,0 +1,60 @@
package com.op.quality.service;
import java.util.List;
import com.op.quality.domain.QcSampleRule;
/**
* Service
*
* @author Open Platform
* @date 2023-12-28
*/
public interface IQcSampleRuleService {
/**
*
*
* @param id
* @return
*/
public QcSampleRule selectQcSampleRuleById(String id);
/**
*
*
* @param qcSampleRule
* @return
*/
public List<QcSampleRule> selectQcSampleRuleList(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int insertQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int updateQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param ids
* @return
*/
public int deleteQcSampleRuleByIds(String[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteQcSampleRuleById(String id);
}

@ -29,4 +29,8 @@ public interface IQcStaticTableService {
public Map<String, QcStaticTable> getProduceChartDataYM(QcStaticTable qcStaticTable);
List<FactoryDto> getWorkcenterList(FactoryDto factoryDto);
List<QcStaticTable> getXJCheckTableList(QcStaticTable qcStaticTable);
List<QcStaticTable> getXJCheckTableDetail(QcStaticTable qcStaticTable);
}

@ -7,6 +7,8 @@ import com.op.quality.domain.QcCheckTaskIncome;
import com.op.quality.domain.QcCheckTypeProject;
import com.op.quality.domain.QcProCheck;
import com.op.system.api.domain.SysDictData;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import java.util.List;
@ -39,4 +41,6 @@ public interface QcProCheckService {
List<SysDictData> getQcUnitList(SysDictData sysDictData);
List<QcProCheck> selectQcCheckList(QcProCheck qcProCheck);
ChartSeriesDTO getHfChartData(QcProCheck qcProCheck);
}

@ -3,19 +3,26 @@ package com.op.quality.service.impl;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.exception.ServiceException;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.bean.BeanValidators;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcCheckProjectMapper;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.service.IQcCheckProjectService;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Validator;
/**
* Service
@ -25,9 +32,14 @@ import javax.servlet.http.HttpServletRequest;
*/
@Service
public class QcCheckProjectServiceImpl implements IQcCheckProjectService {
private static final Logger log = LoggerFactory.getLogger(QcCheckProject.class);
@Autowired
private QcCheckProjectMapper qcCheckProjectMapper;
@Autowired
protected Validator validator;
/**
*
*
@ -113,6 +125,60 @@ public class QcCheckProjectServiceImpl implements IQcCheckProjectService {
return qcCheckProjectMapper.deleteQcCheckProjectById(id);
}
@Override
@DS("#header.poolName")
public String importCheckProject(List<QcCheckProject> projectList, Boolean isUpdateSupport, String operName) {
if (CollectionUtils.isEmpty(projectList)) {
throw new ServiceException("导入的检测项目数据为空!");
}
int successNum = 0;
int failproNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failproMsg = new StringBuilder();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
String factoryCode = request.getHeader(key.substring(8)).replace("ds_", "");
for (QcCheckProject project : projectList) {
try {
QcCheckProject pro = qcCheckProjectMapper.selectCheckProjectByRuleName(project.getRuleName(),project.getProjectType());
if (ObjectUtils.isEmpty(pro)) {
BeanValidators.validateWithException(validator, project);
project.setId(IdUtils.fastSimpleUUID());
project.setCreateTime(DateUtils.getNowDate());
project.setCreateBy(operName);
project.setFactoryCode(factoryCode);
qcCheckProjectMapper.insertQcCheckProject(project);
successNum++;
successMsg.append("<br/>" + successNum + "。检测项目" + project.getRuleName()+ "导入成功");
} else if (isUpdateSupport) {
BeanValidators.validateWithException(validator, project);
project.setId(pro.getId());
project.setUpdateTime(DateUtils.getNowDate());
project.setUpdateBy(operName);
qcCheckProjectMapper.updateQcCheckProject(project);
successNum++;
successMsg.append("<br/>" + successNum + "。检测项目[" + project.getRuleName()+ "]更新成功");
}else {
failproNum++;
failproMsg.append("<br/>" + failproNum + "。检测项目[" + project.getRuleName()+ "]已存在");
}
}catch (Exception e) {
failproNum++;
String msg = "<br/>" + failproNum + "、检测项目[" + project.getRuleName() + "]导入失败";
failproMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failproNum > 0) {
failproMsg.insert(0, "很抱歉,导入失败!共" + failproNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failproMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部导入成功! 共" + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
private String getOrderNum() {
String orderNum = "";
String now = DateUtils.getDate();

@ -1,21 +1,21 @@
package com.op.quality.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*;
import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckTaskProduceService;
import com.op.quality.service.IQcCheckTaskUserService;
import com.op.system.api.RemoteOpenService;
import com.op.system.api.domain.SysUser;
import com.op.system.api.domain.quality.QcUserMaterialDTO;
import org.slf4j.Logger;
@ -63,6 +63,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@Autowired
private IQcCheckTaskUserService qcCheckTaskUserService;
@Autowired
private RemoteOpenService remoteOpenService;
/**
*
*
@ -96,9 +99,8 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcCheckTaskIncome(QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskIncome.getFactoryCode());
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
int liushuiNum = qcCheckTaskIncomeMapper.getTodayMaxNum(qcCheckTaskIncome);
String liushuiStr = String.format("%04d", liushuiNum);
@ -384,6 +386,25 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
unqualified.setType(qcCheckTaskIncome.getCheckType());
/**qc_check_unqualified**/
qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified);
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",qcCheckTaskIncome.getUpdateBy());//提交人工号
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());
logger.info("流程Id 26258:"+ JSONObject.toJSONString(paramMap));
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
logger.info("流程Id 26258:"+ JSONObject.toJSONString(oaR));
}
return n ;
@ -476,7 +497,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
qcCheckTask.setUpdateTime(nowTime);
qcCheckTask.setCheckTime(nowTime);
qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格
qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo());
BigDecimal noOkQquality = new BigDecimal("0");
List<QcCheckTaskDefect> defects = qcCheckTaskIncome.getDefects();
for(QcCheckTaskDefect defect:defects){
@ -527,6 +548,25 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
/**qc_check_unqualified**/
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));
}
return n ;

@ -10,6 +10,7 @@ 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.QcCheckProject;
import com.op.quality.domain.QcProjectType;
import com.op.system.api.domain.SysDictData;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -155,5 +156,11 @@ public class QcCheckTypeProjectServiceImpl implements IQcCheckTypeProjectService
return m;
}
@Override
@DS("#header.poolName")
public List<QcProjectType> getProjectOptions(QcCheckProject qcCheckProject) {
return qcCheckTypeProjectMapper.getProjectOptions(qcCheckProject);
}
}

@ -14,6 +14,8 @@ import com.op.quality.mapper.QcCheckTaskIncomeMapper;
import com.op.quality.mapper.QcProCheckMapper;
import com.op.quality.service.QcProCheckService;
import com.op.system.api.domain.SysDictData;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -151,4 +153,35 @@ public class QcProCheckServiceImpl implements QcProCheckService {
return qcProCheckMapper.getQcProCheckList(qcProCheck);
}
@Override
@DS("#header.poolName")
public ChartSeriesDTO getHfChartData(QcProCheck qcProCheck) {
ChartSeriesDTO dto = new ChartSeriesDTO();
List<QcProCheck> checkList = null;
List<String> yData = new ArrayList<>();
List<ChartDTO> sers = new ArrayList<>();
checkList = qcProCheckMapper.getHFnames(qcProCheck);
ChartDTO chartDTO = new ChartDTO();
chartDTO.setName("合格");
List<Double> data = new ArrayList<>();
ChartDTO chartDTO0 = new ChartDTO();
chartDTO0.setName("不合格");
List<Double> data0 = new ArrayList<>();
for(QcProCheck check:checkList){
yData.add(check.getMachineName());
data.add(Double.parseDouble(check.getOkQuality()));
data0.add(Double.parseDouble(check.getQuality())-Double.parseDouble(check.getOkQuality()));
}
chartDTO.setData(data);
chartDTO0.setData(data0);
sers.add(chartDTO);
sers.add(chartDTO0);
dto.setyAxisData(yData);
dto.setSeries(sers);
return dto;
}
}

@ -0,0 +1,109 @@
package com.op.quality.service.impl;
import java.util.List;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcProjectTypeMapper;
import com.op.quality.domain.QcProjectType;
import com.op.quality.service.IQcProjectTypeService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Service
*
* @author Open Platform
* @date 2023-12-27
*/
@Service
public class QcProjectTypeServiceImpl implements IQcProjectTypeService {
@Autowired
private QcProjectTypeMapper qcProjectTypeMapper;
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public QcProjectType selectQcProjectTypeById(String id) {
return qcProjectTypeMapper.selectQcProjectTypeById(id);
}
/**
*
*
* @param qcProjectType
* @return
*/
@Override
@DS("#header.poolName")
public List<QcProjectType> selectQcProjectTypeList(QcProjectType qcProjectType) {
return qcProjectTypeMapper.selectQcProjectTypeList(qcProjectType);
}
/**
*
*
* @param qcProjectType
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcProjectType(QcProjectType qcProjectType) {
qcProjectType.setId(IdUtils.fastSimpleUUID());
qcProjectType.setCreateBy(SecurityUtils.getUsername());
qcProjectType.setCreateTime(DateUtils.getNowDate());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcProjectType.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
return qcProjectTypeMapper.insertQcProjectType(qcProjectType);
}
/**
*
*
* @param qcProjectType
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcProjectType(QcProjectType qcProjectType) {
qcProjectType.setUpdateTime(DateUtils.getNowDate());
qcProjectType.setUpdateBy(SecurityUtils.getUsername());
return qcProjectTypeMapper.updateQcProjectType(qcProjectType);
}
/**
*
*
* @param ids
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcProjectTypeByIds(String[] ids) {
return qcProjectTypeMapper.deleteQcProjectTypeByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcProjectTypeById(String id) {
return qcProjectTypeMapper.deleteQcProjectTypeById(id);
}
}

@ -0,0 +1,109 @@
package com.op.quality.service.impl;
import java.util.List;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcSampleRuleMapper;
import com.op.quality.domain.QcSampleRule;
import com.op.quality.service.IQcSampleRuleService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Service
*
* @author Open Platform
* @date 2023-12-28
*/
@Service
public class QcSampleRuleServiceImpl implements IQcSampleRuleService {
@Autowired
private QcSampleRuleMapper qcSampleRuleMapper;
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public QcSampleRule selectQcSampleRuleById(String id) {
return qcSampleRuleMapper.selectQcSampleRuleById(id);
}
/**
*
*
* @param qcSampleRule
* @return
*/
@Override
@DS("#header.poolName")
public List<QcSampleRule> selectQcSampleRuleList(QcSampleRule qcSampleRule) {
return qcSampleRuleMapper.selectQcSampleRuleList(qcSampleRule);
}
/**
*
*
* @param qcSampleRule
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcSampleRule(QcSampleRule qcSampleRule) {
qcSampleRule.setCreateTime(DateUtils.getNowDate());
qcSampleRule.setId(IdUtils.fastSimpleUUID());
qcSampleRule.setCreateBy(SecurityUtils.getUsername());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcSampleRule.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
return qcSampleRuleMapper.insertQcSampleRule(qcSampleRule);
}
/**
*
*
* @param qcSampleRule
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcSampleRule(QcSampleRule qcSampleRule) {
qcSampleRule.setUpdateTime(DateUtils.getNowDate());
qcSampleRule.setUpdateBy(SecurityUtils.getUsername());
return qcSampleRuleMapper.updateQcSampleRule(qcSampleRule);
}
/**
*
*
* @param ids
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcSampleRuleByIds(String[] ids) {
return qcSampleRuleMapper.deleteQcSampleRuleByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcSampleRuleById(String id) {
return qcSampleRuleMapper.deleteQcSampleRuleById(id);
}
}

@ -5,7 +5,7 @@ import java.util.List;
import java.util.Map;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.system.api.domain.quality.FactoryDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -136,5 +136,122 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
return qcStaticTableMapper.getWorkcenterList(factoryDto);
}
/**巡检记录**/
@Override
@DS("#header.poolName")
public List<QcStaticTable> getXJCheckTableList(QcStaticTable qcStaticTable) {
List<QcStaticTable> tabledtos = qcStaticTableMapper.getXJCheckTableList(qcStaticTable);
return tabledtos;
}
@Override
@DS("#header.poolName")
public List<QcStaticTable> getXJCheckTableDetail(QcStaticTable qcStaticTable) {
List<QcStaticTable> projects = qcStaticTableMapper.getXJProjects(qcStaticTable);
Map<String,QcStaticTable> detailMap = qcStaticTableMapper.getProjectDetail(qcStaticTable);
for(QcStaticTable project:projects){
this.getDataFromMap(detailMap,project);
}
return projects;
}
private void getDataFromMap(Map<String,QcStaticTable> detailMap,QcStaticTable project){
String keystr = project.getProjectId()+"08";
QcStaticTable detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn080090(detail.getStatus());
}else{
project.setColumn080090("-");
}
keystr = project.getProjectId()+"09";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn090100(detail.getStatus());
}else{
project.setColumn090100("-");
}
keystr = project.getProjectId()+"10";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn100110(detail.getStatus());
}else{
project.setColumn100110("-");
}
keystr = project.getProjectId()+"11";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn110120(detail.getStatus());
}else{
project.setColumn110120("-");
}
keystr = project.getProjectId()+"12";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn123133(detail.getStatus());
}else{
project.setColumn123133("-");
}
keystr = project.getProjectId()+"13";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn133143(detail.getStatus());
}else{
project.setColumn133143("-");
}
keystr = project.getProjectId()+"14";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn143153(detail.getStatus());
}else{
project.setColumn143153("-");
}
keystr = project.getProjectId()+"15";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn153163(detail.getStatus());
}else{
project.setColumn153163("-");
}
keystr = project.getProjectId()+"16";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn163173(detail.getStatus());
}else{
project.setColumn163173("-");
}
keystr = project.getProjectId()+"18";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn180190(detail.getStatus());
}else{
project.setColumn180190("-");
}
keystr = project.getProjectId()+"19";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn190200(detail.getStatus());
}else{
project.setColumn190200("-");
}
keystr = project.getProjectId()+"20";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn200210(detail.getStatus());
}else{
project.setColumn200210("-");
}
}
}

@ -23,13 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="samplePlan" column="sample_plan" />
<result property="judge" column="judge" />
<result property="defectLevel" column="defect_level" />
<result property="projectType" column="project_type" />
</resultMap>
<sql id="selectQcCheckProjectVo">
select id, order_num, rule_name, property_code, check_mode, check_tool, unit_code, check_standard,
attr1, create_by, create_time, update_by, update_time, factory_code, del_flag,sample_plan,
judge,defect_level
judge,defect_level,project_type
from qc_check_project
</sql>
@ -46,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="judge != null and judge != ''"> and judge = #{judge}</if>
<if test="projectType != null and projectType != ''">project_type = #{projectType}</if>
</where>
order by create_time
</select>
@ -76,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="samplePlan != null">sample_plan,</if>
<if test="judge != null">judge,</if>
<if test="defectLevel != null">defect_level,</if>
<if test="projectType != null">project_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
@ -97,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="samplePlan != null">#{samplePlan},</if>
<if test="judge != null">#{judge},</if>
<if test="defectLevel != null">#{defectLevel},</if>
<if test="projectType != null">#{projectType},</if>
</trim>
</insert>
@ -120,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="samplePlan != null">sample_plan = #{samplePlan},</if>
<if test="judge != null">judge = #{judge},</if>
<if test="defectLevel != null">defect_level = #{defectLevel},</if>
<if test="projectType != null">project_type = #{projectType},</if>
</trim>
where id = #{id}
</update>
@ -141,4 +146,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
</select>
<select id="selectCheckProjectByRuleName" resultMap="QcCheckProjectResult">
<include refid="selectQcCheckProjectVo"/>
where rule_name = #{ruleName} and project_type = #{projectType}
</select>
</mapper>

@ -33,11 +33,12 @@ 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="sampleQuality" column="sample_quality" />
</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,
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,
factory_code, del_flag from qc_check_task
</sql>
@ -46,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
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.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
from qc_check_task qct
@ -132,7 +133,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
td.update_time updateTime,
qctp.upper_diff upperDiff,
qctp.down_diff downDiff,
qctp.sample
qctp.sample,
qctp.sample_num sampleNum
from qc_check_task_detail td
left join qc_check_type_project qctp on td.type_project_id = qctp.id
where td.belong_to = #{recordId}

@ -280,6 +280,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="aNoOkquality != null">aNoOkquality = #{aNoOkquality},</if>
<if test="bNoOkquality != null">bNoOkquality = #{bNoOkquality},</if>
<if test="cNoOkquality != null">cNoOkquality = #{cNoOkquality},</if>
<if test="incomeBatchNo != null">income_batch_no = #{incomeBatchNo},</if>
check_result = #{checkResult},
update_by = #{updateBy},
update_time = #{updateTime}

@ -306,6 +306,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
defect_level defectLevel
from qc_check_project
where del_flag = '0'
<if test="projectType != null">and project_type = #{projectType}</if>
<if test="ruleName != null">and rule_name like concat('%',#{ruleName},'%') </if>
and id not in(
select project_id from qc_check_type_project
@ -314,4 +315,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="materialCode != null">and material_code = #{materialCode} </if>
)
</select>
<select id="getProjectOptions" resultType="com.op.quality.domain.QcProjectType">
select project_type_code projectTypeCode,
project_type_name projectTypeName
from qc_project_type
where del_flag = '0'
</select>
</mapper>

@ -286,5 +286,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</where>
GROUP BY q1.machine_code
</select>
<select id="getHFnames" resultType="com.op.quality.domain.QcProCheck">
select
alls.machineName,
alls.machineCode,
alls.quality,
ok.okQuality
from(
select count(0) quality,
<if test='chartType =="hf"'>
q1.machine_code machineCode,
q1.machine_name machineName
</if>
<if test='chartType =="cp"'>
q1.product_code machineCode,
q1.product_name machineName
</if>
from qc_pro_check q1
left join pro_order_workorder pow on pow.workorder_code = q1.workorder_code
<where>
<if test="workorderCode != null and workorderCode != ''">and q1.workorder_code like concat('%', #{workorderCode}, '%')</if>
<if test="productCode != null and productCode != ''">and q1.product_code like concat('%', #{productCode}, '%')</if>
<if test="machineCode != null and machineCode != ''">and q1.machine_code like concat('%', #{machineCode}, '%')</if>
<if test="createTimeStart != null ">and CONVERT(datetime,q1.create_time) >= #{createTimeStart}</if>
<if test="createTimeEnd != null ">and #{createTimeEnd} >= CONVERT(datetime,q1.create_time)</if>
and q1.machine_name LIKE '烘房%'
<if test="shiftId != null ">and pow.shift_id = #{shiftId}</if>
</where>
<if test='chartType =="hf"'>
group by q1.machine_code, q1.machine_name
</if>
<if test='chartType =="cp"'>
group by q1.product_code, q1.product_name
</if>
) alls
left join (
select count(0) okQuality,
<if test='chartType =="hf"'>
q1.machine_code machineCode,
q1.machine_name machineName
</if>
<if test='chartType =="cp"'>
q1.product_code machineCode,
q1.product_name machineName
</if>
from qc_pro_check q1
left join pro_order_workorder pow on pow.workorder_code = q1.workorder_code
<where>
<if test="workorderCode != null and workorderCode != ''">and q1.workorder_code like concat('%', #{workorderCode}, '%')</if>
<if test="productCode != null and productCode != ''">and q1.product_code like concat('%', #{productCode}, '%')</if>
<if test="machineCode != null and machineCode != ''">and q1.machine_code like concat('%', #{machineCode}, '%')</if>
<if test="createTimeStart != null ">and CONVERT(datetime,q1.create_time) >= #{createTimeStart}</if>
<if test="createTimeEnd != null ">and #{createTimeEnd} >= CONVERT(datetime,q1.create_time)</if>
and q1.machine_name LIKE '烘房%'
<if test="shiftId != null ">and pow.shift_id = #{shiftId}</if>
and q1.isqua = '1'
</where>
<if test='chartType =="hf"'>
group by q1.machine_code, q1.machine_name
</if>
<if test='chartType =="cp"'>
group by q1.product_code, q1.product_name
</if>
) ok on alls.machineCode = ok.machineCode
order by alls.machineName
</select>
</mapper>

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcProjectTypeMapper">
<resultMap type="QcProjectType" id="QcProjectTypeResult">
<result property="id" column="id" />
<result property="projectTypeCode" column="project_type_code" />
<result property="projectTypeName" column="project_type_name" />
<result property="attr1" column="attr1" />
<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" />
</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
</sql>
<select id="selectQcProjectTypeList" parameterType="QcProjectType" resultMap="QcProjectTypeResult">
<include refid="selectQcProjectTypeVo"/>
<where>
<if test="projectTypeCode != null and projectTypeCode != ''"> and project_type_code = #{projectTypeCode}</if>
<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>
</where>
</select>
<select id="selectQcProjectTypeById" parameterType="String" resultMap="QcProjectTypeResult">
<include refid="selectQcProjectTypeVo"/>
where id = #{id}
</select>
<insert id="insertQcProjectType" parameterType="QcProjectType">
insert into qc_project_type
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="projectTypeCode != null">project_type_code,</if>
<if test="projectTypeName != null">project_type_name,</if>
<if test="attr1 != null">attr1,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="projectTypeCode != null">#{projectTypeCode},</if>
<if test="projectTypeName != null">#{projectTypeName},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateQcProjectType" parameterType="QcProjectType">
update qc_project_type
<trim prefix="SET" suffixOverrides=",">
<if test="projectTypeCode != null">project_type_code = #{projectTypeCode},</if>
<if test="projectTypeName != null">project_type_name = #{projectTypeName},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<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>
</trim>
where id = #{id}
</update>
<delete id="deleteQcProjectTypeById" parameterType="String">
delete from qc_project_type where id = #{id}
</delete>
<delete id="deleteQcProjectTypeByIds" parameterType="String">
delete from qc_project_type where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcSampleRuleMapper">
<resultMap type="QcSampleRule" id="QcSampleRuleResult">
<result property="id" column="id" />
<result property="startValue" column="start_value" />
<result property="endValue" column="end_value" />
<result property="attr1" column="attr1" />
<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="checkType" column="check_type" />
<result property="typeCode" column="type_code" />
</resultMap>
<sql id="selectQcSampleRuleVo">
select id, start_value, end_value, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag, sample_quality, check_type, type_code from qc_sample_rule
</sql>
<select id="selectQcSampleRuleList" parameterType="QcSampleRule" resultMap="QcSampleRuleResult">
<include refid="selectQcSampleRuleVo"/>
<where>
<if test="startValue != null "> and start_value = #{startValue}</if>
<if test="endValue != null "> and end_value = #{endValue}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="sampleQuality != null "> and sample_quality = #{sampleQuality}</if>
<if test="checkType != null and checkType != ''"> and check_type = #{checkType}</if>
<if test="typeCode != null and typeCode != ''"> and type_code = #{typeCode}</if>
</where>
</select>
<select id="selectQcSampleRuleById" parameterType="String" resultMap="QcSampleRuleResult">
<include refid="selectQcSampleRuleVo"/>
where id = #{id}
</select>
<insert id="insertQcSampleRule" parameterType="QcSampleRule">
insert into qc_sample_rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="startValue != null">start_value,</if>
<if test="endValue != null">end_value,</if>
<if test="attr1 != null">attr1,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<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="sampleQuality != null">sample_quality,</if>
<if test="checkType != null">check_type,</if>
<if test="typeCode != null">type_code,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="startValue != null">#{startValue},</if>
<if test="endValue != null">#{endValue},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="sampleQuality != null">#{sampleQuality},</if>
<if test="checkType != null">#{checkType},</if>
<if test="typeCode != null">#{typeCode},</if>
</trim>
</insert>
<update id="updateQcSampleRule" parameterType="QcSampleRule">
update qc_sample_rule
<trim prefix="SET" suffixOverrides=",">
<if test="startValue != null">start_value = #{startValue},</if>
<if test="endValue != null">end_value = #{endValue},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<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="sampleQuality != null">sample_quality = #{sampleQuality},</if>
<if test="checkType != null">check_type = #{checkType},</if>
<if test="typeCode != null">type_code = #{typeCode},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteQcSampleRuleById" parameterType="String">
delete from qc_sample_rule where id = #{id}
</delete>
<delete id="deleteQcSampleRuleByIds" parameterType="String">
delete from qc_sample_rule where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -105,4 +105,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
factory_code factoryCode
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,
material_code materialCode, material_name materialName,
quality,unit,
supplier_code supplierCode,supplier_name supplierName,
income_time incomeTime
from qc_check_task
where check_type = 'checkTypeSCXJ' and del_flag = '0'
<if test="orderNo != null "> and check_no like concat('%',#{orderNo},'%')</if>
<if test="materialCode != null "> and material_code like concat('%',#{materialCode},'%')</if>
<if test="incomeBatchNo != null "> and income_batch_no like concat('%',#{incomeBatchNo},'%')</if>
<if test="incomeTime != null "> and CONVERT(varchar(10),income_time, 120) >= CONVERT(varchar(10),#{incomeTime}, 120)</if>
order by income_time desc
</select>
<select id="getXJProjects" resultType="com.op.quality.domain.QcStaticTable">
select qct.rule_name ruleName,
qctp.project_id projectId,
qctp.project_no projectNo
from qc_check_type_project qctp
left join qc_check_project qct on qctp.project_id = qct.id
where qctp.type_id = 'checkTypeSCXJ' and qctp.del_flag = '0' and qct.del_flag = '0'
order by qctp.sort
</select>
<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),
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'
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'
order by qctd.create_time
</select>
</mapper>

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Validator;
import com.op.system.domain.SysDatasource;
@ -28,6 +29,8 @@ import com.op.system.domain.SysUserPost;
import com.op.system.domain.SysUserRole;
import com.op.system.service.ISysConfigService;
import com.op.system.service.ISysUserService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
*
@ -242,13 +245,17 @@ public class SysUserServiceImpl implements ISysUserService {
// 新增用户与角色管理
insertUserRole(user);
// 加工厂数据权限
//工厂号
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
user.setDeptId(Long.parseLong(request.getHeader(key.substring(8)).replace("ds_","")));
insertUserDB(user);
return rows;
}
public void insertUserDB(SysUser user) {
// 新增用户与园区数据源
SysDatasource qo = new SysDatasource();
qo.setDeptId(user.getDeptId());//
qo.setDeptId(user.getDeptId());
//先删掉
sysDatasourceMapper.deletUserDB(user.getUserId().toString());
@ -293,6 +300,9 @@ public class SysUserServiceImpl implements ISysUserService {
// 新增用户与岗位管理
insertUserPost(user);
// 加工厂数据权限
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
user.setDeptId(Long.parseLong(request.getHeader(key.substring(8)).replace("ds_","")));
insertUserDB(user);
return userMapper.updateUser(user);
}

@ -23,8 +23,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="wxId" column="wx_id"/>
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" />
<collection property="roles" javaType="java.util.List" resultMap="RoleResult" />
</resultMap>
<resultMap id="deptResult" type="SysDept">
@ -47,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectUserVo">
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.wx_id,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
@ -57,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.wx_id , d.dept_name, d.leader from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
where u.del_flag = '0'
<if test="userId != null and userId != 0">
@ -66,6 +68,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="userName != null and userName != ''">
AND u.user_name like concat('%', #{userName}, '%')
</if>
<if test="nickName != null and nickName != ''">
AND u.nick_name like concat('%', #{nickName}, '%')
</if>
<if test="status != null and status != ''">
AND u.status = #{status}
</if>
@ -83,12 +88,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE CHARINDEX(CONVERT (VARCHAR, #{deptId}), ancestors) > 0
))
</if>
<if test="wxId != null and wxId != ''">
AND u.wx_id like concat('%', #{wxId}, '%')
</if>
<!-- 数据范围过滤 -->
${params.dataScope}
</select>
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time , u.wx_id
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
@ -105,7 +113,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time , u.wx_id
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
@ -158,6 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">status,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
<if test="remark != null and remark != ''">remark,</if>
<if test="wxId != null and wxId != ''">wx_id,</if>
create_time
)values(
<if test="userId != null and userId != ''">#{userId},</if>
@ -172,6 +181,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="status != null and status != ''">#{status},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="wxId != null and wxId != ''">#{wxId},</if>
GETDATE()
)
</insert>
@ -192,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="loginDate != null">login_date = #{loginDate},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="wxId != null">wx_id = #{wxId},</if>
update_time = GETDATE()
</set>
where user_id = #{userId}

@ -120,6 +120,8 @@ public class OdsProcureOrderController extends BaseController {
@PostMapping("/PurchaseOrderdeliPda")
public AjaxResult PurchaseOrderdeliPda(@RequestBody OdsProcureOrder odsProcureOrder) {
// odsProcureOrderService.PurchaseOrderdeliPdas(odsProcureOrder);
// return success(null);
int tem =odsProcureOrderService.PurchaseOrderdeliPda(odsProcureOrder);
return success(tem);
}

@ -2,6 +2,8 @@ package com.op.wms.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -39,7 +41,7 @@ public class OdsProcureOutOrderController extends BaseController {
@RequiresPermissions("wms:outorder:list")
@GetMapping("/list")
public TableDataInfo list(OdsProcureOutOrder odsProcureOutOrder) {
// startPage();
startPage();
List<OdsProcureOutOrder> list = odsProcureOutOrderService.selectOdsProcureOutOrderList(odsProcureOutOrder);
return getDataTable(list);
}
@ -50,6 +52,7 @@ public class OdsProcureOutOrderController extends BaseController {
List<OdsProcureOutOrder> list = odsProcureOutOrderService.selectOdsProcureOutOrderListZU(odsProcureOutOrder);
for (OdsProcureOutOrder odsProcureOutOrder1:
list) {
odsProcureOutOrder1.setID(IdUtils.fastSimpleUUID());
List<OdsProcureOutOrder> orderList1= odsProcureOutOrderService.selectOdsProcureOutOrderListZUTwo(odsProcureOutOrder1);
odsProcureOutOrder1.setList(orderList1);
}

@ -17,7 +17,7 @@ import com.op.common.core.web.page.TableDataInfo;
/**
* Controller
*
*
* @author Open Platform
* @date 2023-08-31
*/
@ -96,5 +96,12 @@ 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));
}
}

@ -6,6 +6,7 @@ import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.op.system.api.domain.sap.SapMaterialPosting;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
@ -37,6 +38,15 @@ public class OdsProcureOutOrder extends BaseEntity {
/** ID */
private String ID;
List<OdsProcureOutOrder> list;
List<SapMaterialPosting> sapMaterialPostingList;
public List<SapMaterialPosting> getSapMaterialPostingList() {
return sapMaterialPostingList;
}
public void setSapMaterialPostingList(List<SapMaterialPosting> sapMaterialPostingList) {
this.sapMaterialPostingList = sapMaterialPostingList;
}
public List<OdsProcureOutOrder> getList() {
return list;

@ -60,4 +60,6 @@ public interface OdsProcureOrderMapper {
public int deleteOdsProcureOrderByIDs(String[] IDs);
Integer updateRealityNuById(OdsProcureOrder odsProcureOrder);
String selectBaseSupplier(OdsProcureOrder odsProcureOrder);
}

@ -2,6 +2,7 @@ package com.op.wms.mapper;
import java.util.List;
import com.op.system.api.domain.sap.SapMaterialPosting;
import com.op.wms.domain.OdsProcureOutOrder;
import org.apache.ibatis.annotations.Param;
@ -73,4 +74,8 @@ public interface OdsProcureOutOrderMapper {
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZU(OdsProcureOutOrder odsProcureOutOrder);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUT(OdsProcureOutOrder odsProcureOutOrder1);
List<OdsProcureOutOrder> selectOdsProcureOutOrderListByu1(@Param("list")List<OdsProcureOutOrder> orderList);
void updateOdsProcureOutOrderByids(@Param("order")OdsProcureOutOrder order,@Param("list") List<OdsProcureOutOrder> sapMaterialPostingList);
}

@ -6,14 +6,14 @@ import com.op.wms.domain.WmsProductPut;
/**
* Mapper
*
*
* @author Open Platform
* @date 2023-08-31
*/
public interface WmsProductPutMapper {
/**
*
*
*
* @param id
* @return
*/
@ -21,7 +21,7 @@ public interface WmsProductPutMapper {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -29,7 +29,7 @@ public interface WmsProductPutMapper {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -37,7 +37,7 @@ public interface WmsProductPutMapper {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -45,7 +45,7 @@ public interface WmsProductPutMapper {
/**
*
*
*
* @param id
* @return
*/
@ -53,7 +53,7 @@ public interface WmsProductPutMapper {
/**
*
*
*
* @param ids
* @return
*/
@ -63,4 +63,6 @@ public interface WmsProductPutMapper {
*
*/
public WmsProductPut selectWmsProductPutByWorkOrder(String workOrder);
WmsProductPut selectMesReportWork(WmsProductPut wmsProductPut);
}

@ -92,4 +92,6 @@ public interface IOdsProcureOrderService {
void OutboundPostingSAP(List<OdsProcureOutOrder> odsProcureOutOrder);
AjaxResult sapPurchaseOrderSync(OdsProcureOrder odsProcureOrder);
void PurchaseOrderdeliPdas(OdsProcureOrder odsProcureOrder);
}

@ -5,14 +5,14 @@ import com.op.wms.domain.WmsProductPut;
/**
* Service
*
*
* @author Open Platform
* @date 2023-08-31
*/
public interface IWmsProductPutService {
/**
*
*
*
* @param id
* @return
*/
@ -20,7 +20,7 @@ public interface IWmsProductPutService {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -28,7 +28,7 @@ public interface IWmsProductPutService {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -36,7 +36,7 @@ public interface IWmsProductPutService {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -44,7 +44,7 @@ public interface IWmsProductPutService {
/**
*
*
*
* @param ids
* @return
*/
@ -52,7 +52,7 @@ public interface IWmsProductPutService {
/**
*
*
*
* @param id
* @return
*/
@ -62,4 +62,6 @@ public interface IWmsProductPutService {
*
*/
public WmsProductPut selectWmsProductPutByWorkOrder(String workOrder);
public WmsProductPut WmsProductPutByWorkOrderquery(WmsProductPut wmsProductPut);
}

@ -16,7 +16,9 @@ import com.op.common.core.domain.R;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.RemoteQualityService;
import com.op.system.api.RemoteSapService;
import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO;
import com.op.system.api.domain.sap.SapBackflushMPQuery;
import com.op.system.api.domain.sap.SapMaterialPosting;
import com.op.system.api.domain.sap.SapPurchaseOrderQuery;
@ -37,6 +39,10 @@ import com.op.wms.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.wms.service.IOdsProcureOrderService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Service
@ -58,6 +64,8 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
private OdsProcureOutOrderMapper odsProcureOutOrderMapper;
@Autowired
private RemoteSapService remoteSapService;
@Autowired
private RemoteQualityService remoteQualityService;
@Autowired
private BaseWarehouseMapper baseWarehouseMapper;
@ -174,6 +182,25 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOrder.setOrderStatus("2");
}
Integer tem= odsProcureOrderMapper.updateRealityNuById(odsProcureOrder);
//插入检验集计划
QcCheckTaskIncomeDTO qcCheckTaskIncomeDTO=new QcCheckTaskIncomeDTO();
qcCheckTaskIncomeDTO.setCheckLoc("mjtest");
qcCheckTaskIncomeDTO.setCheckType("checkTypeLL");
qcCheckTaskIncomeDTO.setCheckManCode("mobile");
qcCheckTaskIncomeDTO.setCheckManName("手持测试用户");
qcCheckTaskIncomeDTO.setSupplierCode(order.getSupplierCode());
String name= odsProcureOrderMapper.selectBaseSupplier(odsProcureOrder);
qcCheckTaskIncomeDTO.setSupplierName(name);
qcCheckTaskIncomeDTO.setOrderType("bc");
qcCheckTaskIncomeDTO.setUnit(order.getUnit());
qcCheckTaskIncomeDTO.setFactoryCode(odsProcureOrder.getFactoryCode());
qcCheckTaskIncomeDTO.setQuality(odsProcureOrder.getPlanNumber());
qcCheckTaskIncomeDTO.setMaterialCode(odsProcureOrder.getMaterialCode());
qcCheckTaskIncomeDTO.setMaterialName(odsProcureOrder.getSupplierName());
qcCheckTaskIncomeDTO.setIncomeBatchNo(odsProcureOrder.getIncomeBatchNo());
qcCheckTaskIncomeDTO.setOrderNo(order.getProcureCode());
qcCheckTaskIncomeDTO.setIncomeTime(new Date());
remoteQualityService.createIncomeTask(qcCheckTaskIncomeDTO);
return tem;
}
@ -215,6 +242,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNewsSn.setUserDefined2(wmsRawOrderInSn.getUserDefined2());//批次
wmsOdsMateStorageNewsSn.setFactoryCode(wmsRawOrderInSn.getFactoryCode());
wmsOdsMateStorageNewsSn.setSapFactoryCode(wmsRawOrderInSn.getFactoryCode());
wmsOdsMateStorageNewsSn.setActiveFlag("1");
wmsOdsMateStorageNewsSnMapper.insertWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);
//修改库存
//2,修改库存---/加库存数量-/-冻结数量
@ -231,7 +259,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNews1.setWhCode(wmsRawOrderInSn.getWhCode());
wmsOdsMateStorageNews1.setWlCode(wmsRawOrderInSn.getWlCode());
wmsOdsMateStorageNews1.setAmount(wmsRawOrderInSn.getAmount());
wmsOdsMateStorageNews1.setStorageAmount(wmsRawOrderInSn.getAmount());
wmsOdsMateStorageNews1.setStorageAmount(new BigDecimal("0"));
wmsOdsMateStorageNews1.setMaterialCode(wmsRawOrderInSn.getMaterialCode());
wmsOdsMateStorageNews1.setMaterialDesc(wmsRawOrderInSn.getMaterialDesc());
wmsOdsMateStorageNews1.setStorageType("BC");
@ -246,7 +274,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNewsSnMapper.updateAdd(wmsOdsEmStorageNews);
}
wmsRawOrderInSnMapper.updateU1Byid(wmsRawOrderInSn);
}
@Override
@ -533,10 +560,13 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
@Override
@DS("#header.poolName")
public void OutboundPostingSAP(List<OdsProcureOutOrder> orderList) {
// * 退料的移动类型为 262
// * 领料的移动类型为 261
List<OdsProcureOutOrder> orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByIds(orderList);
// List<OdsProcureOutOrder> orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByIds(orderList);
List<OdsProcureOutOrder> orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByu1(orderList);
//查询这个地方先暂时去掉Order_Status = '3' 条件
List<SapMaterialPosting> sapMaterialPostingList=new ArrayList<>();
List<OdsProcureOutOrder> orderList2=new ArrayList<>();
for (OdsProcureOutOrder odsProcureOutOrder:
orderList1) {
//取sap仓库号
@ -570,7 +600,7 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}
}else {
List<SapMaterialPosting> sapMaterialPostingList=new ArrayList<>();
SapMaterialPosting sapMaterialPosting =new SapMaterialPosting();
sapMaterialPosting.setAufnr(odsProcureOutOrder.getProduceCode());//订单号
sapMaterialPosting.setBwart("261"); //移动类型
@ -582,26 +612,29 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
sapMaterialPosting.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapMaterialPosting.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapMaterialPostingList.add(sapMaterialPosting);
R result= remoteSapService.sapMaterialPosting(sapMaterialPostingList);
int code= result.getCode();
String msg= result.getMsg();
odsProcureOutOrder.setUserDefined11(msg);
if (code==200){//过账成功
Map map=new HashMap();
map= (Map) result.getData();
String userDefined9= (String) map.get("MATERIALDOCUMENT");
odsProcureOutOrder.setUserDefined9(userDefined9);
odsProcureOutOrder.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}else {//
odsProcureOutOrder.setUserDefined9("");
odsProcureOutOrder.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateOdsProcureOutOrderByid(odsProcureOutOrder);
}
orderList2.add(odsProcureOutOrder);
}
}
if (sapMaterialPostingList.size()>0){
R result= remoteSapService.sapMaterialPosting(sapMaterialPostingList);
OdsProcureOutOrder order =new OdsProcureOutOrder();
int code= result.getCode();
String msg= result.getMsg();
//order.setSapMaterialPostingList(sapMaterialPostingList);
order.setUserDefined11(msg);
if (code==200){//过账成功
Map map=new HashMap();
map= (Map) result.getData();
String userDefined9= (String) map.get("MATERIALDOCUMENT");
order.setUserDefined9(userDefined9);
order.setUserDefined10("2");//成功
odsProcureOutOrderMapper.updateOdsProcureOutOrderByids(order,orderList2);
}else {//
order.setUserDefined9("");
order.setUserDefined10("3");//失败
odsProcureOutOrderMapper.updateOdsProcureOutOrderByids(order,orderList2);
}
}
}
@ -642,6 +675,32 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
return AjaxResult.success();
}
@Override
public void PurchaseOrderdeliPdas(OdsProcureOrder odsProcureOrder) {
DynamicDataSourceContextHolder.push("ds_" + odsProcureOrder.getFactoryCode());
// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//
// request.setAttribute("#header.poolName", "ds_" + odsProcureOrder.getFactoryCode());
QcCheckTaskIncomeDTO qcCheckTaskIncomeDTO=new QcCheckTaskIncomeDTO();
qcCheckTaskIncomeDTO.setPoolName("ds_" + odsProcureOrder.getFactoryCode());
qcCheckTaskIncomeDTO.setCheckLoc("mjtest");
qcCheckTaskIncomeDTO.setCheckType("checkTypeLL");
qcCheckTaskIncomeDTO.setCheckManCode("mobile");
qcCheckTaskIncomeDTO.setCheckManName("手持测试用户");
qcCheckTaskIncomeDTO.setSupplierCode("0000102272");
qcCheckTaskIncomeDTO.setFactoryCode("1000");
qcCheckTaskIncomeDTO.setSupplierName("广州市彩晴包装印刷有限公司");
qcCheckTaskIncomeDTO.setOrderType("bc");
qcCheckTaskIncomeDTO.setUnit("ST");
qcCheckTaskIncomeDTO.setQuality(new BigDecimal("10"));
qcCheckTaskIncomeDTO.setMaterialCode("000000040000015968");
qcCheckTaskIncomeDTO.setMaterialName("榄菊植物力量蚊液33mL+送12mL*2瓶装纸盒(2201)");
qcCheckTaskIncomeDTO.setIncomeBatchNo("202312250001");
qcCheckTaskIncomeDTO.setOrderNo("4500297568");
qcCheckTaskIncomeDTO.setIncomeTime(new Date());
remoteQualityService.createIncomeTask(qcCheckTaskIncomeDTO);
}
public String DesignatedPalletOutboundWCS(WMSDesignatedPalle wmsDesignatedPalle){
// 定义请求的URL地址
String url = "http://192.168.202.37:9001/api/v1/ReceiveMesMsg/packingMaterialsOutBoundByPallet";

@ -94,12 +94,14 @@ public class OdsProcureOutOrderServiceImpl implements IOdsProcureOutOrderService
}
@Override
@DS("#header.poolName")
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZU(OdsProcureOutOrder odsProcureOutOrder) {
return odsProcureOutOrderMapper.selectOdsProcureOutOrderListZU(odsProcureOutOrder);
}
@Override
@DS("#header.poolName")
public List<OdsProcureOutOrder> selectOdsProcureOutOrderListZUTwo(OdsProcureOutOrder odsProcureOutOrder1) {
List<OdsProcureOutOrder> orderList= odsProcureOutOrderMapper.selectOdsProcureOutOrderListZUT(odsProcureOutOrder1);
return orderList;

@ -19,7 +19,7 @@ import com.op.wms.service.IWmsProductPutService;
/**
* Service
*
*
* @author Open Platform
* @date 2023-08-31
*/
@ -32,7 +32,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
/**
*
*
*
* @param id
* @return
*/
@ -44,7 +44,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -56,7 +56,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -69,7 +69,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
/**
*
*
*
* @param wmsProductPut
* @return
*/
@ -82,7 +82,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
/**
*
*
*
* @param ids
* @return
*/
@ -94,7 +94,7 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
/**
*
*
*
* @param id
* @return
*/
@ -124,4 +124,11 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
// }
return wmsProductPutMapper.selectWmsProductPutByWorkOrder(workOrder);
}
@Override
public WmsProductPut WmsProductPutByWorkOrderquery(WmsProductPut wmsProductPut) {
DynamicDataSourceContextHolder.push("ds_" +wmsProductPut.getFactoryCode());
WmsProductPut wmsProductPut1= wmsProductPutMapper.selectMesReportWork(wmsProductPut);
return wmsProductPut1;
}
}

@ -207,4 +207,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where ID = #{ID}
</update>
<select id="selectBaseSupplier" resultType="java.lang.String">
SELECT DISTINCT zh_desc FROM base_supplier WHERE supplier_code= #{supplierCode}
</select>
</mapper>

@ -306,6 +306,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
User_Defined11 = #{userDefined11}
where ID = #{ID}
</update>
<update id="updateOdsProcureOutOrderByids">
update ods_procure_out_order
set User_Defined10 = #{order.userDefined10},
User_Defined9 = #{order.userDefined9},
User_Defined11 = #{order.userDefined11}
where ID in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.ID}
</foreach>
</update>
<select id="selectOdsProcureOutOrderListByIds" resultMap="OdsProcureOutOrderResult">
<include refid="selectOdsProcureOutOrderVo"/>
WHERE
@ -315,5 +325,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{item.ID}
</foreach>
</select>
<select id="selectOdsProcureOutOrderListByu1" resultMap="OdsProcureOutOrderResult">
SELECT
Site_code,
ID,
Produce_Code,
Material_Code,
Material_Desc,
Plan_Date,
Plan_Number,
Unit,
COALESCE ( Plan_Number, 0 ) AS Out_Number,
Loc_Code,
Loc_Desc,
Production_Line_Desc,
Production_Line_Code,
Order_Status,
User_Defined1,
User_Defined2,
User_Defined3,
User_Defined4,
User_Defined5,
User_Defined6,
User_Defined7,
User_Defined8,
User_Defined9,
User_Defined10,
User_Defined11,
Supplier_Code,
Supplier_Name,
Create_By,
Create_Date,
Last_Update_By,
Last_Update_Date,
Active,
Enterprise_Id,
Enterprise_Code
from ods_procure_out_order
WHERE
<![CDATA[ (User_Defined10 <> '2' OR User_Defined10 is NULL ) ]]>
and Produce_Code in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.produceCode}
</foreach>
and User_Defined1 in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.userDefined1}
</foreach>
</select>
</mapper>

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.wms.mapper.WmsProductPutMapper">
<resultMap type="WmsProductPut" id="WmsProductPutResult">
<result property="id" column="id" />
<result property="workOrder" column="work_order" />
@ -46,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectWmsProductPutList" parameterType="WmsProductPut" resultMap="WmsProductPutResult">
<include refid="selectWmsProductPutVo"/>
<where>
<where>
<if test="workOrder != null and workOrder != ''"> and work_order = #{workOrder}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="productOrder != null and productOrder != ''"> and product_order = #{productOrder}</if>
@ -77,7 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="attr10 != null and attr10 != ''"> and attr10 = #{attr10}</if>
</where>
</select>
<select id="selectWmsProductPutById" parameterType="String" resultMap="WmsProductPutResult">
<include refid="selectWmsProductPutVo"/>
where id = #{id}
@ -213,9 +213,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteWmsProductPutByIds" parameterType="String">
delete from wms_product_put where id in
delete from wms_product_put where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
<select id="selectMesReportWork" resultMap="WmsProductPutResult">
SELECT
report_code work_order,
product_code,
product_name,
unit unit_of_measure,
quantity plan_quantity
FROM
mes_report_work
WHERE
report_code=#{workOrder}
and
parent_order = '0'
</select>
</mapper>

Loading…
Cancel
Save