Merge branch 'master' of http://121.40.234.130:8899/root/hl_one
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package org.nl.config;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.enums.AcsTaskEnum;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
@@ -10,14 +11,15 @@ import org.nl.wms.product_manage.sch.tasks.WashMachineryTask;
|
||||
import org.nl.wms.product_manage.sch.tasks.callMaterial.WrapCallMaterialTask;
|
||||
import org.nl.wms.product_manage.sch.tasks.sendEmpty.WrapSendEmptyTask;
|
||||
import org.nl.wms.product_manage.sch.tasks.sendMaterial.PlotterSendMaterialTask;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.SmartLifecycle;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@Slf4j
|
||||
@Data
|
||||
public class ConventConfig implements SmartLifecycle {
|
||||
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_CALLTYPE_FULL, SpringContextHolder.getBean(SpeFullTask.class));
|
||||
@@ -26,7 +28,7 @@ public class ConventConfig implements SmartLifecycle {
|
||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_PLOTTER_SEND_FULL, SpringContextHolder.getBean(PlotterSendMaterialTask.class));
|
||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WARP_CALL_FULL, SpringContextHolder.getBean(WrapCallMaterialTask.class));
|
||||
AcsToWmsServiceImpl.Task_Collent.put(AcsTaskEnum.REQUEST_WARP_SEND_EMP, SpringContextHolder.getBean(WrapSendEmptyTask.class));
|
||||
System.out.println("初始化Task_Collent完成"+AcsToWmsServiceImpl.Task_Collent.size());
|
||||
System.out.println("初始化Task_Collent完成777"+AcsToWmsServiceImpl.Task_Collent.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -181,7 +181,7 @@ public class AgvInstService {
|
||||
schBaseTask.setBarcodeArr(cacheVehile);
|
||||
schBaseTask.setPoint_code1(startPoint);
|
||||
schBaseTask.setIs_send(true);
|
||||
schBaseTask.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK.getCode());
|
||||
schBaseTask.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode());
|
||||
schBaseTask.setPoint_code3(startPoint);
|
||||
schBaseTask.setTask_status(StatusEnum.TASK_START_END_P.getCode());
|
||||
schBaseTask.setUpdate_time(new Date());
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
<if test="status != null and status != ''">
|
||||
and re.status = #{status}
|
||||
</if>
|
||||
<if test="storagevehicle_code != null and storagevehicle_code != ''">
|
||||
and re.storagevehicle_code = #{storagevehicle_code}
|
||||
</if>
|
||||
<if test="bucketunique != null and bucketunique != ''">
|
||||
and ( re.bucketunique like '{bucketunique}%$' )
|
||||
</if>
|
||||
|
||||
@@ -270,38 +270,14 @@ public class SpeEmpTask extends AbstractAcsTask {
|
||||
});
|
||||
Merge.addAll(notMerge);
|
||||
}
|
||||
Map<String, List<SchBaseTask>> collect = Merge.stream().collect(Collectors.groupingBy(SchBaseTask::getTask_group_id));
|
||||
ArrayList<SchBaseTask> result = new ArrayList<>();
|
||||
for (List<SchBaseTask> value : collect.values()) {
|
||||
updateAcsTaskType(value);
|
||||
result.addAll(value);
|
||||
}
|
||||
return result;
|
||||
updateAcsTaskType(Merge);
|
||||
return Merge;
|
||||
}
|
||||
|
||||
private void updateAcsTaskType(List<SchBaseTask> value) {
|
||||
if (value.size() > 1){
|
||||
boolean tag = true;
|
||||
for (SchBaseTask task : value) {
|
||||
if (task.getAcs_task_type().equals(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK.getCode())){
|
||||
task.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK.getCode());
|
||||
}
|
||||
if (task.getAcs_task_type().equals(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode())){
|
||||
task.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_TASK.getCode());
|
||||
}
|
||||
if (tag){task.setIs_send(true);tag = false;}else {task.setIs_send(false); }
|
||||
}
|
||||
}
|
||||
if (value.size() == 1){
|
||||
for (SchBaseTask task : value) {
|
||||
if (task.getAcs_task_type().equals(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_ENTRY_TASK.getCode())){
|
||||
task.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_ENTRY_TASK.getCode());
|
||||
}
|
||||
if (task.getAcs_task_type().equals(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_DOUBLE_TASK.getCode())){
|
||||
task.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode());
|
||||
}
|
||||
task.setIs_send(true);
|
||||
}
|
||||
for (SchBaseTask task : value) {
|
||||
task.setAcs_task_type(AcsTaskEnum.ACS_TASK_TYPE_NOBLE_SINGLE_TASK.getCode());
|
||||
task.setIs_send(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.scheduler_manage.service.scheduler;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.SneakyThrows;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -10,6 +11,7 @@ import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.BaseElement;
|
||||
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.impl.FlowElement;
|
||||
import org.nl.wms.scheduler_manage.service.scheduler.labelConverter.impl.ProcessElement;
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||
import org.springframework.core.io.FileSystemResourceLoader;
|
||||
import org.springframework.core.io.Resource;
|
||||
@@ -19,6 +21,7 @@ import javax.xml.stream.XMLInputFactory;
|
||||
import javax.xml.stream.XMLStreamConstants;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
@@ -35,8 +38,14 @@ import java.util.function.Function;
|
||||
@Service
|
||||
public class SchedulerService implements BeanPostProcessor {
|
||||
|
||||
private static String schedulerFile;
|
||||
|
||||
private static Map<String,BaseConverter> converterMap =new HashMap<>();
|
||||
|
||||
@Value(("${schedulerFile}"))
|
||||
public void setSchedulerFile(String schedulerFile) {
|
||||
SchedulerService.schedulerFile = schedulerFile;
|
||||
}
|
||||
|
||||
public List<BaseElement> all(){
|
||||
List<BaseElement> readall = XmlReadUtil.readall();
|
||||
@@ -78,7 +87,7 @@ public class SchedulerService implements BeanPostProcessor {
|
||||
}
|
||||
return null;
|
||||
};
|
||||
ProcessElement processElement = readXml("classpath:/scheduler.xml", function);
|
||||
ProcessElement processElement = readXml(schedulerFile, function);
|
||||
return processElement;
|
||||
}
|
||||
|
||||
@@ -102,15 +111,15 @@ public class SchedulerService implements BeanPostProcessor {
|
||||
}
|
||||
return list;
|
||||
};
|
||||
List<BaseElement> baseElements = readXml("classpath:/scheduler.xml", function);
|
||||
List<BaseElement> baseElements = readXml(schedulerFile, function);
|
||||
return baseElements;
|
||||
}
|
||||
private static<T> T readXml(String path, Function<XMLStreamReader, T> function) throws IOException, XMLStreamException {
|
||||
FileInputStream inputStream = null;
|
||||
InputStreamReader streamReader = null;
|
||||
Resource resource = loader.getResource(path);
|
||||
try {
|
||||
inputStream = new FileInputStream(resource.getFile());
|
||||
File file = new File(path);
|
||||
inputStream = new FileInputStream(file);
|
||||
streamReader = new InputStreamReader(inputStream, "UTF-8");
|
||||
//TODO:schama校验
|
||||
XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(streamReader);
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
package org.nl.wms.storage_manage.productmanage.controller.check;
|
||||
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dto.CheckQueryMst;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckmstYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,8 +23,95 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
* @since 2023-05-04
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/stIvtCheckmstCp")
|
||||
@RequestMapping("/api/stIvtCheckmstCp")
|
||||
public class StIvtCheckmstCpController {
|
||||
|
||||
@Autowired
|
||||
private IStIvtCheckmstCpService iStIvtCheckmstCpService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询盘点单主表")
|
||||
@ApiOperation("查询盘点单主表")
|
||||
public ResponseEntity<Object> query(CheckQueryMst query, PageQuery page) {
|
||||
return new ResponseEntity<>(iStIvtCheckmstCpService.pageQuery(query, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("创建盘点单")
|
||||
@ApiOperation("创建盘点单")
|
||||
public ResponseEntity<Object> create(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.create(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getCheckDtl")
|
||||
@Log("查询盘点明细")
|
||||
@ApiOperation("查询盘点明细")
|
||||
public ResponseEntity<Object> getCheckDtl(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(iStIvtCheckmstCpService.getCheckDtl(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/update")
|
||||
@Log("修改盘点单")
|
||||
@ApiOperation("修改盘点单")
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.update(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
@Log("删除盘点单")
|
||||
@ApiOperation("删除盘点单")
|
||||
public ResponseEntity<Object> delete(@RequestBody Long[] ids){
|
||||
iStIvtCheckmstCpService.delete(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/saveCheck")
|
||||
@Log("盘点保存")
|
||||
@ApiOperation("盘点保存")
|
||||
public ResponseEntity<Object> saveCheck(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.saveCheck(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/confirm")
|
||||
@Log("盘点强制确认")
|
||||
@ApiOperation("盘点强制确认")
|
||||
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.confirm(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/process1")
|
||||
@Log("实盘为准,生成损溢单修改库存")
|
||||
@ApiOperation("实盘为准,生成损溢单修改库存")
|
||||
public ResponseEntity<Object> process1(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.process1(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/process0")
|
||||
@Log("账务为准")
|
||||
@ApiOperation("账务为准")
|
||||
public ResponseEntity<Object> process0(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.process0(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@PostMapping("/getBucketrecord")
|
||||
@Log("获取箱")
|
||||
@ApiOperation("获取箱")
|
||||
public ResponseEntity<Object> getBucketrecord(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(iStIvtCheckmstCpService.getBucketrecord(whereJson),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/processBox")
|
||||
@Log("拆箱盘点保存")
|
||||
@ApiOperation("拆箱盘点保存")
|
||||
public ResponseEntity<Object> processBox(@RequestBody JSONObject whereJson) {
|
||||
iStIvtCheckmstCpService.processBox(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +20,7 @@ import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp
|
||||
*/
|
||||
public interface IStIvtCheckdtlCpService extends IService<StIvtCheckdtlCp> {
|
||||
|
||||
double create(JSONArray row, StIvtCheckmstCp mst);
|
||||
|
||||
List<Map> getCheckDtl(JSONObject map);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dto.CheckQueryMst;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -12,5 +19,37 @@ import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp
|
||||
* @since 2023-05-04
|
||||
*/
|
||||
public interface IStIvtCheckmstCpService extends IService<StIvtCheckmstCp> {
|
||||
/**
|
||||
* 分页查询
|
||||
* @param query,page /
|
||||
* @return JSONObject
|
||||
*/
|
||||
Object pageQuery(CheckQueryMst query, PageQuery page);
|
||||
|
||||
void create(JSONObject jo);
|
||||
|
||||
List<Map> getCheckDtl(JSONObject map);
|
||||
|
||||
void update(JSONObject map);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param ids
|
||||
* {
|
||||
* 主表id..
|
||||
* }
|
||||
*/
|
||||
void delete(Long[] ids);
|
||||
|
||||
void saveCheck(JSONObject jo);
|
||||
|
||||
void confirm(JSONObject jo);
|
||||
|
||||
void process0(JSONObject jo);
|
||||
|
||||
void process1(JSONObject jo);
|
||||
|
||||
Object getBucketrecord(JSONObject whereJson);
|
||||
|
||||
void processBox(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -25,6 +26,7 @@ public class StIvtCheckdtlCp implements Serializable {
|
||||
/**
|
||||
* 盘点单明细id
|
||||
*/
|
||||
@TableId
|
||||
private String checkdtl_id;
|
||||
|
||||
/**
|
||||
@@ -115,7 +117,7 @@ public class StIvtCheckdtlCp implements Serializable {
|
||||
/**
|
||||
* 盘点结果
|
||||
*/
|
||||
private Boolean check_result;
|
||||
private String check_result;
|
||||
|
||||
/**
|
||||
* 盘点人
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -26,6 +27,7 @@ public class StIvtCheckmstCp implements Serializable {
|
||||
/**
|
||||
* 盘点单标识
|
||||
*/
|
||||
@TableId
|
||||
private String check_id;
|
||||
|
||||
/**
|
||||
@@ -76,7 +78,7 @@ public class StIvtCheckmstCp implements Serializable {
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime create_time;
|
||||
private String create_time;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check.dao.mapper;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 盘点单明细表 Mapper 接口
|
||||
@@ -13,4 +18,5 @@ import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp
|
||||
*/
|
||||
public interface StIvtCheckdtlCpMapper extends BaseMapper<StIvtCheckdtlCp> {
|
||||
|
||||
List<Map> getCheckDtl(@Param("map") Map map);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckdtlCpMapper">
|
||||
|
||||
<select id="getCheckDtl" resultType="java.util.Map">
|
||||
SELECT
|
||||
CheckDtl.*,
|
||||
struct.struct_code,
|
||||
struct.sect_code,
|
||||
mb.material_code,
|
||||
mb.material_name,
|
||||
user1.person_name AS process_optname
|
||||
FROM
|
||||
st_ivt_checkdtl_cp CheckDtl
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = CheckDtl.material_id
|
||||
LEFT JOIN st_ivt_structattr struct ON struct.struct_id = CheckDtl.struct_id
|
||||
LEFT JOIN sys_user user1 ON user1.user_id = CheckDtl.process_optid
|
||||
<where>
|
||||
1=1
|
||||
<if test="map.check_id != '' and map.check_id != null">
|
||||
and CheckDtl.check_id = #{map.check_id}
|
||||
</if>
|
||||
<if test="map.checkdtl_id != '' and map.checkdtl_id != null">
|
||||
and CheckDtl.checkdtl_id = #{map.checkdtl_id}
|
||||
</if>
|
||||
<if test="map.status != '' and map.status != null">
|
||||
and #{map.status} >= CheckDtl.status
|
||||
</if>
|
||||
<if test="map.check_result != '' and map.check_result != null and map.check_result != '-1'">
|
||||
and #{map.check_result} = CheckDtl.check_result
|
||||
</if>
|
||||
<if test="map.check_result == '-1'">
|
||||
and CheckDtl.check_result IN ('1','2')
|
||||
</if>
|
||||
</where>
|
||||
order by CheckDtl.seq_no
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.common.domain.query.QParam;
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2023/5/4 19:49
|
||||
*/
|
||||
@Data
|
||||
public class CheckQueryMst extends BaseQuery<StIvtCheckmstCp> {
|
||||
|
||||
|
||||
private String stor_id;
|
||||
|
||||
private String status;
|
||||
|
||||
private String check_type;
|
||||
|
||||
private String check_code;
|
||||
|
||||
private Boolean is_delete = false;
|
||||
|
||||
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
super.doP.put("check_code", QParam.builder().k(new String[]{"check_code"}).type(QueryTEnum.LK).build());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +1,35 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleinfoService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleinfo;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtSectattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtSectattr;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.CHECKEnum;
|
||||
import org.nl.wms.storage_manage.IOSEnum;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckdtlCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckdtlCpMapper;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckdtlYl;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 盘点单明细表 服务实现类
|
||||
@@ -17,4 +41,72 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class StIvtCheckdtlCpServiceImpl extends ServiceImpl<StIvtCheckdtlCpMapper, StIvtCheckdtlCp> implements IStIvtCheckdtlCpService {
|
||||
|
||||
@Autowired
|
||||
private IStIvtSectattrService sectattrService; // 库区服务
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructattrService structattrService; // 仓位服务
|
||||
|
||||
@Autowired
|
||||
private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService; // 载具信息服务
|
||||
|
||||
@Override
|
||||
public double create(JSONArray rows, StIvtCheckmstCp mst) {
|
||||
double total_qty = 0;
|
||||
|
||||
if (rows.size() > 0 && ObjectUtil.isNotEmpty(mst)) {
|
||||
// 先删除在插入
|
||||
this.remove(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", mst.getCheck_id()));
|
||||
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
String checkdtl_id = IdUtil.getStringId();
|
||||
StIvtCheckdtlCp row = rows.getJSONObject(i).toJavaObject(StIvtCheckdtlCp.class);
|
||||
row.setCheckdtl_id(checkdtl_id);
|
||||
row.setCheck_id(mst.getCheck_id());
|
||||
row.setCheck_code(mst.getCheck_code());
|
||||
row.setSeq_no(BigDecimal.valueOf(i + 1));
|
||||
|
||||
// 获取库区信息
|
||||
QueryWrapper<StIvtSectattr> sect_wrapper = new QueryWrapper<>();
|
||||
sect_wrapper.eq("sect_id", row.getSect_id());
|
||||
sect_wrapper.eq("is_used", true);
|
||||
StIvtSectattr sectDao = sectattrService.getOne(sect_wrapper);
|
||||
if (ObjectUtil.isEmpty(sectDao)) throw new BadRequestException("库区不存在或未启用!");
|
||||
row.setSect_name(sectDao.getSect_name());
|
||||
|
||||
// 获取仓位信息
|
||||
QueryWrapper<StIvtStructattr> struct_wrapper = new QueryWrapper<>();
|
||||
struct_wrapper.eq("struct_id", row.getStruct_id());
|
||||
struct_wrapper.eq("is_used", true);
|
||||
StIvtStructattr structDao = structattrService.getOne(struct_wrapper);
|
||||
if (ObjectUtil.isEmpty(structDao)) throw new BadRequestException("仓位不存在或未启用!");
|
||||
row.setStruct_name(structDao.getStruct_name());
|
||||
|
||||
// 获取载具信息
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, row.getStoragevehicle_code())
|
||||
);
|
||||
|
||||
row.setStoragevehicle_id(vehicleDao.getStoragevehicle_id());
|
||||
row.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
row.setStatus(CHECKEnum.DTL_STATUS.code("生成"));
|
||||
this.save(row);
|
||||
|
||||
//锁定货位
|
||||
structattrService.update(
|
||||
new UpdateWrapper<StIvtStructattr>().lambda()
|
||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("盘点锁"))
|
||||
.set(StIvtStructattr::getInv_code,mst.getCheck_code())
|
||||
.eq(StIvtStructattr::getStruct_id, row.getStruct_id())
|
||||
);
|
||||
}
|
||||
}
|
||||
return total_qty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map> getCheckDtl(JSONObject map) {
|
||||
return this.baseMapper.getCheckDtl(map);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,52 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.check.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import io.jsonwebtoken.lang.Assert;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbBucketrecordService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.mapper.MdPbBucketrecordMapper;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
import org.nl.wms.storage_manage.CHECKEnum;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckdtlCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.IStIvtCheckmstCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckdtlCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.StIvtCheckmstCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dao.mapper.StIvtCheckmstCpMapper;
|
||||
import org.nl.wms.storage_manage.productmanage.service.check.dto.CheckQueryMst;
|
||||
import org.nl.wms.storage_manage.productmanage.service.moreOrLess.IStIvtMoreorlessmstCpService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckdtlYlService;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckdtlYl;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery;
|
||||
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessmstYlService;
|
||||
import org.nl.wms.storage_manage.semimanage.MLEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -17,4 +59,434 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class StIvtCheckmstCpServiceImpl extends ServiceImpl<StIvtCheckmstCpMapper, StIvtCheckmstCp> implements IStIvtCheckmstCpService {
|
||||
|
||||
@Autowired
|
||||
private IStIvtBsrealstorattrService stIvtBsrealstorattrService; // 实物属性服务
|
||||
|
||||
@Autowired
|
||||
private IStIvtCheckdtlCpService iStIvtCheckdtlCpService; // 盘点明细服务
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructattrService structattrService; // 仓位服务
|
||||
|
||||
@Autowired
|
||||
private IStIvtMoreorlessmstCpService iStIvtMoreorlessmstCpService; // 损益主表服务
|
||||
|
||||
@Autowired
|
||||
private IMdPbBucketrecordService iMdPbBucketrecordService; // 箱服务
|
||||
|
||||
@Autowired(required = false)
|
||||
private MdPbBucketrecordMapper mdPbBucketrecordMapper; // 箱mapper服务
|
||||
|
||||
@Override
|
||||
public Object pageQuery(CheckQueryMst query, PageQuery page) {
|
||||
// 查询条件
|
||||
page.setSort("check_code,DESC");
|
||||
// 分页查询
|
||||
Page<StIvtCheckmstCp> pageQuery = this.page(page.build(), query.build());
|
||||
TableDataInfo<StIvtCheckmstCp> build = TableDataInfo.build(pageQuery);
|
||||
return build;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(JSONObject form) {
|
||||
JSONArray rows = form.getJSONArray("tableData");
|
||||
if (ObjectUtil.isEmpty(rows)) throw new BadRequestException("请求参数不能为空");
|
||||
|
||||
// 调用主表 插入/更新方法
|
||||
StIvtCheckmstCp checkmstCp = packageMstForm(new StIvtCheckmstCp(), form);
|
||||
this.save(checkmstCp);
|
||||
|
||||
//调用明细表 插入方法
|
||||
iStIvtCheckdtlCpService.create(rows, checkmstCp);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map> getCheckDtl(JSONObject map) {
|
||||
return iStIvtCheckdtlCpService.getCheckDtl(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject form) {
|
||||
Assert.notNull(new Object[]{form, form.get("check_id")}, "请求参数不能为空");
|
||||
StIvtCheckmstCp mst = form.toJavaObject(StIvtCheckmstCp.class);
|
||||
this.updateById(mst);
|
||||
|
||||
JSONArray rows = form.getJSONArray("tableData");
|
||||
if (ObjectUtil.isEmpty(rows)) throw new BadRequestException("请求参数不能为空");
|
||||
// 调用明细表 插入/更新方法
|
||||
iStIvtCheckdtlCpService.create(rows, mst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void saveCheck(JSONObject whereJson) {
|
||||
JSONObject form = whereJson.getJSONObject("row");
|
||||
JSONArray rows = whereJson.getJSONArray("rows");
|
||||
|
||||
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"10", "30"}));
|
||||
if (jo_mst == null) {
|
||||
throw new BadRequestException("盘点单状态异常!");
|
||||
}
|
||||
iStIvtCheckdtlCpService.remove(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"01", "04"}));
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
JSONObject jo = rows.getJSONObject(i);
|
||||
String status = jo.getString("status");
|
||||
StIvtCheckdtlCp dtl = jo.toJavaObject(StIvtCheckdtlCp.class);
|
||||
double base_qty = jo.getDoubleValue("base_qty");
|
||||
dtl.setSeq_no(BigDecimal.valueOf(i + 1));
|
||||
//已盘点过的明细不再处理
|
||||
if ("05,06,07,99".contains(status)) {
|
||||
iStIvtCheckdtlCpService.updateById(dtl);
|
||||
continue;
|
||||
}
|
||||
dtl.setStatus(CHECKEnum.DTL_STATUS.code("盘点中"));
|
||||
dtl.setCheck_optid(SecurityUtils.getCurrentUserId());
|
||||
dtl.setCheck_optname(SecurityUtils.getCurrentNickName());
|
||||
dtl.setCheck_time(DateUtil.now());
|
||||
double fac_qty = jo.getDoubleValue("fac_qty");
|
||||
//判断盈亏
|
||||
if (fac_qty > base_qty) {
|
||||
dtl.setCheck_result("2");
|
||||
} else if (fac_qty < base_qty) {
|
||||
dtl.setCheck_result("1");
|
||||
} else {
|
||||
dtl.setCheck_result("0");
|
||||
}
|
||||
if (StrUtil.isEmpty(jo.getString("checkdtl_id"))) {
|
||||
jo.put("checkdtl_id", IdUtil.getStringId());
|
||||
}
|
||||
iStIvtCheckdtlCpService.save(dtl);
|
||||
}
|
||||
jo_mst.setDtl_num(BigDecimal.valueOf(rows.size()));
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("盘点中"));
|
||||
jo_mst.setIs_nok(false);
|
||||
List<StIvtCheckdtlCp> dtl_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).ne("check_result", "0"));
|
||||
if (dtl_list.size() != 0) {
|
||||
jo_mst.setIs_nok(true);
|
||||
}
|
||||
this.updateById(jo_mst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void confirm(JSONObject whereJson) {
|
||||
|
||||
JSONObject form = whereJson.getJSONObject("row");
|
||||
JSONArray rows = whereJson.getJSONArray("rows");
|
||||
|
||||
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"10", "30"}));
|
||||
if (jo_mst == null) {
|
||||
throw new BadRequestException("盘点单状态异常!");
|
||||
}
|
||||
iStIvtCheckdtlCpService.remove(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"01", "04"}));
|
||||
//定义需要需要更新的的点位集合
|
||||
HashSet<String> set = new HashSet<>();
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
JSONObject jo = rows.getJSONObject(i);
|
||||
String status = jo.getString("status");
|
||||
StIvtCheckdtlCp dtl = jo.toJavaObject(StIvtCheckdtlCp.class);
|
||||
double base_qty = jo.getDoubleValue("base_qty");
|
||||
dtl.setSeq_no(BigDecimal.valueOf(i + 1));
|
||||
//已盘点过的明细不再处理
|
||||
if ("05,06,07,99".contains(status)) {
|
||||
iStIvtCheckdtlCpService.updateById(dtl);
|
||||
continue;
|
||||
}
|
||||
dtl.setStatus(CHECKEnum.DTL_STATUS.code("已盘点"));
|
||||
dtl.setCheck_optid(SecurityUtils.getCurrentUserId());
|
||||
dtl.setCheck_optname(SecurityUtils.getCurrentNickName());
|
||||
dtl.setCheck_time(DateUtil.now());
|
||||
double fac_qty = jo.getDoubleValue("fac_qty");
|
||||
//判断盈亏
|
||||
if (fac_qty > base_qty) {
|
||||
dtl.setCheck_result("2");
|
||||
} else if (fac_qty < base_qty) {
|
||||
dtl.setCheck_result("1");
|
||||
} else {
|
||||
dtl.setCheck_result("0");
|
||||
dtl.setStatus(CHECKEnum.DTL_STATUS.code("确认完成"));
|
||||
}
|
||||
if (StrUtil.isEmpty(jo.getString("checkdtl_id"))) {
|
||||
jo.put("checkdtl_id", IdUtil.getStringId());
|
||||
}
|
||||
iStIvtCheckdtlCpService.save(dtl);
|
||||
set.add(dtl.getStruct_id());
|
||||
}
|
||||
jo_mst.setDtl_num(BigDecimal.valueOf(rows.size()));
|
||||
|
||||
jo_mst.setIs_nok(false);
|
||||
List<StIvtCheckdtlCp> dtl_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).ne("check_result", "0"));
|
||||
if (dtl_list.size() != 0) {
|
||||
jo_mst.setIs_nok(true);
|
||||
}
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("盘点中"));
|
||||
List<StIvtCheckdtlCp> finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"99", "07"}));
|
||||
//说明全部确认
|
||||
if (finish_list.size() == jo_mst.getDtl_num().intValue()) {
|
||||
iStIvtCheckdtlCpService.update(new UpdateWrapper<StIvtCheckdtlCp>().set("status", "99").eq("check_id", form.getString("check_id")));
|
||||
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
//锁定起点点位、仓位
|
||||
set.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("lock_type", "0").set("inv_code", "").eq("struct_id", struct_id)));
|
||||
}
|
||||
this.updateById(jo_mst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void process0(JSONObject whereJson) {
|
||||
JSONObject form = whereJson.getJSONObject("form");
|
||||
JSONObject row = whereJson.getJSONObject("row");
|
||||
|
||||
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", form.getString("check_id")).ne("status", "99"));
|
||||
if (jo_mst == null) {
|
||||
throw new BadRequestException("盘点单状态异常!");
|
||||
}
|
||||
StIvtCheckdtlCp dtl = row.toJavaObject(StIvtCheckdtlCp.class);
|
||||
dtl.setStatus(CHECKEnum.DTL_STATUS.code("确认完成"));
|
||||
dtl.setProcess_optid(SecurityUtils.getCurrentUserId());
|
||||
dtl.setProcess_time(DateUtil.now());
|
||||
dtl.setProcess_type(CHECKEnum.PROCESS_TYPE.code("账务为准"));
|
||||
dtl.setIs_process(true);
|
||||
iStIvtCheckdtlCpService.updateById(dtl);
|
||||
List<StIvtCheckdtlCp> finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"99", "07"}));
|
||||
//说明全部确认
|
||||
if (finish_list.size() == jo_mst.getDtl_num().intValue()) {
|
||||
iStIvtCheckdtlCpService.update(new UpdateWrapper<StIvtCheckdtlCp>().set("status", "99").eq("check_id", form.getString("check_id")));
|
||||
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
//解锁起点点位、仓位
|
||||
finish_list.stream()
|
||||
.map(finish -> finish.getStruct_id())
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
}
|
||||
this.updateById(jo_mst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void process1(JSONObject whereJson) {
|
||||
JSONObject form = whereJson.getJSONObject("form");
|
||||
JSONObject row = whereJson.getJSONObject("row");
|
||||
|
||||
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", form.getString("check_id")).ne("status", "99"));
|
||||
StIvtCheckdtlCp dtl = row.toJavaObject(StIvtCheckdtlCp.class);
|
||||
if (jo_mst == null) {
|
||||
throw new BadRequestException("盘点单状态异常!");
|
||||
}
|
||||
|
||||
//创建损溢单
|
||||
JSONObject mol_jo = new JSONObject();
|
||||
mol_jo.put("buss_type", MLEnum.BILL_TYPE.code("盘点损溢"));
|
||||
if (row.getString("check_result").equals("1")) {
|
||||
mol_jo.put("mol_type", MLEnum.MOL_TYPE.code("损"));
|
||||
} else {
|
||||
mol_jo.put("mol_type", MLEnum.MOL_TYPE.code("溢"));
|
||||
}
|
||||
mol_jo.put("stor_id", jo_mst.getStor_id());
|
||||
mol_jo.put("remark", "盘点单:" + jo_mst.getCheck_code() + "生成的损溢单");
|
||||
|
||||
//创建明细
|
||||
JSONObject dtl_jo = new JSONObject();
|
||||
dtl_jo.put("sect_id", dtl.getSect_id());
|
||||
dtl_jo.put("material_id", dtl.getMaterial_id());
|
||||
dtl_jo.put("struct_id", dtl.getStruct_id());
|
||||
dtl_jo.put("qty_unit_id", dtl.getQty_unit_id());
|
||||
dtl_jo.put("qty_unit_name", dtl.getQty_unit_name());
|
||||
dtl_jo.put("mol_qty", row.getString("check_result").equals("1") ? NumberUtil.sub(dtl.getBase_qty(), dtl.getFac_qty()) : NumberUtil.sub(dtl.getFac_qty(), dtl.getBase_qty()));
|
||||
dtl_jo.put("source_billdtl_id", dtl.getCheckdtl_id());
|
||||
dtl_jo.put("source_bill_type", jo_mst.getCheck_type());
|
||||
dtl_jo.put("source_bill_code", jo_mst.getCheck_code());
|
||||
dtl_jo.put("source_bill_table", "ST_IVT_CheckMst_CP");
|
||||
dtl_jo.put("storagevehicle_id", dtl.getStoragevehicle_id());
|
||||
dtl_jo.put("storagevehicle_code", dtl.getStoragevehicle_code());
|
||||
JSONArray mol_rows = new JSONArray();
|
||||
mol_rows.add(dtl_jo);
|
||||
mol_jo.put("tableData", mol_rows);
|
||||
mol_jo.put("auto_confirm", "1");
|
||||
//创建损溢单
|
||||
iStIvtMoreorlessmstCpService.create(mol_jo);
|
||||
|
||||
|
||||
dtl.setStatus(CHECKEnum.DTL_STATUS.code("确认完成"));
|
||||
dtl.setProcess_optid(SecurityUtils.getCurrentUserId());
|
||||
dtl.setProcess_time(DateUtil.now());
|
||||
dtl.setProcess_type(CHECKEnum.PROCESS_TYPE.code("实盘为准"));
|
||||
dtl.setIs_process(true);
|
||||
iStIvtCheckdtlCpService.updateById(dtl);
|
||||
List<StIvtCheckdtlCp> finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"99", "07"}));
|
||||
//说明全部确认
|
||||
if (finish_list.size() == jo_mst.getDtl_num().intValue()) {
|
||||
iStIvtCheckdtlCpService.update(new UpdateWrapper<StIvtCheckdtlCp>().set("status", "99").eq("check_id", form.getString("check_id")));
|
||||
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
//解锁起点点位、仓位
|
||||
finish_list.stream()
|
||||
.map(finish -> finish.getStruct_id())
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
}
|
||||
this.updateById(jo_mst);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getBucketrecord(JSONObject whereJson) {
|
||||
|
||||
List<Map> maps = mdPbBucketrecordMapper.queryAll(whereJson);
|
||||
|
||||
if (ObjectUtil.isEmpty(maps)) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("checkdtl_id", whereJson.getString("checkdtl_id"));
|
||||
|
||||
List<Map> checkDtl = this.getCheckDtl(param);
|
||||
|
||||
for (Map json : checkDtl) {
|
||||
json.put("storage_qty", json.get("base_qty"));
|
||||
}
|
||||
|
||||
maps = checkDtl;
|
||||
}
|
||||
|
||||
|
||||
return maps;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void processBox(JSONObject whereJson) {
|
||||
JSONObject form = whereJson.getJSONObject("form");
|
||||
JSONArray row = whereJson.getJSONArray("row");
|
||||
|
||||
StIvtCheckmstCp jo_mst = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", form.getString("check_id")).ne("status", "99"));
|
||||
|
||||
StIvtCheckdtlCp dtl = iStIvtCheckdtlCpService.getById(form.getString("checkdtl_id"));
|
||||
if (jo_mst == null) {
|
||||
throw new BadRequestException("盘点单状态异常!");
|
||||
}
|
||||
|
||||
//创建损溢单
|
||||
JSONObject mol_jo = new JSONObject();
|
||||
mol_jo.put("buss_type", MLEnum.BILL_TYPE.code("盘点损溢"));
|
||||
if (dtl.getCheck_result().equals("1")) {
|
||||
mol_jo.put("mol_type", MLEnum.MOL_TYPE.code("损"));
|
||||
} else {
|
||||
mol_jo.put("mol_type", MLEnum.MOL_TYPE.code("溢"));
|
||||
}
|
||||
mol_jo.put("stor_id", jo_mst.getStor_id());
|
||||
mol_jo.put("remark", "盘点单:" + jo_mst.getCheck_code() + "生成的损溢单");
|
||||
|
||||
//创建明细
|
||||
JSONArray mol_rows = new JSONArray();
|
||||
for (int i = 0; i < row.size(); i++) {
|
||||
JSONObject json = row.getJSONObject(i);
|
||||
JSONObject dtl_jo = new JSONObject();
|
||||
dtl_jo.put("sect_id", dtl.getSect_id());
|
||||
dtl_jo.put("material_id", dtl.getMaterial_id());
|
||||
dtl_jo.put("struct_id", dtl.getStruct_id());
|
||||
dtl_jo.put("qty_unit_id", dtl.getQty_unit_id());
|
||||
dtl_jo.put("qty_unit_name", dtl.getQty_unit_name());
|
||||
dtl_jo.put("bucketunique", json.getString("bucketunique"));
|
||||
dtl_jo.put("mol_qty", dtl.getCheck_result().equals("1") ? NumberUtil.sub(json.getBigDecimal("storage_qty"), json.getBigDecimal("ivt_qty_ck")) : NumberUtil.sub(json.getBigDecimal("ivt_qty_ck"), json.getBigDecimal("storage_qty")));
|
||||
dtl_jo.put("source_billdtl_id", dtl.getCheckdtl_id());
|
||||
dtl_jo.put("source_bill_type", jo_mst.getCheck_type());
|
||||
dtl_jo.put("source_bill_code", jo_mst.getCheck_code());
|
||||
dtl_jo.put("source_bill_table", "ST_IVT_CheckMst_CP");
|
||||
dtl_jo.put("storagevehicle_id", dtl.getStoragevehicle_id());
|
||||
dtl_jo.put("storagevehicle_code", dtl.getStoragevehicle_code());
|
||||
mol_rows.add(dtl_jo);
|
||||
|
||||
}
|
||||
mol_jo.put("tableData", mol_rows);
|
||||
mol_jo.put("auto_confirm", "1");
|
||||
//创建损溢单
|
||||
iStIvtMoreorlessmstCpService.create(mol_jo);
|
||||
|
||||
dtl.setStatus(CHECKEnum.DTL_STATUS.code("确认完成"));
|
||||
dtl.setProcess_optid(SecurityUtils.getCurrentUserId());
|
||||
dtl.setProcess_time(DateUtil.now());
|
||||
dtl.setProcess_type(CHECKEnum.PROCESS_TYPE.code("实盘为准"));
|
||||
dtl.setIs_process(true);
|
||||
iStIvtCheckdtlCpService.updateById(dtl);
|
||||
List<StIvtCheckdtlCp> finish_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", form.getString("check_id")).in("status", new String[]{"99", "07"}));
|
||||
//说明全部确认
|
||||
if (finish_list.size() == jo_mst.getDtl_num().intValue()) {
|
||||
iStIvtCheckdtlCpService.update(new UpdateWrapper<StIvtCheckdtlCp>().set("status", "99").eq("check_id", form.getString("check_id")));
|
||||
|
||||
jo_mst.setStatus(CHECKEnum.BILL_STATUS.code("完成"));
|
||||
jo_mst.setConfirm_optid(SecurityUtils.getCurrentUserId());
|
||||
jo_mst.setConfirm_optname(SecurityUtils.getCurrentNickName());
|
||||
jo_mst.setConfirm_time(DateUtil.now());
|
||||
//解锁起点点位、仓位
|
||||
finish_list.stream()
|
||||
.map(finish -> finish.getStruct_id())
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
}
|
||||
this.updateById(jo_mst);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void delete(Long[] ids) {
|
||||
for (Long id : ids) {
|
||||
StIvtCheckmstCp dao = this.getOne(new QueryWrapper<StIvtCheckmstCp>().eq("check_id", id));
|
||||
dao.setIs_delete(true);
|
||||
|
||||
//获取所有明细下的仓位解锁
|
||||
List<StIvtCheckdtlCp> dtl_list = iStIvtCheckdtlCpService.list(new QueryWrapper<StIvtCheckdtlCp>().eq("check_id", id));
|
||||
dtl_list.stream()
|
||||
.map(dtl -> dtl.getStruct_id())
|
||||
.distinct()
|
||||
.forEach(struct_id -> structattrService.update(new UpdateWrapper<StIvtStructattr>().set("inv_code", "").set("lock_type", "0").eq("struct_id", struct_id)));
|
||||
this.updateById(dao);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private StIvtCheckmstCp packageMstForm(StIvtCheckmstCp checkmstCp, JSONObject whereJson) {
|
||||
JSONArray rows = whereJson.getJSONArray("tableData");
|
||||
// 新增
|
||||
checkmstCp.setCheck_id(IdUtil.getStringId());
|
||||
checkmstCp.setCheck_code(CodeUtil.getNewCode("PD_CODE"));
|
||||
checkmstCp.setBuss_type(whereJson.getString("check_type"));
|
||||
checkmstCp.setCheck_type(checkmstCp.getBuss_type());
|
||||
|
||||
// 获取仓库信息
|
||||
QueryWrapper<StIvtBsrealstorattr> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("stor_id", whereJson.getString("stor_id"));
|
||||
wrapper.eq("is_used", true);
|
||||
StIvtBsrealstorattr bsrealDao = stIvtBsrealstorattrService.getOne(wrapper);
|
||||
if (ObjectUtil.isEmpty(bsrealDao)) throw new BadRequestException("仓库不存在或未启用!");
|
||||
|
||||
checkmstCp.setStor_id(bsrealDao.getStor_id());
|
||||
checkmstCp.setStor_name(bsrealDao.getStor_name());
|
||||
checkmstCp.setDtl_num(BigDecimal.valueOf(rows.size()));
|
||||
checkmstCp.setCreate_mode(CHECKEnum.CREATE_MODE.code("PC产生"));
|
||||
checkmstCp.setStatus(CHECKEnum.BILL_STATUS.code("生成"));
|
||||
checkmstCp.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
checkmstCp.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
checkmstCp.setCreate_time(DateUtil.now());
|
||||
checkmstCp.setIs_delete(false);
|
||||
checkmstCp.setIs_upload(true);
|
||||
// TODO 暂时写死
|
||||
checkmstCp.setSysdeptid("111");
|
||||
checkmstCp.setSyscompanyid("111");
|
||||
|
||||
checkmstCp.setRemark(whereJson.getString("remark"));
|
||||
|
||||
return checkmstCp;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,13 @@ public class StIvtStructivtYlController {
|
||||
return new ResponseEntity<>(structivtYlService.getRawIvt(query, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/getProductIvt")
|
||||
@Log("查询可用的成品库存")
|
||||
@ApiOperation("查询可用的成品库存")
|
||||
public ResponseEntity<Object> getProductIvt(StructIvtYLQuery query, PageQuery page) {
|
||||
return new ResponseEntity<>(structivtYlService.getProductIvt(query,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getStructIvt")
|
||||
@Log("查询库存")
|
||||
@ApiOperation("查询库存")
|
||||
|
||||
@@ -28,4 +28,12 @@ public interface IStIvtStructivtYlService extends IService<StIvtStructivtYl> {
|
||||
Object getRawIvt(StructIvtYLQuery query, PageQuery page);
|
||||
|
||||
List<Map> getStructIvt(StructIvtYLQuery query);
|
||||
|
||||
/**
|
||||
* 分页查询可用的成品库存
|
||||
*
|
||||
* @param query /
|
||||
* @return JSONObject
|
||||
*/
|
||||
Object getProductIvt(StructIvtYLQuery query, PageQuery page);
|
||||
}
|
||||
|
||||
@@ -22,5 +22,7 @@ public interface StIvtStructivtYlMapper extends BaseMapper<StIvtStructivtYl> {
|
||||
|
||||
List<Map> getRawIvt(@Param("query") StructIvtYLQuery query, @Param("pageQuery") PageQuery pageQuery);
|
||||
|
||||
List<Map> getProductIvt(@Param("query") StructIvtYLQuery query, @Param("pageQuery") PageQuery pageQuery);
|
||||
|
||||
List<Map> getStructIvt(@Param("query") StructIvtYLQuery query);
|
||||
}
|
||||
|
||||
@@ -37,6 +37,42 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getProductIvt" resultType="java.util.Map">
|
||||
SELECT
|
||||
ivt.*,
|
||||
mu.unit_name AS qty_unit_name,
|
||||
mb.material_code,
|
||||
mb.material_name,
|
||||
sa.sect_id,
|
||||
sa.sect_code,
|
||||
sa.sect_name,
|
||||
sa.struct_id,
|
||||
sa.struct_code,
|
||||
sa.struct_name,
|
||||
sa.storagevehicle_code,
|
||||
class.class_name
|
||||
FROM
|
||||
st_ivt_structivt_cp ivt
|
||||
LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt.material_id
|
||||
LEFT JOIN st_ivt_structattr sa ON sa.struct_id = ivt.struct_id
|
||||
LEFT JOIN md_pb_measureunit mu ON mu.measure_unit_id = ivt.qty_unit_id
|
||||
LEFT JOIN md_pb_classstandard class ON class.class_id = mb.material_type_id
|
||||
<where>
|
||||
ivt.canuse_qty > 0
|
||||
AND
|
||||
sa.lock_type = '0'
|
||||
<if test="query.material_search != null and query.material_search != ''">
|
||||
and (mb.material_code = #{query.material_search} OR mb.material_name = #{query.material_search})
|
||||
</if>
|
||||
<if test="query.sect_id != null and query.sect_id != ''">
|
||||
and sa.sect_id = #{query.sect_id}
|
||||
</if>
|
||||
<if test="query.struct_id != null and query.struct_id != ''">
|
||||
and sa.struct_id = #{query.struct_id}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getStructIvt" resultType="java.util.Map">
|
||||
SELECT
|
||||
ivt.*,
|
||||
|
||||
@@ -38,4 +38,13 @@ public class StIvtStructivtYlServiceImpl extends ServiceImpl<StIvtStructivtYlMap
|
||||
public List<Map> getStructIvt(StructIvtYLQuery query) {
|
||||
return this.baseMapper.getStructIvt(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getProductIvt(StructIvtYLQuery query, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
List<Map> mst_detail = this.baseMapper.getProductIvt(query, pageQuery);
|
||||
TableDataInfo<Map> build = TableDataInfo.build(mst_detail);
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,9 +144,10 @@ public class NoticeServiceImpl implements NoticeService {
|
||||
|
||||
@Override
|
||||
public Integer countByReceiveNotRead() {
|
||||
WQLObject sysNotice = WQLObject.getWQLObject("sys_notice");
|
||||
JSONArray objects = sysNotice.query("have_read = '1'").getResultJSONArray(0);
|
||||
return ObjectUtil.isEmpty(objects) ? 0 : objects.size();
|
||||
// WQLObject sysNotice = WQLObject.getWQLObject("sys_notice");
|
||||
// JSONArray objects = sysNotice.query("have_read = '1'").getResultJSONArray(0);
|
||||
//ObjectUtil.isEmpty(objects) ? 0 : objects.size();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,23 +10,23 @@ spring:
|
||||
reactive:
|
||||
#endpoints: 172.31.185.110:8200,172.31.154.9:8200 #内网
|
||||
# endpoints: 47.96.133.178:8200 #外网
|
||||
endpoints: http://47.96.133.178:8200 #外网
|
||||
endpoints: http://192.168.46.225:9200 #外网
|
||||
elasticsearch:
|
||||
rest:
|
||||
#uris: 172.31.185.110:8200,172.31.154.9:8200 #内网
|
||||
# uris: 47.96.133.178:8200 #外网
|
||||
uris: http://47.96.133.178:8200 #外网
|
||||
username: elastic
|
||||
password: 123456
|
||||
uris: http://192.168.46.225:9200 #外网
|
||||
# username: elastic
|
||||
# password: 123456
|
||||
datasource:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_mes_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_mes_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
username: ${DB_USER:root}
|
||||
# password: ${DB_PWD:123456}
|
||||
password: ${DB_PWD:root}
|
||||
password: ${DB_PWD:123456}
|
||||
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
@@ -199,3 +199,4 @@ sa-token:
|
||||
# - redis://127.0.0.1:6379
|
||||
es:
|
||||
index: mes_log
|
||||
schedulerFile: D:\hlProject\mes\scheduler.xml
|
||||
|
||||
@@ -9,26 +9,25 @@ spring:
|
||||
client:
|
||||
reactive:
|
||||
#endpoints: 172.31.185.110:8200,172.31.154.9:8200 #内网
|
||||
# endpoints: 47.96.133.1785:8200 #外网
|
||||
endpoints: http://47.96.133.1785:8200 #外网
|
||||
# endpoints: 47.96.133.178:8200 #外网
|
||||
endpoints: http://192.168.46.225:9200 #外网
|
||||
elasticsearch:
|
||||
rest:
|
||||
#uris: 172.31.185.110:8200,172.31.154.9:8200 #内网
|
||||
# uris: 47.96.133.1785:8200 #外网
|
||||
uris: http://47.96.133.1785:8200 #外网
|
||||
username: elastic
|
||||
password: 123456
|
||||
# uris: 47.96.133.178:8200 #外网
|
||||
uris: http://192.168.46.225:9200 #外网
|
||||
# username: elastic
|
||||
# password: 123456
|
||||
datasource:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
#url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
username: ${DB_USER:shenhua}
|
||||
#password: ${DB_PWD:P@ssw0rd}
|
||||
#password: ${DB_PWD:root}
|
||||
#password: ${DB_PWD:Root.123456}
|
||||
password: ${DB_PWD:123456789}
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_mes_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
username: ${DB_USER:root}
|
||||
# password: ${DB_PWD:123456}
|
||||
password: ${DB_PWD:123456}
|
||||
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
# 最小连接数
|
||||
@@ -173,6 +172,7 @@ sa-token:
|
||||
cookie:
|
||||
# 配置 Cookie 作用域:根据二级域名实现sso登入如lms.sso.com;acs.sso.com
|
||||
domain:
|
||||
is-read-cookie: false
|
||||
|
||||
#jetcache:
|
||||
# defaultCacheType: LOCAL
|
||||
@@ -199,3 +199,4 @@ sa-token:
|
||||
# - redis://127.0.0.1:6379
|
||||
es:
|
||||
index: mes_log
|
||||
schedulerFile: /Users/mima0000/Desktop/scheduler.xml
|
||||
|
||||
@@ -2,7 +2,7 @@ spring:
|
||||
freemarker:
|
||||
check-template-location: false
|
||||
profiles:
|
||||
active: dev
|
||||
active: dev3
|
||||
jackson:
|
||||
time-zone: GMT+8
|
||||
data:
|
||||
@@ -92,4 +92,3 @@ mybatis-plus:
|
||||
db-config:
|
||||
id-type: INPUT
|
||||
banner: false
|
||||
schedulerFile: classpath:/scheduler.xml
|
||||
|
||||
@@ -14,27 +14,28 @@ https://juejin.cn/post/6844903775631572999
|
||||
<property name="log.pattern"
|
||||
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<springProperty scope="context" name="esIndex" source="es.index"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!--引入默认的一些设置-->
|
||||
<!-- <include resource="log/AutoCreateInst.xml"/>-->
|
||||
<!-- <appender name="esLogAppender" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
|
||||
<url>http://47.96.133.1785:8200/_bulk</url>
|
||||
<appender name="esLogAppender" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
|
||||
<url>http://192.168.46.225:9200/_bulk</url>
|
||||
<index>${esIndex}</index>
|
||||
<type>mes_log</type>
|
||||
<loggerName>es-logger</loggerName> <!– optional –>
|
||||
<errorLoggerName>es-error-logger</errorLoggerName> <!– optional –>
|
||||
<connectTimeout>30000</connectTimeout> <!– optional (in ms, default 30000) –>
|
||||
<errorsToStderr>false</errorsToStderr> <!– optional (default false) –>
|
||||
<includeCallerData>false</includeCallerData> <!– optional (default false) –>
|
||||
<logsToStderr>false</logsToStderr> <!– optional (default false) –>
|
||||
<maxQueueSize>104857600</maxQueueSize> <!– optional (default 104857600) –>
|
||||
<maxRetries>3</maxRetries> <!– optional (default 3) –>
|
||||
<readTimeout>30000</readTimeout> <!– optional (in ms, default 30000) –>
|
||||
<sleepTime>250</sleepTime> <!– optional (in ms, default 250) –>
|
||||
<rawJsonMessage>false</rawJsonMessage> <!– optional (default false) –>
|
||||
<includeMdc>false</includeMdc> <!– optional (default false) –>
|
||||
<maxMessageSize>20000</maxMessageSize> <!– optional (default -1 –>
|
||||
<!– <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication" /> <!– optional –>–>
|
||||
<loggerName>es-logger</loggerName> <!-- optional -->
|
||||
<errorLoggerName>es-error-logger</errorLoggerName> <!-- optional -->
|
||||
<connectTimeout>30000</connectTimeout> <!-- optional (in ms, default 30000) -->
|
||||
<errorsToStderr>false</errorsToStderr> <!-- optional (default false) -->
|
||||
<includeCallerData>false</includeCallerData> <!-- optional (default false) -->
|
||||
<logsToStderr>false</logsToStderr> <!-- optional (default false) -->
|
||||
<maxQueueSize>104857600</maxQueueSize> <!-- optional (default 104857600) -->
|
||||
<maxRetries>3</maxRetries> <!-- optional (default 3) -->
|
||||
<readTimeout>30000</readTimeout> <!-- optional (in ms, default 30000) -->
|
||||
<sleepTime>250</sleepTime> <!-- optional (in ms, default 250) -->
|
||||
<rawJsonMessage>false</rawJsonMessage> <!-- optional (default false) -->
|
||||
<includeMdc>false</includeMdc> <!-- optional (default false) -->
|
||||
<maxMessageSize>20000</maxMessageSize> <!-- optional (default -1 -->
|
||||
<!-- <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication" /> <!– optional –>-->
|
||||
<properties>
|
||||
<property>
|
||||
<name>system</name>
|
||||
@@ -75,7 +76,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
<value>application/json</value>
|
||||
</header>
|
||||
</headers>
|
||||
</appender>-->
|
||||
</appender>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<withJansi>true</withJansi>
|
||||
@@ -117,9 +118,9 @@ https://juejin.cn/post/6844903775631572999
|
||||
|
||||
<!--开发环境:打印控制台-->
|
||||
<springProfile name="dev">
|
||||
<root level="debug">
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<!-- <appender-ref ref="esLogAppender"/>-->
|
||||
<appender-ref ref="esLogAppender"/>
|
||||
</root>
|
||||
|
||||
<logger name="jdbc.audit" level="ERROR" additivity="false">
|
||||
|
||||
Reference in New Issue
Block a user