Commit a40ff95f by 胡懿

修改物资领用、盘盈、盘亏代码逻辑

parent 163c5cb9
...@@ -40,8 +40,7 @@ public class Ledger extends DataEntity<Ledger> { ...@@ -40,8 +40,7 @@ public class Ledger extends DataEntity<Ledger> {
super(id); super(id);
} }
public Ledger(String name, MaterialType type) { public Ledger(MaterialType type) {
this.name = name;
this.type = type; this.type = type;
} }
......
...@@ -42,7 +42,6 @@ public class LedgerInfo extends DataEntity<LedgerInfo> { ...@@ -42,7 +42,6 @@ public class LedgerInfo extends DataEntity<LedgerInfo> {
private List<Shelves> shelvesList; private List<Shelves> shelvesList;
private List<Warehouse> warehouseList; private List<Warehouse> warehouseList;
private Shelves shelves;
public LedgerInfo() { public LedgerInfo() {
...@@ -177,12 +176,4 @@ public class LedgerInfo extends DataEntity<LedgerInfo> { ...@@ -177,12 +176,4 @@ public class LedgerInfo extends DataEntity<LedgerInfo> {
this.warehouseList = warehouseList; this.warehouseList = warehouseList;
} }
public Shelves getShelves() {
return shelves;
}
public void setShelves(Shelves shelves) {
this.shelves = shelves;
}
} }
\ No newline at end of file
...@@ -22,4 +22,7 @@ public interface LedgerInfoMapper extends BaseMapper<LedgerInfo> { ...@@ -22,4 +22,7 @@ public interface LedgerInfoMapper extends BaseMapper<LedgerInfo> {
void deleteByLedgerInfo(@Param("id") String id); void deleteByLedgerInfo(@Param("id") String id);
public List<LedgerInfo> findListByQrIdAndCode(LedgerInfo ledgerInfo); public List<LedgerInfo> findListByQrIdAndCode(LedgerInfo ledgerInfo);
void updateByLedgerInfo(@Param("id") String id); void updateByLedgerInfo(@Param("id") String id);
// 领用后更改台账明细数量
public int updateNum(LedgerInfo ledgerInfo);
} }
\ No newline at end of file
...@@ -19,6 +19,6 @@ import java.util.List; ...@@ -19,6 +19,6 @@ import java.util.List;
public interface LedgerMapper extends BaseMapper<Ledger> { public interface LedgerMapper extends BaseMapper<Ledger> {
public Ledger findByType(Ledger ledger); public Ledger findByType(Ledger ledger);
//zlt 查询台账主表的货架集合
public List<String> findShelvesListByLedgerId(@Param("id") String id);
} }
\ No newline at end of file
...@@ -191,6 +191,12 @@ ...@@ -191,6 +191,12 @@
remarks = #{remarks} remarks = #{remarks}
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<update id="updateNum">
UPDATE t_wh_ledger_info SET
num = #{num}
WHERE id = #{id}
</update>
<!--物理删除--> <!--物理删除-->
......
...@@ -165,12 +165,4 @@ ...@@ -165,12 +165,4 @@
AND a.type_id = #{type.id} AND a.type_id = #{type.id}
</where> </where>
</select> </select>
<select id="findShelvesListByLedgerId" resultType="java.lang.String" parameterType="java.lang.String">
select
shelves_id
from
t_wh_ledger_info li
where li.ledger_id = #{id}
and li.del_flag = '0'
</select>
</mapper> </mapper>
...@@ -96,7 +96,14 @@ public class LedgerService extends CrudService<LedgerMapper, Ledger> { ...@@ -96,7 +96,14 @@ public class LedgerService extends CrudService<LedgerMapper, Ledger> {
public Page<LedgerInfo> findInfoPage(Page<LedgerInfo> page, LedgerInfo ledgerInfo) { public Page<LedgerInfo> findInfoPage(Page<LedgerInfo> page, LedgerInfo ledgerInfo) {
dataRuleFilter(ledgerInfo); dataRuleFilter(ledgerInfo);
ledgerInfo.setPage(page); ledgerInfo.setPage(page);
page.setList(ledgerInfoMapper.findList(ledgerInfo)); List<LedgerInfo> ledgerInfoList = ledgerInfoMapper.findList(ledgerInfo);
for (LedgerInfo li : ledgerInfoList) {
List<Shelves> shelvesList = ShelvesUtil.getShelvesListByIds(li.getShelvesIds());
li.setShelvesList(shelvesList);
List<Warehouse> warehouseList = ShelvesUtil.getWarehouseListByIds(li.getWarehouseIds());
li.setWarehouseList(warehouseList);
}
page.setList(ledgerInfoList);
return page; return page;
} }
......
...@@ -104,7 +104,9 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia ...@@ -104,7 +104,9 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia
materialLossInfoMapper.insert(materialLossInfo); materialLossInfoMapper.insert(materialLossInfo);
String ledgerInfoId = materialLossInfo.getLedgerInfo().getId(); String ledgerInfoId = materialLossInfo.getLedgerInfo().getId();
LedgerInfo ledgerInfo = ledgerInfoMapper.get(ledgerInfoId); LedgerInfo ledgerInfo = ledgerInfoMapper.get(ledgerInfoId);
ledgerInfoMapper.deleteByLedgerInfo(ledgerInfoId); // ledgerInfoMapper.deleteByLedgerInfo(ledgerInfoId);
ledgerInfo.setNum(ledgerInfo.getNum() - 1);
ledgerInfoMapper.updateNum(ledgerInfo);
if(ledgerInfo.getQr() != null){ if(ledgerInfo.getQr() != null){
QrCode qrCode = qrCodeService.get(ledgerInfo.getQr().getId()); QrCode qrCode = qrCodeService.get(ledgerInfo.getQr().getId());
if(qrCode!=null){ if(qrCode!=null){
...@@ -134,8 +136,9 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia ...@@ -134,8 +136,9 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia
materialLossInfoMapper.delete(materialLossInfo); materialLossInfoMapper.delete(materialLossInfo);
String ledgerInfoId = materialLossInfo.getLedgerInfo().getId(); String ledgerInfoId = materialLossInfo.getLedgerInfo().getId();
LedgerInfo ledgerInfo = ledgerInfoMapper.get(ledgerInfoId); LedgerInfo ledgerInfo = ledgerInfoMapper.get(ledgerInfoId);
ledgerInfoMapper.updateByLedgerInfo(ledgerInfoId); // ledgerInfoMapper.updateByLedgerInfo(ledgerInfoId);
ledgerInfo.setNum(ledgerInfo.getNum() + 1);
ledgerInfoMapper.updateNum(ledgerInfo);
if(ledgerInfo.getQr() != null){ if(ledgerInfo.getQr() != null){
QrCode qrCode = qrCodeService.get(ledgerInfo.getQr().getId()); QrCode qrCode = qrCodeService.get(ledgerInfo.getQr().getId());
if(qrCode!=null){ if(qrCode!=null){
...@@ -196,7 +199,6 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia ...@@ -196,7 +199,6 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia
OutboundInfo outboundInfo = new OutboundInfo(); OutboundInfo outboundInfo = new OutboundInfo();
String ledgerInfoId = one.getLedgerInfo().getId(); String ledgerInfoId = one.getLedgerInfo().getId();
LedgerInfo ledgerInfo = ledgerInfoMapper.get(ledgerInfoId); LedgerInfo ledgerInfo = ledgerInfoMapper.get(ledgerInfoId);
ledgerInfoMapper.deleteByLedgerInfo(ledgerInfoId);
if(ledgerInfo.getQr() != null){ if(ledgerInfo.getQr() != null){
QrCode qrCode = qrCodeService.get(ledgerInfo.getQr().getId()); QrCode qrCode = qrCodeService.get(ledgerInfo.getQr().getId());
if(qrCode!=null){ if(qrCode!=null){
...@@ -215,6 +217,8 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia ...@@ -215,6 +217,8 @@ public class MaterialLossService extends CrudService<MaterialLossMapper, Materia
} }
ledgerService.lowerLedger(ledger); ledgerService.lowerLedger(ledger);
} }
ledgerInfo.setNum(ledgerInfo.getNum() - 1);
ledgerInfoMapper.updateNum(ledgerInfo);
} }
outboundInfo.setId(""); outboundInfo.setId("");
outboundInfo.setOutbound(outbound); outboundInfo.setOutbound(outbound);
......
...@@ -12,8 +12,6 @@ import com.jeeplus.modules.warehouse.ledger.entity.Ledger; ...@@ -12,8 +12,6 @@ import com.jeeplus.modules.warehouse.ledger.entity.Ledger;
import com.jeeplus.modules.warehouse.ledger.entity.LedgerInfo; import com.jeeplus.modules.warehouse.ledger.entity.LedgerInfo;
import com.jeeplus.modules.warehouse.ledger.mapper.LedgerInfoMapper; import com.jeeplus.modules.warehouse.ledger.mapper.LedgerInfoMapper;
import com.jeeplus.modules.warehouse.ledger.mapper.LedgerMapper; import com.jeeplus.modules.warehouse.ledger.mapper.LedgerMapper;
import com.jeeplus.modules.warehouse.ledger.service.LedgerService;
import com.jeeplus.modules.warehouse.materialrequisition.entity.MaterialRequisitionInfo;
import com.jeeplus.modules.warehouse.qrcode.entity.QrCode; import com.jeeplus.modules.warehouse.qrcode.entity.QrCode;
import com.jeeplus.modules.warehouse.qrcode.service.QrCodeService; import com.jeeplus.modules.warehouse.qrcode.service.QrCodeService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -42,7 +40,7 @@ public class OutboundService extends CrudService<OutboundMapper, Outbound> { ...@@ -42,7 +40,7 @@ public class OutboundService extends CrudService<OutboundMapper, Outbound> {
@Autowired @Autowired
private LedgerInfoMapper ledgerInfoMapper; private LedgerInfoMapper ledgerInfoMapper;
@Autowired @Autowired
private LedgerService ledgerService; private LedgerMapper ledgerMapper;
@Autowired @Autowired
private QrCodeService qrCodeService; private QrCodeService qrCodeService;
...@@ -127,8 +125,8 @@ public class OutboundService extends CrudService<OutboundMapper, Outbound> { ...@@ -127,8 +125,8 @@ public class OutboundService extends CrudService<OutboundMapper, Outbound> {
qrCode.setState("3"); qrCode.setState("3");
qrCodeService.save(qrCode); qrCodeService.save(qrCode);
} }
Ledger ledger = ledgerService.get(ledgerInfo.getLedger().getId()); Ledger ledger = ledgerMapper.get(ledgerInfo.getLedger().getId());
ledgerInfoMapper.deleteByLedgerInfo(ledgerInfoId); // ledgerInfoMapper.deleteByLedgerInfo(ledgerInfoId);
if(ledger != null){ if(ledger != null){
ledger.setNum(ledger.getNum() - 1); ledger.setNum(ledger.getNum() - 1);
try { try {
...@@ -136,7 +134,9 @@ public class OutboundService extends CrudService<OutboundMapper, Outbound> { ...@@ -136,7 +134,9 @@ public class OutboundService extends CrudService<OutboundMapper, Outbound> {
}catch (Exception e){ }catch (Exception e){
System.out.println(e.getMessage()); System.out.println(e.getMessage());
} }
ledgerService.lowerLedger(ledger); ledgerMapper.update(ledger);
ledgerInfo.setNum(ledgerInfo.getNum() - 1);
ledgerInfoMapper.updateNum(ledgerInfo);
} }
} }
......
...@@ -27,11 +27,13 @@ public class ProfitWarehousingInfo extends DataEntity<ProfitWarehousingInfo> { ...@@ -27,11 +27,13 @@ public class ProfitWarehousingInfo extends DataEntity<ProfitWarehousingInfo> {
private String name; // 名称 private String name; // 名称
private MaterialType type; // 类型 private MaterialType type; // 类型
private String marking; // 型号 private String marking; // 型号
private Shelves shelves; // 货架ID // private Shelves shelves; // 货架ID
private Warehouse warehouse; // 仓库外键 private Warehouse warehouse; // 仓库外键
private BigDecimal amount; // 单价 private BigDecimal amount; // 单价
private QrCode qrCode; // 前端保存入库单时使用的临时二维码对象 private QrCode qrCode; // 前端保存入库单时使用的临时二维码对象
private int num; // 数量
private String shelvesIds; // 货架ids
private String warehouseIds; // 仓库ids
public ProfitWarehousingInfo(String id, ProfitWarehousing profitWarehousing) { public ProfitWarehousingInfo(String id, ProfitWarehousing profitWarehousing) {
super(id); super(id);
...@@ -84,15 +86,6 @@ public class ProfitWarehousingInfo extends DataEntity<ProfitWarehousingInfo> { ...@@ -84,15 +86,6 @@ public class ProfitWarehousingInfo extends DataEntity<ProfitWarehousingInfo> {
public void setMarking(String marking) { public void setMarking(String marking) {
this.marking = marking; this.marking = marking;
} }
@ExcelField(title="货架ID", align=2, sort=5)
public Shelves getShelves() {
return shelves;
}
public void setShelves(Shelves shelves) {
this.shelves = shelves;
}
public Warehouse getWarehouse() { public Warehouse getWarehouse() {
return warehouse; return warehouse;
...@@ -117,4 +110,28 @@ public class ProfitWarehousingInfo extends DataEntity<ProfitWarehousingInfo> { ...@@ -117,4 +110,28 @@ public class ProfitWarehousingInfo extends DataEntity<ProfitWarehousingInfo> {
public void setQrCode(QrCode qrCode) { public void setQrCode(QrCode qrCode) {
this.qrCode = qrCode; this.qrCode = qrCode;
} }
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getShelvesIds() {
return shelvesIds;
}
public void setShelvesIds(String shelvesIds) {
this.shelvesIds = shelvesIds;
}
public String getWarehouseIds() {
return warehouseIds;
}
public void setWarehouseIds(String warehouseIds) {
this.warehouseIds = warehouseIds;
}
} }
\ No newline at end of file
...@@ -10,11 +10,11 @@ ...@@ -10,11 +10,11 @@
a.type AS "type.id", a.type AS "type.id",
type.name AS "type.name", type.name AS "type.name",
type.code AS "type.code", type.code AS "type.code",
type.amount AS "type.amount",
type.unit AS "type.unit",
a.marking AS "marking", a.marking AS "marking",
a.shelves_id AS "shelves.id", a.shelves_ids AS "shelvesIds",
shelves.name AS "shelves.name", a.warehouse_ids AS "warehouseIds",
a.warehouse_id AS "warehouse.id",
warehouse.name AS "warehouse.name",
a.qr_id AS "qrCode.id", a.qr_id AS "qrCode.id",
qrCode.url AS "qrCode.url", qrCode.url AS "qrCode.url",
qrCode.state AS "qrCode.state", qrCode.state AS "qrCode.state",
...@@ -30,8 +30,6 @@ ...@@ -30,8 +30,6 @@
<sql id="profitWarehousingInfoJoins"> <sql id="profitWarehousingInfoJoins">
LEFT JOIN t_wh_material_type type ON type.id = a.type LEFT JOIN t_wh_material_type type ON type.id = a.type
LEFT JOIN t_wh_warehouse warehouse ON warehouse.id = a.warehouse_id
LEFT JOIN t_wh_shelves shelves ON shelves.id = a.shelves_id
LEFT JOIN t_wh_qr qrCode ON qrCode.id = a.qr_id LEFT JOIN t_wh_qr qrCode ON qrCode.id = a.qr_id
LEFT JOIN t_wh_profit_warehousing profitWarehousing ON profitWarehousing.id = a.profit_warehousing_id LEFT JOIN t_wh_profit_warehousing profitWarehousing ON profitWarehousing.id = a.profit_warehousing_id
</sql> </sql>
...@@ -93,8 +91,8 @@ ...@@ -93,8 +91,8 @@
name, name,
type, type,
marking, marking,
shelves_id, shelves_ids,
warehouse_id, warehouse_ids,
qr_id, qr_id,
amount, amount,
create_by, create_by,
...@@ -109,8 +107,8 @@ ...@@ -109,8 +107,8 @@
#{name}, #{name},
#{type.id}, #{type.id},
#{marking}, #{marking},
#{shelves.id}, #{shelvesIds},
#{warehouse.id}, #{warehouseIds},
#{qrCode.id}, #{qrCode.id},
#{amount}, #{amount},
#{createBy.id}, #{createBy.id},
...@@ -128,9 +126,9 @@ ...@@ -128,9 +126,9 @@
name = #{name}, name = #{name},
type = #{type.id}, type = #{type.id},
marking = #{marking}, marking = #{marking},
shelves_id = #{shelves.id}, shelves_ids = #{shelvesIds},
qr_id = #{qrCode.id}, qr_id = #{qrCode.id},
warehouse_id = #{warehouse.id}, warehouse_ids = #{warehouseIds},
amount = #{amount}, amount = #{amount},
update_by = #{updateBy.id}, update_by = #{updateBy.id},
update_date = #{updateDate}, update_date = #{updateDate},
......
...@@ -189,50 +189,42 @@ public class ProfitWarehousingService extends CrudService<ProfitWarehousingMappe ...@@ -189,50 +189,42 @@ public class ProfitWarehousingService extends CrudService<ProfitWarehousingMappe
@Transactional(readOnly = false) @Transactional(readOnly = false)
public void inLedgerInfo(ProfitWarehousingInfo profitWarehousingInfo) { public void inLedgerInfo(ProfitWarehousingInfo profitWarehousingInfo) {
QrCode qrCode = qrCodeService.get(profitWarehousingInfo.getQrCode().getId()); QrCode qrCode = qrCodeService.get(profitWarehousingInfo.getQrCode().getId());
Ledger ledger = new Ledger(profitWarehousingInfo.getName(),profitWarehousingInfo.getType()); Ledger ledger = new Ledger(profitWarehousingInfo.getType());
Ledger oldLeger = ledgerMapper.findByType(ledger); Ledger oldLeger = ledgerMapper.findByType(ledger);
LedgerInfo ledgerInfo = new LedgerInfo(); LedgerInfo ledgerInfo = new LedgerInfo();
//名称
ledgerInfo.setName(ledger.getName());
//类型 //类型
ledgerInfo.setType(ledger.getType()); ledgerInfo.setType(ledger.getType());
//型号 //型号
//ledgerInfo.setModel(ledger.getModel()); ledgerInfo.setModel(profitWarehousingInfo.getMarking());
//物资编码 //物资编码
ledgerInfo.setCode(qrCode.getCode()); ledgerInfo.setCode(qrCode.getCode());
//二维码id //二维码id
ledgerInfo.setQr(qrCode); ledgerInfo.setQr(qrCode);
//货架id //货架id
ledgerInfo.setShelves(profitWarehousingInfo.getShelves()); ledgerInfo.setShelvesIds(profitWarehousingInfo.getShelvesIds());
//盘盈入库单编码 //盘盈入库单编码
ledgerInfo.setBatchNum(profitWarehousingInfo.getProfitWarehousing().getNumber()); ledgerInfo.setBatchNum(profitWarehousingInfo.getProfitWarehousing().getNumber());
//单价 //单价
ledgerInfo.setAmount(profitWarehousingInfo.getAmount()); ledgerInfo.setAmount(profitWarehousingInfo.getAmount());
ledgerInfo.setNum(profitWarehousingInfo.getNum());
//查询 台账中是否有 该类型的物资 //查询 台账中是否有 该类型的物资
if(oldLeger != null){ if(oldLeger != null){
//有台账 直接在该物资下加入一条明细,并更新台账 //有台账 直接在该物资下加入一条明细,并更新台账
//台账主表id //台账主表id
ledgerInfo.setLedger(oldLeger); ledgerInfo.setLedger(oldLeger);
BigDecimal sum = oldLeger.getSum(); BigDecimal sum = oldLeger.getSum();
sum = sum.add(profitWarehousingInfo.getAmount()); sum = sum.add(profitWarehousingInfo.getAmount().multiply(new BigDecimal(ledgerInfo.getNum())));
oldLeger.setSum(sum); oldLeger.setSum(sum);
oldLeger.setNum(oldLeger.getNum()+1); oldLeger.setNum(oldLeger.getNum() + ledgerInfo.getNum());
List<String> shelvesList = ledgerMapper.findShelvesListByLedgerId(oldLeger.getId());
if(!shelvesList.contains(ledgerInfo.getShelves().getId())){
shelvesList.add(ledgerInfo.getShelves().getId());
}
String shelvesIds = String.join(",", shelvesList);
oldLeger.setShelvesIds(shelvesIds);
oldLeger.preUpdate(); oldLeger.preUpdate();
ledgerMapper.update(oldLeger); ledgerMapper.update(oldLeger);
ledgerInfo.preInsert(); ledgerInfo.preInsert();
ledgerInfoMapper.insert(ledgerInfo); ledgerInfoMapper.insert(ledgerInfo);
}else { }else {
ledger.setShelvesIds(ledgerInfo.getShelves().getId()); ledger.setShelvesIds(ledgerInfo.getShelvesIds());
ledger.setNum(1); ledger.setNum(ledgerInfo.getNum());
ledger.setSum(ledgerInfo.getAmount()); ledger.setSum(ledgerInfo.getAmount().multiply(new BigDecimal(ledgerInfo.getNum())));
ledger.preInsert(); ledger.preInsert();
ledgerMapper.insert(ledger); ledgerMapper.insert(ledger);
......
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