Commit 31e53961 by yanHeng

[初始化] 异常数据初始化

parent bafed41d
......@@ -213,5 +213,18 @@ public class RetailInfoServiceImpl implements RetailInfoService {
return orGet;
}
@Override
public KObject createRetailInfo(KObject station, KObject dinasType, String carNum, String retailName, Double dealAmount, Double amount) {
KObject orGet = retailInfoDao.createOrGet(retailName, carNum, station);
KClass bean = Amino.getStaticMetadataContext().getBean(RetailInfoConstant.DETAIL_ENTITY, KClass.class);
KObject object = bean.newInstance();
object.set("purchaseAmount",dealAmount);
object.set("master",retailInfoDao.load(orGet.getUuid("id")));
object.set("dinasType",dinasType);
object.set(BaseConstants.ID,UUID.randomUUID());
retailInfoDao.saveOrUpdate(object);
return orGet;
}
}
......@@ -30,4 +30,6 @@ public interface RetailInfoService {
BigDecimal selectBuyAmountByIdCard(String idCard, UUID fromString);
KObject create(KObject station, KObject dinasType, String retailIdNum, String retailName, String carInfo, Double dealAmount, Double amount);
KObject createRetailInfo(KObject station, KObject dinasType, String carNum, String retailName, Double dealAmount, Double amount);
}
......@@ -152,4 +152,32 @@ public interface SalesRecordConstant {
*/
String PIC = "pic";
//数据来源
String DATA_SOURCE = "dataSource";
//原因
String REASON = "reason";
//删除原因
String DEL_REASON = "delReason";
//方法类型
String METHOD_TYPE = "methodType";
//数据来源字段值
String DATA_SOURCE_REN_GONG = "人工补录";
String DATA_SOURCE_DI_BANG = "地磅";
//方法类型 新增
Integer ADD_METHOD = 0;
//---- 删除
Integer DEL_METHOD = 1;
//待审核状态
Integer TO_AUDIT = 0;
//审核通过状态
Integer APPROVED = 2;
}
package com.xyst.dinas.sales.dao;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
public interface SalesRecordDao {
KObject load(UUID id);
......@@ -21,4 +21,10 @@ public interface SalesRecordDao {
void insertList(List<KObject> salesRecordInfos);
void updateActualTransportationById(SalesRecordInfo salesRecordInfo);
void deleteById(UUID id,String delReason);
void approval(KObject kobject);
void update(KObject salesRecord);
}
package com.xyst.dinas.sales.internal.dao;
import java.math.BigDecimal;
import java.util.*;
import javax.persistence.Tuple;
import com.beecode.amino.common.Convert;
import com.beecode.amino.core.Amino;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.serial.Serial;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.common.BaseConstants;
import com.beecode.util.DateUtil;
import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.sales.dao.SalesRecordDao;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -22,10 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.amino.common.Convert;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.sales.dao.SalesRecordDao;
import javax.persistence.Tuple;
import java.math.BigDecimal;
import java.util.*;
public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
@Autowired
......@@ -129,4 +128,43 @@ public class SalesRecordDaoImpl implements SalesRecordDao, SalesRecordConstant {
}
}
@Override
public void deleteById(UUID id,String delReason) {
KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(ENTITY, id);
kobject.set(BaseConstants.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(SalesRecordConstant.DEL_REASON, delReason);
kobject.set(SalesRecordConstant.METHOD_TYPE, SalesRecordConstant.DEL_METHOD);
template.update(kobject);
}
@Override
public void approval(KObject approObject) {
KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(ENTITY, approObject.getUuid(BaseConstants.ID));
kobject.set(BaseConstants.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(SalesRecordConstant.APPROVE_STATE, Integer.valueOf(kobject.getString(SalesRecordConstant.APPROVE_STATE)));
//当前数据方法类型
Integer methodType = Integer.valueOf(approObject.getString(SalesRecordConstant.METHOD_TYPE));
if(SalesRecordConstant.DEL_METHOD.equals(methodType)){
//逻辑删除
kobject.set(BaseConstants.DEL, true);
kobject.set(BaseConstants.DISCARD, true);
}
template.update(kobject);
}
@Override
public void update(KObject kobject) {
KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set(BaseConstants.MODIFY_TIME, new Date());
kobject.set(BaseConstants.MODIFIER, staff);
kobject.set(BaseConstants.DEL, false);
template.update(kobject);
}
}
\ No newline at end of file
package com.xyst.dinas.sales.service;
import java.util.HashMap;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.fasterxml.jackson.databind.JsonNode;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.UUID;
public interface SalesRecordService {
/**
......@@ -18,4 +21,30 @@ public interface SalesRecordService {
HashMap<String, Object> saveSalesRecordService(SalesRecordInfo salesRecordList, KObject station);
HashMap<String,Object> qualityReportExcelImport(MultipartFile file);
/**
* @Author yanHeng
* @Date 2022/4/18 9:59
* @Param [kobject, station]
* @return java.util.HashMap<java.lang.String,java.lang.Object>
**/
HashMap<String, Object> saveSalesRecordInfo(SalesRecordInfo salesRecord, KObject station);
/**
* @Author yanHeng
* @Date 2022/4/18 15:00
* @Param [jsonNode]
* @return com.beecode.inz.basis.team.pojo.ResponseObj
**/
ResponseObj deleteById(JsonNode jsonNode);
/**
* @Author yanHeng
* @Date 2022/4/18 17:38
* @Param [jsonNode]
* @return void
**/
ResponseObj approvalBatch(JsonNode jsonNode);
KObject getById(UUID id);
}
package com.xyst.dinas.sales.web;
import java.util.HashMap;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.fasterxml.jackson.databind.JsonNode;
import com.xyst.dinas.biz.service.StationService;
import com.xyst.dinas.sales.service.SalesRecordService;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap;
import java.util.UUID;
@RestController
public class SalesRecordController {
@Autowired
SalesRecordService salesRecordService;
@Autowired
StationService stationService;
/**
* create by: 导入销售记录,没有的数据全部新建
......@@ -38,4 +42,67 @@ public class SalesRecordController {
}
return ResponseObj.success("success");
}
/**
* @Author yanHeng
* @Date 2022/4/18 9:56
* @Param [SalesRecordInfo]
* @return java.lang.Object
* 异常数据添加/编辑
**/
@PostMapping(value = "/salesRecord/saveSalesRecordInfo")
public Object saveSalesRecordInfo(@RequestBody SalesRecordInfo salesRecord) {
//判空校验
if (null == salesRecord.getStationId()) {
return ResponseObj.error(400, "请选择具体的场站");
}
KObject station = stationService.getById(UUID.fromString(salesRecord.getStationId()));
HashMap<String, Object> stringObjectHashMap = salesRecordService.saveSalesRecordInfo(salesRecord, station);
return ResponseObj.error((Integer) stringObjectHashMap.get("code"),stringObjectHashMap.get("message").toString(),stringObjectHashMap.get("id"));
}
/**
* 根据id获取异常数据信息
*
* @param id
* @return
*/
@GetMapping("/salesRecord/{id}")
public ResponseObj getById(@PathVariable("id") UUID id) {
if (id == null) {
return ResponseObj.error(400, "'id' must be not null!");
}
KObject discharging = salesRecordService.getById(id);
return ResponseObj.success("获取成功", discharging);
}
/**
* 根据Id删除销售明细数据
* 只做数据修改,退款需审核
* @param body
* @return
*/
@PostMapping("/salesRecord/deleteSalesRecordBatch")
public ResponseObj deleteById(@RequestBody String body) {
JsonNode jsonNode = JSONObjectUtils.toJson(body);
return salesRecordService.deleteById(jsonNode);
}
/**
* 批量审核异常数据,进行扣款或者退款
* @param body
* @return
*/
@PostMapping("/salesRecord/approvalBatch")
public ResponseObj approvalBatch(@RequestBody String body) {
JsonNode jsonNode = JSONObjectUtils.toJson(body);
return salesRecordService.approvalBatch(jsonNode);
}
}
......@@ -10,6 +10,8 @@ import java.util.Date;
public class SalesRecordInfo {
//主键id
private String id;
/**
* 项目
*/
......@@ -150,7 +152,43 @@ public class SalesRecordInfo {
*/
private Integer saleType;
public String getProductionLineId() {
//数据来源
private String dataSource;
//原因
private String reason;
//删除原因
private String delReason;
//方法类型
private Integer methodType;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getMethodType() {
return methodType;
}
public void setMethodType(Integer methodType) {
this.methodType = methodType;
}
public String getDelReason() {
return delReason;
}
public void setDelReason(String delReason) {
this.delReason = delReason;
}
public String getProductionLineId() {
return productionLineId;
}
......@@ -397,4 +435,20 @@ public class SalesRecordInfo {
public void setSaleType(Integer saleType) {
this.saleType = saleType;
}
public String getDataSource() {
return dataSource;
}
public void setDataSource(String dataSource) {
this.dataSource = dataSource;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
}
......@@ -112,6 +112,24 @@
<attribute id='7b72bf25-26fd-4e24-b3f9-67d4f4733ff2' name='dealBillCode' columnName='deal_bill_code' title='销售单号' type='string' default='' precision='' isArray='false'>
<annotation id='82dec9ef-61f8-4e17-ba12-4df0472b1e73' attributeId='511c5c00-ccf7-48cb-a7bb-1743a2b92e57' name='length' value='50'></annotation>
</attribute>
<attribute id='80dd565a-8a2e-4661-b89b-5384ebafd73c' name='dataSource' columnName='data_source' title='数据来源' type='string' default='' precision='' isArray='false'>
<annotation id='f05b84c7-476d-4397-9d5e-2c37488d9c92' attributeId='f9a9d6f4-a208-45e5-9318-22af73e404ab' name='length' value='50'></annotation>
</attribute>
<attribute id='988d3d4c-1062-41e0-94b9-bd339718330d' name='reason' columnName='reason' title='原因' type='string' default='' precision='' isArray='false'>
<annotation id='d4ae7313-828a-48ff-84cf-d2b1db59a6c9' attributeId='107e0691-586b-49e8-bb75-372e56b01f43' name='length' value='50'></annotation>
</attribute>
<attribute id='e7ca1203-2dfe-4ef0-b6a6-c204aa9a04da' name='delReason' columnName='del_reason' title='删除原因' type='string' default='' precision='' isArray='false'>
<annotation id='23d02bbd-eabd-47b0-a1ea-674af1ee5695' attributeId='8378869d-f001-44fe-9837-a0ccada7d11c' name='length' value='50'></annotation>
</attribute>
<attribute id='76cb3a45-d1ef-4ac7-ade5-3c3c34c21811' name='methodType' columnName='method_type' title='数据方法类型 0:新增 1:删除' type='int' default='' precision='' isArray='false'>
<annotation id='363be135-5265-4354-acd3-09448a570214' attributeId='e5872b18-5a17-431f-a927-b41966b7b982' name='length' value='undefined'>
</annotation>
</attribute>
<hibernate>/xyst.dinas.sales/src/main/resources/config/SalesRecord.hbm.xml</hibernate>
</dataModel>
</content>
......
......@@ -294,6 +294,36 @@
</ref>
<description></description>
</field>
<field title='数据来源'>
<name>dataSource</name>
<type>string</type>
<description></description>
</field>
<field title='原因'>
<name>reason</name>
<type>string</type>
<description></description>
</field>
<field title='删除原因'>
<name>delReason</name>
<type>string</type>
<description></description>
</field>
<field title='审批状态'>
<name>approveState</name>
<type>int</type>
<description></description>
</field>
<field title='方法类型'>
<name>methodType</name>
<type>int</type>
<description></description>
</field>
</customQuery>
</content>
</model>
\ No newline at end of file
......@@ -111,5 +111,29 @@
<property name="dealBillCode" type="nstring" not-null="false">
<column name="deal_bill_code" length="50"></column>
</property>
<property name="dataSource" type="nstring" not-null="false">
<column name="data_source" length="50">
<comment>数据来源</comment>
</column>
</property>
<property name="reason" type="nstring" not-null="false">
<column name="reason" length="50">
<comment>原因</comment>
</column>
</property>
<property name="delReason" type="nstring" not-null="false">
<column name="del_reason" length="50">
<comment>删除原因</comment>
</column>
</property>
<property name="methodType" type="integer" not-null="false">
<column name="method_type">
<comment>数据方法类型 0:新增 1:删除</comment>
</column>
</property>
</class>
</hibernate-mapping>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment